倉頡輸入法/取碼原則
基本取碼 | ◄ | 倉頡輸入法 取碼原則 |
► | 例外字 |
一個漢字有時會有兩種或以上取碼方式,因此倉頡輸入法製訂了一些取碼原則,以決定「正確且唯一」的編碼。如下:
- 完整原則:取碼應反映字形特徵且盡量精簡。[1]
- 精簡原則:選擇碼數最少的取碼方式。
- 先繁後簡原則:碼數已最少時,先取大字根,後取小字根。
- 字形特徵原則:取碼時必須盡量保留字形特徵,包括——[2]
- 區塊分則:取碼時優先以「區塊」的方式,在字根的相接處分割。
- 轉角分則:碼數已最少時,優先選擇能保留筆畫轉角的字根。
- 跨越分則:為減少碼數及反映字形特徵,在某些情況下,可允許字根相互跨越。
- 省略原則:漢字分割後,各部分取碼時皆不得超出應取碼數的限制。
- 局部省略:先假定全取,再略去超出限定碼數的字碼。
- 包含省略:取字首、字身、次字首、次字身最後一碼時,省略被包含在內的部分。
完整原則编辑
完整原則要求:取碼應儘可能涵蓋完整字形、保留字形特徵、且避免增加碼數。
此原則較抽象,可分爲以下細則:
精簡原則编辑
精簡原則是指,當一個字有多種取碼方式時,選擇碼數最少的取法。此原則之用意在於,有覆蓋面較大的字根,避免細分成更小字根,以提高打字效率,及避免把字形分解得太零碎。[3]
例如「丰」字,取碼「十十十」()不如「手十」(
)精簡,故應取後者。
又如「衣」字,取碼「卜竹女人」()不如「卜竹女」(
),故應取後者。
以下為更多例字:
例字 | 圖解 | 正確取碼 | 錯誤取碼 |
---|---|---|---|
王 | 一土( |
一十一( | |
百 | 一日( |
一竹日( | |
光 | 火一山( |
火一竹山( | |
五 | 一木一( |
一十弓一( | |
幸 | 土廿十( |
土金一十( | |
句 | 心口( |
竹尸口( | |
宜 | 十月一( |
戈月月一( | |
主 | 卜土( |
戈一土( | |
共 | 廿金( |
廿一金( | |
走 | 土卜人( |
十一卜人( |
注意:套用精簡原則時,不可跨越字首與字身或次字首與次字身的分界。例如「華」字,「」是字首,「
」是字身,取碼「廿.一廿十」(
.
)。若把字首連同字身的第一筆一起取「
」而作「廿廿十」(
),就不正確。
先繁後簡原則编辑
先繁後簡原則是指,當一個字有多種取碼方式碼數相等時,先取較繁複、涵蓋面較大的字根,再取較簡單、涵蓋面較小的字根。[4]
例如「丰」字,取「手十」()或取「十手」(
)都符合精簡原則,但根據本原則,應先取涵蓋面大的「
」,故應取前者。
又如「衣」字,取「戈一女」()或取「卜竹女」(
)都符合精簡原則,但根據本原則,應先取涵蓋面大的「
」,故應取後者。
以下為更多例字:
例字 | 圖解 | 正確取碼 | 錯誤取碼 |
---|---|---|---|
青 | 手一月( |
十土月( | |
堇 | 廿中手一( |
廿中十土( | |
亡 | 卜女( |
戈尸( | |
毛 | 竹手山( |
竹十心( | |
豕 | 一尸竹人( |
一心竹人( | |
先 | 竹土竹山( |
竹十一山( | |
方 | 卜竹尸( |
戈一尸( | |
畢 | 田廿十( |
田廿手( | |
垂 | 竹十廿一( |
竹十廿土( | |
廿中手人( |
廿中十大( |
字形特徵原則编辑
字形特徵原則是指,取碼時必須盡量保留字形特徵。因為保留字形特徵較符合視覺辨識的原理,且更能區別形似漢字。[5]
此原則的具體細節大致可歸納為以下幾項:[2]
區塊分則编辑
一、取碼時,優先以「區塊」的方式,在字根的相接處分割,避免字根互相跨越。[6]
例如「失」字應在相接處分割作「竹手人」(),而非依筆順取「人大」(
),否則會導致「人」(
)和「大」(
)互相跨越。
此分則優先權極高,先於前述之精簡原則及先繁後簡原則。例如「失」取碼「人大」比取碼「竹手人」更符合精簡原則,但由於前者不符合此分則的要求,因而取後者。
以下是更多例子:
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 火木( |
火手( |
一火十( |
竹火木( |
人十山( |
錯誤取碼 | 木金( |
手金( |
一十金( |
竹木金( |
人山一( |
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 心木( |
心廿( |
十山( |
木大( |
中月大( |
錯誤取碼 | 木山( |
心山( |
山一( |
大弓( |
大月( |
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 十大日( |
十大( |
卜人弓大( |
心大大( |
竹田大大( |
錯誤取碼 | 土竹日( |
大人( |
卜人弓人( |
心竹竹戈( |
竹田大竹( |
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 中田( |
田中( |
中田中( |
十田十( |
中田心( |
錯誤取碼 | 十田( |
日中( |
中一( |
手日( |
心日( |
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 一中田大( |
大中田山( |
十中大( |
十中中弓( |
中田中女( |
錯誤取碼 | 一大日( |
大山日( |
大口人( |
木口尸一( |
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 竹水( |
竹尸( |
竹月口( |
竹手( |
竹手一( |
錯誤取碼 | 弓人( |
竹尸( |
人尸口( |
人十( |
人土( |
有些字根會埋在其他字根的凹陷位置,如「喪」字在「土」的凹陷處有「口」;「巫」字在「工」的凹陷處有「人」;「业」字在「」的凹陷處有「
」字根;甚至像「匚」、「冂」、「凵」這類外框更專門在內部收藏其他字根。由於「土」、「工」、「
」等形狀並未與其他字根互相跨越,因而也都符合區塊分則。
轉角分則编辑
二、當一個字有多種取碼方式碼數相等時,優先選擇能保留筆畫轉角的字根。[9]
例如「九」字,可以取碼「大山」()或「大弓」(
),由於後者保留了筆畫轉角,故應取後者。
以下為更多例字:
例字 | ||||
---|---|---|---|---|
正確取碼 | 戈弓水( |
戈弓人( |
戈弓火( |
弓大( |
錯誤取碼 | 戈一水( |
卜竹人( |
卜竹火( |
一大( |
例字 | ||||
---|---|---|---|---|
正確取碼 | 大尸( |
大弓( |
戈大弓火( |
竹弓( |
錯誤取碼 | 大弓( |
大山( |
戈大竹火( |
竹一山( |
例字 | ||||
---|---|---|---|---|
正確取碼 | 口女弓大( |
一女大山( |
一女木竹( |
一一女尸( |
錯誤取碼 | 口中弓大( 口女中大( |
一中大山( |
一中木竹( |
一一中尸( |
轉角分則是優先權較低的原則。以上各例在套用轉角分則時並未造成取碼數增加;而如果保留筆畫轉角勢必增加取碼數,則應以精簡碼數優先。如以下各字:
例字 | ||||
---|---|---|---|---|
正確取碼 | 卜尸火( |
卜尸一( |
手弓戈( |
大木( |
並不需要 | 卜女尸火( |
卜女尸一( |
手女弓戈( |
大女木( |
跨越分則编辑
三、為減少碼數及反映字形特徵,在某些情況下,可允許字根相互跨越。[12]
如前「區塊分則」所述,取碼時原則上應避免讓字根互相重疊。然而對於一些封閉類字形,如:、
、
、
、
、
、
、
、
、
……等,書寫時常會有筆畫穿過,若要求其他字根不得跨越這些字形,只能切出大量瑣碎且無法反映字形特徵的筆畫,如此便違反了「完整原則」的本意。故此時允許其他字根跨越這些字形。如以下例字:
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 十月( |
月十月( |
戈十月( |
十戈月戈( |
戈中月( |
錯誤取碼 | 十月中( |
月十月中( |
戈十月手( |
戈中月手( |
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 中月( |
中月山( |
人月土( |
中中弓( |
金弓中竹( |
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 人月( |
人月人( |
一人月( |
土月( |
一土月( |
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 一中月人( |
一中月卜( |
一金田( |
一人人月( |
一山月( |
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 月尸木( |
尸大口( |
月卜( |
竹月卜戈( |
田卜戈( |
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 廿田( |
廿月金( |
田廿十( |
卜戈廿木( |
廿一廿十( |
※「」、「
」、「
」、「
」、「
」、「
」幾個字形依其定義禁止其它字根跨越其封閉區域,只能按區塊分則於周邊切斷(或改取其他合適字根)。[13]詳見〈輔助字形〉一節及區塊分則中「由、甲、申、車、曳、更、奄、吏、事」等字例。
請記得完整原則的本意是兼顧字形特徵及取碼精簡,若無法達到這些效果,便不應套用此分則。
各細則的優先權编辑
由於有些細則需要其他細則的觀念,以上介紹安排了一定順序,但統整而言,若細則彼此衝突,其優先順序是:跨越分則 > 區塊分則 > 精簡原則 > 轉角分則 > 先繁後簡原則。
省略原則编辑
如〈基本取碼〉一章所述,漢字分割後各部分皆規範了應取碼數,當碼數超出限制,就要根據此原則省略其中幾碼。
部分省略编辑
若漢字的某部份碼數過多超出取碼限制,應按原則省略其中幾碼,這就是「部分省略」(或稱「局部省略」)。
例如:鰉 → 魚.白.王 → 弓田火.竹日.一土 → 限取2.2.1碼 → 弓火.竹日.土
「鰉」字的「魚」是字首,「皇」是字身,字身還可再分成次字首「白」和次字身「王」。字首「魚」全碼爲「弓田火」,但字首限取2碼,故只取第1碼「弓」及尾碼「火」。次字首「白」全碼爲「竹日」,次字身「王」全碼爲「一土」。因次字首為2碼以上,按規則次字首取第1碼「竹」及尾碼「日」,次字身取尾碼「土」。總此「鰉」最終取碼爲「弓火.竹日.土」。
部分省略尚有一關鍵在於:先假定完整取碼,而後按規則省去中間的編碼;而非直接跳到字形的尾部取碼。因此根據「先繁後簡原則」,前面應取涵蓋較廣的字根,而尾碼應取涵蓋較少的字根(可用「後簡原則」的方式記憶)。
如以下諸例。取碼中的紅字,是初學者容易忘記「後簡」原則而取錯的碼:
包含省略编辑
一些三面或四面的「外框」,如:、
、
、
、
、
、
、
、
、
、
、
、
、
、
、
、
、
、
、
、
、
、
、
、
、
等等,內部常包含瑣碎的筆畫,為求易於辨識,特規定取字首、字身、次字首、次字身最後一碼時,省略被「外框」包含在內的部分。這就是「包含省略」原則。[14]
以下是幾個與包含省略有關的例子:
注意:包含省略不要求外框與內部字形相互分離。只要外框符合,整體字也可以適用包含省略。例如前面的「酉」、「母」都是整體字,而非「字首『』字身『一』」、「字首『
』字身『丶』」的組合字;其他如「啇」、「禺」等字形亦然。
以下為更多例子:
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 手.卜金月 ( |
月.女女.田 ( |
竹田.一女尸 ( |
廿.日弓.田 ( |
尸田.月山山 ( |
錯誤取碼 | 手.卜金口 ( |
月.女女.大 ( |
竹木.一女尸 ( |
廿.日弓.火 ( |
尸中.月山山 ( |
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 竹月.尸一.一 ( |
手.山.人月 ( |
弓中.一.口月 ( |
手.弓月.大 ( |
月月.山 ( |
錯誤取碼 | 竹廿.尸一.一 ( |
手.山.人口 ( |
弓中.一.口中 ( |
手.弓金.大 ( |
月水.山 ( |
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 水.廿中月 ( |
一一.月月.心 ( |
弓月.尸竹.手 ( |
弓弓.心口 ( |
一弓.心日 ( |
錯誤取碼 | 水.廿中人 ( |
一一.月戈.心 ( |
弓土.尸竹.手 ( |
弓戈.心口 ( |
一戈.心日 ( |
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 一月.一.一戈 ( |
廿.田中月 ( |
卜山.日女 ( |
廿.戈一.尸 ( |
月金.戈一.尸 ( |
錯誤取碼 | 一卜.一.一戈 ( |
廿.田中戈 ( |
卜人.日女 ( |
廿.戈一.中 ( |
月金.戈一.中 ( |
複雜的外框例字编辑
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 竹弓.戈口 ( |
廿廿.一女弓 ( |
水.日.心女 ( |
弓尸.月廿 ( |
廿田.日 ( |
錯誤取碼 | 竹戈.戈口 ( |
廿廿.一女戈 ( |
水.日.心人 ( |
弓水.月廿 ( |
廿廿.日 ( |
例字 | |||||
---|---|---|---|---|---|
正確取碼 | 一田.人.田卜 ( |
廿.人.田卜 ( |
一月.人.田卜 ( |
竹卜.金口 ( |
水.竹月卜 ( |
「工、土、王」等鑲嵌形空框例字编辑
對於「、
、
」等形塊,三代倉頡把鑲嵌在左右兩邊空框上的部件視爲被包含。五代倉頡則取消了本規則。
例字 (三代) |
|||||
---|---|---|---|---|---|
三代取碼 | 一月.口口.一 ( |
火.一月.一 ( |
火火.月.一土 ( |
水.火火.土 ( |
水.金大土 ( |
例字 (五代) |
|||||
五代取碼 | 一月.口口.人 ( |
火.一月.人 ( |
火火.月.一戈 ( |
水.火火.戈 ( |
水.金大金 ( |
不適用包含省略的字形编辑
例字 | 取碼 | 說明 |
---|---|---|
翻 | 竹田.尸一.一 ( |
「羽」部件的「 |
駐 | 尸火.卜土 ( |
「馬」部件的「 |
鳧 | 竹火.竹弓 ( |
「鳥」部件的「 |
燭 | 火.田中.戈 ( |
「蜀」部件的「 |
敬 | 廿口.人大 ( |
「茍」部件的「 |
盛 | 戈尸.月廿 ( |
「成」部件的「戊」不視作三面包圍着的「外框」。 |
感 | 戈口.心 ( |
「咸」部件的「戊」不視作三面包圍着的「外框」。 |
慼 | 戈火.心 ( |
「戚」部件的「戊」不視作三面包圍着的「外框」。 |
熱 | 土戈.火 ( |
「丸」部件拆碼「大弓戈」,其「 |
斆 | 竹木.人大 ( |
「 |
附註编辑
- ↑ 發明人朱邦復在《第五代倉頡輸入法手冊》對「完整原則」的說法是「若有兩個或兩個以上的符號都合於所需形狀時,應該取形狀較完整,能保留字形特徵的一個」。《標準倉頡第二代中文輸入法》及《倉頡第三代中文字母輸入法》將「取碼方法」分為「精簡原則」、「完整原則」(「若一個字有多種取法,而碼數又相等時,選擇取碼較完整的取法,也就是先取字形較繁複的碼,再取餘碼。」)、「字形特徵原則」。《倉頡第四代輸入法手冊》將「取碼方法」分為「取碼精簡」、「取碼完整」(「a.經過取碼精簡後,仍有超過一種取碼方法時,以字形不重疊為正確。b.避免在一筆過的轉角位置將字形分割開。」)、「先繁後簡」。本教科書「完整原則」按五代說法視為大原則,其下細節按三代手冊分類,其中的「完整原則」依其實際內涵比照四代手冊更名為「先繁後簡原則」。
- ↑ 2.0 2.1 字形特徵原則主要按1994年《(增訂版)倉頡第三代中文字母輸入法》第三章第三節〈字形特徵原則〉之敘述整理,各分則之名稱是為方便掌握而按其精神命名。詳見各部分之附註。
- ↑ 《倉頡第三代中文字母輸入法》〈第二節、取碼原則〉〈一、精簡原則〉:「當一個字有多種解碼可能時,以取碼數最少者為正確」
- ↑ 《倉頡第三代中文字母輸入法》〈第二節、取碼原則〉〈二、完整原則〉:「若一個字有多種取法,而碼數又相等時,選擇取碼較完整的取法,也就是先取字形較繁複的碼,再取餘碼。」
- ↑ 1984年《倉頡第三代中文字母輸入法》第二章第二節〈字形特徵原則〉:「除前述兩個原則外,還須注意是否最貼切地表示了該字母或輔助字形特徵及完整性。亦即取碼時,不能任意切割,而須保留字形的特徵。」
- ↑ 1994年《(增訂版)倉頡第三代中文字母輸入法》第三章第三節〈字形特徵原則〉:「所謂保持字形的特徵就是指取碼時儘量不取重疊之字形,適當的地方(即符合取形原則)就分割。」二代、五代手冊亦皆有提及「者」作為保留字形特徵之字例。
- ↑ 此爲三代倉頡取碼,五代改爲據分體字的字形,取「中中.女」,詳見三代與五代編碼差異的說明。
- ↑ 雖然所取的碼與正確取碼恰巧一樣,但這取碼方式仍是錯誤的。
- ↑ 1994年《(增訂版)倉頡第三代中文字母輸入法》第三章第三節〈字形特徵原則〉:「分割字形時,不在轉角處分割;而是取兩相鄰字形接連處,在同一直線上之形。……因為在轉角處分割不合書寫常理。」五代手冊亦提及「永」、「之」、「力」、「九」、「牙」等字作為保留字形特徵之字例。
- ↑ 「之」亦不可取碼作「卜人」(
),因「人」的輔助字形「
」是用在如「豕」的末二筆,不適用於「之去亠」。
- ↑ 「⺭」亦不可取碼作「卜火」(
),因「
」的撇與豎起筆在同一位置,但「⺭」的撇長超過豎。
- ↑ 1994年《(增訂版)倉頡第三代中文字母輸入法》第三章第三節〈字形特徵原則〉註二提及:「雖然我們言明儘量不取重疊字形,但為了方便,也為了簡化取碼數,並不禁止縱向筆劃及橫向筆劃貫穿其他字形……」,並有「丑」、「內」、「巿」等例字。五代手冊亦提及「甫」、「弗」、「弟」、「冉」、「曲」、「庸」等字作為保留字形特徵之字例。
- ↑ 1994年《(增訂版)倉頡第三代中文字母輸入法》第三章第三節〈字形特徵原則〉註一提及:「遇到曰、田等完全封閉之字形,若有其他筆劃要貫穿其間時,必須分割,以保持字形的特徵及完整性。」
- ↑ 《倉頡第四代輸入法手冊》:「整體字或組合字的字首、字身、次字首、次字身,若中間曾省略取碼,當取至最後一碼時,那字形被下列字形(……)所包圍的話,則不取那字形,取其前一碼,直至不被完全包圍為止。」《第五代倉頡輸入法手冊》:「選取最後一碼(『最後一碼』包括字首、次字首或字身的最後一碼)時,若遇到……字形,則省略包含在內的筆畫」。1994年版《倉頡第三代中文字母輸入法》:「由外而內選碼時,若碼數不足,則優先省略包含省略內在之碼。」各代對「外框」字形之定義稍有不一,此據各代手冊實際編碼字例補充。
- ↑ 「⻗」的「
」能視作包含外框,因爲它不單以「
」形作底部,其中豎與「
」形相交的地方,剛好完整包含左、右的兩點。但如「冥」、「旁」、「安」等字,「
」形明顯無法包含下方部件,故不適用包含省略原則。
基本取碼 | ◄ | 倉頡輸入法 取碼原則 |
► | 例外字 |