形意檢字法

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

1982 年，朱邦復登報公開放棄倉頡輸入法專利權，並且極力推動電腦漢化。現今大部分作業系統，甚至一些電子辭典皆附有倉頡輸入法，正體中文鍵盤也大多印有倉頡輸入法的字根。在正體中文世界裡，倉頡輸入法是極普及的形碼輸入法。

倉頡輸入法適用於多種平台，主流的中文作業系統和大部分電子辭典均有內建。一些字典、辭典或線上中文字典亦採用倉頡編碼作為檢索工具。

## 簡介

### 歷史

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

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

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

朱邦復繼續改進倉頡輸入法。同年，由他成立的零壹公司發表第二代倉頡輸入法，使用在他爲 Apple II 電腦設計的「漢卡」產品上。「漢卡」爲該機提供中文介面，售價新台幣 1500 元，使得華人利用電腦處理中文的成本更低。

1982 年，朱邦復在《康熙字典》裏選取四萬多字，改良第二代倉頡，使它適應大字集的輸入，並把成果發表爲第三代倉頡輸入法。同年，他登報公開放棄倉頡輸入法專利權，並且極力推動電腦之中文化。現今大部分作業系統，甚至一些電子辭典皆附有倉頡輸入法，為正體中文世界最普及的形碼輸入法。

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

由於本以漢字檢索為目的，倉頡取碼依據視覺辨識原理，能反映漢字的細微特徵，同一漢字的不同字形或異體字，許多時都會有不同的編碼，因此重碼率為當今中文輸入法最低者。倉頡輸入法亦為一般系統中支援字庫最大者，幾乎所有系統可見的漢字，皆可用倉頡輸入法（系統）鍵入，因此也成為漢字文化工作者選用的主要輸入法。然而，當今主流電腦系統只提供倉頡輸入法，沒有採用整套倉頡系統，因此許多原先的設計理念，如倉頡內碼、字型產生器與極大字庫等，都沒有實現。

### 優缺點

倉頡輸入法開發甚早，又無著作權，在中文電腦系統中十分普及，號稱「只要有中文系統，就必定有倉頡輸入法存在」，所以人們學習倉頡後，理論上不用擔心無法使用它。此外倉頡的重碼率為所有中文輸入法中最低，使用者只需要看著稿子或鍵盤就能打字，不需緊盯著螢光幕來選字，實現「盲打」。倉頡輸入法字根較許多形碼輸入法少和簡單，容易記憶。它不依靠四排按鍵 —— 即使沒有把鍵盤上的數字鍵、符號鍵都用作中文字根鍵，輸入時手指活動幅度與英文打字相若也免除輸入符號、數字時的困擾，以及在筆記型電腦鍵盤上遇到的移位問題。它對漢字的拆分規則清晰嚴謹，只要熟悉拆碼規則，絕大多數漢字的拆碼都沒有爭議。倉頡輸入法支援的字庫極大，能輸入幾乎所有系統能呈現的漢字。

倉頡輸入法雖然具備以上優點，但也受到許多批評，例如為了顧及檢索而令編碼規則相對較繁複，沒有容錯編碼，取碼字形問題，版本差異問題，導致規則略顯繁瑣、取碼或遇問題，而被一些人視為畏途。另外倉頡輸入法並未為常用字之快速輸入設計簡快碼，沒有類似於五筆的詞組輸入方法，標點符號之輸入也略嫌不便，因此沒有成為最快速的中文輸入法。

不過，倉頡輸入法有一些衍生版本，改進了上述的批評點，例如加入容錯編碼、不同字形的取碼、簡快碼、詞組輸入，同時容許不同版本的取碼等。它們都標榜可以由傳統倉頡輸入法輕鬆跳至衍生版本。當中有一些版本更提升了輸入速度。例如大新倉頡輸入法，是目前中文電腦輸入最快速紀錄的優勝者。

倉頡還有一些特色，常被競爭對手或批評者視為缺點，但有研究輸入法的人士並不同意有關批評。包括：依字形來取碼，而非依書寫的筆畫和筆順取碼；同一筆畫可以剪開（例如「里」字的倉頡碼為「田土」）等。批評者認為它違反漢字邏輯，令漢字走上「歧途」，是缺點。反駁者則指漢字在分析構形字理、字典部首歸部時，都是按形狀分析，也會不依筆順甚至剪裁筆畫，因此這只是主觀上接受與否的問題。一些競爭對手如嘸蝦米的發明人或擁護者甚至以攻擊倉頡輸入法來作爲文宣，有輸入法硏究者對此不予認同。

### 最新版本

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

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

## 輸入介面

**Microsoft Windows**

* 在 Microsoft Windows 裏使用倉頡時並沒有任何特別介面，只會出現：

　
: : 維基百科竹木卜十

　
: 這樣的小框於文字旁邊。

* 使用者亦可使用「＊」（Shift＋8）來代表不知道的碼（萬用字元）：

　
: : 維基廿＊土

　
: 結果會與速成輸入法出來的結果一樣。

**macOS**

* 在 macOS，Z 鍵是「重」，每個「重」代表一個未知的碼︰

　
: : 維基百竹重重十

　
: 維基百科

## 版本與平台

### 版本演進

* 1977 年，朱邦復在台灣發表第一代倉頡，根據一萬二千字的《國語辭典》所設計。
* 1980 年，發表第二代倉頡，僅將第一代倉頡略作調整。
* 1982 年，發表第三代倉頡，是以《康熙字典》為範圍，選取其中四萬字，將第二代加以改良的結果。
* 1985 年，在美國發表第四代倉頡。
* 1987 年，返中國深圳科技園，任兩儀文化科技公司總經理，發表聚珍大字庫、第五代倉頡輸入法。第五代將正、簡體字統一處理，共收集了約六萬字，同時增加一些輔助字形及修正了少許的取碼。在朱邦復工作室 （頁面存檔備份，存於網際網路檔案館）網站上的《第五代倉頡輸入法手冊》一書中提供了第三代、第五代改碼字的對照表。
* 1990 年，與台灣資策會合作開發微軟中文視窗系統 3.0，採用倉頡系統的概念。後來朱邦復與微軟的合作關係破裂，之後 Windows 系統改採其他的漢字編碼系統，並自行更新第三代倉頡輸入法（修改了一些異體字及加入了部分香港字，但有錯碼），成為目前所見的主流版本。目前一般所稱的「三代倉頡」多指此版。
* 2002 年，朱邦復在其論壇提及：「倉頡輸入法最後一版本 —— 第六代已完成，並據之設計中文 CPU」。因為朱邦復已不理輸入法之事，轉交沈紅蓮負責。第六代倉頡輸入法改名為「蒼頡檢字法」，原本並不公開，僅供與朱邦復工作室有工作關係之專家學者使用，直至 2013 年才釋出予倉頡輸入法愛好者。雖然通稱「六代」，但實際使用上，一般都不把它視爲倉頡輸入法的新版本，相反更像另一款由倉頡衍生而來的新輸入法。

　
: 由「面」、「非」兩字即可辨別是第三代、第五代倉頡或者蒼頡檢字法：

　
: * 三代：「面」字取碼 MWYL（一田卜中　）；「非」字取碼 LMYYY（中一卜卜卜）
* 五代：「面」字取碼 MWSL（一田尸中　）；「非」字取碼 LMSY（中一尸卜　）
* 蒼檢：「面」字取碼 MWS（一田尸　　）；「非」字取碼 LSY（中尸卜　　）

### 軟體支援

* **Microsoft Windows**

　
: Windows 95/98/NT/ME/2000/XP 等作業系統中內建的倉頡輸入法是第三代的修改版；Windows Vista/7/8 內建的倉頡輸入法則相容第三代和第五代（預設情況下，僅支援第三代；設定使用 CNS11643 中文標準交換碼字根後，可同時支援第三代和第五代）。Windows 10 內建的倉頡輸入法則僅支援三代，並不相容五代。

* **Macintosh**

　
: Mac OS X 10.4 內附的為第五代。

* **Linux**

　
: SCIM、gcin、ibus-table-chinese （頁面存檔備份，存於網際網路檔案館） 等提供第三和第五代，OXIM （頁面存檔備份，存於網際網路檔案館）、rime-cangjie （頁面存檔備份，存於網際網路檔案館） 等只提供第五代。

* **其他**

　
: 漢語多功能字庫 （頁面存檔備份，存於網際網路檔案館）、Unihan Database 使用第三代倉頡碼，中文全字庫、異體字字典、朱邦復推廣的漢文庫典使用第五代倉頡碼，並支援倉頡碼檢字。

　
: 此外網路上還有許多自製的倉頡輸入法，第三代和第五代皆有，例如馬來西亞。倉頡之友 （頁面存檔備份，存於網際網路檔案館）所製作的倉頡第五代通用版、國際版與香港版等，採用了五代倉頡。

## 取碼方法

這裏僅提供簡介，詳情可見 維基教科書中有關倉頡輸入法的文字。

### 倉頡鍵盤

倉頡字母即倉頡輸入法的主要字根（主根），分為四大類，共 24 個，另有 2 個特殊鍵。這些鍵與 26 個英文字母一一對應（以下括號內的中文字為字母之代表字）：

舉例說，「妲」字由倉頡字母「女、日、一」組成，輸入時就敲打「女 (V)、日 (A)、一 (M)」三鍵。

這 24 個倉頡字母還可再變化、衍生出「輔助字形」（輔助字根、輔根），來組合所有的中文字。例如：「水」衍生出「氵」（三點水）；「手」衍生出「扌」（提手旁）；「中」衍生出「丨」（主榦是豎筆）；「弓」衍生出「亅」（重點爲鉤形）；「田」衍生出外圍的「囗」（音ㄨㄟˊ；框內有東西，與『口』不同）等等。詳情可見維基教科書上的說明。

這裏舉出一個運用輔助字形的例子：「泗」字由輔根「氵、囗、」組成，由於「氵」隸屬「水」，「囗」隸屬「田」，「」隸屬「金」，輸入時就敲打「水 (E)、田 (W)、金 (C)」三鍵。

實際應用時，倉頡字母和輔助字形通常會混用，比如「烟」字由主根「火」、輔根「囗」（隸屬「田」）和主根「大」組成；「桐」字由主根「木」、輔根「冂」（隸屬「月」）和主根「一」、「口」組成；「銀」字由主根「金」、「日」和輔根「」（隸屬「女」）組成。

### 取碼概要

憑視覺（非字義或筆順）把漢字分割為字首及字身，字首為最左、最上、最外部份，剩餘部份為字身。若字身可以再分，則分為次字首和次字身。各部份再分拆為有限個字碼（中間部分省略），以不破壞字形特徵和視覺容易辨識為準。

字首最多取二碼，字身最多取三碼；無法明確分割為字首、字身者（如「東」），則全取。一個漢字最少用一碼輸入，最長則為五碼。取碼以後再按下空白鍵（組字鍵），即可輸出字元（字形）。

例如：

### 正簡輸出

倉頡輸入法是少數能同時輸出正、簡體的輸入法，但部分平台（如微軟 Windows）上的簡體倉頡拆字並不標準，部分違反了原本的拆碼規則，或者使用了非簡體字習慣字形，使用者需要稍作適應。一些外掛的倉頡輸入法會改用朱邦復工作室的標準倉頡編碼，不會出現下述的問題碼；或者採取加入容錯碼，令同一字可能有超過一種拆碼方法。

例如：

不過，大部分字如国田一土戈　、边卜大尸　　、应戈火一　　、组女一月一　、饮弓女弓人　、东大木　　　、这卜卜大　　、过卜木戈　　、页一月人　　等，均符合正體倉頡的取碼原則，毋須重新適應。

## 其他特色

倉頡和速成也能輸入標點符號，方法是輸入Ｚ難？？　，速成則取頭尾碼，或選擇全形後直接按鍵盤上相應的半形標點符號。另外同時按下 `Ctrl`+`Alt`+`,` 會彈出符號表。

　
: 第一個 `？` 只能為 A、B、C 其中一個，

　
: 第二個 `？` 只能為 A 至 Y 其中一個。

比較常用的為。Ｚ難日木　，以及，Ｚ難日月　。

### 使用狀況

* 台灣：根據 2011 年波仕特的調查報告指出，台灣使用倉頡輸入法的比例為 9.9%。其他則是注音輸入法 70%、嘸蝦米輸入法 10.7%。
* 港澳：主權移交前，兩地並無全面推行普通話教育，且普遍市民不懂注音或普通話拼音，而粵語拼音亦不流行，以字形取碼的倉頡輸入法最多人使用。香港無全面統計數據。據輸入法硏究者李祥於 2000 年所述，香港使用者最多的輸入法是倉頡輸入法。該年年初，在中文大學舉辦的研討會上，現場近三百名教師有 90% 以上使用倉頡輸入法。而 2001 年「香港中學校際中文輸入大賽」中，1288 人裏，有 761 人使用倉頡輸入法，其次爲速成輸入法，有 317 人選用。其他輸入法皆不足 4%。澳門也普遍使用倉頡輸入法，是大多數中小學校的必修課程，公營機構澳門生產力暨科技轉移中心下轄的中文輸入技能評核中心設有初級中文打字認證，就是以倉頡輸入法及速成輸入法作為考試的工具。

### 衍生

有眾多輸入法皆源自倉頡輸入法，如下所示：

* 簡易輸入法
* **新倉頡輸入法**：發佈時間大約在 Windows 2000 推出時，同時發佈還有新注音輸入法。它免除選字的麻煩，對於一個熟練的打字員，可以在完全不用看螢幕的情況下盲打，而讓系統自動分詞選字。不過由於不少人並不習慣新倉頡的盲打模式及沒有關連字的提供，他們都對新倉頡輸入法非常抗拒，甚至千方百計要找回舊有的倉頡輸入法來重新安裝。為此，微軟在後來的 Windows 版本裡仍保留舊有的倉頡輸入法。
* **第五代倉頡輸入法**：發明人朱邦復支援倉頡之友・馬來西亞 （頁面存檔備份，存於網際網路檔案館）推出的輸入法，支援七萬多個漢字，組字字根全採第五代拆碼原則，並為第二個重碼字（依使用頻率排序）增加以「難（X）」為開頭的組字字根，如「知」、「佑」 為重碼字，「知」較「佑」常用，以「人大口（OKR）」組字時，「知」為第一個候選字（連續輸入時可以省略按 1）、「佑」為第二個候選字；「佑」可用「難人大口（XOKR）」組字後直接出字。此輸入法程式有 Windows 及 Linux 版本，為一免費軟體，其介面與 Windows XP 簡體中文版內建的輸入法程式較接近。此外，Linux 系統多已內建三代及五代倉頡輸入法。
* **自由倉頡輸入法**：由香港華通軟體開發，免費供中港臺地區人士使用。 
香港華通另設一「自由速成輸入法」，取倉頡碼的首尾兩碼，兼有以上的特點。 
特點如下：
1. **免費公益軟體**（支援 Windows Vista/7）
2. 使用全新的「TSF」輸入技術，全面支援 32 位元 / 64 位元 Windows 平台。
3. 依據 Windows 第三代倉頡為基礎
4. 支援及更正統一碼字根的編碼
5. 含有**詞組輸入**，大幅提高輸入速度
* **輕鬆輸入法**：輕鬆輸入法雖由倉頡衍生（字根多半沿用），卻大有不同。輕鬆輸入法的宗旨是易學、方便，將字根減至 75 個，取碼只取頭尾，有些類似速成。 
面對選字過多的問題，輕鬆輸入法採用超大詞庫、五碼定字、詞音定字等方式，不但減少選字選詞，也增加了輸入速度。 
採用 GPL 授權，人人可以免費取得，以及自由的使用，是第一個開放原始碼的倉頡輸入法系統。
* 快速倉頡輸入法：簡稱**快倉**，是麥志洪自 1987 年起在倚天中文系統中開發出來的三碼倉頡（首碼、二碼和末碼）改良而成的倉頡輸入法。至今已經包含在各大輸入法程式平台框架中（如：酷倉輸入平台、小小輸入平台、小狼毫中洲韻輸入平台等等）。快倉每字最多取四碼，與速成相比選字較少因此更快，與倉頡相比則按鍵較少因此也更快。它的特點有：採用「一字多碼」的編碼策略、擁有容錯碼、改良標點符號編碼等等。採用 GPLv3 授權，人人可以免費取得，以及自由的使用，是第二個開放原始碼的倉頡輸入法碼表。

輸入法表格：

* 蒼頡檢字法
* **中標倉頡**：中華民國行政院主計處為「CNS 全字庫」製作的輸入法表格（又稱為「對照表」或「參考檔」），目前 OpenDesktop （頁面存檔備份，存於網際網路檔案館）的「OXIM 輸入法 1.2.2」裡提供的「中標倉頡」即採用主計處在 2006 年 2 月 22 日修訂的參考檔。「中標」為「中文標準交換碼」的簡稱。此參考檔支援字數超過七萬字，採用第三代倉頡拆碼原則。中標倉頡的組字字根與微軟倉頡的組字字根較近似，另外亦提供中華民國教育部頒布之國字標準字體的組字字根（如「今」字的「人」下面應為「一」而非「、」，但微軟倉頡只能拆「人戈弓」，中標倉頡拆「人戈弓」或「人一弓」皆可）。
* **泰瑞倉頡輸入法**：整合「倉頡之友・馬來西亞」的第五代倉頡輸入法組字字根及中標倉頡輸入法的組字字根（第三代），並確認中日韓統一表意文字及其擴展 A、B 區合計的 70195 個漢字都被編入對照表裡。另外參照了亂倉打鳥輸入法的符號組字字根，並做適度的修改，使得符號輸入方式更加便捷。目前已提供 TXT 檔（給 Windows「通用輸入法編輯工具」）及 CIN 檔（給「Yahoo! 奇摩輸入法」、「OpenVanilla 輸入法」、Linux 平台輸入法）兩種格式的對照表，優點為具備高度之彈性，可配合個人喜好編修對照表，來產生適合自己使用的輸入法程式。
* **亂倉打鳥**：融合了倉頡三代及大新倉頡的優點，支援常用詞及日文字母及各種符號的輸入，提供一個更快速、更簡單好用的輸入環境，同時適合入門新手以及已使用倉三、快倉、✕✕倉等的老手們來使用。 
「亂 倉打鳥」名字的來源，是因為此輸入法包含倉頡三代、大新倉頡以及一些自創的規則。「這樣一個『亂』七八糟的『倉』頡要『打』個什麼『鳥』啊？」，這一句 說 話便是本輸入法命名的原則。這個輸入法最大的優點，是提供了將近七萬個詞供輸入，且依詞頻排序過，有助增加輸入的效率。
* **簡體倉頡輸入法**：是由第五代倉頡輸入法規則和網上流傳的蒼頡檢字法字根整合修改而成。只支援簡化字輸入。建立於 2013 年 7 月。 
簡體倉頡輸入法有如下特點：
1. 選字範圍以國家語委早期發佈的現代漢語通用字表和 2013 年發佈的通用規範漢字表及其徵求意見稿為藍本。在此基礎上略有擴充。整理編碼字數超過 8700 字。實際可錄入字數超過 17000 字（含單字全拼輸入，拼音方案採用 Google 輸入法開原始碼表）。
2. 取碼以簡化字宋體字型為標準。
3. 取碼基本沿用倉頡五代的取碼規則，在左右結構和上下結構的判斷上採用了更直觀的方式。
4. 字根以網上流傳的蒼頡檢字法為基礎，為便於錄入簡化字改進了取碼。
5. 對取碼有爭議或有難度的字設立了容錯碼，容錯碼的設定以不增加常用字重碼為原則。
6. 一、二級漢字中的五碼字均可四碼輸入。
7. 在不增常用字重碼的情況下設定大量簡碼，多數常用字可在三碼內完成錄入。
8. 碼表內容以 CC-BY-NC-SA-3.0 協定授權。

以下是商業軟體：

* 易頡輸入法
* **大新倉頡輸入法**：為商業軟體，特色是簡化整體拆碼規則、最大碼長簡為 4 碼、增加六段簡碼、多種容錯碼、重覆字最佳化編排等，並提供優質的影音、圖文教學。大新倉頡為 TQC 中打認證中創下最高記錄的打字者所使用的輸入法。

需要著作權持有人重新發佈或開放原始碼的輸入法：

* 全方位倉頡輸入法

## 參考資料

## 相關條目

* 倉頡系統
* 漢字基因
* 中文輸入法列表

## 外部連結

* 《第五代倉頡輸入法手冊 （頁面存檔備份，存於網際網路檔案館）》，朱邦復、沈紅蓮著，博碩文化出版，2006 年 10 月初版，ISBN 957-527-952-2。（影印版 （頁面存檔備份，存於網際網路檔案館），線上版 （頁面存檔備份，存於網際網路檔案館））
* Android 工具 倉頡拆碼 （頁面存檔備份，存於網際網路檔案館）