c³ 拆分可行性研究
本文将结合拆分表的定量评价一文中提出的指标,来讨论如何设计 c³ 输入方案的拆分。c³ 将会和 c⁴² 一样 是一个三拆补音的方案,以下的讨论都是基于这一前提的。
审美需求:意音拆分
汉字通常被称为「象形文字」,不过学术上更准确的称呼是「意音文字」或曰「语素文字」。「意音文字」的定义是文字中的符号(字位)可以同时表示符号的读音和含义,也就是说音、形、义三者是统一的。汉字属于意音文字,因为占字的总量的绝大多数的形声字是由意符(形旁)和音符(声旁)组成的。
- 音符一般只有一个(不过「瓩」这样的字有两个音符)
- 意符可以有一个、两个(例如「鸿」的「水」和「鸟」都是意符)
在设计形码输入法时,汉字的拆分就其定义而言当然是表形的,那么有没有可能同时表意和表音呢?请看 c42 的如下编码:
- 爱 ai 暧 bai 嫒 xai 嗳 oai 瑷 eai
- 安 an 按 jan 晏 ban 鞍 fan 桉 gan 胺 nan 铵 lan
- 执 zi 挚 zij 贽 zim 鸷 zis 絷 ziv
这些编码里,字的意符恰好对应一个编码,而字的音符的编码恰好是音符的拼音(忽略平翘舌),也是整个字的拼音。再看如下编码:
- 令 is 囹 qis 岭 wis 玲 eis 怜 yis 伶 iis 呤 ois 柃 gis 聆 his 拎 jis 冷 kis 铃 lis 蛉 cis 泠 vis 零 mis
- 台 vo 眙 qvo 殆 evo 怡 yvo 诒 uvo 绐 svo 苔 hvo 抬 jvo 冶 kvo 跆 zvo 始 xvo 治 vvo 胎 nvo 贻 mvo
虽然「令」的拼音不是 is,「台」的拼音也不是 vo,但是在这些字里用于表示字的音符的编码是统一的。换句话说,is 和 vo 在这里就起到了表音的作用,在输入这些字的时候,是类似于「双拼 + 辅助码」的体验,只不过这里的双拼并不对应现代汉语的语音。下面我们给出「意音拆分」的定义:
意音拆分:汉字的意符和音符在拆分和编码中有相对固定的表示,从而拆分不仅表形,还表音和表意。
乍一看这个特点是很容易被满足的,只要按顺序拆分意符和音符就可以了。但是,对于三码方案而言,实现意音拆分有一定的挑战性,因为总的拆分数量很可能大于三。例如,在「首、二、末」的取码规则下,可能会出现:
- 意符的完整性问题:假设「糸」不是字根,那么「紊」中它会被二拆,但在「繁」中它只会取到最后一码「小」
- 音符的完整性问题:假设「鼠」不是字根,那么「溪」中的「奚」取为「爫、大」,但「鼷」中只取到「大」
因此,三码方案中意符需要尽可能作为字根,音符需要尽可能在两拆中拆完,才能保证比较好地实现意音拆分。在现有的输入方案中,山人和虎码比较好地照顾到了意符的完整性,可以作为参考,不过音符的完整性目前还没有太多人研究过。
易学需求:提高递归性和连续性
在拆分表的定量评价中我们定义了递归性和连续性作为拆分的指标。先考虑连续性。在三拆的情况下,取末码导致的不连续的情况明显增多,而且这种不连续在末根不是在右下角的时候尤为不直观,例如
- 「惕」的末根是「两撇」
- 「蝎」的末根是「折」
- 「僦」的末根是「点」
再考虑递归性,因为同一个部件在字中可能在前面出现也可能在后面出现,例如「蟹、懈、邂」等,取末码会导致取法不一样。
综上所述,对于三拆的情况,「首、二、末」可能并不是最好的办法。意音拆分和递归性要求必须考虑到汉字自然分部的因素,连续性则要求我们尽可能顺序取码。因此,如果能基于顺取和分部来设计新的取码方法,在不引起太多歧义的情况下使得递归性和连续性得分明显优于「首、二、末」,那么就可以认为这是更好的取码方法。
对于分部,目前看到研究最透彻的是张码,所以先向张码借鉴一些术语。
- 左右、左中右结构称为「并型」
- 上下、上中下结构称为「叠型」
- 各种包围、半包围结构统称「围型」
- 如果「叠型」中的一部分是左右结构,那么称这部分为「叠眼」,这个叠型称为「眼叠」
可以看到这种规则的优点在于单型、围型和一般叠型(非「眼叠」)的规则是统一的,都是「首、二、三、末」。用过二笔类方案的都知道,汉字大多数分部的歧义都在于叠型汉字,所以一般叠型顺取已经解决了大部分歧义。但是缺点在于涉及到「眼叠」时规则复杂,而且对于并型汉字的处理既需要分部,又需要首末,相当于两种思维并存。不过好在 c³ 是三拆方案,可以对其中的大多数情况合并或简化。