close

首先聲明一下:
朱邦復先生在發明倉頡輸入法時就已經想到
「字形」、「字音」、「字義」、「字碼」、「字序」、「字辨」這六大問題了!
依照他的理念,一字只能有一碼(倉頡碼,也就是組字字根),
唯有一字一碼才能實現他的理想境界(一套完整的倉頡系統),
所以在他的倉頡輸入法裡沒有「容錯」、「簡碼」這些會破壞一字一碼原則的東西。
他發表第五代倉頡後,又在他的某篇文章裡提到:

…去國多年,想不到在台灣居然有十多種倉頡的版本。
大家共同來努力改進是件好事,錯在筆者未曾料及,沒有把全部資料公開,
各人只得自行摸索,以致事倍功半。
現在,筆者又帶回了最後一個版本,就是第五代倉頡輸入法。
筆者保証再也不會有新的版本了。
倒不是倉頡第五代完美無缺,而是個人年事已高,精力有限,
加以市場的壓力,後事只有期待後人去解決了。
希望第五代能夠將以往各代統一下來,
今後各界如果有任何修改或需要加字的建議,務請通知筆者,責任在身,義不容辭。
但是千萬請不要自行修改,因為一定會有分別,將導致使用上的困難。
此外,也歡迎發展以往各種版本的公司,密切與筆者合作,
合作提供各種資料轉換的工具,以求服務過去的用戶…

由此可知,他希望倉頡使用者及軟體製造者都能移轉到第五代倉頡,並統一下來,
所以他有編了一本手冊,規範每個字要取的倉頡碼(仍舊為一字一碼)。
移轉的過程並不困難,
對已經學會第三代的倉頡族來說,學習第五代倉頡時並不會花太多時間,
因為第五代只是將第三代作小幅度的修改,
只要看完《維基教科書》的「倉頡輸入法/三代與五代編碼差異」這一篇文章,
就能順利學會第五代倉頡了!
但是受限於下列這些因素,軟體製造者是否要更新被影響到的字元的組字字根,
來符合第五代的原則,就有待商榷了!
1.現實環境:
 多數使用者目前最常使用的是 Windows 作業系統,而不是一個完整的倉頡系統,
 使用者只是用倉頡輸入法軟體進行「輸入字元」的動作,而沒有涉及上述的六大問題,
 所以軟體製造者不見得願意跟進。
2.拆碼原則:
 重碼字在所難免,如果強迫第二個(及其以後的)重碼字必須有不同的組字字根,
 勢必會導致重碼字的組字字根違反取碼原則,成為例外字後,使用者只能強記了!
 所以保留重碼字是有必要的,
 頂多再為第二個(及其以後的)重碼字增加不同的組字字根,
 方便有另外背誦的人快速出字。
3.使用習慣:
 在 13,060 個 Big5 碼的漢字(有計入 7 個倚天造字區的漢字)範圍裡,
 有 12,773 個字(超過 97.8% 的比例)的第三代、第五代的組字字根是相同的,
 所以兩代的差異只影響幾百個字而已,有些使用者會認為:
 「沒有必要為了這幾百個字,放棄使用了十幾、二十幾年的第三代,而改用第五代」。
綜合以上 3 點,為了討好老倉頡族,造福小倉頡族,我只好破壞「一字一碼」原則!

在編修「泰瑞倉頡輸入法對照表」的期間,
我曾經到維基百科上閱讀有關倉頡輸入法的相關文章,
其中讓我獲益良多的當推「倉頡輸入法/特別注意」這一篇文章,
它主要探討的主題有三:字體差異、編碼訛誤、簡化字取碼。
我希望我編修而成的對照表能儘量克服這些問題,
至於成效如何呢?說明如下。

字體方面,
我記得我小學時,
「沒有」的「沒」都寫成「没」這個字形;
「致意」的「致」都寫成「𦤶」這個字形。
直到上了高中,國文老師特別提醒,
才去注意到原來課本上的字形都改成「國字標準字體」了!
現在大部份的書籍裡,
「沒有」的「沒」都印成「沒」這個字形;
「致意」的「致」都印成「致」這個字形。
這可能是因為 1980 年代,
台灣的教科書受限於印刷技術而印成「非標準字體」,
或者是因為教育部公布的「國字標準字體」經過數次修改,
在我高中時才改到這些字。

同樣的字還有「黃;黄」,我至今還是習慣寫後面這個字的字形;
「草」字上頭應該寫成「艹」,我現在仍然會寫成「卄」,
「雚」字上頭應該寫成「卝」,我現在仍然會寫成「卄」,
(歡、觀…等字的偏旁會用到這個字)
有一天我叫我那個唸國小一年級的外甥女寫了個「今」字給我看,
她在「人」字下面寫的是「一」而不是「丶」,
請一位朋友去叫她那兩個唸小學的兒子寫給她看,
也是同樣的結果!

所以我改良的倉頡輸入法必須做到適度的「容錯」,
也就是「倉頡輸入法/特別注意」這一篇文章上例舉的
「食、養、餐、今、令」這些字,都應該有兩條組字字根,
其中一條組字字根必須將「人」下面看作「丶」,以合乎我們這些「老倉頡族」的需求;
另一條組字字根則是將「人」下面看作「一」,以合乎未來這些「小倉頡族」的需求;
如果不這麼做的話,小倉頡族們可能就拆不出字了。
就像我有位朋友,因為她都把「沒」寫成「没」,拆字時就自然會拆成「没」。
在 msn 對話視窗上看,特別明顯。
因為 msn 在處理 Big5 的字(如:「沒」)時,
字體(10 pt)和字型(新細明體)都是正常的;
一旦處理到當中有一個或一個以上的非 Big5 字元(如:「没」)時,
字體就會變大,字型也會變醜。
此外,她在只能處理 Big5 編碼的程式裡,還會有打不出「没」這個字的問題。

原本我還在擔心是否要一一去挑出這類的字,並為它們增加容錯碼的問題,
但引進「中標倉頡」(CNS11643)的組字字根後,這個問題就自動迎刃而解了!
因為「中標倉頡」的組字字根已經設定這些字的容錯碼,
連帶也將「倉頡輸入法/特別注意」這一篇文章上列舉的「編碼訛誤」問題解決了。
(還好沒有用到微軟的倉頡對照表,看了該篇文章上列舉的訛誤,
還真的讓人有點詫異,難怪我以前都拆不出「学」字)。
「今」這類字的問題只有倉頡才有,
嘸蝦米和大易都把「亽」、「亼」這兩個輔助字形對應到同一個字根,
自然不會有這個問題。
值得一提的是「中標倉頡」對照表的組字字根用的是第三代倉頡,
(下載後,解壓縮,在「tables」資料夾下的「cnscj.cin」即為其對照表)
但在 Windows Vista 內建的倉頡輸入法軟體設定裡,
如果勾選使用「CNS11643 組字字根」的話,
卻是讓原本支援倉頡第三代組字字根的漢字,能再支援倉頡第五代的組字字根。

最後就是「簡化字取碼」的問題了!
瞭解簡繁部首的差異及取碼方式,就解決了這個問題的大半部分。
在泰瑞倉頡輸入法裡:
「金」(釒)部拆「金」,「钅」部拆「人心」;
「言」(訁)部拆「卜口」,「讠」部拆「戈女」;
「門」部拆「日弓」,「门」部拆「中尸」;
「車」部拆「十十」,「车」部拆「大手」或「心手」;
「馬」部拆「尸火」,「马」部拆「弓一」;
「鳥」部拆「竹日火」,「鸟」部拆「竹尸一」或「心卜一」。
「食」(飠)部拆「人戈」,「饣」部拆「弓女」。
(其餘部首將不定期補充)。

另外,有一天我要打「孵」字時發現了一個有趣的現象:
在《說文解字》裡,有「卵」這個部首,
但是因為「卵」部的字太少了,
所以教育部的《國語辭典》裡並沒有「卵」這個部首,
「卵」字被歸類為「卩」部;
「孵」字被歸類為「子」部;
「贕」字被歸類為「貝」部;
「毈」字被歸類為「殳」部;
其實還有個「𠷞」字,因為它是 CJK Ext-B 的字元,
所以教育部的《國語辭典》裡並沒有收錄,
但如果有被收錄的話,應該會被歸類為「口」部(因為「古」字被歸類為「口」部)。
這些字在原本的倉頡輸入法裡,
「𠂑」(「卵」字左邊旁)被視為「字首」,
「卪」(「卵」字右邊旁)和其餘字形被視為「字身」,
所以取碼都取「hh」(竹竹)開頭,再加上「sl」(尸中),
最後加其餘字形的最後一個字根。
(我用「hhsl」去找泰瑞倉頡輸入法對照表的內容,結果找出這些字來)
將「卵」視為「字首」,其餘字形視為「字身」,可能會比較方便倉頡族理解,
「卵」字以「h」(竹)為首並無爭議,
但它像是以「i」(戈)結尾,又像是以「l」(中)結尾,
所以我乾脆增加兩種不同的字根,
於是「孵」字有原本的「hhsld」(竹竹尸中木)字根外,
還新增了「hibnd」(竹戈月弓木)及「hlbnd」(竹中月弓木)兩種字根。
(孵、贕、毈、𠷞的情況也一樣)
同樣的,《說文解字》裡,有「卯」這個部首,之下有「卯」、「卿」二字,
「卿」字由於已在「卯」字中間插入一個字形,所以不需要像上述這幾個字這樣處理,
但「𠛓」字,其實更像是「卯」部或「刂」(刀)部,
它的標準取碼是「hhsln」(竹竹尸中弓),
但我仿傚上述那些字,為它增加了「hlln」(竹中中弓)這條組字字根。
希望這樣能使「字首」、「字身」更容易區分,達到順利拆出字的效果。

arrow
arrow
    全站熱搜

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