仓颉输入法/取码原则

 基本取码 仓颉输入法
取码原则
例外字 

汉字有时会有两种或以上取码方式,因此仓颉输入法制订了一些取码原则,以决定“正确且唯一”的编码,如下:

  • 完整原则:取码应反映字形特征且尽量精简。[1]
    • 精简原则:选择码数最少的取码方式。
    • 先繁后简原则:码数已最少时,先取大字根,后取小字根。
    • 字形特征原则:取码时必须尽量保留字形特征,包括——[2]
      • 区块分则:取码时优先以“区块”方式,在字根相接处分割。
      • 转角分则:码数已最少时,优先选择能保留笔画转角的字根。
      • 跨越分则:为减少码数及反映字形特征,字根在某些情况可相互跨越。
  • 省略原则:汉字分割后,各部分取码时皆不得超出应取码数的限制。
    • 局部省略:先假定全取,再略去超出限定码数的字码。
    • 包含省略:取字首、字身、次字首、次字身最后一码时,省略包含在内的部分。

完整原则

编辑

完整原则要求:取码应尽可能涵盖完整字形、保留字形特征、且避免增加码数。

此原则较抽象,可分为以下细则:

精简原则

编辑

精简原则是指,当一个字有多种取码方式时,选择码数最少的取法。此原则之用意在于,有覆盖面较大的字根,避免细分成更小字根,以提高打字效率,及避免把字形分解得太零碎。[3]

例如“”字,取码“十十十”()不如“手十”()精简,故应取后者。

 

又如“”字,取码“卜竹女人”()不如“卜竹女”(),故应取后者。

 

以下为更多例字:

例字 图解 正确取码 错误取码
十一
日( 一竹日(
山( 一竹山(
一( 十弓一(
廿十( 金一十(
口( 竹尸口(
月一( 戈月月一(
土( 戈一土(
廿金( 廿一金(
卜人( 十一卜人(

注意:套用精简原则时,不可跨越字首与字身或次字首与次字身的分界。例如“”字,“”是字首,“”是字身,取码“廿・一廿十”()。若把字首连同字身的第一笔一起取“”而作“廿廿十”(),就不正确。

先繁后简原则

编辑

先繁后简原则是指,当一个字有多种取码方式码数相等时,先取较繁复、涵盖面较大的字根,再取较简单、涵盖面较小的字根[4]

例如“”字,取“十手”()或取“手十”()都符合精简原则,但根据本原则,应先取涵盖面大的“”,故应取后者。

 

又如“”字,取“戈一女”()或取“卜竹女”()都符合精简原则,但根据本原则,应先取涵盖面大的“”,故应取后者。

 

以下为更多例字:

例字 图解 正确取码 错误取码
手一月( 十土月(
廿中手一 廿中十土
卜女 戈尸
手山 十心
一尸竹人( 一心竹人(
土竹山( 十一山(
卜竹尸( 戈一尸(
廿十 廿手
竹十廿一 竹十廿土
廿中手人 廿中十大

字形特征原则

编辑

字形特征原则是指,取码时必须尽量保留字形特征。因为保留字形特征较符合视觉辨识的原理,且更能区别形似汉字。[5]

此原则的具体细节大致可归纳为以下几项:[2]

区块分则

编辑

一、取码时,优先以“区块”的方式,在字根的相接处分割,避免字根互相跨越。[6]

例如“”字应在相接处分割作“竹手人”(),而非依笔顺取“人大”(),否则会导致“人”()和“大”()互相跨越。

 

此分则优先权极高,先于前述之精简原则及先繁后简原则。例如“失”取码“人大”比取码“竹手人”更符合精简原则,但由于前者不符合此分则的要求,因而取后者。

以下是更多例子:

例字
正确取码 火木( 火手( 一火十( 竹火木( 人十山(
错误取码 木金( 手金( 一十金( 竹木金( 人山一(
例字
正确取码 心木( 心廿( 十山( 木大( 中月大(
错误取码 木山( 心山( 山一( 大弓( 大月(
例字
正确取码 十大日( 十大( 卜人弓大( 心大大( 竹田大大(
错误取码 土竹日( 大人( 卜人弓人( 心竹竹戈( 竹田大竹(
例字
正确取码 中田( 田中( 中田中( 十田十( 中田心(
错误取码 十田( 日中( 中一( 手日( 心日(
例字
正确取码 一中田大( 大中田山( 十中大( 十中中弓( 中田中女([7]
错误取码 一大日( 大山日( 大口人( 木口尸一(
例字
正确取码 竹水( 竹尸( 竹月口( 竹手( 竹手一(
错误取码 弓人( 竹尸([8] 人尸口( 人十( 人土(

有些字根会埋在其他字根的凹陷位置,如“”字在“”的凹陷处有“”;“”字在“”的凹陷处有“”;“”字在“”的凹陷处有“”字根;甚至像“”、“”、“”这类外框更专门在内部收藏其他字根。由于“土”、“工”、“”等形状并未与其他字根互相跨越,因而也都符合区块分则。

转角分则

编辑

二、当一个字有多种取码方式码数相等时,优先选择能保留笔画转角的字根[9]

例如“”字,可以取码“大山”()或“大弓”(),由于后者保留了笔画转角,故应取后者。

以下为更多例字:

例字
正确取码 戈弓水( 戈弓人( 戈弓火( 弓大(
错误取码 戈一水( 卜竹人([10] 卜竹火([11] 一大(
例字
正确取码 大尸( 大弓( 戈大弓火( 竹弓(
错误取码 大弓( 大山( 戈大竹火( 竹一山(
例字
正确取码 口女弓大( 一女大山( 一女木竹( 一一女尸(
错误取码 口中弓大(
口女中大(
一中大山( 一中木竹( 一一中尸(

转角分则是优先权较低的原则。以上各例在套用转角分则时并未造成取码数增加;而如果保留笔画转角势必增加取码数,则应以精简码数优先。如以下各字:

例字
正确取码 卜尸火( 卜尸一( 手弓戈( 大木(
错误取码 卜女尸火( 卜女尸一( 手女弓戈( 大女木(

跨越分则

编辑

三、为减少码数及反映字形特征,在某些情况下,可允许字根相互跨越。[12]

如前“区块分则”所述,取码时原则上应避免让字根互相重叠。然而对于一些封闭类字形,如……等,书写时常会有笔画穿过,若要求其他字根不得跨越这些字形,只能切出大量琐碎且无法反映字形特征的笔画,如此便违反了“完整原则”的本意。故此时允许其他字根跨越这些字形。如以下例字:

例字
正确取码 十月( 月十月( 戈十月( 十戈月戈( 戈中月(
错误取码 十月中( 月十月中( 戈十月手( 戈中月手(
例字
正确取码 中月( 中月山( 人月土( 中中弓( 金弓中竹(
错误取码 中月中
例字
正确取码 人月( 人月人( 一人月( 土月( 一土月(
例字
正确取码 一中月人( 一中月卜( 一金田( 一人人月( 一山月(
例字
正确取码 月尸木( 尸大口( 月卜( 竹月卜戈( 田卜戈(
例字
正确取码 廿田( 廿月金( 田廿十( 卜戈廿木( 廿一廿十(

※“”、“”、“”、“”、“”、“”几个字形依其定义禁止其它字根跨越其封闭区域,只能按区块分则于周边切断(或改取其他合适字根)。[13]详见〈辅助字形〉一节及区块分则中“”等字例。

请记得完整原则的本意是兼顾字形特征及取码精简,若无法达到这些效果,便不应套用此分则。

各细则的优先权

编辑

由于有些细则需要其他细则的观念,以上介绍安排了一定顺序,但统整而言,若细则彼此冲突,其优先顺序是:跨越分则 > 区块分则 > 精简原则 > 转角分则 > 先繁后简原则。

省略原则

编辑

如〈基本取码〉一章所述,汉字分割后各部分皆规范了应取码数,当码数超出限制,就要根据此原则省略其中几码。

部分省略

编辑

若汉字的某部份码数过多超出取码限制,应按原则省略其中几码,这就是“部分省略”(或称“局部省略”)。

例如鰉→魚・白・王→弓田火・竹日・一土→限取二・二・一码→弓火・竹日・土

“鰉”字的“魚”是字首,“皇”是字身,字身还可再分成次字首“白”和次字身“王”。字首“魚”全码为“弓田火”,但字首限取2码,故只取首码“弓”及尾码“火”。次字首“白”全码为“竹日”,次字身“王”全码为“一土”。因次字首为2码以上,按规则次字首取第一码“竹”及尾码“日”,次字身取尾码“土”。总此“鰉”最终取码为“弓火・竹日・土”。

部分省略尚有一关键在于:先假定完整取码,而后按规则省去中间的编码;而非直接跳到字形的尾部取码。因此根据“先繁后简原则”,前面应取涵盖较广的字根,而尾码应取涵盖较少的字根(可用“后简原则”的方式记忆)。

如以下诸例。取码中的红字,是初学者容易忘记“后简”原则而取错的码:

例字 图解 取码 说明
廿・大尸( 不作“土”,因字首“堇”为“廿中手”()。
人・廿中 不作“土”,因字身“堇”为“廿中手”()。
廿・日女( 不作“大”,因字首“”为“廿中手”()。
水・廿中 不作“大”,因字身“”为“廿中手”()。
・弓中( 不作“土”,因字首“垂”为“竹十廿”()。
月山・竹十 不作“土”,因字身“垂”为“竹十廿”()。
月・日・竹 不作“土”,因次字身“生”为“竹手”()。
・尸一・心( 不作“手”,因字首为“手十手”()。
・一口廿( 不作“手”,因字首为“山手十”()。
卜・竹水・ 不作“手”,因次字身“丰”为“手”()。

包含省略

编辑

[14]等三面或四面的“外框”内常包含琐碎的笔画,为求易于辨识,特规定取整体字、字首、字身、次字首、次字身最后一码时,省略在“外框”内的部分。这就是“包含省略”原则。[15]

以下是几个与包含省略有关的例子:

例字 图解 取码说明
酒→水・一金田一()→ 限取二・三码→水・一金(字身“一金田一”,取尾码时省略“”包含的“一”,而取剩馀的“田”)
敏→人田卜戈・人大()→ 限取二・三码→人・人大(字首“人田卜戈”,取尾码时省略“”包含的“”(戈),而取剩馀的末码“卜”;注意“”(卜)贯穿了“”,非被包含,故不省略)
謔→卜一一口・卜心・尸一→限取二・二・一码→卜口・卜心・(次字身的“”(一)突出“”,不适用包含省略,故按一般原则取尾码“一”)
爴→田戈口一・竹中人→限取二・三码→田一・竹中人(字首“田戈口一”,取末码时若省略“囗”内的“或”(戈口一)将无码可取,故不适用包含省略,按一般原则取尾码“一”)

注意:包含省略不要求外框与内部字形相互分离。只要外框符合,整体字也可以适用包含省略。例如前面的“酉”、“母”都是整体字,而非“字首‘’字身‘一’”、“字首‘’字身‘丶’”的组合字;其他如“啇”、“禺”等字形亦然。

以下为更多例子:

例字
正确取码 手・卜金 月・女女・ ・一女尸( 廿・日弓・ ・月山山(
错误取码 手・卜金口( 月・女女・大( 竹木・一女尸( 廿・日弓・火( 尸中・月山山(
例字
正确取码 ・尸一・一( 手・山・人 弓中・一・口 手・弓・大( ・山(
错误取码 竹廿・尸一・一( 手・山・人口( 弓中・一・口中( 手・弓金・大( 月水・山(
例字
正确取码 水・廿中 一一・月・心( ・尸竹・手( ・心口( ・心日(
错误取码 水・廿中人( 一一・月戈・心( 弓土・尸竹・手( 弓戈・心口( 一戈・心日(
例字
正确取码 ・一・一戈( 廿・田中 ・日女( 廿・戈一・ 月金・戈一・
错误取码 一卜・一・一戈( 廿・田中戈( 卜人・日女( 廿・戈一・ 月金・戈一・

复杂的外框例字

编辑
例字
正确取码 ・戈口( 廿廿・一女 水・日・心 ・月廿( 廿・日(
错误取码 竹戈・戈口( 廿廿・一女戈( 水・日・心人( 弓水・月廿( 廿廿・日(
例字
正确取码 ・人・田 廿・人・田 ・人・田 ・金口( 水・竹月

“工、土、王”等镶嵌形空框例字

编辑

三代仓颉把镶嵌在“、”等形块左右两边空框上的部件视为被包含;五代仓颉则取消了本规则。

例字
(三代)
三代取码 ・口口・ 火・一 火火・月・一 水・火火・ 水・金大
例字
(五代)
五代取码 ・口口・ 火・一 火火・月・一 水・火火・ 水・金大

不适用包含省略的字形

编辑
例字 取码 说明
竹田・尸一・ “羽”部件的“”不视作三面包围着的“外框”。应该是两面包围着的“外框”。
・卜土( “馬”部件的“”不视作三面包围着的“外框”。
・竹弓( “鳥”部件的“”不视作三面包围着的“外框”。
火・田中・ “蜀”部件的“”不视作三面包围着的“外框”。
廿・人大( “茍”部件的“”不视作三面包围着的“外框”。
・月廿( 字首“成”部件的“戊”不视作三面包含的“外框”,其字形视作从“戈”、从部首以外的笔画。
・心( 字首“咸”部件的“戊”不视作三面包含的“外框”,其字形视作从“戈”、从部首以外的笔画。
・心( 字首“戚”部件的“戊”不视作三面包含的“外框”,其字形视作从“戈”、从部首以外的笔画。
・火( “丸”部件拆码“大弓戈”,其“”视作在撇笔的左边,故不算包含。
・人大( 𦥯”底部的“冖”不视作三面包围“外框”,与“冂”不同。[16]

附注

编辑
  1. 发明人朱邦复在《第五代仓颉输入法手册》对“完整原则”的说法是“若有两个或两个以上的符号都合于所需形状时,应该取形状较完整,能保留字形特征的一个”。《标准仓颉第二代中文输入法》及《仓颉第三代中文字母输入法》将“取码方法”分为“精简原则”、“完整原则”(“若一个字有多种取法,而码数又相等时,选择取码较完整的取法,也就是先取字形较繁复的码,再取馀码。”)、“字形特征原则”。《仓颉第四代输入法手册》将“取码方法”分为“取码精简”、“取码完整”(“a・经过取码精简后,仍有超过一种取码方法时,以字形不重叠为正确。b・避免在一笔过的转角位置将字形分割开。”)、“先繁后简”。本教科书“完整原则”按五代说法视为大原则,其下细节按三代手册分类,其中的“完整原则”依其实际内涵比照四代手册更名为“先繁后简原则”。
  2. 2.0 2.1 字形特征原则主要按1994年《(增订版)仓颉第三代中文字母输入法》第三章第三节〈字形特征原则〉之叙述整理,各分则之名称是为方便掌握而按其精神命名。详见各部分之附注。
  3. 《仓颉第三代中文字母输入法》〈第二节、取码原则〉〈一、精简原则〉:“当一个字有多种解码可能时,以取码数最少者为正确”
  4. 《仓颉第三代中文字母输入法》〈第二节、取码原则〉〈二、完整原则〉:“若一个字有多种取法,而码数又相等时,选择取码较完整的取法,也就是先取字形较繁复的码,再取馀码。”
  5. 1984年《仓颉第三代中文字母输入法》第二章第二节〈字形特征原则〉:“除前述两个原则外,还须注意是否最贴切地表示了该字母或辅助字形特征及完整性。亦即取码时,不能任意切割,而须保留字形的特征。”
  6. 1994年《(增订版)仓颉第三代中文字母输入法》第三章第三节〈字形特征原则〉:“所谓保持字形的特征就是指取码时尽量不取重叠之字形,适当的地方(即符合取形原则)就分割。”二代、五代手册亦皆有提及“者”作为保留字形特征之字例。
  7. 此为三代仓颉取码,五代改为据分体字的字形,取“中中・女”,详见三代与五代编码差异的说明。
  8. 虽然所取的码与正确取码恰巧一样,但这取码方式仍是错误的。
  9. 1994年《(增订版)仓颉第三代中文字母输入法》第三章第三节〈字形特征原则〉:“分割字形时,不在转角处分割;而是取两相邻字形接连处,在同一直线上之形。……因为在转角处分割不合书写常理。”五代手册亦提及“永”、“之”、“力”、“九”、“牙”等字作为保留字形特征之字例。
  10. “之”亦不可取码作“卜人”(),因“人”的辅助字形“”是用在如“豕”的末二笔,不适用于“之去亠”。
  11. “⺭”亦不可取码作“卜火”(),因“”的撇与竖起笔在同一位置,但“⺭”的撇长超过竖。
  12. 1994年《(增订版)仓颉第三代中文字母输入法》第三章第三节〈字形特征原则〉注二提及:“虽然我们言明尽量不取重叠字形,但为了方便,也为了简化取码数,并不禁止纵向笔划及横向笔划贯穿其他字形……”,并有“丑”、“內”、“巿”等例字。五代手册亦提及“甫”、“弗”、“弟”、“冉”、“曲”、“庸”等字作为保留字形特征之字例。
  13. 1994年《(增订版)仓颉第三代中文字母输入法》第三章第三节〈字形特征原则〉注一提及:“遇到曰、田等完全封闭之字形,若有其他笔划要贯穿其间时,必须分割,以保持字形的特征及完整性。”
  14. “⻗”的“”能视作包含外框,因为它不单以“”形作底部,其中竖与“”形相交的地方,刚好完整包含左、右的两点。但如“冥”、“旁”、“安”等字,“”形明显无法包含下方部件,故不适用包含省略原则。
  15. 《仓颉第四代输入法手册》:“整体字或组合字的字首、字身、次字首、次字身,若中间曾省略取码,当取至最后一码时,那字形被下列字形(……)所包围的话,则不取那字形,取其前一码,直至不被完全包围为止。”《第五代仓颉输入法手册》:“选取最后一码(‘最后一码’包括字首、次字首或字身的最后一码)时,若遇到……字形,则省略包含在内的笔画”。1994年版《仓颉第三代中文字母输入法》:“由外而内选码时,若码数不足,则优先省略包含省略内在之码。”各代对“外框”字形之定义稍有不一,此据各代手册实际编码字例补充。
  16. “⻗”的“”能视作包含外框,因为它不单以“”形作底部,其中竖与“”形相交的地方,刚好完整包含左、右的两点。但如“冥”、“旁”、“安”等字,“”形明显无法包含下方部件,故不适用包含省略原则。


 基本取码 仓颉输入法
取码原则
例外字