倉頡輸入法規則討論

倉頡輸入法是最早的開源項目,早在一九八幾年,朱邦復就登報說明放棄倉頡輸入法的版權。

近幾年,某些倉頡社區的管理層出於私人原因,禁止人們討論倉頡取碼規則問題,因此我在小衆論壇開一個水帖,討論相關問題。

【本帖只講倉頡規則問題,其它的話題請另外開帖討論。】

1 个赞

【一,「叢承乖興」等字在倉頡為甚麼會視為連體】

現在還有人認為這些字之所以被判為連體,是因為「外圍過於繁複」。這個觀點是錯誤的。

正確的見解是,這些字是形勢連體,是由具有強聯功能的字元發揮作用,才使整個字成為連體。

  • 叢因為「十」承聯「取」,形成形勢連體
  • 承因「㇇」下聯而形成形勢連體
  • 乖因「十」擔聯,而成為形勢連體
  • 興因「八」上聯成為形勢連體

反觀「外圍繁複論」非常模糊,不知道怎樣才算「繁複」,到底是數字元,還是數筆畫。它的反例有「産韱臧颶咼羗」等等。

【二,倉頡三代是否有複合字首】

現在一些三代用戶認為三代跟五代一樣有複合字首,這種看法是錯誤的,其實三代沒有複合字首。

  • 如果三代有複合字首,那官方就會告訴你有哪些。現在官方三代沒有說,那就是沒有了。(現在有人認為三代有複合字首,卻說不出「有哪些」)
  • 三代對於「歷應腐㞙懬」等字,它是用有義字形来判定結構的。這正是朱邦復所說的形聲法則,對於這種存在延伸現象的字形,要用形聲六書来判定結構。

「複合字首」這個規則是倉頡五代才出現的規則,倉頡三代沒有複合字首。

【三,該如何講解/理解「甫」字的取碼?】

某些人講這個是「字根相互跨越」,這樣講並不好,原因是:

  1. 沒有指明哪個字元發揮作用。

  2. 沒有區分横向縱向。

  3. 沒有講明白不適用的情況。

正確的講解是,這個是縱貫功能。由一個含豎字元縱向貫穿一個框架或封口字形。(如「甫」是十縱貫月)

如果横向,則稱作平穿,由一個帶横字元横向貫穿另一字元。(如「丹」是亠平穿冂,「本」是一平穿木)

而為甚麼「甩」字不適用縱貫?不是乚縱貫月?因為對一個封口字形自下往上縱貫的話,必須貫穿,否則就按先繁後簡取碼。

而如果是「允許字根相互跨越」這種講解方式,則根本無法解釋「甩覀垂」等字的取碼。

官方依據

1994年《(增訂版)倉頡第三代中文字母輸入法》第三章第三節〈字形特徵原則〉註二 wrote:

【四,如何講解取碼順序】

大家可能看到官方講取碼順序時說「由左而右,由上而下,由外而內」,因此很多人也照著念。

其實這個講法是不夠完整的

正確的講法是:

  • 上下分體自上往下
  • 左右分體從左到右
  • 包圍分體由外而內

也就是說,官方的這句話,僅僅是在講分體字的取碼順序,而連體字的取碼順序需要另外講解

連體字的取碼順序:

  • 自上往下依循連接次序取碼
  • 直連交連先於接連
  • 縱向直連與接連都是自上往下
  • 横向直連從左到右,横向接連視上下界

例如:

  • 「面」先取卜卜再丨,犭先取㇁再取㇒,因為直連先於接連
  • 卩先取㇆再取丨,因為横向接連視上下界,丨的下界在更下面,所以後取

有沒有這麼一種可能——設計的時候考慮不周

你是指朱邦復嗎?是的,受限於時代,他那時不知道現在的新字形會設計成甚麼樣,所以會有少數幾個字型用的是「朱邦復指定字型」,比如「片沒婁」。

但也就是這幾個,並且這並不是規則上的特例和漏洞。

倉頡規則是圓滿的,完備的。我用過鄭碼跟五筆,它們都有特例,倉頡為20902個cjk基本區漢字編碼,沒有一個是需要特別強記的,編碼理由完全都可以理解。

【五,如何講解「木火大七戈」的功能】

這幾個官方稱作「特殊字」,我覺的官方這個名稱很不好,因為官方已經把「複合字、難字」統稱例外字了,那例外不就是特殊嗎?

因此,我認為,它需要改個名字。我的尹規稱之為「束中字元」。

(僅改名字,意義不變,以下就叫束中字元。)

它的特性是,能把其它字形束於中部。

(一些資深的倉頡前輩,也不一定真正明白特殊字/束中字元!)

這下取了個「束中字元」的名字,就精確的體現了它的功能。比如「束」字,取作「木中」,把「中」束於「木」的中間。再如「東」是「木」把「田」束在中間。

束中跟縱貫都是一種貫穿功能,它們的區別是:

  • 束中字元是在整體上識別一個字元,它發揮作用的部位在中間。
  • 縱貫是指含豎字元對另一個字形進行貫穿,由丨的尖端發揮作用。

不要再混淆二者了。

【六,骨頭字元肯定不是三五字元】

骨頭字元,指的是下圖圈裏的字元:

  • 這個字元很明顯不是三五代倉頡的字元,而是屬於六代字根。

  • 一位在一九八幾年就跟朱邦復有過合作的前輩親口跟我說,倉頡三五代沒有這個字元。

  • 除了維基倉教之外,所有的倉頡教程都沒有這個字元。

但是騎沈四傑多年以来就一直想要去「證明」它。他們想到的一個方法是騎劫沈紅蓮,利用沈紅蓮回覆時不清不楚的特點,聲稱沈紅蓮同意三五有這個字元。

其實道理很簡單,如果三五有這個字元,那麼官方就會在手冊中列出来。而沈紅蓮根本沒有說「三五代有骨頭字元」。

騎沈四傑包括「馬拉錘、愛吃肉、吵架溜、車庫」四人,他們騎劫沈紅蓮的行為已經不是一次兩次了。沈紅蓮本来沒有講的,他們也說沈講了,說這是「官方規則」,真的是非常可笑。

【七,雨框包含】

維基倉教說雨部置上之後,冖跟丨相交的字形有包含功能:

這種說法非常可笑,因為冖本身是沒有包含作用的,而中豎根本是不參與包圍/包含的。

官方倉五手冊,以及其它倉頡教程,都不支持這個說法。至今也沒有哪個倉頡人同意這個說法。

(像帀這種特例講解,在維基倉教屢見不鮮。比如「軬的厶大相連」說成是一個定理,然而「輋」的「山大」是否相連,他們又不知道了。他們只知道看見現象之後把它當作特例来講解,根本不知道裏面的道理和邏輯。)

正解是:雨部置上之後,應看作是「一水冖」三個字形。

【八,為何「順」的字首為丿】

首先,我們知道,「川」是左右分體,那麼,「川」的字首就是丿,構字式:

丨||丨||丨

之後,我們在「川」的右邊加上「頁」,構成「順」,構字式:

(丨||丨||丨)||頁

因為相同的分體類型,是有著像數學加法一樣的結合律,比如:

(1+2+3)+4 = 1+2+3+4

因此,「順」的構字式就寫成:

丨||丨||丨||頁

**「順」的結構,最終判定為左右分體。**則字首劃分為:

{丨}丨丨頁

倉頡輸入法,並不否認「順」字是由「川」跟「頁」構成的。一些人講倉頡違背人們對漢字的認知,這種說法是錯誤的,倉頡既然是「形意檢字法」,它肯定是最符合漢字字源的中文輸入法。

「剟」字的字首是叕,而不是㕛。這是除了尹倉之外,所有的倉頡碼表都犯的一個錯誤。

他們出錯的原因是,沒有理解以下的講解:

tcg

他們直接就把「剟」套到「川淋蝴」這一組中,這種結構判定是錯誤的。

正確的結構判定是:

首先我們判定「叕」為上下分體,構字式:

(又||又)=(又||又)

之後,在其右邊加上刂,構字式:

(双=双)||丨||亅

因為=跟||不是同一種結構,因此不能套用結合律,則字首劃分為:

{叕}刂

「剟」正確的倉頡編碼為「水水中弓」。

【九, :bomb:維基倉教:dash:剪刀原則的歷史】

https://ejsoon.win/cjcuthistory/

(因為排版和傳圖的原因,我就直接放上我的博文地址了,有興趣的朋友可以點擊觀看,也希望倉頡輸入法能少一些錯誤的幼稚的論述,多一些真知灼見。少一些偏見和謾罵,多一些和平與理解。)

【十,封口禁貫︱回答rime開發者的疑問】

振佛是rime的始創人,也是倉頡五代用戶。然而振佛對倉頡規則的理解並不正確。

有人在振佛的某倉頡項目提交了個issue,說「曱甴」二字不應取作四碼,振佛回應說五代就是要這樣取碼。

振佛的理解是錯誤的,正確的理解在