學習使用倉頡五代輸入法

Two 於 2024-03-02 發佈

使用正體中文記錄文章

倉頡輸入法是什麼

倉頡輸入法是常用的中文輸入法,由擁有「中文電腦之父」美譽的朱邦復於1976年創製。 初期只有正體中文版,原名「形意檢字法」,用以解決漢字輸入、字形輸出、內碼儲存、漢字排序等電腦處理漢字的問題。 朱邦復發明此輸入法時正值他為三軍大學發展中文通訊系統之際,時任三軍大學校長的蔣緯國為紀念上古時期倉頡造字的精神, 乃於 1978 年將此輸入法改名為「倉頡輸入法」。

1982 年,朱邦復公開放棄倉頡輸入法專利權,使倉頡自由流行於中文世界。 大部分作業系統都會附帶倉頡輸入法程式,在正體中文環境裏是流行的中文形碼輸入法。

倉頡的歷史

1973 年春,朱邦復回到臺灣想要改良中文打字機,研究中文檢索方式。 花了約三年時間,並且在研究後期國立臺灣大學中文系專業畢業生沈紅蓮女士 擔任助手,於 1976 年底發佈「形意檢字法」,最初使用52個中文字母作檢索字母,每個漢字分拆成3個字母的編碼。 當時,三軍大學需要無給職人員發展中文通訊系統,40歲的朱邦復立即接受此一職務,之前並不懂計算機的他至此才開始接觸程式語言。

1978 年8月,朱邦復和助手沈紅蓮重新規劃拆取字根的方法,採用「首二身三」的規則, 使檢索字母數由52個減至26個,以適應一般電腦鍵盤。 在減省字母前,原先的設計是在同一鍵中安置兩個中文字母,以 Shift 鍵區分兩者。

1979 年,三軍大學的有綫短程中文通訊實驗成功,朱邦復實現以中文字母作爲內碼,儲存漢字字矩資訊,解決電腦處理漢字的問題。 時任三軍大學校長的蔣緯國先生爲其授名「倉頡輸入法」。 同年12月朱開始與宏碁電腦合作,開發內建程式語言、中文系統及應用軟體的「天龍中文電腦」,翌年起在市面上銷售,備受市場歡迎。 此中文系統以倉頡碼為其根本,收字數萬,效率甚高。朱邦復因此獲頒發「行政院長獎」。

朱邦復繼續改進倉頡輸入法。同年,由他成立的零壹公司發表第二代倉頡輸入法,使用在他爲 Apple II 電腦設計的「漢卡」產品上。 「漢卡」爲該機提供中文介面,售價新台幣1500元,使得華人利用電腦處理中文的成本更低。 1982 年,朱邦復在《康熙字典》裏選取四萬多字,改良第二代倉頡,使它適應大字集的輸入,並把成果發表爲第三代倉頡輸入法。 同年,他登報公開放棄倉頡輸入法專利權,並且極力推動電腦之中文化。 現今大部分作業系統,甚至一些電子辭典皆附有倉頡輸入法,為正體中文世界最普及的形碼輸入法。

第三代倉頡的區碼方式就已經和今天的五代倉頡相差無幾了。

朱邦復本來想根據其「漢字基因」理論,建立一套「倉頡系統」,用倉頡碼統一處理漢字的形、音、義、碼、序、辨等六大問題。 其中倉頡碼的原始目的是漢字檢索及排序,其取碼具有字首及字身的概念, 以字首做為分類,字身做為補充,如此便可讓電腦「理解」漢字,進而達到組字、字義理解,甚至與人溝通的功能。

由於本以漢字檢索為目的,倉頡取碼依據視覺辨識原理,能反映漢字的細微特徵,同一漢字的不同字形或異體字, 許多時都會有不同的編碼,因此重碼率為當今中文輸入法最低者。 倉頡輸入法亦為一般系統中支援字庫最大者,幾乎所有系統可見的漢字,皆可用倉頡輸入法(系統)鍵入, 因此也成為漢字文化工作者選用的主要輸入法。

然而,當今主流電腦系統只提供倉頡輸入法,沒有採用整套倉頡系統, 因此許多原先的設計理念,如倉頡內碼、字型產生器與極大字庫等,都沒有實現。

倉頡輸入法開發時間較其他中文輸入法早,作者又早早放棄了專利權。使其在中文世界十分普及, 號稱「只要有中文系統,就必定有倉頡輸入法存在」,所以人們學習倉頡後,理論上不用擔心無法使用它。 此外倉頡的重碼率為所有中文輸入法中最低,使用者只需要看著稿子或鍵盤就能打字,不需緊盯著螢光幕來選字,實現「盲打」。

它對漢字的拆分規則清晰嚴謹,只要熟悉拆碼規則,絕大多數漢字的拆碼都沒有爭議。 倉頡輸入法支援的字庫極大,能輸入幾乎所有系統能呈現的漢字。

最新版本

目前倉頡輸入法通行的最新公開版本是第五代,而流傳最廣泛、最常使用版本是第三代。

朱邦復的多年助手沈紅蓮,另行設計蒼頡檢字法,坊間多稱之爲「第六代」倉頡,但實際使用上,一般都不把它視爲倉頡輸入法的新版本, 相反更像另一款由倉頡衍生而來的新輸入法。它與三代倉頡或五代倉頡相差較大,字根明顯增多,拆碼規則也有不少改變。 它應用於朱、沈二人開發的倉頡系統,該系統字庫完整收錄了歷代文獻用字十萬以上,以倉頡碼作為內碼,重碼率低於5%。 雖然倉頡輸入法愛好者向朱邦復工作室索取到蒼頡檢字法編碼,但它尚未正式發佈。

爲什麼要學習倉頡輸入法?

引用朱邦復先生在《第五代倉頡輸入法手冊》的一段話:

資訊時代的來臨,對人類文化所引起的衝擊,遠較社會型態、經濟制度之影響為烈。 由於文字是資訊的基礎,其功能效率,其適應範圍,都涉及該文字本身、以及使用該文字的國家民族之興衰、存亡。

中國文化是否有存在的價值,我們無權置喙,但是身為中國人,生在這個轉型的時代,卻有責任將中國文化保存下來。 不僅僅只是為了自己、或者為了對列祖前賢有所交待,更重要的是為了未來世世代代的子孫, 他們有權認識過去人類所積累的各種文化珍產,有權探求各種思考的內涵,有權選擇其喜愛的生活方式。

因此,自從研究中文輸入的第一天起,我就給自己定下了一個明確的方向,希望能在有生之年,徹底解決中文文字在資訊處理上的各種問題。 文字的問題應該從文字的特性上著手,我詳細閱讀了有關的古籍,依照中文文字歷代發展之規律、配合時代需求,整理出一套編目的方法。 1975年,我出版《形意檢字法》,後來再經修改,並以電腦為應用對象,才定名為倉頡輸入法。

文字是人類思想行為的記述、表達工具,其發展全基於「約定俗成」,沒有任何人有足夠的力量和智慧加以硬性限制。 即使有人自不量力,也絕對經不住歷史的考驗。 因此,我們設計倉頡輸入法之基本精神,不僅要保全過去見諸史籍的所有文字,亦且兼顧千秋萬世的未來,要能提供新概念、新事物的文字編碼及組合。

由於中國文化精深淵博,涉及的層次太廣,我自知能力有限,面對這樣艱巨的任務,若非訴諸大眾,結合各界的力量,則難有達成的一天。 基於這種信念,我放棄了倉頡輸入法的專利權,潛心致力於中文文字的研究與發展。

優點如下:

  1. 學習倉頡輸入可以瞭解漢字在倉頡的編碼,瞭解倉頡是如何將衆多漢字拆分和組合的。
  2. 倉頡作爲形碼輸入法擁有大量的字庫和在中文世界廣泛的使用者,不用擔心學習了沒有地方使用。
  3. 倉頡的大量字庫也可滿足用戶輸入大量古文的需求。
  4. 如果你對於漢語拼音和注音的重碼率較高感到不滿,但苦於沒有代替品時就可以考慮學習一門形碼輸入法,而倉頡就是衆多形碼輸入法中出色的一員。

倉頡與其他形碼輸入法

和倉頡類似的形碼輸入法包括:1.五筆86,2.五筆98,3.鄭碼,4.徐碼,5.字浩 等輸入法。

请注意:五笔、郑码是主打简体的方案、仓颉主打繁体、徐码和宇浩是繁简通打的方案。 它们都为各自的目标做了一定优化,故而也在别的目标上存在缺点。

網路上有人對比了它們的重碼率(僅供參考):

主流形碼重碼率對比

評價輸入法不能只看重碼率,因爲不同輸入法有設計哲學和目標人羣,有優點就有缺點。 選擇輸入法也要符合自己的需求,多多考慮才是。如學習難度、字根記憶難度、是否有輸入古漢字需求、 輸入簡化、正體漢字需求、碼錶的儲備糧及不同中文地區的漢字變體支持等等……

倉頡的使用

如果说笔顺输入法像执笔写字,仓颉输入法就像用剪刀把汉字剪开。要为汉字取码,首先凭视觉(而非字义或笔顺)观察汉字能否分割,无法分割的是整体字; 可分割的则把汉字分割成字首及字身,字首为最左、最上、最外部分,剩余部分为字身。字身若可再分割,则再分割为次字首和次字身。 各部分再分别根据字形取出有限个字码,而后按下空白键输出。

單個漢字至少一碼,最多五碼,如:

讀者可以先不用管那些取碼是什麼含義,先對倉頡有第一印象。下面会就漢字的分割方法、取碼码原則、例外字及其他要注意的地方,逐字說明。

倉頡使用/倉頡字母與鍵位

學習倉頡先要認識倉頡字母,就像學習英語先要認識英文字母一樣重要。 要用鍵盤輸入漢字“喵”,用倉頡輸入法顺序敲打“口”、“廿”、“田”三個倉頡字母;打好后摁空白鍵,上屏顯示。

和用鍵盤輸入英文字母類似,只不過倉頡用鍵盤上的原來是字母的鍵位用來充當字根。 倉頡字根就是倉頡的最小單元,它們也是漢字,但是字根不可再拆分,字根加字根的組合使倉頡可以輸入大量偏旁部首、結構上差異不同的各種漢字。

倉頡字母分四大類,共廿四個倉頡字母以及兩個特殊鍵,下面列出所有倉頡字母, 括號裏是 Qwerty 鍵盤相對的英文鍵位,鍵位後方若有漢字,则代表倉頡字母的讀音与含義:

  1. 哲理类:日 (A) 、月 (B) 、金 (C) 、木 (D) 、水 (E) 、火 (F) 、土 (G)
  2. 笔画类:竹 (斜,H) 、戈 (点,I) 、十 (交,J) 、大 (叉,K) 、中 (纵,L) 、一 (横,M) 、弓 (钩,N)
  3. 人体类:人 (O) 、心 (P) 、手 (Q) 、口 (R)
  4. 字形类:尸 (侧,S) 、廿 (并,T) 、山 (仰,U) 、女 (纽,V) 、田 (方,W) 、卜 (Y)
  5. 特殊键:難 (X) ,用于特殊的“难字”,如“臼”、“卍”等字; 重 (Z),第三代开始不再使用, 有自制仓颉输入法用作特殊键,写法不一,有作“重”、“片”、“符”、“标”等等。

上述“哲理类”等四个分类,虽然反映了发明人创制这些仓颉字母时的思维,但实际应用时毋须记住。

也有圖片可以查看:

倉頡字根表

念法是:日月金木水火土 竹戈十大中一弓 人心手口 尸廿山女田卜

倉頡字母是使用倉頡輸入漢字的基本,讀者都要記住。感到難以記憶的也可以先跳過記憶,去看下面的組合和使用方法, 然後在實際使用倉頡中養成肌肉記憶(不管怎麼說都是要記住的)。

倉頡使用/正確將手指放在鍵盤上

衆所周知:想要高效率的輸入就不能只用兩根手指在鍵盤上點點。 國際通用的打字指法裏,不同手指有不同的分工, 开始打字前,即静止时,十指应放在以下基本鍵位:

如圖:

手指的停放姿勢

倉頡使用/輔助字形

廿四個倉頡基本字根字形就可以編碼不少漢字,但漢字源遠流長,體系龐大。單靠廿四個基本字根就想表示全部漢字不免還是杯水車薪, 所以才有了輔助字形。

倉頡的廿四個基本根區叫主根,就是在【倉頡使用/倉頡字母與鍵位】小節裏介紹的字根。輔助字形(根區)又叫副根,也被安排在了主根的按鍵裏。 它们都由所属的仓颉字母(或同一字母麾下的其他辅助字形)在外形衍生变化而来,只要运用视觉联想理解同组字根之间的形状演变关系即可自然记住。

用圖片說明較爲方便。

倉頡輔助字形

輔助根區和主根相似,也容易記住。

倉頡使用/漢字分割

倉頡輸入法根據漢字結構特徵取碼,要了解一個漢字的本身才能取到正確的碼。

下面引用 Wiki Book:

分割汉字的核心概念是以视觉(而非字义或笔顺)判断汉字能否分割,不能分割者为“整体字”,能分割者为“组合字”,并将其分割为“字首”、“字身”二部分; “字身”若还能分割,则按相同方式再分割为“次字首”、“次字身”二部分。分割完后再对各部分分别取码。

以視覺判斷漢字能否分割,能就叫”組合字“

組合字將第一部分分離爲”字首“,其他部分爲”字身“。大略分爲兩種分割方式:

漢字分割::基本分割

可縱向或橫向“一刀分”者,其“最左侧”或“最上方”的部分定義为字首。

漢字分割::延伸分割

引用自 Wiki Book:

一些字典惯用且位置固定的字形,会有一部分向右或向下延伸,或以三面、四面包住另一字形,为取码方便,亦视为字首。

可以參考:

延伸分割

漢字分割::次字首和次字身

組合字的自身如果還可以分割,則比照整個漢字的方法分割爲次字首和次字身。

次字首和次字身

漢字分割::整體字

非組合的漢字叫整體字。

笔划彼此相连,无法分割者。如:“更”、”才”、“韭”、“重”等。 笔划虽非全部交连,但形势为一完整个体者。如:“烏”、“來”、“噩”、“坐”等。

倉頡使用/取碼

倉頡最多可以取五個碼,把漢字分成一到五個倉頡字母的過程叫取碼。

這裏將介紹基本的倉頡取碼方式:

引用 Wiki Book:

  1. 依“由外而内,由上而下,由左而右”的顺序取码。
  2. 取过的部分不得再取。
  3. 整体字最多四码。组合字的字首最多两码,字身最多三码。字身若可分割,则次字首取一至两码,次字身取两或一码。
  4. 忽略书法变形或变位。
  5. “丶”、“凵”先取。

取碼::基本取碼

分出字首、字身、次字首、次字身,分別對各部用“由外而內,又左而右”的順序取碼。取碼過的部分不得在取。

引用 Wiki Book:

  • 整体字:最多四码(四码以下全取;超过四码则取第一、二、三码及尾码,下同理)。
  • 组合字,字身为整体字:字首最多两码(一、尾),字身最多三码(一、二、尾)。后文或标作最多取二・三码。
  • 组合字,字身为组合字,次字首一码:字首最多两码,次字首一码,次字身最多两码。后文或标作最多二・一・二码。
  • 组合字,字身为组合字,次字首多码:字首最多两码,次字首最多两码,次字身取尾码。后文或标作最多二・二・一码。

字列如下:

基本取碼::由外而内,由上而下,由左而右

倉頡輸入法順序是“由外而内,由上而下,由左而右”的取碼方式,即

  1. 有外部字形如“口”、“匚”先取
  2. 明顯的、中間突出的先取,如“巾”就先取“中”在取“月”,而不是從左到右取。
  3. 根據第二條延伸的如取碼時部件等高或者無上下區分標準時,由左到右取碼,如“片”、“也”、“世”。
基本取碼::先取右上角的“丶”

若漢字右上方有一点(丶),则一律视为位于最高位置,优先取碼。这是为了避免混淆,也避免与点在下的字重碼。

如:犬 -> 戈大

取碼規則

基本取碼::先取外面的“凵”

“由外而内”的取法如圖:

由外而內

倉頡使用/列外字

絕大多數漢字可以根據前面的原則取碼,其餘少數漢字,如果按照同樣方式取碼也可以,但是會十分不方便,處理列外字有專門的方式。

列外字類型有如下:

引用自 Wiki Book:

  1. 複合字首:作爲字首或者次字首視爲整體,只取頭、尾兩碼。
  2. 複合字:視爲整體,取頭、尾兩碼。
  3. 難字: 難字部分以難(X)鍵代替。
  4. 特殊字:被其他部件連貫時,先取特殊字,再取重疊上的部件,并且可与骨干的中竖重复。

列外字::複合字首

複合字首做“字首”或“次字首”时,视为一整体,只取头、尾两碼。

複合字首

列外字::複合字

“複合字”不论是单独使用或与其他字形组合使用,一律只取其头、尾两碼。

複合字

列外字::難字

有些漢字的部分形狀過於瑣碎、拆碼繁瑣、爲了方便取碼, 規定了特別的“難字”以“難”(X)碼代替難取的部分。

首、难、尾”型:首、尾码好取,其余难取。如:

難字

“首、难”型:仅有首码好取 如:

難字

列外字::特殊字

有部件重疊在以下几种字形的中间时,可先取特殊字,再取重疊于上的部件。

特殊字

相關資料

倉頡的基本使用方法如上文所說,如果有繼續研究和學習倉頡輸入法的讀者,我準備了一份簡單的相關資料。

相關資料/書籍

  1. 《第五代倉頡輸入法手冊》,朱邦復、沈紅蓮著。
  2. 《全字庫中文倉頡輸入法》,謝振孟著。
  3. 《倉頡輸入法用戶手冊》,無新華著。
  4. 《大新倉頡輸入法達人》,蘇清得著。
  5. 《仓颉教室》,施能贤著。
  6. 《仓颉第四代输入法手册》,伍山科技发展有限公司
  7. 《标准仓颉第二代中文输入法》,零壹科技股份有限公司
  8. 《仓颉输入入门与实作》,褚武熙著

相關資料/倉頡查碼

  1. Follow Me仓颉字典
  2. 第五代仓颉字典
  3. DICT.TW 线上字典
  4. 倉頡之友
  5. 漢典

相關資料/練習網頁

  1. 仓颉之友•香港
  2. 仓颉输入法自学套件
  3. 倉頡新星

相關資料/朱邦復工作室

  1. 朱邦復工作室

相關資料/碼錶文件

  1. aineer-Cj5Cons
  2. Cj5Cons

相關資料/Rime 倉頡輸入法方案

  1. rime-cangjie5
  2. rime-aineer-cangjie
  3. rime-cangjie6
  4. rime-my_cangjie3