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