Skip to content

基礎拆分教程

漢字拼圖

先前説過,拆字,就是把漢字按照一定的規則,拆成唯一的字根組合。這個過程如同拼圖一般,大多數時候,是非常直觀而自然的。這種將字拆成直觀的、分離的部件的方法,足以應付大部分漢字的拆分。

例字

但在實際使用中,會遇到這樣的問題:

一個獨體字,本身不是字根,該怎麽辦?

這時候,我們要把它繼續拆成更小的字根甚至筆劃。

例字

「戋」這個字,我們可以繼續將它拆成「一」和「戈」。查字根圖可知,「一」和「戈」正好是兩個字根,拆字成功。

「丸」這個字,我們可以繼續將它拆成「九」和「丶」。查字根圖可知,「九」和「丶」正好是兩個字根,拆字成功。

「朱」這個字,我們可以繼續將它拆成「牛」和「八」。查字根圖可知,「牛」和「八」正好是兩個字根,拆字成功。

有時候,獨體字的拆分不是很直觀。遇到此類字時的拆分,往往需要一些經驗和練習。而更麻煩的情況是,一個字好像有幾種拆分方法。比如以下這些字例:

例字

「再」,可以拆「一冂土」,也可以拆「王冂」。


「井」,可以拆「二」,也可以拆「一廾」。


「单」可以拆成「丷日十」也可以拆成「丷冂丰」。


主「可以拆成」「丶王」也可以拆成「亠土」。

這種一個漢字、多種拆法的情況,是漢字的本質所決定的,本質上不是錯誤。但一字多拆,確實帶來了極大的不確定性,會造成編碼的混亂[1]。我們無法避免一字多拆,但能通過制定一套明確的拆字規則,來選出唯一的拆分方案。

拆分規則

宇浩拆分,就是總結了前輩輸入法的拆字規則,通過大量的努力和自我審視,明確了一套嚴格的優先級系統,使得每一個漢字,都有唯一的拆分方案,消除了不確定性[2]。這套規則,有三個核心目標:

  1. 直觀性:絕大部分的漢字,能夠被直觀地拆分,符合人們對漢字結構的認知。
  2. 唯一性:絕大部分的漢字,能夠被唯一地拆分,消除不確定性。
  3. 簡潔性:拆分規則簡潔明了,避免過多特例,易於理解和記憶。

請注意,雖然拆分規則的第一目標是直觀性,但總有部分漢字部分人群的眼中不夠直觀,這是無法避免的。漢字本身具有多樣性和複雜性,各人的學習經歷也大相徑庭,不可能讓每個字都滿足所有人的口味。因此,規則定下後,就算有部分漢字的拆法不够直觀,我們也不再設置特例去調整它們的拆分方法,也不會加入直觀優先的灰色地帶。這是爲了保證規則的簡潔性和拆分的唯一性。這一點,在面對大字集的時候,顯得尤為重要。

拆字優先級

「宇浩」拆字規則,按優先級排序如下:

  1. 字根最少
  2. 結構完整
  3. 符合筆順
  4. 能散不連
  5. 能連不交
  6. 能交不斷
  7. 保持原形
  8. 向前取大

以上優先級,還可以高度歸納爲:少整順散連交斷原大

取根時,如果有多種不同的拆分方式,則按優先級從高到低依次檢查以上規則,選取符合條件的,排除不滿足的,最終得到唯一的拆分方案。因此,某種意義上來説,宇浩輸入法的拆分規則,其實是一種比較和淘汰的排除法

以下爲拆分規則詳細介紹[3]

字根最少

字根最少,意思是拆分一個字時,應該使得拆出的字根數量盡可能地少。

保證字根數量最少,是優先級最高的規則。

例字

「国」如果完全符合筆順,應該拆成「冂王丶一」,是四個字根。但拆成「囗王丶」,只用三個字根就夠了。因爲「少」優先級高於「順」,所以應該拆成「囗王丶」。

「國」如果完全符合筆順,應該拆成「冂一口一𠄌丿丶一」,是八個字根。但拆成「囗戈口一」,只用四個字根就夠了。因爲「少」優先級高於「順」,所以拆成「囗戈口一」。

結構完整

結構完整,指的是存在半包圍形態的字根和存在全包圍形態的字根不拆散。包括:

  • 勹⺆冂匚コ凵
  • 囗(日田目)

這個原則的設置,是爲了不過分破壞漢字的整體性和直觀性,讓相似形態的字擁有相似的拆分方式。下面幾個例子可以說明這一點。

例字

「昜」拆「日一勹」不拆「日丆𠃌」,因為前者的半包圍結構完整。


「单」可以拆成「丷日十」也可以拆成「丷冂丰」。兩者都是三根。觀察到「丷冂丰」打破了方框的完整。基於全包圍結構不拆散,「单」拆成「丷日十」。


「免」可以拆成「⺈口」也可以拆成「⺈冂尢」。兩者都是三根。觀察到「⺈冂尢」打破了方框的完整。基於包圍結構不拆散,故而「免」拆成「⺈口」。


「万」拆成「一」而非「丆㇆」。因爲前者不僅完全符合筆順,同時也保持了結構完整。


「匹」拆「匚儿」而不拆「兀乚」,因爲前者結構完整。相似結構的「区医」也都是類似的拆法。

符合筆順

注意到,爲了使字根數量較少、或者讓結構完整,某些大於等於兩劃的字根,它的筆順可能會被另一個或多個字根穿插打斷。

比如:「固」字如果拆分成「囗古」兩根,則「囗」字根不是一次性寫完的:它的前兩筆和最後的一橫之間穿插寫了一個「古」。這種情況,有些人會覺得更加直觀(全包圍結構),但有時候會讓人感覺不自然(違背了筆順)。這說明我們對於「筆順」這個因素,不能完全忽視。

在介紹「符合筆順」這個規則前,我們先引入字根「一體寫就」的概念:當我們嚴格按照筆順書寫一個漢字時,如果某個字根能夠一次性寫完,不被其他字根穿插打斷,則稱這個字根是「一體寫就」的[4]。相對的,如果某個字根在書寫過程中被其他字根穿插打斷,則稱這個字根是「穿插寫就」的。

那麼,任何一個漢字的任何一種拆分方式,都不外乎以下三種情況:

  1. 全部字根一體寫就(又稱整體符合筆順):指這種拆分方式下,所有的字根都一體寫就,字根之間不會互相干擾穿插。比如,「涸」字若拆成「氵冂古一」,便算作整體符合筆順。
  2. 部分字根一體寫就(又稱局部符合筆順):指這種拆分方式下,一部分字根一體寫就,另一部分的字根會穿插寫就。「涸」字若拆成「氵囗古」,便算作局部符合筆順,因為其中的「囗」不是一體寫就的,而「氵」「古」都是一體寫就的。
  3. 全部字根穿插寫就(又稱整體不合筆順):指這種拆分方式下,所有的字根都是穿插寫就的。「州」字若拆成「川」,便算作整體不合筆順。這種情況很少出現,一般見於兩根字中。

「符合筆順」規則便是要求:如果存在兩種不同的拆分方式,則優先選擇一體寫就字根更多的那一種拆分。

符合筆順的優先級低於字根最少。

例字

「来」可以拆成「一米」也可以拆成「未丷」,都是兩根,但拆成「一米」時,全部字根一體寫就。


「聿」可以拆成「彐キ」也可以拆成「肀二」,都是兩根,但拆成「彐キ」時,全部字根一體寫就。


「妻」可以拆成「十彐女」也可以拆成「キコ女」,都是三根。拆成「十彐女」時,兩個字根一體寫就;拆成「キコ女」時,只有一個字根一體寫就。故而拆成「十彐女」更符合筆順。

散連交斷

散·連·交·斷,是漢字部首或筆畫的四種狀態。

  • 字根離散,指的是兩個字根互相分離。比如「部」中的「立口阝」,便是三個分離的字根。
  • 字根相連,指的是兩個字根互相連接。比如「美」拆爲「𦍌大」,這兩個字根是相連的。
  • 字根相交,指的是兩個字根互相交叉。比如「再」拆成「一冂土」三個字根,便是相交的。
  • 筆劃斷開,指的是一個筆劃(橫或豎)斷開。比如「我」拆成「丿扌戈」三個字根,其中的「扌」和「戈」兩根的橫本是一筆寫成,但我們將橫畫斷開。

「散連交斷」,優先級依次下降,但都排在「字根最少」「結構完整」「符合筆順」之後。

能散不連

兩個字根互相分離,優於兩個字根互相連接。

例字

「主」可以拆成「丶王」也可以拆成「亠土」。觀察到,「丶王」是散開的,而「亠土」是相連的,後者符合「能散不連」。

能連不交

兩個字根互相分離,優於兩個字根互相交叉。

例字

「开」可以拆成「一廾」也可以拆成「二」。觀察到,第一種拆法字根相連,第二種拆法字根相交。故而拆成「一廾」符合「能連不交」。

能交不斷

兩個字根互相交叉,優於將筆畫斷開。

例字

「果」拆作「日木」,不拆成「田木」或「甲木」,這是因爲後者將中間的豎斷開了。因爲「字根相交」的優先級高於「筆畫斷開」,「果」應當拆成「日木」。


「栽」拆作「十戈木」,不拆成「土戈木」,這是因爲後者將中間的横斷開了。因爲「字根相連」的優先級高於「筆畫斷開」,「栽」應當拆成「十戈木」。

筆畫斷開

爲了根少和直觀,不少輸入法允許將一些筆畫斷開,分屬不同的字根中。

宇浩拆分中,有且只有以下兩種情況可以斷開筆畫:

  1. 「我識羲」等字中「戈」的橫,可以向左斷開。
  2. 「重熏」等字中「千」的竪,可以向下斷開。

在本教程中,被斷開的筆畫使用灰白色標識,以示區別。

例字

「我」拆作「丿扌戈」,不拆成「丿扌乚丿丶」。雖然前者將中間的橫斷開了,但因爲「字根最少」,我們選擇只有三根的「丿扌戈」。


「熏」拆作「千黑」,不拆成「千囗丷二灬」。雖然前者將中間的豎斷開了,但因爲「字根最少」,我們選擇只有兩根的「千黑」。

因為筆畫被斷開並歸入兩個字根,因此這一筆的筆順被兩個字根共享。比如:

「戠」應當拆成「立戈日」,而不是「立日戈」,因爲被斷開的橫畫同時屬於「立」字根和「戈」字根,橫畫的筆順早於「日」字根,故而「戈」應當排在「日」之前。

這樣的規定,一方面保證了客觀筆順的正確性,另一方面也保證了相似結構的字擁有相似的拆分方式。比如:「栽」拆作「十戈木」、「武」拆作「一戈止」、「戠」拆作「立戈日」,不管斷筆還是不斷筆,都保證「戈」的位置一致。

保持原形

部分字根在做偏旁的時候,由於書法的考慮,會有略微的變形處理,將「丨」寫作「丿」。為了拆分直觀,我們不能濫用這些變形字根。「保持原形」規則,便是要求此類變形字根數量盡可能少。

丨寫作丿的變形字根包括以下這些:

  • 千 變成 
  • 干 變成 
  •  變成 
  • 丰 變成 
  • 羊 變成 

例字

「失」拆「丿夫」而不拆「牛乀」,因爲「牛」的一豎是撇。故而對「夫」取大。


「井」拆「二」而不拆「丨」,因爲「」的一豎是撇。故而對「」取大。


「缓」拆「纟⺤又」而不拆「纟⺤二夂」。雖然前者「干」的豎寫作撇,但字根没有相交。後者則出現了相交。根據規則優先級,能連不交,故而拆爲「纟⺤又」。

向前取大

向前取大,指的是讓首筆靠前的字根的筆劃數儘可能地多。

這是一個兜底原則,可以保證最終只有一個候選方案能夠勝出。它的優先級是所有拆字規則中最低的。

例字

「夬」拆爲「ユ人」,而不拆成「乛大」,因爲「字根取大」原則。讓首筆靠前的字根的筆劃數儘量地多,這裡,「ユ」的筆畫數大於「乛」。


「丈」拆爲「𠂇丶」,而不拆成「一乂」,因爲「字根取大」原則。讓首筆靠前的字根的筆劃數儘量地多,這裡,「𠂇」的筆畫數大於「一」。

字根排序

在拆分出唯一的字根組合後,我們需要對字根進行排序。

字根的排序,應當使其第一次出現的順序,和漢字筆順一致。

這一條不言而喻,畢竟你不會把「的」的字根排列成「丶勹白」。

矛盾衝突

規則的制定,是為了讓大多數漢字的拆分結果符合直觀感受。但是,總有一些漢字,無法做到這一點。一般地,我們有兩種策略:

  1. 嚴格按照規則,並接受一些感性理性之間的矛盾衝突。
  2. 對部分漢字設置特例,調整其拆分方法,以符合更多人的感性認知。

宇浩拆分,選擇了第一種策略。這是因爲,我們對於常用字的直觀體驗,無法完美地延伸到大字集中。當面對繁簡通打大字集時,設置特例會帶來極大的不確定性和混亂。因此,我們只能接受部分漢字的拆分結果可能不夠直觀這一事實。

這種策略的選擇,主要基於宇浩系列輸入法的定位,而不是普世的。對於着些著眼於小字集輸入法,設置部分特例,調整拆分方法,可能是更合適的選擇。

以下是一些常見的矛盾衝突情況:

包含關係

我們可能會自然而然地認為,如果漢字 A 中包含漢字 B,則 A 的拆分結果中一定包含了 B 的拆分結果。

很遺憾,這一點未必成立,尤其是當 A 和 B 都是獨體字的時候。

例字

「亚」,候選拆分「一业」「䒑」「丷一」。

  • 首先排除「䒑丿」。原因是「䒑」字根中的點應當和橫相連(艹字頭的行書寫法),而「亚」字中兩點分散了,這違反了字根的內在屬性
  • 「丷一」是三根,故而「一业」勝出。

「严」,候選拆分「一业丿」「丷厂」「䒑丿」。

  • 首先排除「䒑丿」。原因是「䒑」字根中的點應當和橫相連(艹字頭的行書寫法),而「严」字中兩點分散了,這違反了字根的內在屬性
  • 「一业丿」和「丷厂」都是三根,都完全符合筆順,都連而不交,都不斷筆,都保持原形。
  • 進入兜底規則,字根向前取大,故而「丷厂」勝出。

相似形態

有些漢字,形態極爲相似,但拆分結果卻不一致。這是因爲,拆分規則的優先級系統,往往會導致一些出人意料的結果。

例字

「失」,候選拆分「丿夫」「牛丶」。它們都是兩根,都相連。但「牛丶」中「牛」的一豎寫作了撇,違反了保持原形規則,故而「丿夫」勝出。


「朱」,候選拆分「丿未」「牛八」。它們都是兩根,都相連,都沒有出現丨丿變形,因此我們進入兜底規則,依照筆順向前取大,故而「牛八」勝出。


「午」,候選拆分「丿干」「𠂉十」。它們都是兩根,都相連,都沒有出現丨丿變形,因此我們進入兜底規則,依照筆順向前取大,故而「𠂉十」勝出。


以上三個例子中,「失」「朱」「午」形態極爲相似,在不少人的眼中,它們都應該拆成「丿」+「牛/未/干」的形式。但根據拆分規則,最終的拆分結果卻不盡相同。我們只能接受這種矛盾衝突,因爲這是漢字本質和拆分規則共同作用的結果。

拆字舉例

更多例字

想要了解更多具有代表性的例字在宇碼中的拆分,請參見字海拾珍——必拆字舉隅

如果你想了解使用頻率最爲靠前的幾百個漢字在宇碼中的拆分,可以點擊進入高頻字拆分圖解(簡化字)高頻字拆分圖解(傳統字)頁面。

實際拆字時,如果你感覺拆分方法不唯一,那麽可以用以下方法找到最優解:

  • 列出所有可能的候選拆分方案。
  • 依照「少整順散連交斷大」的規則順序,依次比較各個候選拆分。
  • 如果所有的候選拆分都不滿足本條規則,則進入下條規則。
  • 如果部分的候選拆分滿足本條規則,則該部分的候選拆分方案進入下條規則。
  • 直到只有一個候選拆分方案勝出。

以下通過部分例字來説明如何更好地使用拆分規則:

例字

「亷」,候選拆分「亠丷厂彐〢八」和「立丿彐〢八」。

「亠丷厂彐〢八」六根,「立丿彐〢八」五根。後者字根最少,直接勝出。

拆分方案亠丷厂彐〢八立丿彐〢八
字根最少6 ❌5 ✅
剩餘規則跳過跳過

「重」,候選拆分「丿車一」和「千里」。

「千里」是兩根,滿足「字根最少」,直接雖然中間一豎斷開,但依然勝出。

拆分方案丿車一千里
字根最少3 ❌2 ✅
剩餘規則跳過跳過

「盡」,候選拆分「コ士灬皿」「乛龶灬皿」「彐丄灬皿」「肀一灬皿」四種。

拆分方案コ士灬皿乛龶灬皿彐丄灬皿肀一灬皿
字根最少4 ✅4 ✅4 ✅4 ✅
結構完整
符合筆順跳過跳過完全 ✅完全 ✅
能散不連跳過跳過
能連不交跳過跳過
剩餘規則跳過跳過跳過跳過

yuē」和「yóu」。

  • 「曱」按笔顺向前取大,故而是「日丨」。
  • 「甴」,候选拆分为「日丨」「囗丄」。两者都是两根,都結構完整,都有一個字根一體寫就。按笔顺向前取大,故而「日丨」勝出。
拆分方案日丨囗丄
字根最少2 ✅2 ✅
結構完整
符合筆順一根 ❌一根 ❌
能散不連
能連不交
能交不斷
保持原形
向前取大

「彧」,候選拆分「戈口一」「戈口一」「弋口一彡」「一口一乚彡丶」。

  • 「戈口一」四根,「戈口一」四根,「弋口一彡」四根,「一口一乚彡丶」六根。
  • 首先排除「一口一乚彡丶」,雖然它全部字根一體寫就,但「字根最少」優先級最高。
  • 「戈口一」「戈口一」和「弋口一彡」中,穿插寫就的字根數量相同,均爲一個「戈」。都有「相交」情況。
  • 進入兜底規則「字根取大」。觀察到,「戈」的筆畫數大於「弋」,故而「戈口一」和「戈口一」勝出。
  • 按照漢字筆順,「口」出現於「」之前,故而排除「戈口一」。
拆分方案戈口一戈口一弋口一彡一口一乚彡丶
字根最少4 ✅4 ✅4 ✅6 ❌
結構完整跳過
符合筆順三根 ✅三根 ✅三根 ✅跳過
能散不連跳過
能連不交跳過
能交不斷跳過
保持原形跳過
向前取大戈✅戈✅弋❌跳過
字根排序跳過跳過

  1. 前輩輸入法的拆字規則,一般都有諸如「直觀」、「符合筆順」、「取大」等設置。但是優先級往往不夠明確,很多拆分方法並不符合規則,存在不少特例。在常用字範圍內,還可以通過大量練習來完成記憶,但到了大字集,規則不明確、規則相矛盾,都是造成檢字困難的因素。 ↩︎

  2. 當然,漢字不是完全可以量化的,不同字形下,也會出現不同的拆分可能。除了良好的定義外,有時候比例原則也很重要。尤其在大字集上,追求單一拆分方法會扭曲漢字直觀性,不能兼顧不同字形,讓使用者需要大量嘗試才能找到想要的字,這違背了大字集檢字的初衷。因此,對於大字集,也會設置兼容拆分和容錯碼。 ↩︎

  3. 在進行拆分前,首先需要「確認」某個字根到底存不存在,是否合規,也就是檢查字根的「內在屬性」。比如 ,兩橫的長度直接決定了字根的異同。其次需要檢查一些「拆分禁手」,比如中間如果被筆畫「穿心」,這是不被允許的。禁手有:散件不分割、豎向不包夾、橫間不穿心。對這兩點的討論作爲進階內容,於此處跳過。若有興趣,可以在後續章節 《進階討論》中閱讀。 ↩︎

  4. 爲什麽要有完全合筆順這個規則,而且優先級那麽高?在我的認知中,形碼的基本出發點就是如同寫字一樣輸入一系列筆畫,即「五筆畫輸入法」。它是最自然,最直觀的,所以宇碼規則有了「符合筆順」。但是,輸入講求效率,必須把一些筆畫合併起來形成字根,它們的筆順可能會相互穿插,所以要有「根少優先」這個規則,把它的優先級放在了「符合筆順」的前面。最後,需要有個兜底條款「向前取大」來保證沒有拆分歧義。因此,形碼拆分有了「根少」「筆順」「取大」,其實已經足夠了。接下來的其他規則都是在這上面打補丁,爲了讓拆分更加「直觀」。 ↩︎

宇浩輸入法官網