单字拆分
汉字拼图
先前说过,拆字,就是把汉字按照一定的规则,拆成唯一的字根组合。这个过程如同拼图一般,大多数时候,是非常直观而自然的。
例
这种将字拆成直观的、分离的部件的方法,足以应付大部分汉字的拆分了。但在实际使用中,遇到这个问题:一个独体字,本身不是字根,怎么办?这时候,我们要把它继续拆成更小的字根甚至笔划。
例
戋
这个字,我们可以继续将它拆成一
和戈
。查字根图可知,一
和戈
正好是两个字根,拆字成功。
丸
这个字,我们可以继续将它拆成九
和丶
。查字根图可知,九
和丶
正好是两个字根,拆字成功。
朱
这个字,我们可以继续将它拆成牛
和八
。查字根图可知,牛
和八
正好是两个字根,拆字成功。
有时候,独体字的拆分不是很直观。比如再
可以拆成一冂土
,也可以拆成王冂
。遇到此类字时的拆分,往往需要一些经验和练习。所以当你遇到不会拆的字时,应该主动查询它的编码,及时学习。
更麻烦的情况是,一个字好像有几种拆分方法。
例
井
,可以拆二{介下}
,也可以拆一廾
。
单
可以拆成丷日十
也可以拆成丷冂丰
。
主
可以拆成丶王
也可以拆成亠土
。
这种一字多拆的情况,任何形码中,都是希望避免的。因为一字多拆,会造成极大的不确定性,并造成编码的混乱[1]。
宇浩输入法总结了拆字规则,并且不断自我审视每一个拆分是否符合规则。通过大量的努力,明确了一套优先级系统。使每一个汉字,都有唯一的拆分方案,消除了不确定性[2]。
拆字优先级
「宇浩」拆字规则,按优先级排序如下:
- 字根最少
- 结构完整
- 符合笔顺
- 散连交断
- 字根取大
以上优先级,还可以高度归纳为:少整顺散连交断大。
取根时,如果有多种不同的拆分方式,则按优先级从高到低依次检查以上规则,选取符合条件的,排除不满足的,最终得到唯一的拆分方案。因此,某种意义上来说,宇浩输入法的拆分规则,其实是一种「比较和淘汰」的排除法,后文中会展示这些步骤的机器实现。
以下为拆分规则详细介绍[3]:
字根最少
字根最少,意思是拆分一个字时,应该使得字根的数量最少。保证字根数量最少,是第一优先级最高的规则。
例
国
如果完全符合笔顺,应该拆成冂王丶一
,是四个字根。但拆成囗王丶
,只用三个字根就够了。因为「少」优先级高于「顺」,所以应该拆成囗王丶
。
國
如果完全符合笔顺,应该拆成冂一口一丿丶一
,是七个字根。但拆成囗戈口一
,只用四个字根就够了。因为「少」优先级高于「顺」,所以应该拆成囗戈口一
。
结构完整
结构完整,指的是囗日目勹冂匚コ凵
等存在全包围和半包围结构的字根不拆散。
这个原则的设置,是为了不过分破坏汉字的整体性和直观性。
例
昜
拆日一勹彡
不拆日丆𠃌彡
。
单
可以拆成丷日十
也可以拆成丷冂丰
。两者都是三根。因为包围结构不拆散,故而单
拆成丷日十
。
免
可以拆成⺈口儿
也可以拆成⺈冂尢
。两者都是三根。因为包围结构不拆散,故而免
拆成⺈口儿
。
万
拆成一勹
而非{一丿}乛
。因为前者不仅完全符合笔顺,同时也保持了结构完整。
匹
拆匚儿
而不拆兀乚
,因为前者结构完整。
符合笔顺
注意到,为了使字根数量较少,某些大于等于两划的字根,它的笔顺可能会被另一个或多个字根穿插打断。比如固
字拆囗古
时,囗
不是一次性写完,而是分成俩次写完的。
符合笔顺,指的是字根之间不穿插写成[4]。它有两种情况:
- 整体符合笔顺:指一个字完全按照笔顺写成,字根间不会互相干扰笔顺。
固
字如拆冂古一
,便算作整体符合笔顺。 - 局部符合笔顺:指一个字虽不能完全按照笔顺写成,但局部字根符合笔顺。
固
字如拆囗古
,便算作局部符合笔顺,且符合笔顺的有一个字根「古」,共五画。
「符合笔顺」规则,指一个字是否整体符合笔顺(后面的「取大」规则中,会继续判断局部符合笔顺的字根数量)。
符合笔顺的优先级低于字根最少。
例
来
可以拆成一米
也可以拆成未丷
,都是两根,但拆成一米
完全符合笔顺。
聿
可以拆成彐キ
也可以拆成肀二
,都是两根,但拆成彐キ
完全符合笔顺。
散连交断
散·连·交·断,是汉字部首或笔画的四种状态。
- 字根离散,指的是两个字根互相分离。比如
部
中的立口阝
,便是三个分离的字根。 - 字根相连,指的是两个字根互相连接。比如
美
拆为𦍌大
,这两个字根是相连的。 - 字根相交,指的是两个字根互相交叉。比如
再
拆成一冂土
三个字根,便是相交的。 - 笔划断开,指的是一个笔划(横或竖)断开。比如
我
拆成丿扌戈
三个字根,其中的扌
和戈
两根的横本是一笔写成,但我们将横画断开。
「散连交断」,优先级依次下降,但都排在「字根最少」「结构完整」「符合笔顺」之后。
能散不连
两个字根互相分离,优于两个字根互相连接。
例
主
可以拆成丶王
也可以拆成亠土
。观察到,丶王
是散开的,而亠土
是相连的,后者符合「能散不连」。
能连不交
两个字根互相分离,优于两个字根互相交叉。
例
开
可以拆成一廾
也可以拆成二{介下}
。观察到,第一种拆法字根相连,第二种拆法字根相交。故而拆成一廾
符合「能连不交」。
能交不断
两个字根互相交叉,优于将笔画断开。
例
果
拆作日木
,不拆成田木
或甲木
,这是因为后者将中间的竖断开了。因为「字根相交」的优先级高于「笔画断开」,果
应当拆成日木
。
根少而断
为了根少和直观,有且只有以下两种情况可以断开笔画:
我識羲
等字中戈
的横。重熏
等字中千
的竖。
例
我
拆作丿扌戈
,不拆成丿扌乚丿丶
。虽然前者将中间的横断开了,但因为「字根最少」,我们选择只有三根的丿扌戈
。
熏
拆作千黑
,不拆成千囗丷二灬
。虽然前者将中间的竖断开了,但因为「字根最少」,我们选择只有两根的千黑
。
字根取大
字根取大,指的是按照笔顺拆字时:
- 让非「竖·撇变形部分」尽可能地大。
- 让首笔靠前的字根尽可能地大。
非变形部分取大
部分字根在做偏旁的时候,由于书法的考虑,会有「竖变撇」「撇变竖」的变化。它们称为「竖·撇变形根」。
竖·撇变形根
千
字根的丨
变成丿
干
字根的丨
变成丿
キ
字根的丨
变成丿
丰
字根的丨
变成丿
羊
字根的丨
变成丿
丌
字根的丿
变成丨
我们应当对非变形部分取大。
例
失
拆丿夫
而不拆牛乀
,因为牛
的一竖是撇。故而对夫
取大。
井
拆二{介下}
而不拆キ丨
,因为キ
的一竖是撇。故而对{介下}
取大。
严
拆为一业丿
,而不拆成丌丷厂
,因为后者中,丌
字根的丿
变成丨
。为了让非「竖·撇变形根」尽可能地大,我们取业
根。
另外一种拆法丌䒑丿
不取的原因是䒑
字根中的点应当和横相连(艹字头的行书写法),而严
字中两点分散了。这违反了字根的内在属性。
缓
拆纟爪干又
而不拆纟爪二夂
。虽然前者干
的竖是撇,但后者出现了「字根相交」。根据规则优先级,「字根相交」低于「字根相连」,故而拆为纟爪干又
。
不对称部分取大
部分字根在做独体字时,会有不对称的情况。我们应对不对称部分取大。
此规则只出现于大字集中。
例
宺
拆宀口一𫶧
而不拆宀口丌乚
,因为拆为丌乚
破坏了字根丌
的对称性。
向前取大
向前取大,让首笔靠前的字根的笔划数尽量地多。这是一个兜底原则,可以保证最终只有一个候选方案能够胜出。因此,它的优先级必然是所有拆字规则中最低的。
例
夬
拆为ユ人
,而不拆成乛大
,因为「字根取大」原则。让首笔靠前的字根的笔划数尽量地多,这里,ユ
的笔画数大于乛
。
丈
拆为𠂇丶
,而不拆成一乂
,因为「字根取大」原则。让首笔靠前的字根的笔划数尽量地多,这里,𠂇
的笔画数大于一
。
拆字举例
更多例字
想要了解更多具有代表性的例字在宇码中的拆分,请参见字海拾珍——必拆字举隅。
如果你想了解使用频率最为靠前的几百个汉字在宇码中的拆分,可以点击进入高频字拆分图解(简化字)或高频字拆分图解(传统字)页面。
实际拆字时,如果你感觉拆分方法不唯一,那么可以用以下方法找到最优解:
- 列出所有可能的候选拆分方案。
- 依照「少整顺散连交断大」的规则顺序,依次比较各个候选拆分。
- 如果所有的候选拆分都不满足本条规则,则进入下条规则。
- 如果部分的候选拆分满足本条规则,则该部分的候选拆分方案进入下条规则。
- 直到只有一个候选拆分方案胜出。
以下通过部分例字来说明拆分规则:
例
- 一例:
亷
。候选拆分亠丷厂彐〢八
和立丿彐〢八
。亠丷厂彐〢八
六根,立丿彐〢八
五根。后者字根最少,直接胜出。
- 又一例:
重
。候选拆分丿車一
和千里
。千里
是两根,满足「字根最少」,直接虽然中间一竖断开,但依然胜出。
- 又一例:
盡
。候选拆分コ土灬皿
乛龶灬皿
彐丄灬皿
{聿上}一灬皿
四种。- 都是四根,同时满足「字根最少」。
コ土灬皿
不符合笔顺,其他三者都完全符合笔顺。淘汰コ土灬皿
。- 上半部分都出现字根相交情况。
- 都不适用「结构合理」。
- 进入兜底规则「字根取大」。根据规则,只要其中某个字根多写一笔仍然符合笔顺,就多写一笔。观察到,
{聿上}一灬皿
的第一根一共写了四笔,故而胜出。
✅ ❌ - 又一例:
曱
yuē甴
yóu。曱
按笔顺取大,故而是日丨
。甴
,候选拆分为日丨
囗丄
。两者都是两根,都结构完整。按笔顺取大,故而是日丨
。
✅ ✅
上面的例子逻辑虽比较复杂,但是最终的结果还是非常直观的。在宇浩输入法中,大多数的时候,直观的拆分方法往往也是符合规则的。
前辈输入法的拆字规则,一般都有诸如「直观」、「符合笔顺」、「取大」等设置。但是优先级往往不够明确,很多拆分方法并不符合规则,存在不少特例。在常用字范围内,还可以通过大量练习来完成记忆,但到了大字集,规则不明确、规则相矛盾,都是造成检字困难的因素。 ↩︎
当然,汉字不是完全可以量化的,不同字形下,也会出现不同的拆分可能。除了良好的定义外,有时候比例原则也很重要。尤其在大字集上,追求单一拆分方法会扭曲汉字直观性,不能兼顾不同字形,让使用者需要大量尝试才能找到想要的字,这违背了大字集检字的初衷。因此,对于大字集,也会设置兼容拆分和容错码。 ↩︎
在进行拆分前,首先需要「确认」某个字根到底存不存在,是否合规,也就是检查字根的「内在属性」。比如
土
士
,两横的长度直接决定了字根的异同。其次需要检查一些「拆分禁手」,比如王
中间如果被笔画「穿心」,这是不被允许的。禁手有:散件不分割、竖向不包夹、横间不穿心。对这两点的讨论作为进阶内容,于此处跳过。若有兴趣,可以在后续章节 《进阶讨论》中阅读。 ↩︎为什么要有完全合笔顺这个规则,而且优先级那么高?在我的认知中,形码的基本出发点就是如同写字一样输入一系列笔画,即「五笔画输入法」。它是最自然,最直观的,所以宇码规则有了「符合笔顺」。但是,输入讲求效率,必须把一些笔画合并起来形成字根,它们的笔顺可能会相互穿插,所以要有「根少优先」这个规则,把它的优先级放在了「符合笔顺」的前面。最后,需要有个兜底条款「向前取大」来保证没有拆分歧义。因此,形码拆分有了「根少」「笔顺」「取大」,其实已经足够了。接下来的其他规则都是在这上面打补丁,为了让拆分更加「直观」。 ↩︎