筆者整理輸入法對照表(碼表)時,設定的目標如下:
一、對支援的字元集應完整涵蓋,不應有漏字的情形。
二、碼表內不重複出現相同的「組字字根(編碼) 字元」對照組合。
三、對於重碼字,應依常用頻率進行排序。
四、各字元的組字字根應力求正確。
五、在不增加重碼情形的原則下,允許存在「容錯碼」。

想要達成以上目標的話,借助 Excel 來整理碼表是一個很好的方法。
為了方便網友能依自己的需求來調整「泰瑞系列中文輸入法對照表」,
因此筆者提供「泰瑞系列中文輸入法對照表」Excel 檔的下載連結如下:
http://www.mediafire.com/file/enw3mbxfa9uuwtf/mb_excel.zip

下載並解壓縮後,
可以得到 6 個碼表的 Excel 檔,
每個 Excel 檔都只有 1 個工作表,結構為下列 5 欄:
原始順序、組字字根、字元、十進位碼、大五碼、分區、碼長。

另外,還附帶 1 個「驗證.xlsx」的 Excel 檔,
分為 CJK、Ext-A、Ext-B、Ext-C、Ext-D、唯一化,這 6 個工作表,
前 5 個工作表的結構為下列 3 欄:
十進位碼、唯一化後、計算公式。

「行列.xlsx」的原始順序,係依據【行列官網】提供的下列 4 個 txt 檔:
(1)array30_27489-V201509
(2)array30_ExtB_V2016A
(3)array30_ExtCD_V2013A
(4)array30_Ext E_V2016A
逐一將其內容複製、貼上到 Excel 後,再賦予數列數值。

其實早在 2012 年 6 月時,筆者即已規劃擴充倉頡、行列碼表,
因為當時微軟已經發佈 Windows 8 預覽版,
其內建的新細明體(含ExtB)已完整支援 CJK Ext-C/D 字元集,
因此筆者有必要準備更新「泰瑞版小小輸入法」內建的碼表。
當時整理官版行列碼表時,發現它缺少 CJK Ext-C/D 其中的 48 個字。
由於筆者對行列拆碼方式並不熟悉,於是將這 48 個字 E-Mail 給行列官網聯絡人,
雖然有收到回信,惟其表示:現在太忙,這幾天會先把那 48 字編碼給筆者。
但最後筆者還是沒等到……所以筆者只好將行列碼表設定會支援到 CJK Ext-B。
其實當時發現它缺少 CJK Ext-B 的「𠔆」(U+20506),
只不過這個字與「𠔅」(U+20505)外形幾乎完全相似,只是碼位不同,
因此直接以後者的組字字根作為前者的組字字根即可。

2016 年 7 月筆者再次整理行列碼表時,因為得知官網有調整過一些字的組字字根,
因此必須全部重新下載,再來驗證有無缺漏字。
結果還是發現漏掉 CJK Ext-C 的 2 個字:「𫊖」(U+2B296)、「𫍟」(U+2B35F),
這次筆者索性直接為這 2 個字加上組字字根,並編入碼表。

「大易.xlsx」的原始順序,係依據【瑲珩】的排序。
「倉頡.xlsx」、「注音.xlsx」、「無蝦米.xlsx」的原始順序,
係依據筆者早年整理而成的碼表順序,至於其各自的排序原理,筆者已不復記憶。
總之,「倉頡」的 Big5 重碼字排序有照創始人朱邦復先生的規範,
他的規範並不是按照 Big5 碼位,而是按照使用頻率,
像是「知」比「佑」常用,所以排在第 1 順位。
不過,讓筆者感到疑惑的是「掀」竟排在「抓」的前面。
「抓」不管是 Big5 碼位、筆劃、使用頻率應該都比「掀」優先才對。
這或許是當時的時空背景或主觀因素而造成的,
所以「抓」被賦予另一個組字字根,即為「xqhlo」(難手竹中人),
只要是排在第 2 順位的重碼字,五代倉頡都會多一條以「x」(難)開頭的編碼。

「注音.xlsx」的原始順序已有考慮同音字使用頻率的問題,
「拼音.xlsx」(漢語)的原始順序則完全依照「注音.xlsx」的原始排序。

採用 Excel 整理碼表時,「組字字根」這一欄要特別注意,
像是注音會有「ㄢˋ」(按、岸)這種組字字根,對應鍵盤為「04」,
但是如果將純文字的內容直接貼到 Excel 的話,會被自動更改為「4」,這樣就會出錯!
因此最好先將「組字字根」這一欄的〝儲存格格式〞設為「文字」,
之後將純文字的內容直接貼到 Excel 的這一欄,就能避免此種錯誤。

arrow
arrow
    全站熱搜

    terryhung 發表在 痞客邦 留言(0) 人氣()