-
Notifications
You must be signed in to change notification settings - Fork 6
/
readme.html
209 lines (209 loc) · 14 KB
/
readme.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>新酷音詞庫及注音修改教學</title>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
</head>
<body>
<h1 align="center">新酷音詞庫和注音修改教學</h1>
<P align="right"><FONT face="新細明體">pcman 於 2005.10.20 發表</FONT></P>
<P align="right"><FONT face="新細明體">sky008888 於 2007.02.11 第二次修改</FONT></P>
這份文件是給有興趣修改新酷音詞庫的人,前面是詳細的解說,後面有詳盡的<a href="#example">實戰演練範例</a>,只要耐心看完就可以學會。<br>
<h2>準備工作:</h2>
<ol>
<li>
你需要取得新酷音詞庫和注音設定的原始資料檔,用來修改後,產生新的詞庫。為了確保你取得的是最新版本的資料,以及方便將自己修改的部份和他人的修改整合,這個動作必須使用版本控制系統,我們是用Subversion
(svn)維護,可用各種 svn 軟體來操作,在 Windows 系統上我們強烈建議使用最簡單的 <a href="http://sourceforge.net/project/showfiles.php?group_id=138498&package_id=151948&release_id=358765">
TortoiseSVN</a>。
<li>
如果你希望你做的修正可以內建於新酷音輸入法,被官方納入,請考慮參加「<a href="http://rt.openfoundry.org/Foundry/Project/?Queue=436">
新酷音詞庫團隊</a>」,你將可以把你做的修改存入官方版本之中。
<li>
要加入新酷音詞庫團隊請在 <a href="http://rt.openfoundry.org/Foundry/Project/?Queue=436">新酷音詞庫團隊</a>
專案網頁左方連結按下「註冊新帳號」,註冊完成後,將你的帳號寄給 pcman.tw(a)gmail.com, seamxr(a)gmail.com, 或
andyhorng168(a)gmail.com 其中之一,並且在信件標題註明 [協助新酷音詞庫] 即可。</li>
</ol>
<h2>安裝好 TortoiseSVN 後,請依照下列步驟操作</h2>
<ol>
<li>
找一個你想要的地方,建立名為 libchewing-data 的資料夾
<li>
接下來在資料夾上面按下右鍵,選擇 SVN Checkout
<li>
在接下來出現的畫面中,請在 "URL of repository"
欄位當中輸入:http://svn.openfoundry.org/libchewingdata/ 按下 OK 即可
<li>
接下來目錄裡面就會取得所有需要用到的原始檔</li>
</ol>
<h2>檔案取得之後,下面是修改的教學:</h2>
進入剛剛建立的 libchewing-data 目錄,底下有 big5 和 utf-8 兩個子目錄,分別存放 big5 版本和 utf-8
版本新詞庫所需的檔案,在此簡介幾個會用到的檔案的用途:<br>
<ul>
<li>
big5\phone.cin:新酷音的注音都定義在這裡,使用 Big5 編碼
<li>
big5\tsi.src:詞庫,裡面有所有新酷音內建的詞,使用 Big5 編碼
<li>
utf-8\phone.cin:這是 phone.cin 的 UTF-8 版本,多了很多 Unicode 才有的字
<li>
utf-8\tsi.src:這是 tsi.src 的 UTF-8 版本,多了很多 Big5 不支援的詞
<li>
build_data.bat:用來轉格式製作成新酷音真正能用的詞庫檔,執行後會呼叫 dat2bin.exe</li>
</ul>
注意:要開始修改檔案之前,建議先在 libchewing-data 目錄上按右鍵,選 SVN
Update,這個動作會從網路上檢查有沒有其他人修改過的更新,如果有會下載後整合,避免和別人已經改好的部份衝突。
<h2>修改錯誤注音和加詞方式,規則有點複雜,但是按步驟應該不難:</h2>
<P>
當你發現新酷音有注音錯誤,或是缺少注音的情況,請依下列方式修改:<br>
舉例: 原本的新酷音有「呢」這個字,但是打「ㄋㄜ˙」輕聲卻出不來,缺少這個注音,這時候我們要幫他加入,請用文字編輯器開啟 phone.cin 檔 (推薦 <a href="http://madedit.sourceforge.net/">
MadEdit</a>,這是台灣人做的軟體,中文支援絕佳!真的相當棒!)<br>
<br>
phone.cin 的格式很簡單,每一行都是「打出這個字所需的按鍵」+「空一格」+「中文字」<br>
例如「呢」的注音是「ㄋㄜ˙」,對應到鍵盤的英文按鍵是sk7,所以定義這個注音的那一行就應該是<br>
「sk7 呢」,只要加入這行,就可以讓「ㄋㄜ˙」可以打出「呢」。加入 sk7 這行的時候,請用編輯器的「尋找」功能,看一下有無其他同為 sk7
的字,如果沒有,找找看有沒有 sk開頭的或s開頭,盡量跟其他注音一樣或盡量接近的排在一起,按照字母順序排好,方便其他人維護。<br>
請不要忘了 big5 和 utf-8 底下的 phone.cin 都要改,新版的新酷音 (0.2.5 之後) 是使用 utf-8\phone.cin 的。<br>
<br>
加入這個注音之後,還要修改 tsi.src (主要修改 utf-8 底下的檔案,新酷音輸入法 0.2.5
版以後採用),這是個有點大的檔案,請用剛剛推薦的文字編輯器開啟。<br>
tsi.src 紀錄了各個字的相關詞,以及各個同音詞和同音字的優先順序,格式解說如下:<br>
tsi.src 每一行都是 「詞」+「空一格」+「詞的優先順序,數字越大越優先」+「空一格」+「詞的注音」<br>
例如「酷音」這個詞,他的定義那行就是:<span style="TEXT-DECORATION: underline">
酷音 1000 ㄎㄨˋ ㄧㄣ</span>
1000 是這個詞的優先順序,請注意後面的注音在每個字的注音之間也要有空格,像是 「ㄎㄨˋ」「空一格」「 ㄧㄣ」<br>
優先順序的數值是用語料統計來的,不建議手動隨便修改,隨意亂改可能會導致選詞能力變差。<br>
至於一個詞有多種注音時,應該每種注音要是獨立ㄧ行,例如「一個」一詞有「ㄧ ㄍㄜ˙」和「ㄧˊ ㄍㄜ˙」兩種念法,所以在tsi.src 中分別是不同的兩行:「<span style="TEXT-DECORATION: underline">一個
65753 ㄧ ㄍㄜ˙</span>」和「<span style="TEXT-DECORATION: underline">
一個 65753 ㄧˊ ㄍㄜ˙</span>」<br>
大概了解檔案格式後,就開始講要怎麼加詞進去。<br>
剛剛是要加入「呢」這個詞 (字可視為只有一個字的詞),所以要在原本就有的「呢 17247 ㄋㄜ」後面加入一行「呢 17247 ㄋㄜ˙」,其中 17247
是優先順序,這個數字當然不可能是自己亂填,要考慮很多因素:<br>
</P>
<ol>
<li>
用新酷音打這個注音,看看有沒有同音的詞,如果有,請拉出選字視窗,看看有那幾個同音詞。
<li>
看一下這個新加進去的詞,如果要插入到原有的這幾個同音詞之中,依照常用程度,應該要排在第幾順位,如果沒同音詞,請直接跳到步驟 5
<li>
決定出新詞在同音詞之間的插入位置後,用文字編輯器的尋找功能,去找他前面一個和後面一個同音詞,並且查出它們的優先順序數值
<li>
用這兩個數值平均取中間值,就是相加除以2,可以把這個數值當作詞的優先順序數值
<li>
如果這個詞是由好幾個字組成的,去查這幾個字的優先順序數值,請用編輯器的尋找功能找那幾個字,通常詞的優先順序數值應該要比組成他的幾個字要低,所以取一個比那幾個字都還小的數值就可以了。而如果剛剛你在步驟
2~4 之間訂出一個過高的數值,請把他調低到比這些字都還小就可以了。<span style="FONT-WEIGHT: bold">請注意這裡有個例外</span>
:如果組成這個詞的幾個字當中,有些字幾乎很少單獨用,則這個字可以不用算進來,例如「爸」這個字通常都是用在「爸爸」一詞,很少單獨用,也就是「爸爸」一詞比組成它的「爸」字要常用,這時候不用理會「爸」這個字的優先權,而如果又有同音詞,就直接以步驟
2~4 的同音詞來排序決定即可。</li>
</ol>
摘要:只是單純要加詞,改 tsi.src 加入就可以了,如果只是要更正字的錯誤注音,改 phone.cin 就可以了。如果要新增本來沒有的注音
(破音字),請改 phone.cin 之後,再到 tsi.src 裡面加入這個字的優先數值和新增的注音拼法。<br>
<br>
以上修改完畢後,就可以準備輸出酷音詞庫檔,開始測試:
<ol>
<li>
請執行 build_data.bat 這個檔案,執行完畢後會在 big5 和 utf-8 子目錄下,各輸出一堆檔案。big5 下的是給舊版新酷音 Win32
(0.2.0.1 以前版本)使用,新酷音 Win32 0.2.5 以後版本,必須要使用 utf-8 底下的檔案。<br>
把下列五個檔案放到 C:\windows\system32\ime\chewing (windows 98/ME 是
C:\windows\system\ime\chewing)下覆蓋原檔案就可以了:<br>
dict.dat, ph_index.dat, ch_index.dat, fonetree.dat,
us_freq.dat
<li>
按 Ctrl+Alt+Delete 叫出工作管理員,找到 ChewingServer 這個程序,把他終止掉。
<li>
接下來開記事本進行打字測試,看看你剛剛的修改有沒有成功,有沒有造成其他異常。</li>
</ol>
完成!<br>
<br>
如果你是新酷音詞庫團隊的正式成員,可以把你剛剛修改好的部份,上傳到官方網站<br>
請在 libchewing-data 資料夾上按右鍵選擇 「SVN Commit...」,他會問你之前申請的帳號密碼,輸入之後就可以上傳了。<br>
<h2><a name="example"></a>實戰演練範例:</h2>
使用者回報 打ㄎㄜˋ會出現"可" ㄇㄚˇ會出現"嗎",如何修復?<br>
<ul>
<li>
可本來就也可以唸ㄎㄜˋ,這不是注音錯誤,不必改正
phone.cin,但是唸成ㄎㄜˋ是罕見的音,比起其他同樣唸「ㄎㄜˋ」的字,不該放在前面,所以這是優先順序錯了,罕用字不該放前面,優先順序請改 tsi.src
<li>
開啟tsi.src檔案後找「可」開頭的那行,用編輯器尋找可以找到,我找到以下的幾行:
<ul>
<li>
可 1 ㄎㄜˋ <----- 這邊有ㄎㄜˋ,優先順序很低,是1,沒錯啊??
<li>
可 73172 ㄎㄜˇ
<li>
可 73172 ㄎㄜˋ <----- 這是罪魁禍首,難怪會有錯,這邊多了ㄧ行,重複定義,把ㄎㄜˋ又定成
73172,對罕用字來說顯然太高,又前面已經有定義優先數值為 1,此行刪除即可修復</li>
</ul>
</li>
</ul>
<ul>
<li>
打ㄇㄚˇ會出現"嗎",這也是優先順序有問題,其他同樣唸ㄇㄚˇ的字顯然比這常用多了,所以請找到「嗎」開頭的那幾行,我找到:
<ul>
<li>
嗎 26437 ㄇㄚ
<li>
嗎 26437 ㄇㄚ˙
<li>
嗎 26437 ㄇㄚˇ</li>
</ul>
<li>
讀作「ㄇㄚ」的時候很常用,還可以接受,但是讀作「ㄇㄚˇ」絕對不可能比其他唸「ㄇㄚˇ」的同音詞更常用,這太罕用,免查,直接把26437 改為 「嗎 1
ㄇㄚˇ」,把優先權降到最低即可</li>
</ul>
打ㄋㄧㄢˋ沒出現常用的「唸」或者「念」,卻跑出「廿」,怎麼修?<br>
<ul>
<li>
是優先順序有誤,請開 tsi.src
<li>
開啟編輯器,試著用新酷音找同音詞,請打ㄋㄧㄢˋ,然後選字,我們發現列出來一堆都拼成「ㄋㄧㄢˋ」的字裡面,「廿」是最罕用的之一,但是因為這個字有「二十」的意思,還會比淰、齞等字常用,所以決定把「廿」改到「唸」的後面,「淰」的前面
<li>
找到「唸」,那行是:唸 994 ㄋㄧㄢˋ,優先權是 994
<li>
找到「淰」,那行是:淰 126 ㄋㄧㄢˋ,優先權是 126
<li>
再來找到我們要改的「廿」,那行是:廿 6638 ㄋㄧㄢˋ,優先權是 6638
<li>
問題很明顯,罕用字優先權竟然是 6638,比 994 & 126 都還高,我們要把他改成介於這兩字之間,所以取 (994 + 126) / 2 =
560,改成:廿 560 ㄋㄧㄢˋ</li>
</ul>
修改完畢,執行 build_data.bat,然後把產生的 dat 檔案放到 chewing 目錄下,按 Ctrl+Alt+Del 關閉
ChewingServer 後開記事本測試剛剛的結果,發現全都正常了 :)<br>
如果你是新酷音詞庫團隊的成員,請將你的成果 SVN Commit,並可以在 Log 裡面填寫你改了什麼<br>
<br>
<h2>開始修復使用者回報的錯誤 (給專案成員看的):</h2>
<ul>
<li>
到 <a href="http://rt.openfoundry.org/Foundry/Project/Tracker/?Queue=436">http://rt.openfoundry.org/Foundry/Project/Tracker/?Queue=436</a>,<span style="FONT-WEIGHT: bold">請先用你的帳號登入。</span><li>
<li>
找尋使用者回報的問題,看有那些是還沒有人處理的,你要修理就點進去,然後按下「開啟」,接下來這個問題就會指定由你認領,負責修復,其他人就處理其他還沒人認領的問題。
<li>
等到修復之後,請再上來,同樣點進這個問題,然後按下「解決」按鈕,表示這個問題你已經修復。</li>
</ul>
<h2>附錄:參考字典/辭典</h2>
字典:
<ul>
<li>
<a href="http://www.edu.tw/EDU_WEB/EDU_MGT/MANDR/EDU6300001/allbook/kyjd/f15.html?open">
國語一字多音審訂表</a>
<li>
<a href="http://www.cns11643.gov.tw/web/index.jsp">CNS11643中文全字庫</a>
<li>
<a href="http://140.111.1.40/">教育部異體字字典</a></li>
</ul>
辭典:
<ul>
<li>
<a href="http://www.sinica.edu.tw/~tdbproj/dict/">教育部重編國語辭典修訂本</a>
<li>
<a href="http://140.111.34.46/dict/">國語辭典</a>
<li>
<a href="http://140.111.34.46/jdict/main/cover/9001.html">國語辭典簡編本</a></li>
</ul>
如果在字詞的出處或是字義有疑義時,查證上建議使用:
<ul>
<li>
<a href="http://www.gg-art.com/imgbook/index_b.php?bookid=53">說文解字段注本</a>
<li>
<a href="http://www.kangxizidian.com/">康熙字典</a></li>
</ul>
</body>
</html>