仓颉输入法

仓颉输入法是由台湾电脑科学家朱邦复于1976年发明的中文输入法，目前是香港及澳门最常用的输入法之一。初期只有繁体中文版，原名“形意检字法”，用以解决汉字输入、字形输出、内码储存、汉字排序等电脑处理汉字的问题。朱邦复发明此输入法时正值他为三军大学发展中文通讯系统之际，时任三军大学校长的蒋纬国为纪念上古时期仓颉造字的精神，乃于1978年将此输入法改名为“仓颉输入法”。

1982年，朱邦复登报公开放弃仓颉输入法专利权，并且极力推动电脑汉化。现今大部分操作系统，甚至一些电子辞典皆附有仓颉输入法，繁体中文键盘也大多印有仓颉输入法的字根。在繁体中文世界里，仓颉输入法是极普及的形码输入法。

仓颉输入法适用于多种平台，主流的中文操作系统和大部分电子辞典均有内建。一些字典、辞典或线上中文字典亦采用仓颉编码作为检索工具。

## 简介

### 历史

<image>

1973年春季，朱邦复返回台湾后欲改良中文打字机，钻研中文检索方式。花了约三年时间，并且在研究后期得到国立台湾大学中文系毕业生沈红莲女士协助担任助手，于1976年底发布“形意检字法”，最初使用52个中文字母作检索字母，每个汉字分拆成3个字母的编码。当时，三军大学需要无给职人员发展中文通讯系统，40岁的朱邦复立即接受此一职务，之前并不懂电脑的他至此才开始接触程式语言。

1978年8月，朱邦复和助手沈红莲重新规划拆取字根的方法，采用“首二身三”的规则，使检索字母数由52个减至26个，以适应一般电脑键盘。在减省字母前，原先的设计是在同一键中安置两个中文字母，以Shift键区分两者。

1979年，三军大学的有线短程中文通讯实验成功，朱邦复实现以中文字母作为内码，储存汉字字矩信息，解决电脑处理汉字的问题。时任三军大学校长的蒋纬国先生为其授名“仓颉输入法”。同年12月朱开始与宏碁电脑合作，开发内置程式语言、中文系统及应用软件的“天龙中文电脑”，翌年起在市面上销售，备受市场欢迎。此中文系统以仓颉码为其根本，收字数万，效率甚高。朱邦复因此获颁发“行政院长奖”。

朱邦复继续改进仓颉输入法。同年，由他成立的零壹公司发表第二代仓颉输入法，使用在他为Apple II电脑设计的“汉卡”产品上。“汉卡”为该机提供中文界面，售价新台币1500元，使得华人利用电脑处理中文的成本更低。

1982年，朱邦复在《康熙字典》里选取四万多字，改良第二代仓颉，使它适应大字集的输入，并把成果发表为第三代仓颉输入法。同年，他登报公开放弃仓颉输入法专利权，并且极力推动电脑之中文化。现今大部分操作系统，甚至一些电子辞典皆附有仓颉输入法，为繁体中文世界最普及的形码输入法。

朱邦复本来想根据其“汉字基因”理论，建立一套“仓颉系统”，用仓颉码统一处理汉字的形、音、义、码、序、辨等六大问题。其中仓颉码的原始目的是汉字检索及排序，其取码具有字首及字身的概念，以字首做为分类，字身做为补充，如此便可让电脑“理解”汉字，进而达到组字、字义理解，甚至与人沟通的功能。

由于本以汉字检索为目的，仓颉取码依据视觉辨识原理，能反映汉字的细微特征，同一汉字的不同字形或异体字，许多时都会有不同的编码，因此重码率为当今中文输入法最低者。仓颉输入法亦为一般系统中支援字库最大者，几乎所有系统可见的汉字，皆可用仓颉输入法（系统）键入，因此也成为汉字文化工作者选用的主要输入法。然而，当今主流电脑系统只提供仓颉输入法，没有采用整套仓颉系统，因此许多原先的设计理念，如仓颉内码、字型产生器与极大字库等，都没有实现。

### 优缺点

仓颉输入法开发甚早，又无版权，也不需要特别键盘，在中文电脑系统中十分普及，号称“只要有中文系统，就必定有仓颉输入法存在”，所以人们学习仓颉后，理论上不用担心无法使用它。此外仓颉的重码率为所有中文输入法中最低，使用者只需要看着稿子或键盘就能打字，不需紧盯着萤光幕来选字，实现“盲打”。仓颉输入法字根较许多形码输入法少和简单，容易记忆。它不依靠四排按键——即使没有把键盘上的数字键、符号键都用作中文字根键，输入时手指活动幅度与英文打字相若也免除输入符号、数字时的困扰，以及在手提电脑键盘上遇到的移位问题。它对汉字的拆分规则清晰严谨，只要熟悉拆码规则，绝大多数汉字的拆码都没有争议。仓颉输入法支援的字库极大，能输入几乎所有系统能呈现的汉字。

仓颉输入法虽然具备以上优点，但也受到许多批评，例如为了顾及检索而令编码规则相对较繁复，没有容错编码，取码字形问题，版本差异问题，导致规则略显繁琐、取码或遇问题，而被一些人视为畏途。另外仓颉输入法并未为常用字之快速输入设计简快码，没有类似于五笔的词组输入方法，标点符号之输入也略嫌不便，因此没有成为最快速的中文输入法。

不过，仓颉输入法有一些衍生版本，改进了上述的批评点，例如加入容错编码、不同字形的取码、简快码、词组输入，同时容许不同版本的取码等。它们都标榜可以由传统仓颉输入法轻松跳至衍生版本。当中有一些版本更提升了输入速度。例如大新仓颉输入法，是目前中文电脑输入最快速纪录的优胜者。

仓颉还有一些特色，常被竞争对手或批评者视为缺点，但有研究输入法的人士并不同意有关批评。包括：依字形来取码，而非依书写的笔画和笔顺取码；同一笔画可以剪开（例如“里”字的仓颉码为“田土”）等。批评者认为它违反汉字逻辑，令汉字走上“歧途”，是缺点。反驳者则指汉字在分析构形字理、字典部首归部时，都是按形状分析，也会不依笔顺甚至剪裁笔画，因此这只是主观上接受与否的问题。一些竞争对手如呒虾米的发明人或拥护者甚至以攻击仓颉输入法来作为文宣，有输入法硏究者对此不予认同。

### 最新版本

目前仓颉输入法通行的最新公开版本是第五代，而流传最广泛、最常使用版本是第三代。三代仓颉与五代仓颉相差不大。

朱邦复的多年助手沈红莲，另行设计苍颉检字法，坊间多称之为“第六代”仓颉，但实际使用上，一般都不把它视为仓颉输入法的新版本，相反更像另一款由仓颉衍生而来的新输入法。它与三代仓颉或五代仓颉相差较大，字根明显增多，拆码规则也有不少改变。它应用于朱、沈二人开发的仓颉系统，该系统字库完整收录了历代文献用字十万以上，以仓颉码作为内码，重码率低于5%。虽然仓颉输入法爱好者向朱邦复工作室索取到苍颉检字法编码，但它尚未正式发布。

## 输入界面

Microsoft Windows

<image>

<image>

- 在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（中）

### 软件支援

<image>

- Microsoft Windows

Windows 95/98/NT/ME/2000/XP等操作系统中内建的仓颉输入法是第三代的修改版，但若安装HKSCS修补程式，则可支持第五版；Windows Vista/7/8/10内建的仓颉输入法则兼容第三代和第五代（预设情况下，仅支援第三代；设定使用CNS11643中文标准交换码字根后，可同时支援第三代和第五代）。

- Macintosh

Mac OS X 10.4内附的为第五代。

- Linux

SCIM、gcin、 ibus-table-chinese 等提供第三和第五代， OXIM、 rime-cangjie 等只提供第五代。

- 其他

汉语多功能字库、Unihan Database使用第三代仓颉码，中文全字库、异体字字典、朱邦复推广的 汉文库典使用第五代仓颉码，并支援仓颉码检字。

此外网络上还有许多自制的仓颉输入法，第三代和第五代皆有，例如 马来西亚。仓颉之友 所制作的仓颉第五代通用版、国际版与香港版等，采用了五代仓颉。

## 取码方法

### 仓颉键盘

<image>

<image>

仓颉字母即仓颉输入法的主要字根（主根），分为四大类，共24个，另有2个特殊键。这些键与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）

特殊键

- 难（X），用于特殊的“难字”，如：竹、弓等。注︰输入难并不会输出“难”字。*重（Z），原本用于重码字，但从第三代开始不再使用。部分系统改用作输入标点符号，如句号Ｚ，或者被一些自制仓颉当作特殊键用，写法不一，有写作“重”、“片”、“符”、“标”等。

举例说，“妲”字由仓颉字母“女、日、一”组成，输入时就敲打“女(V)、日(A)、一(M)”三键。

这24个仓颉字母还可再变化、衍生出“辅助字形”（辅助字根、辅根），来组合所有的中文字。例如：“水”衍生出“氵”（三点水）；“手”衍生出“扌”（提手旁）；“中”衍生出“丨”（主干是竖笔）；“弓”衍生出“亅”（重点为钩形）；“田”衍生出外围的“囗”（音ㄨㄟˊ；框内有东西，与‘口’不同）等等。详情可见维基教科书上的说明。

这里举出一个运用辅助字形的例子：“泗”字由辅根“氵、囗、

<image>

”组成，由于“氵”隶属“水”，“囗”隶属“田”，“

<image>

”隶属“金”，输入时就敲打“水(E)、田(W)、金(C)”三键。

实际应用时，仓颉字母和辅助字形通常会混用，比如“烟”字由主根“火”、辅根“囗”（隶属“田”）和主根“大”组成；“桐”字由主根“木”、辅根“冂”（隶属“月”）和主根“一”、“口”组成；“银”字由主根“金”、“日”和辅根“

<image>

”（隶属“女”）组成。

### 取码概要

<image>

凭视觉（非字义或笔顺）把汉字分割为字首及字身，字首为最左、最上、最外部分，剩余部分为字身。若字身可以再分，则分为次字首和次字身。各部分再分拆为有限个字码（中间部分省略），以不破坏字形特征和视觉容易辨识为准。

字首最多取二码，字身最多取三码；无法明确分割为字首、字身者（如“东”），则全取。一个汉字最少用一码输入，最长则为五码。取码以后再按下空白键（组字键），即可输出字元（字形）。

汉字｜分割｜码数｜取码｜键盘上的按键

串｜整体字，无法分割｜最多取 4 码｜中中｜中中｜LL

理｜字首：王 . 字身：里｜最多取 2 . 3 码｜一土 . 田土｜一土田土｜MGWG

撤｜字首：扌 . 次字首：育 . 次字身：攵｜最多取 1 . 2 . 1 码｜手 . 卜月 . 大｜手卜月大｜QYBK

菇｜字首：艹 . 次字首：女 . 次字身：古｜最多取 2 . 1 . 2 码｜廿 . 女 . 十口｜廿女十口｜TVJR

语｜字首：言 . 次字首：五 . 次字身：口｜最多取 2 . 2 . 1 码｜卜口 . 一一 . 口｜卜口一一口｜YRMMR

### 正简输出

仓颉输入法是少数能同时输出正、简体的输入法，但部分平台（如微软Windows）上的简体仓颉拆字并不标准，部分违反了原本的拆码规则，或者使用了非简体字习惯字形，用户需要稍作适应。一些外挂的仓颉输入法会改用朱邦复工作室的标准仓颉编码，不会出现下述的问题码；或者采取加入容错码，令同一字可能有超过一种拆码方法。

简体字｜字码｜注译

关｜金一大｜微软依照字的传统写法来拆码，首码为“金”而非“廿”，全码为“金一大”。标准仓颉依简化字习惯写法，取“廿大”。

讠｜戈山/戈弓｜言字旁作字首时，微软取码为“戈山”/“戈弓”，如“订”的编码是“戈山一弓/戈弓一弓”。但标准仓颉取“戈女”，如“订”字取“戈女一弓”。

不过，大部分字如田、卜、戈、女、弓、大、卜、卜、一等，均符合繁体仓颉的取码原则，毋须重新适应。

## 其他特色

输入法｜时间（年）｜辅助字根数｜重码率大五码常用字共5401个字

仓颉｜1976｜140个含难字根｜三代：$\frac{434}{5401}=8.04\%$

郑码｜1980｜约170个｜不明

五笔｜1983｜约200个

大易｜1988｜约250个｜三码：$\frac{2115}{5401}=39.16\%$

四码：$\frac{613}{5401}=11.35\%$

呒虾米｜1989｜基本约350个简速约150个｜$\frac{2515}{5401}=46.57\%$

行列｜1992｜超过300个｜$\frac{1064}{5401}=19.70\%$

仓颉和速成也能输入标点符号，方法是输入Ｚ，速成则取头尾码，或选择全形后直接按键盘上相应的半形标点符号。另外同时按下 Ctrl 会弹出符号表。

第一个只能为 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系统多已内建三代及五代仓颉输入法。
- 自由仓颉输入法：由香港华通软件开发，免费供中港台地区人士使用。香港华通另设一“自由速成输入法”，取仓颉码的首尾两码，兼有以上的特点。特点如下：
- 免费公益软件（支援Windows Vista/7）
- 使用全新的“TSF”输入技术，全面支援32位元/64位元Windows平台。
- 依据Windows第三代仓颉为基础
- 支援及更正统一码字根的编码
- 含有词组输入，大幅提高输入速度
- 轻松输入法：轻松输入法虽由仓颉衍生（字根多半沿用），却大有不同。轻松输入法的宗旨是易学、方便，将字根减至75个，取码只取头尾，有些类似速成。面对选字过多的问题，轻松输入法采用超大词库、五码定字、词音定字等方式，不但减少选字选词，也增加了输入速度。采用GPL授权，人人可以免费取得，以及自由的使用，是第一个开放源码的仓颉输入法系统。
- 快速仓颉输入法：简称快仓，是麦志洪自1987年起在倚天中文系统中开发出来的三码仓颉（首码、二码和末码）改良而成的仓颉输入法。至今已经包含在各大输入法程式平台框架中（如：酷仓输入平台、小小输入平台、小狼毫中洲韵输入平台等等）。快仓每字最多取四码，与速成相比选字较少因此更快，与仓颉相比则按键较少因此也更快。它的特点有：采用“一字多码”的编码策略、拥有容错码、改良标点符号编码等等。采用GPLv3授权，人人可以免费取得，以及自由的使用，是第二个开放源码的仓颉输入法码表。

输入法表格：

- 苍颉检字法
- 中标仓颉：中华民国行政院主计处为“CNS全字库”制作的输入法表格（又称为“对照表”或“参考档”），目前 OpenDesktop 的“OXIM输入法1.2.2”里提供的“中标仓颉”即采用主计处在2006年2月22日修订的参考档。“中标”为“中文标准交换码”的简称。此参考档支援字数超过七万字，采用第三代及第五代仓颉拆码原则混编。（“面”一字，仓颉三代为（一），仓颉五代为（一）全字库），此字全字库采五代仓颉编码。“鬼”一字，仓颉三代为（竹），仓颉五代为（竹），此字全字库采三代仓颉编码。全字库）中标仓颉的组字字根与微软仓颉的组字字根较近似，另外亦提供中华民国教育部颁布之国字标准字体的组字字根（如“今”字的“人”下面应为“一”而非，但微软仓颉只能拆“人戈弓”，中标仓颉拆“人戈弓”或“人一弓”皆可）。
- 泰瑞仓颉输入法：整合“仓颉之友·马来西亚”的第五代仓颉输入法组字字根及中标仓颉输入法的组字字根（第三代），并确认中日韩统一表意文字及其扩展A、B区合计的70195个汉字都被编入对照表里。另外引用了乱仓打鸟输入法的符号组字字根，并做适度的修改，使得符号输入方式更加便捷。目前已提供TXT档（给 Windows“通用输入法编辑工具”）及CIN档（给“Yahoo! 奇摩输入法”、“OpenVanilla输入法”、Linux平台输入法）两种格式的对照表，优点为具备高度之弹性，可配合个人喜好编修对照表，来产生适合自己使用的输入法程式。
- 乱仓打鸟：融合了仓颉三代及大新仓颉的优点，支援常用词及日文字母及各种符号的输入，提供一个更快速、更简单好用的输入环境，同时适合入门新手以及已使用仓三、快仓、✕✕仓等的老手们来使用。“乱 仓打鸟”名字的来源，是因为此输入法包含仓颉三代、大新仓颉以及一些自创的规则。“这样一个‘乱’七八糟的‘仓’颉要‘打’个什么‘鸟’啊？”，这一句 说 话便是本输入法命名的原则。这个输入法最大的优点，是提供了将近七万个词供输入，且依词频排序过，有助增加输入的效率。
- 简体仓颉输入法：是由第五代仓颉输入法规则和网上流传的苍颉检字法字根整合修改而成。只支援简化字输入。创建于2013年7月。简体仓颉输入法有如下特点：
- 选字范围以国家语委早期发布的现代汉语通用字表和2013年发布的通用规范汉字表及其征求意见稿为蓝本。在此基础上略有扩充。整理编码字数超过8700字。实际可录入字数超过17000字（含单字全拼输入，拼音方案采用谷歌输入法开源码表）。
- 取码以简化字宋体字型为标准。
- 取码基本沿用仓颉五代的取码规则，在左右结构和上下结构的判断上采用了更直观的方式。
- 字根以网上流传的苍颉检字法为基础，为便于录入简化字改进了取码。
- 对取码有争议或有难度的字设立了容错码，容错码的设定以不增加常用字重码为原则。
- 一、二级汉字中的五码字均可四码输入。
- 在不增常用字重码的情况下设定大量简码，多数常用字可在三码内完成录入。
- 码表内容以CC-BY-NC-SA-3.0协议授权。

以下是商业软件：

- 易颉输入法
- 大新仓颉输入法：为商业软件，特色是简化整体拆码规则、最大码长简为4码、增加六段简码、多种容错码、重复字最佳化编排等，并提供优质的影音、图文教学。大新仓颉为TQC中打认证中创下最高记录的打字者所使用的输入法。

需要版权持有人重新发布或开放源码的输入法：

- 全方位仓颉输入法

## 外部链接

- 朱邦复工作室：发明人朱邦复的网站。
- 仓颉之友。马来西亚：第五代仓颉输入法下载、编码表等。
- 仓颉之友。香港：第三代和第五代仓颉输入法介绍、教学、练习程式等。
- 香港中文大学教育学院仓颉输入法：快速学成仓颉输入法的教学网站。
- 快仓2000：快仓2000中文输入法。
- 【鲸鱼】、【我的仓颉】输入法：提供各种输入法的重码字表、学习仓颉的电子书，并比较各种中文输入法的优缺点。
- 泰瑞的世界：研究输入法的部落格。
- 《Follow Me仓颉字典》线上查询版：6200个常用汉字的仓颉拆码的动态演示，同步显示汉字的仓颉字形结构、取码原则、取码方法。
- 《第五代仓颉输入法手册》，朱邦复、沈红莲著，博硕文化出版，2006年10月初版，ISBN 957-527-952-2。（影印版，线上版）
- Android 工具 仓颉拆码
- 及 Online Cangjie Input Method网上仓颉输入法：提供没有安装仓颉输入法的电脑直接在Web上用仓颉输入法打出文章，兼容第三代和第五代。
- Cangjie仓颉输入法：提供大量相关连结。