研究歷史
倉頡輸入法倉頡輸入法是一種常用的中文輸入法,由有“中文電腦之父”稱譽的台灣人朱邦復先生於1976年創製。初期只有繁體字版本,原名“形意檢字法”,用以解決電腦處理漢字的問題,包括漢字輸入、字形輸出、內碼儲存、漢字排序等。
朱邦復發明此輸入法時正值他為台灣三軍大學發展中文通訊系統之際,為紀念上古時期倉頡造字之精神,蔣緯國於1978年將此輸入法重新定名為“倉頡輸入法”。1980年,與宏碁公司共同發表世上首部具有中文作業系統、中文程式語言、中文套裝軟體的中文電腦——天龍中文電腦。
倉頡輸入法適用於多種平台,主流作業系統和大部分電子辭典均有內嵌。一些線上漢字字典也採用倉頡編碼作為檢索工具。
1980年代初期,朱邦復在個人電腦上設計中文系統,以倉頡碼為其根本,收字數萬,效率甚高。
1982年,朱邦復登報公開放棄倉頡輸入法專利權,並且極力推動電腦之中文化。現今大部分作業系統,甚至一些電子辭典皆附有倉頡輸入法,為正體中文世界最普及的形碼輸入法。
朱邦複本來想根據其“漢字基因”理論,建立一套“倉頡系統”,用倉頡碼統一處理漢字的形、音、義、碼、序、辨等六大問題。其中倉頡碼的原始目的是漢字檢索及排序,其取碼具有字首及字身的概念,以字首做為分類,字身做為補充,如此便可讓電腦“理解”漢字,進而達到組字、字義理解,甚至與人溝通的功能。
創建目的
倉頡輸入法24個基本字形由於本以漢字檢索為目的,倉頡取碼依據視覺辨識原理,能反映漢字的細微特徵,幾乎所有不同字形或異體字,
都有不同的編碼,因此重碼率為當今中文輸入法最低者。倉頡輸入法亦為一般系統中支援字型檔最大者,幾乎所有系統可見的漢字,皆可用倉頡輸入法鍵入,因此也成
為漢字文化工作者選用的主要輸入法。然而,在台灣,當今主流電腦系統只提供倉頡輸入法,沒有採用整套倉頡系統,因此許多原先的設計理念,如倉頡內碼、字型
產生器與極大字型檔等,都沒有實現。
朱邦復公開倉頡輸入法,不收分文,使電腦漢化得到很大的進展。現今大部分作業系統皆附有倉頡輸入法。它是繁體中文使用地區最常用的形碼輸入法。
目前最新的公開版本是第五代。待公開的第六代,為十萬字型檔設計,重碼率低。字型檔收錄歷代文獻用字,以倉頡碼作字型檔內碼。這版本現僅提供部分專家學者使用。
軟體優勢
倉頡輸入法的設計原意不單用來輸入,更是一個整合的中文系統。漢字以倉頡碼為內碼,使漢字的字序分明,新字隨時添加,沒有大五碼和統一碼的收字不足,字序混亂的缺點。輸出方面,漢字字形產生器以倉頡碼為基本,自動產生字形。不需儲存每一個字的字形,大大減少所需記憶空間。(例如朱邦復於1989年推出用第五代倉頡的聚珍整合系統,提供符合漢字結構的字數百萬,有七萬為實際用字。)由於輸入輸出統一以倉頡處理,取碼可以與字形一致。現時以第六代倉頡(又稱蒼頡)為核心的中文系統,用來建構收錄中國歷代文獻的漢文史資料庫,倉頡系統的優點得到發揮。
版本改革
1977年,朱邦復在台灣發表第一代倉頡,根據一萬二千字的《國語辭典》所設計。
1980年,發表第二代倉頡,僅將第一代倉頡略作調整。
1982年,發表第三代倉頡,是以《康熙字典》為範圍,選取其中四萬字,將第二代加以改良的結果。
1985年,在美國發表第四代倉頡。
1987年,返深圳科技園,任兩儀文化科技公司總經理,發表聚珍大字型檔、第五代倉頡輸入法。第五代將正、簡體字統一
處理,共收集了約六萬字,同時增加一些輔助字形及修正了少許的取碼。在朱邦復工作室網站上的《第五代倉頡輸入法手冊》一書中提供了第三代、第五代改碼字的
對照表。
1990年,與台灣資策會合作開發微軟中文視窗(Windows)系統3.0,採用倉頡系統的概念。後來朱邦復與微軟的合作關係破裂,之後Windows系統改採其他的漢字編碼系統,並自行更新第三代倉頡輸入法(修改了一些異體字及加入了部分香港字,但有錯碼),成為所見的主流版本。一般所稱的“三代倉頡”多指此版。
2002年,朱邦復在其論壇提及:“倉頡輸入法最後一版本——第六代已完成,並據之設計中文CPU”。因為朱邦復已不理輸入法之事,轉交沈紅蓮女士照料。第六代倉頡輸入法改名為“蒼頡檢字法”,至2008年止未曾公開,僅供與“朱邦復工作室”有工作關係之專家學者使用。
支持配置
MicrosoftWindowsWindows95/98/NT/ME/2000/XP等作業系統中內建的倉頡輸入法是第三代的修改版;WindowsVista/7內建的倉頡輸入法則兼容第三代和第五代(默認情況下,僅支援第三代;設定使用CNS11643國家標準中文交換碼字根後,可同時支援第三代和第五代)。MacintoshMacOSX10.4內附的為第五代。LinuxSCIM同時提供第三代和第五代,部分如OXIM只提供第五代。
其他
電子辭典等平台,中文全字型檔、漢字構形資料庫等漢字資料庫檢索系統,皆採用第三代。而朱邦復推廣的漢文庫典,則採用第五代。
此外網路上還有許多自製的倉頡輸入法(見#從倉頡衍生的輸入法一節),三代和五代皆有,例如馬來西亞。倉頡之友所製作的倉頡第五代通用版、國際版與香港版等,採用了五代倉頡。
倉頡字碼
倉頡輸入法分為五大類,共26個倉頡字母,括弧文字為相對鍵及讀音:
五行類:日(A)、月(B)、金(C)、木(D)、水(E)、火(F)、土(G)
筆劃類:竹(H,音斜)、戈(I,音點)、十(J,音交)、大(K,音叉)、中(L,音縱)、一(M,音橫)、弓(N,音勾)
人體類:人(O)、心(P)、手(Q)、口(R)
字型類:屍(S,音側)、廿(T,音並)、山(U,音仰)、女(V,音紐)、田(W,音方)、卜(Y)
複合類:無論在任何情況下,最多取首尾兩碼,包括:鬼(HI)、虍(YP)、斗(LN)、目(BU)、門(AN)、阝(NL)、幾(VI,不包括左下角的人)、隹(OG)、吂(YR)
特殊類:難(X),用於特定的筆劃,包括:臼(HX),卍(NX)等約十一種筆劃;重(Z)(在第三代中不再使用,被一些自製倉頡當作特殊鍵)
首24個倉頡字母還可再變化、衍生出「輔助字形」來辨別所有的中文字。例如:「叉」字拆解為「又+丶」,對應字母為E+I,其中這個「又」就是「水」這個倉頡字母的輔助字形。取碼原則 中文字根據「由上而下,由左而右,由外而內」等原則分拆成字型結構,再以字碼拼出。鍵盤上A至Y鍵各代表一字碼(X鍵用於特殊字,Z鍵通常不用),例如A是「日」、N是「弓」。字碼分表代表不同的中文字字型結構。取碼分字首及字身,一個中文字最少用一碼輸入,最長則為五碼。更有一口訣:
獨體字:即不能成幾部分的,取碼:頭、二、三。業-廿金廿木-TCTD
合體字:又可分為:
可分成兩部分的:頭尾、頭二尾,例如:瑜-一土人一弓-MGOMN
可分成三部分的:頭尾、頭尾,尾(如字身一隻一個碼時,則字身二可取頭尾兩碼),例如:髓-月月卜大月-BBYKB
其他例子:
“理”字-(分拆)->一+土+田+土-(對應字母)->M+G+W+G
“哈”字-(分拆)->口+人+一+口-(對應字母)->R+O+M+R
倉頡五代多字詞取碼規則:
(註:以下所指的首/末,是其作為單字編碼中所取的首尾碼字母)
二字詞:首末+首末=4;
三字詞:首+首+首末=4;
四字詞:首+首+首+首末=5.
從倉頡衍生的輸入法簡易/速成輸入法:
簡易輸入法(DOS年代的稱呼),或稱速成輸入法(中文Windows的稱呼),又簡稱作簡易或速成,為倉頡輸入法之簡化版本。其拆字法與
倉頡相同,但只取其倉頡碼的首尾兩碼,而不是每個字型的首尾兩碼,所以一個中文字最長只有兩碼。此取碼法比較簡單,所以較受初學者歡迎,但用者要從大量同
碼字中選擇需要的字,令輸入速度相對變慢。不過一些人已將數字碼的部分意思記下來,使輸入速度提升。另外,由於早期已預設在Windows作業系統內,不需另行安裝,是很多電腦內最常預設的輸入法之一,所以有不少使用者。
口訣
倉頡字根口訣G土旁土與士
F火小三四滴
D木寸少心力
S屍首左右櫃,右側梯,左彎鉤
A日曰日橫立
--------------------------
H竹頭撇斤首
J十寶玉不留
K大病右爻頭
L中豎衣(衤)聿首【聿(yù)】
M一提工廠石無口
--------------------------
T廿草昔首頭,業無眼,關下頭
R口
E水滂雨點又
W田囗毋空腹【囗wei】
Q手旁半少頭,夫失足,年無頭
--------------------------
Y卜卞斗首走(辶)
U山上框漁叉
I戈點廣縣底
O人入捺,矢無大,左倒八
P心勹七匕弋失喉【勹(bāo)、弋(yì)】
--------------------------
N弓乙左豎勾,斜月飛頭
B月且然半下框爵
V女折衣底右彎勾
C金兒八米頭
X難
倉頡字碼鍵位口訣
參照“倉頡字根口訣”,按照鍵盤26個英文字母,從左至右、從上至下的鍵位規律,總結出五言30字口訣。
手方水口並——【手田水口廿】——(QWERT)
卜仰點人心——【卜山戈人心】——(YUIOP)
日則木火土——【日屍木火土】——(ASDFG)
斜交叉縱橫——【竹十大中一】——(HJKLM)
重難不常用——【重難不常用】——(ZX)
金紐月勾終——【金女月弓終】——(CVBN)
倉頡字碼拆字
連體字
1.取碼數:最多四碼,不足四碼者全取。
2.取碼順序:由上而下,由左而右。
3.取碼次序:取首、次、三、尾碼。
例如:
允──【戈竹山】
豆——一【口廿】
愛──【月月心水】
分體字
分體字的取碼,分為【字首】及【字身】兩部份。
由於分體字分為兩部份,所以要注意兩個取碼的大原則:
1.字首──至少取一碼,至多取兩碼。
例如:
取一碼:份、沙
取兩碼:則、話
超過兩碼﹝頭尾兩碼﹞:點、線
2.字身──至少取一碼,至多取三碼。
例如:
不超過三碼﹝全取﹞:話、時
超過三碼﹝分拆處理﹞:道、識