本页使用了标题或全文手工转换

仓颉输入法

维基百科,自由的百科全书
跳转至: 导航搜索
仓颉输入法
中文输入法
仓颉输入法五字拆码.svg
仓颉输入法的正体中文取码
发明人 朱邦复
发明年份 1976年
类别 字形输入法

仓颉输入法是一种常用的中文输入法,由有“中文电脑之父”美誉的朱邦复先生于1976年创制。初期只有繁体中文版本,原名“形意检字法”,用以解决电脑处理汉字的问题,包括汉字输入、字形输出、内码存储、汉字排序等。朱邦复发明此输入法时正值他为三军大学发展中文通信系统之际,时任三军大学校长的蒋纬国为纪念上古时期仓颉造字之精神,乃于1978年将此输入法重新定名为“仓颉输入法”。

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

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

简介[编辑]

历史[编辑]

仓颉系统中,仓颉码不仅用来输入固有字,也可以组合、输出字形,甚至呈现虚构字

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

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

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

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

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

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

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

优缺点[编辑]

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

仓颉输入法虽然具备以上优点,但也受到许多批评,例如为顾及检索,编码规则较繁复而并非真正有逻辑(例如“鹤”字的首笔并非左上角那一撇,但取码时却又取人码作头码、此外“难”键的存在也证明了其拆码原则有很多破绽)、无容错编码[4]字体问题[5]、版本差异问题[6],导致规则略显繁琐、取码或遇问题,而被一些人视为畏途。另外仓颉输入法并未为常用字之快速输入设计简快码,没有类似于五笔的词组输入方法,标点符号之输入也略嫌不便,因此没有成为最快速的中文输入法。

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

最新版本[编辑]

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

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

输入接口[编辑]

Microsoft Windows
Ubuntu之下,以Gedit利用仓五输入中文
  • Microsoft Windows里使用仓颉时并没有任何特别接口,只会出现:
維基百 
这样的小框于文字旁边。
  • 用户亦可使用“*”(Shift + 8)来代表不知道的码:
廿  
结果会与速成输入法出来的结果一样。
OS X
  • OS X,Z键是“重”,每个“重”代表一个未知的码︰
維基百竹重重十
維基百科

版本与平台[编辑]

版本演进[编辑]

  • 1977年,朱邦复在台湾发表第一代仓颉,根据一万二千字的《国语辞典》所设计。
  • 1980年,发表第二代仓颉,仅将第一代仓颉略作调整。
  • 1982年,发表第三代仓颉,是以《康熙字典》为范围,选取其中四万字,将第二代加以改良的结果。
  • 1985年,在美国发表第四代仓颉。
  • 1987年,返中国深圳科技园,任两仪文化科技公司总经理,发表聚珍大字库、第五代仓颉输入法。第五代将正、简体字统一处理,共收集了约六万字,同时增加一些辅助字形及修正了少许的取码。在朱邦复工作室网站上的《第五代仓颉输入法手册》一书中提供了第三代、第五代改码字的对照表。
  • 1990年,与台湾资策会合作开发微软中文视窗系统3.0,采用仓颉系统的概念。后来朱邦复与微软的合作关系破裂,之后Windows系统改采其他的汉字编码系统,并自行更新第三代仓颉输入法(修改了一些异体字及加入了部分香港字,但有错码),成为目前所见的主流版本。目前一般所称的“三代仓颉”多指此版。
  • 2002年,朱邦复在其论坛提及:“仓颉输入法最后一版本 —— 第六代已完成,并据之设计中文CPU”。因为朱邦复已不理输入法之事,转交沈红莲女士负责。第六代仓颉输入法改名为“苍颉检字法”,原本并不公开,仅供与“朱邦复工作室”有工作关系之专家学者使用,直至2013年才释出予仓颉输入法爱好者。虽然通称“六代”,但实际使用上,一般都不把它视为仓颉输入法的新版本,相反更像另一款由仓颉派生而来的新输入法。
由“面”、“非”两字即可辨别是第三代、第五代仓颉或者苍颉检字法:
  • 三代:“面”字取码MWYL( );“非”字取码LMYYY(
  • 五代:“面”字取码MWSL( );“非”字取码LMSY( 
  • 苍检:“面”字取码MWS(  );“非”字取码LSY(  

软件支持[编辑]

Windows 95/98/NT/ME/2000/XP操作系统中内置的仓颉输入法是第三代的修改版;Windows Vista/7/8内置的仓颉输入法则兼容第三代和第五代(默认情况下,仅支持第三代;设置使用CNS11643中文标准交换码字根后,可同时支持第三代和第五代)。Windows 10 内置的仓颉输入法则仅支持三代,并不兼容五代。
Mac OS X 10.4内附的为第五代。
SCIMgcin同时提供第三代和第五代,部分如OXIM只提供第五代。
  • 其他
电子辞典等平台,中文全字库汉字构形数据库等汉字数据库检索系统,皆采用第三代。而朱邦复推广的汉文库典,则采用第五代。
此外网络上还有许多自制的仓颉输入法,第三代和第五代皆有,例如马来西亚。仓颉之友所制作的仓颉第五代通用版、国际版与香港版等,采用了五代仓颉。

取码方法[编辑]

这里仅提供简介,详情可见 维基教科书中有关仓颉输入法的文本。

仓颉键盘[编辑]

仓颉输入法所有字根在电脑键盘上的排列

仓颉字母分为四大类,共24个,另有2个特殊键。这些键与26个英文字母一一对应(以下括号内的中文字为字母之代表字[9]):

哲理类 笔画类 人体类 字形类 特殊键
  • 日(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),用于特殊的“难字”,包括:臼(HX)、卍(NX)等。注︰输入    并不会输出“難”字。
  • 重(Z),从第三代开始作为输入标点符号,如句号为“ ”,或被一些自制仓颉当作特殊键,写法不一,有作“重”、“片”、“符”、“標”等等。

前24个仓颉字母还可再变化、派生出“辅助字形”(辅助字根、辅根)来辨别所有的中文字。

例如“水”派生出“氵”、“又”;“中”(纵)派生出“丨”;“弓”(钩)派生出“亅”等等。

取码概要[编辑]

仓颉输入法的取码示例

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

前缀最多取二码,字身最多取三码;无法明确分区为前缀、字身者(如“东”),则全取。一个汉字最少用一码输入,最长则为五码。取码以后再按下空白键(组字键),即可输出字符(字形)。

例如:

汉字 分区 码数 取码 键盘上的按键
整体字,无法分区 最多取 4 . 1 码 中中 LL
前缀:王 . 字身:里 最多取 2 . 3 码 一土 . 田土 MGWG
前缀:艹 . 次前缀:女 . 次字身:古 最多取 2 . 1 . 2 码 廿 . 女 . 十口 廿 TVJR
前缀:言 . 次前缀:五 . 次字身:口 最多取 2 . 2 . 1 码 卜口 . 一一 . 口 YRMMR
注︰ 以上数字为取码规则之类别。基本上,只要将字形一分为二,最左、最上、最外的前缀部分,依辅助字形取首、尾二码;其余的字身部分,依一定的规则取三码,则可拆解所有汉字)

正简输出[编辑]

仓颉输入法是少数能同时输出正、简体的输入法,但部分平台(如微软Windows)上的简体仓颉拆字并不标准,部分违反了原本的拆码规则,熟习繁体输入的用户需要稍作适应。一些外挂的仓颉输入法会采取加入容错码,令同一字可能有不同拆码。

例如:

简体字 字码 注译
弓女弓人 繁体“飲”字的首码是“人”,但打简体时,“饣”首码是“弓”形,因此“饮”的全码是“弓女弓人”。
女一 在繁体中,練、絲、紅这类字的“糸”部首均为“女火”,但简体练、红的输入方法是“女一”。
大木 “大木”相交,形成“东”字,因此取码为“大木”。“陈”(陳)字是“阝”(弓中)+“东”字,编码是“弓中大木”。
广 卜竹 “廣”的首码为“戈”,但其简体“广”形属辅助字形,独用时应再分拆作“卜竹”。
金一大 微软依照字的传统写法来拆码,首码为“金”而非“廿”,全码为“金一大”。标准仓颉取“廿大”。
一月人 繁体“頁”为“一月山金”,但简体是“一月人”,最后一码是“人”而不是“金”。
戈弓 言字旁,微软取码为“戈弓”,如“订”的编码是“戈弓一弓”。但标准仓颉取“戈女”。

不过,大部分字如         均匹配繁体仓颉的取码原则,毋须重新适应。

其他特色[编辑]

以下是字形输入法的比较
字形输入法 时间 辅助字根数 大五码重码率[10]
共5401个常用字
仓颉输入法 1976年 140个(含难字根) 三代:434÷5401=8.04%
郑码 1980年 约170个 不明
五笔字型输入法 1983年 约200个 不明
大易输入法 1988年 约250个 三码:2115÷5401=39.16%
四码:613÷5401=11.35%
呒虾米输入法 1989年 基本字根约350个
简速字根约150个
2515÷5401=46.57%
行列输入法 1992年 超过300个 三十:1064÷5401=19.70%

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

第一个?只能为 A、B、C 其中一个,
第二个?只能为 A 至 Y 其中一个。

比较常用的为 ,以及 

使用状况[编辑]

  • 台湾:根据2011年波仕特的调查报告指出,台湾使用仓颉输入法的比例为9.9%。其他则是注音输入法70%、呒虾米输入法10.7%。[11]
  • 香港:香港无全面统计数据。据输入法硏究者李祥于2000年所述,香港用户最多的输入法是仓颉输入法。该年年初,在中文大学举办的研讨会上,现场近三百名教师有90%以上使用仓颉输入法。[12]而2001年“香港中学校际中文输入大赛”中,1288人里,有761人使用仓颉输入法,其次为速成输入法,有317人人选用。其他输入法皆不足4%。[13]
  • 澳门:澳门亦有人使用仓颉输入法。

派生[编辑]

有众多输入法皆源自仓颉输入法,如下所示:

  • 简易输入法
  • 新仓颉输入法:发布时间大约在Windows 2000推出时,同时发布还有新注音输入法。它免除选字的麻烦,对于一个熟练的打字员,可以在完全不用看显示屏的情况下盲打,而让系统自动分词选字。不过由于不少人并不习惯新仓颉的盲打模式及没有关连字的提供,他们都对新仓颉输入法非常抗拒,甚至千方百计要找回旧有的仓颉输入法来重新安装。为此,微软在后来的Windows版本里仍保留旧有的仓颉输入法。
  • 第五代仓颉输入法:发明人朱邦复支持仓颉之友·马来西亚推出的输入法,支持七万多个汉字,组字字根全采第五代拆码原则,并为第二个重码字(依使用频率排序)增加以“难(X)”为开头的组字字根,如“知”、“佑” 为重码字,“知”较“佑”常用,以“人大口(OKR)”组字时,“知”为第一个候选字(连续输入时可以省略按1)、“佑”为第二个候选字;“佑”可用“ 难人大口(XOKR)”组字后直接出字。此输入法程序有WindowsLinux版本,为一免费软件,其接口与Windows XP简体中文版内置的输入法程序较接近。此外,Linux系统多已内置三代及五代仓颉输入法。
  • 自由仓颉输入法:由香港华通软件开发,免费供中港台地区人士使用。
    香港华通另设一“自由速成输入法”,取仓颉码的首尾两码,兼有以上的特点。
    特点如下:
  1. 免费公益软件(支持Windows Vista/7
  2. 使用全新的“TSF”输入技术,全面支持32位/64位Windows平台。
  3. 依据Windows第三代仓颉为基础
  4. 支持及更正统一码字根的编码
  5. 含有词组输入,大幅提高输入速度
  1. 简化仓颉输入法的编码规则,即取仓颉码的第一、二和尾码
  2. “快仓字根偏旁”编码技术减少重码
  3. “高频字根偏旁”编码技术减少重码
  4. 消灭重码的“SDFG”编码技术
  5. 两码简码表
  6. 采用“一字多码”的编码策略包含了两种输入法:一是仓颉输入法(传统的第三代仓颉输入法),二是已改良的仓颉输入法(亦即第七版快仓。包含简化而剩下的第一、二、尾码、快仓字根偏旁 及 高频字根偏旁。)
  7. 拥有容错码
  8. 改良标点符号编码
  • 轻松输入法:轻松输入法虽由仓颉派生(字根多半沿用),却大有不同。轻松输入法的宗旨是易学、方便,将字根减至75个,取码只取头尾,有些类似速成。
    面对选字过多的问题,轻松输入法采用超大词库、五码定字、词音定字等方式,不但减少选字选词,也增加了输入速度。
    采用免费GPL授权,人人可以免费获取,以及自由的使用,是第一个开放源代码的输入法系统。

输入法表格:

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

以下是商业软件

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

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

参考文献[编辑]

  1. ^ 注音新酷音输入法等归属音码输入法简体中文世界最普及的形码输入法则为五笔输入法
  2. ^ 与其他形码输入法的比较
  3. ^ 一般所称“仓颉输入法”仅是朱邦复构思之整套仓颉系统中的部分功能。
  4. ^ 在朱邦复设计的“仓颉系统”中,仓颉码作为内码使用,所以字符和仓颉码只能是一对一的关系,不能有一对多的情况,这是朱邦复不设容错码的原因。但繁体中文Windows系统,或倚天、国乔等中文系统,系以Big5Unicode作为内码,因此此种一对一的限制非属必要,所以派生的仓颉输入法,常出现容错码。
  5. ^ 参见维基教科书之字体问题
  6. ^ 参见维基教科书之三代与五代编码差异微软三代仓颉的编码讹误
  7. ^ 软件支持
  8. ^ 第五代增加了两个字根,增减了数个复合字和复合前缀,以及改变少数字拆码时的取形。其余皆与第三代一样。
  9. ^ 第五代仓颉输入法手册第二节:仓颉字母
  10. ^ 参见:原始验证文件
  11. ^ Pollster波仕特在线市调:七成以上民众使用注音输入法
  12. ^ 李祥:〈两岸三地用户最多的中文输入法〉,刊于香港CNET“IT透视镜”专栏,2000年11月27日。
  13. ^ 中文输入法世界:2001年“香港中学校际中文输入大赛”统计数据及系列报导
  14. ^ 官方网站 - 简体仓颉输入法
  15. ^ 中华民国电脑技能基金会的“TQC中打认证”中,目前最高记录为彰化成功国中黄莉晴同学的【238】字/分;行列输入法最快记录为215.5字/分,呒虾米输入法为209字/分

外部链接[编辑]

Wikibooks-logo.svg
您可以在维基教科书中查找此百科条目的相关电子教程:

相关条目[编辑]