基础拆分教程
汉字拼图
先前说过,拆字,就是把汉字按照一定的规则,拆成唯一的字根组合。这个过程如同拼图一般,大多数时候,是非常直观而自然的。这种将字拆成直观的、分离的部件的方法,足以应付大部分汉字的拆分。
例字
但在实际使用中,会遇到这样的问题:
一个独体字,本身不是字根,该怎么办?
这时候,我们要把它继续拆成更小的字根甚至笔划。
例字
「戋」这个字,我们可以继续将它拆成「一」和「戈」。查字根图可知,「一」和「戈」正好是两个字根,拆字成功。
「丸」这个字,我们可以继续将它拆成「九」和「丶」。查字根图可知,「九」和「丶」正好是两个字根,拆字成功。
「朱」这个字,我们可以继续将它拆成「牛」和「八」。查字根图可知,「牛」和「八」正好是两个字根,拆字成功。
有时候,独体字的拆分不是很直观。遇到此类字时的拆分,往往需要一些经验和练习。而更麻烦的情况是,一个字好像有几种拆分方法。比如以下这些字例:
例字
「再」,可以拆「一冂土」,也可以拆「王冂」。
「井」,可以拆「二」,也可以拆「一廾」。
「单」可以拆成「丷日十」也可以拆成「丷冂丰」。
主「可以拆成」「丶王」也可以拆成「亠土」。
这种一个汉字、多种拆法的情况,是汉字的本质所决定的,本质上不是错误。但一字多拆,确实带来了极大的不确定性,会造成编码的混乱[1]。我们无法避免一字多拆,但能通过制定一套明确的拆字规则,来选出唯一的拆分方案。
拆分规则
宇浩拆分,就是总结了前辈输入法的拆字规则,通过大量的努力和自我审视,明确了一套严格的优先级系统,使得每一个汉字,都有唯一的拆分方案,消除了不确定性[2]。这套规则,有三个核心目标:
- 直观性:绝大部分的汉字,能够被直观地拆分,符合人们对汉字结构的认知。
- 唯一性:绝大部分的汉字,能够被唯一地拆分,消除不确定性。
- 简洁性:拆分规则简洁明了,避免过多特例,易于理解和记忆。
请注意,虽然拆分规则的第一目标是直观性,但总有部分汉字在部分人群的眼中不够直观,这是无法避免的。汉字本身具有多样性和复杂性,各人的学习经历也大相径庭,不可能让每个字都满足所有人的口味。因此,规则定下后,就算有部分汉字的拆法不够直观,我们也不再设置特例去调整它们的拆分方法,也不会加入直观优先的灰色地带。这是为了保证规则的简洁性和拆分的唯一性。这一点,在面对大字集的时候,显得尤为重要。
拆字优先级
「宇浩」拆字规则,按优先级排序如下:
- 字根最少
- 结构完整
- 符合笔顺
- 能散不连
- 能连不交
- 能交不断
- 保持原形
- 向前取大
以上优先级,还可以高度归纳为:少整顺散连交断原大。
取根时,如果有多种不同的拆分方式,则按优先级从高到低依次检查以上规则,选取符合条件的,排除不满足的,最终得到唯一的拆分方案。因此,某种意义上来说,宇浩输入法的拆分规则,其实是一种比较和淘汰的排除法。
以下为拆分规则详细介绍[3]:
字根最少
字根最少,意思是拆分一个字时,应该使得拆出的字根数量尽可能地少。
保证字根数量最少,是优先级最高的规则。
例字
「国」如果完全符合笔顺,应该拆成「冂王丶一」,是四个字根。但拆成「囗王丶」,只用三个字根就够了。因为「少」优先级高于「顺」,所以应该拆成「囗王丶」。
「國」如果完全符合笔顺,应该拆成「冂一口一𠄌丿丶一」,是八个字根。但拆成「囗戈口一」,只用四个字根就够了。因为「少」优先级高于「顺」,所以拆成「囗戈口一」。
结构完整
结构完整,指的是存在半包围形态的字根和存在全包围形态的字根不拆散。包括:
- 勹⺆冂匚コ凵
- 囗(日田目)
这个原则的设置,是为了不过分破坏汉字的整体性和直观性,让相似形态的字拥有相似的拆分方式。下面几个例子可以说明这一点。
例字
「昜」拆「日一勹」不拆「日丆𠃌」,因为前者的半包围结构完整。
「单」可以拆成「丷日十」也可以拆成「丷冂丰」。两者都是三根。观察到「丷冂丰」打破了方框的完整。基于全包围结构不拆散,「单」拆成「丷日十」。
「免」可以拆成「⺈口」也可以拆成「⺈冂尢」。两者都是三根。观察到「⺈冂尢」打破了方框的完整。基于包围结构不拆散,故而「免」拆成「⺈口」。
「万」拆成「一」而非「丆㇆」。因为前者不仅完全符合笔顺,同时也保持了结构完整。
「匹」拆「匚儿」而不拆「兀乚」,因为前者结构完整。相似结构的「区医」也都是类似的拆法。
符合笔顺
注意到,为了使字根数量较少、或者让结构完整,某些大于等于两划的字根,它的笔顺可能会被另一个或多个字根穿插打断。
比如:「固」字如果拆分成「囗古」两根,则「囗」字根不是一次性写完的:它的前两笔和最后的一横之间穿插写了一个「古」。这种情况,有些人会觉得更加直观(全包围结构),但有时候会让人感觉不自然(违背了笔顺)。这说明我们对于「笔顺」这个因素,不能完全忽视。
在介绍「符合笔顺」这个规则前,我们先引入字根「一体写就」的概念:当我们严格按照笔顺书写一个汉字时,如果某个字根能够一次性写完,不被其他字根穿插打断,则称这个字根是「一体写就」的[4]。相对的,如果某个字根在书写过程中被其他字根穿插打断,则称这个字根是「穿插写就」的。
那么,任何一个汉字的任何一种拆分方式,都不外乎以下三种情况:
- 全部字根一体写就(又称整体符合笔顺):指这种拆分方式下,所有的字根都一体写就,字根之间不会互相干扰穿插。比如,「涸」字若拆成「氵冂古一」,便算作整体符合笔顺。
- 部分字根一体写就(又称局部符合笔顺):指这种拆分方式下,一部分字根一体写就,另一部分的字根会穿插写就。「涸」字若拆成「氵囗古」,便算作局部符合笔顺,因为其中的「囗」不是一体写就的,而「氵」「古」都是一体写就的。
- 全部字根穿插写就(又称整体不合笔顺):指这种拆分方式下,所有的字根都是穿插写就的。「州」字若拆成「川」,便算作整体不合笔顺。这种情况很少出现,一般见于两根字中。
「符合笔顺」规则便是要求:如果存在两种不同的拆分方式,则优先选择一体写就字根更多的那一种拆分。
符合笔顺的优先级低于字根最少。
例字
「来」可以拆成「一米」也可以拆成「未丷」,都是两根,但拆成「一米」时,全部字根一体写就。
「聿」可以拆成「彐キ」也可以拆成「肀二」,都是两根,但拆成「彐キ」时,全部字根一体写就。
「妻」可以拆成「十彐女」也可以拆成「キコ女」,都是三根。拆成「十彐女」时,两个字根一体写就;拆成「キコ女」时,只有一个字根一体写就。故而拆成「十彐女」更符合笔顺。
散连交断
散·连·交·断,是汉字部首或笔画的四种状态。
- 字根离散,指的是两个字根互相分离。比如「部」中的「立口阝」,便是三个分离的字根。
- 字根相连,指的是两个字根互相连接。比如「美」拆为「𦍌大」,这两个字根是相连的。
- 字根相交,指的是两个字根互相交叉。比如「再」拆成「一冂土」三个字根,便是相交的。
- 笔划断开,指的是一个笔划(横或竖)断开。比如「我」拆成「丿扌戈」三个字根,其中的「扌」和「戈」两根的横本是一笔写成,但我们将横画断开。
「散连交断」,优先级依次下降,但都排在「字根最少」「结构完整」「符合笔顺」之后。
能散不连
两个字根互相分离,优于两个字根互相连接。
例字
「主」可以拆成「丶王」也可以拆成「亠土」。观察到,「丶王」是散开的,而「亠土」是相连的,后者符合「能散不连」。
能连不交
两个字根互相分离,优于两个字根互相交叉。
例字
「开」可以拆成「一廾」也可以拆成「二」。观察到,第一种拆法字根相连,第二种拆法字根相交。故而拆成「一廾」符合「能连不交」。
能交不断
两个字根互相交叉,优于将笔画断开。
例字
「果」拆作「日木」,不拆成「田木」或「甲木」,这是因为后者将中间的竖断开了。因为「字根相交」的优先级高于「笔画断开」,「果」应当拆成「日木」。
「栽」拆作「十戈木」,不拆成「土戈木」,这是因为后者将中间的横断开了。因为「字根相连」的优先级高于「笔画断开」,「栽」应当拆成「十戈木」。
笔画断开
为了根少和直观,不少输入法允许将一些笔画断开,分属不同的字根中。
宇浩拆分中,有且只有以下两种情况可以断开笔画:
- 「我识羲」等字中「戈」的横,可以向左断开。
- 「重熏」等字中「千」的竖,可以向下断开。
在本教程中,被断开的笔画使用灰白色标识,以示区别。
例字
「我」拆作「丿扌戈」,不拆成「丿扌乚丿丶」。虽然前者将中间的横断开了,但因为「字根最少」,我们选择只有三根的「丿扌戈」。
「熏」拆作「千黑」,不拆成「千囗丷二灬」。虽然前者将中间的竖断开了,但因为「字根最少」,我们选择只有两根的「千黑」。
因为笔画被断开并归入两个字根,因此这一笔的笔顺被两个字根共享。比如:
「戠」应当拆成「立戈日」,而不是「立日戈」,因为被断开的横画同时属于「立」字根和「戈」字根,横画的笔顺早于「日」字根,故而「戈」应当排在「日」之前。
这样的规定,一方面保证了客观笔顺的正确性,另一方面也保证了相似结构的字拥有相似的拆分方式。比如:「栽」拆作「十戈木」、「武」拆作「一戈止」、「戠」拆作「立戈日」,不管断笔还是不断笔,都保证「戈」的位置一致。
保持原形
部分字根在做偏旁的时候,由于书法的考虑,会有略微的变形处理,将「丨」写作「丿」。为了拆分直观,我们不能滥用这些变形字根。「保持原形」规则,便是要求此类变形字根数量尽可能少。
丨写作丿的变形字根包括以下这些:
- 千 变成
- 干 变成
- 变成
- 丰 变成
- 羊 变成
例字
「失」拆「丿夫」而不拆「牛乀」,因为「牛」的一竖是撇。故而对「夫」取大。
「井」拆「二」而不拆「丨」,因为「」的一竖是撇。故而对「」取大。
「缓」拆「纟⺤又」而不拆「纟⺤二夂」。虽然前者「干」的竖写作撇,但字根没有相交。后者则出现了相交。根据规则优先级,能连不交,故而拆为「纟⺤又」。
向前取大
向前取大,指的是让首笔靠前的字根的笔划数尽可能地多。
这是一个兜底原则,可以保证最终只有一个候选方案能够胜出。它的优先级是所有拆字规则中最低的。
例字
「夬」拆为「ユ人」,而不拆成「乛大」,因为「字根取大」原则。让首笔靠前的字根的笔划数尽量地多,这里,「ユ」的笔画数大于「乛」。
「丈」拆为「𠂇丶」,而不拆成「一乂」,因为「字根取大」原则。让首笔靠前的字根的笔划数尽量地多,这里,「𠂇」的笔画数大于「一」。
字根排序
在拆分出唯一的字根组合后,我们需要对字根进行排序。
字根的排序,应当使其第一次出现的顺序,和汉字笔顺一致。
这一条不言而喻,毕竟你不会把「的」的字根排列成「丶勹白」。
矛盾冲突
规则的制定,是为了让大多数汉字的拆分结果符合直观感受。但是,总有一些汉字,无法做到这一点。一般地,我们有两种策略:
- 严格按照规则,并接受一些感性和理性之间的矛盾冲突。
- 对部分汉字设置特例,调整其拆分方法,以符合更多人的感性认知。
宇浩拆分,选择了第一种策略。这是因为,我们对于常用字的直观体验,无法完美地延伸到大字集中。当面对繁简通打和大字集时,设置特例会带来极大的不确定性和混乱。因此,我们只能接受部分汉字的拆分结果可能不够直观这一事实。
这种策略的选择,主要基于宇浩系列输入法的定位,而不是普世的。对于着些著眼于小字集输入法,设置部分特例,调整拆分方法,可能是更合适的选择。
以下是一些常见的矛盾冲突情况:
包含关系
我们可能会自然而然地认为,如果汉字 A 中包含汉字 B,则 A 的拆分结果中一定包含了 B 的拆分结果。
很遗憾,这一点未必成立,尤其是当 A 和 B 都是独体字的时候。
例字
「亚」,候选拆分「一业」「䒑」「丷一」。
- 首先排除「䒑丿」。原因是「䒑」字根中的点应当和横相连(艹字头的行书写法),而「亚」字中两点分散了,这违反了字根的内在属性。
- 「丷一」是三根,故而「一业」胜出。
「严」,候选拆分「一业丿」「丷厂」「䒑丿」。
- 首先排除「䒑丿」。原因是「䒑」字根中的点应当和横相连(艹字头的行书写法),而「严」字中两点分散了,这违反了字根的内在属性。
- 「一业丿」和「丷厂」都是三根,都完全符合笔顺,都连而不交,都不断笔,都保持原形。
- 进入兜底规则,字根向前取大,故而「丷厂」胜出。
相似形态
有些汉字,形态极为相似,但拆分结果却不一致。这是因为,拆分规则的优先级系统,往往会导致一些出人意料的结果。
例字
「失」,候选拆分「丿夫」「牛丶」。它们都是两根,都相连。但「牛丶」中「牛」的一竖写作了撇,违反了保持原形规则,故而「丿夫」胜出。
「朱」,候选拆分「丿未」「牛八」。它们都是两根,都相连,都没有出现丨丿变形,因此我们进入兜底规则,依照笔顺向前取大,故而「牛八」胜出。
「午」,候选拆分「丿干」「𠂉十」。它们都是两根,都相连,都没有出现丨丿变形,因此我们进入兜底规则,依照笔顺向前取大,故而「𠂉十」胜出。
以上三个例子中,「失」「朱」「午」形态极为相似,在不少人的眼中,它们都应该拆成「丿」+「牛/未/干」的形式。但根据拆分规则,最终的拆分结果却不尽相同。我们只能接受这种矛盾冲突,因为这是汉字本质和拆分规则共同作用的结果。
拆字举例
更多例字
想要了解更多具有代表性的例字在宇码中的拆分,请参见字海拾珍——必拆字举隅。
如果你想了解使用频率最为靠前的几百个汉字在宇码中的拆分,可以点击进入高频字拆分图解(简化字)或高频字拆分图解(传统字)页面。
实际拆字时,如果你感觉拆分方法不唯一,那么可以用以下方法找到最优解:
- 列出所有可能的候选拆分方案。
- 依照「少整顺散连交断大」的规则顺序,依次比较各个候选拆分。
- 如果所有的候选拆分都不满足本条规则,则进入下条规则。
- 如果部分的候选拆分满足本条规则,则该部分的候选拆分方案进入下条规则。
- 直到只有一个候选拆分方案胜出。
以下通过部分例字来说明如何更好地使用拆分规则:
例字
「亷」,候选拆分「亠丷厂彐〢八」和「立丿彐〢八」。
「亠丷厂彐〢八」六根,「立丿彐〢八」五根。后者字根最少,直接胜出。
| 拆分方案 | 亠丷厂彐〢八 | 立丿彐〢八 |
|---|---|---|
| 字根最少 | 6 ❌ | 5 ✅ |
| 剩余规则 | 跳过 | 跳过 |
「重」,候选拆分「丿車一」和「千里」。
「千里」是两根,满足「字根最少」,直接虽然中间一竖断开,但依然胜出。
| 拆分方案 | 丿車一 | 千里 |
|---|---|---|
| 字根最少 | 3 ❌ | 2 ✅ |
| 剩余规则 | 跳过 | 跳过 |
「盡」,候选拆分「コ士灬皿」「乛龶灬皿」「彐丄灬皿」「肀一灬皿」四种。
| 拆分方案 | コ士灬皿 | 乛龶灬皿 | 彐丄灬皿 | 肀一灬皿 |
|---|---|---|---|---|
| 字根最少 | 4 ✅ | 4 ✅ | 4 ✅ | 4 ✅ |
| 结构完整 | ❌ | ❌ | ✅ | ✅ |
| 符合笔顺 | 跳过 | 跳过 | 完全 ✅ | 完全 ✅ |
| 能散不连 | 跳过 | 跳过 | ✅ | ✅ |
| 能连不交 | 跳过 | 跳过 | ❌ | ✅ |
| 剩余规则 | 跳过 | 跳过 | 跳过 | 跳过 |
「曱」和「甴」。
- 「曱」按笔顺向前取大,故而是「日丨」。
- 「甴」,候选拆分为「日丨」「囗丄」。两者都是两根,都结构完整,都有一个字根一体写就。按笔顺向前取大,故而「日丨」胜出。
| 拆分方案 | 日丨 | 囗丄 |
|---|---|---|
| 字根最少 | 2 ✅ | 2 ✅ |
| 结构完整 | ✅ | ✅ |
| 符合笔顺 | 一根 ❌ | 一根 ❌ |
| 能散不连 | ✅ | ✅ |
| 能连不交 | ✅ | ✅ |
| 能交不断 | ✅ | ✅ |
| 保持原形 | ✅ | ✅ |
| 向前取大 | ✅ | ❌ |
「彧」,候选拆分「戈口一」「戈口一」「弋口一彡」「一口一乚彡丶」。
- 「戈口一」四根,「戈口一」四根,「弋口一彡」四根,「一口一乚彡丶」六根。
- 首先排除「一口一乚彡丶」,虽然它全部字根一体写就,但「字根最少」优先级最高。
- 「戈口一」「戈口一」和「弋口一彡」中,穿插写就的字根数量相同,均为一个「戈」。都有「相交」情况。
- 进入兜底规则「字根取大」。观察到,「戈」的笔画数大于「弋」,故而「戈口一」和「戈口一」胜出。
- 按照汉字笔顺,「口」出现于「」之前,故而排除「戈口一」。
| 拆分方案 | 戈口一 | 戈口一 | 弋口一彡 | 一口一乚彡丶 |
|---|---|---|---|---|
| 字根最少 | 4 ✅ | 4 ✅ | 4 ✅ | 6 ❌ |
| 结构完整 | ✅ | ✅ | ✅ | 跳过 |
| 符合笔顺 | 三根 ✅ | 三根 ✅ | 三根 ✅ | 跳过 |
| 能散不连 | ✅ | ✅ | ✅ | 跳过 |
| 能连不交 | ✅ | ✅ | ✅ | 跳过 |
| 能交不断 | ✅ | ✅ | ✅ | 跳过 |
| 保持原形 | ✅ | ✅ | ✅ | 跳过 |
| 向前取大 | 戈✅ | 戈✅ | 弋❌ | 跳过 |
| 字根排序 | ✅ | ❌ | 跳过 | 跳过 |
前辈输入法的拆字规则,一般都有诸如「直观」、「符合笔顺」、「取大」等设置。但是优先级往往不够明确,很多拆分方法并不符合规则,存在不少特例。在常用字范围内,还可以通过大量练习来完成记忆,但到了大字集,规则不明确、规则相矛盾,都是造成检字困难的因素。 ↩︎
当然,汉字不是完全可以量化的,不同字形下,也会出现不同的拆分可能。除了良好的定义外,有时候比例原则也很重要。尤其在大字集上,追求单一拆分方法会扭曲汉字直观性,不能兼顾不同字形,让使用者需要大量尝试才能找到想要的字,这违背了大字集检字的初衷。因此,对于大字集,也会设置兼容拆分和容错码。 ↩︎
在进行拆分前,首先需要「确认」某个字根到底存不存在,是否合规,也就是检查字根的「内在属性」。比如
土士,两横的长度直接决定了字根的异同。其次需要检查一些「拆分禁手」,比如王中间如果被笔画「穿心」,这是不被允许的。禁手有:散件不分割、竖向不包夹、横间不穿心。对这两点的讨论作为进阶内容,于此处跳过。若有兴趣,可以在后续章节 《进阶讨论》中阅读。 ↩︎为什么要有完全合笔顺这个规则,而且优先级那么高?在我的认知中,形码的基本出发点就是如同写字一样输入一系列笔画,即「五笔画输入法」。它是最自然,最直观的,所以宇码规则有了「符合笔顺」。但是,输入讲求效率,必须把一些笔画合并起来形成字根,它们的笔顺可能会相互穿插,所以要有「根少优先」这个规则,把它的优先级放在了「符合笔顺」的前面。最后,需要有个兜底条款「向前取大」来保证没有拆分歧义。因此,形码拆分有了「根少」「笔顺」「取大」,其实已经足够了。接下来的其他规则都是在这上面打补丁,为了让拆分更加「直观」。 ↩︎
