前缀编码
上一节中您学习了冰雪清韵的拼写规则,能够输入词语中每个字的声母和韵母来检索词语,或者输入单字中每个字的声码和韵码来检索单字。本节中我们将声母韵母以及声码韵码重新组合成前缀码的格式,以进一步提高输入效率。
词语的前缀编码
标准编码
词语的标准编码规则为:先打前四个音节的声母编码;少于四个音节时,追加末音节的韵母编码。在下面的例子中,s 和 y 分别表示声母和韵母,下标表示音节的序号:
- 一音节词:格式为
s₁y₁,如「一」的编码为yi; - 二音节词:格式为
s₁s₂y₂,如「可以」的编码为kyi; - 三音节词:格式为
s₁s₂s₃y₃,如「为什么」的编码为wsme; - 四音节词:格式为
s₁s₂s₃s₄,如「感同身受」的编码为gtss; - 多音节词:格式为
s₁s₂s₃s₄,「科学发展观」的编码为kxfz,「哀莫大于心死」的编码为vmdy,「中华人民共和国」的编码为zhrm。
短编码
除了上述的标准编码外,对于二音节词和三音节词来说,只输入声母(即 s₁s₂ 和 s₁s₂s₃)时系统也会检索对应的字词,可以用空格或选择键上屏,这些编码称为短编码。
单字的前缀编码
标准编码
单字的前缀编码规则为:先打前三个字根和最后一个字根的声码;少于四个字根时,追加末字根的韵码。在下面的例子中,s 和 y 分别表示声码和韵码,下标表示字根的序号,特别地 sₙ 表示最后一个字根:
- 一字根字:格式为
s₁y₁,如「日」的编码为ri; - 二字根字:格式为
s₁s₂y₂,如「昌」的编码为rri; - 三字根字:格式为
s₁s₂s₃y₃,如「晶」的编码为rrri; - 四字根字:格式为
s₁s₂s₃s₄,如「𣊭」的编码为rrrr; - 多字根字:格式为
s₁s₂s₃sₙ。
短编码
除了上述的标准编码外,本方案中还有一些便于提高输入速度的编码,称为短编码:
- 「韵」码:7 个,的
e、我o、是i、不u、了a、在;、和/。只有二根及以上字可能有此种编码; - 「声空」和「声韵」码:120 个,第一码为字的第一码,第二码无理。只有二根及以上字可能有此种编码;
- 「声声空」码:441 个,取字的前两码。只有三根及以上字可能有此种编码;
- 「声声声空」码:若干,取字的前三码。只有四根及以上字可能有此种编码。
长编码
由于本方案的字根大多数采用声母和韵母安排键位,几个一字根字对应同样的标准编码的情况比较多,还有一些低频的一字根字把自己的标准编码位置让出来给高频字的「声韵」短编码。例如,「十」和「巳」的编码都是 si。为了让这些字也可以不需要选重就打出来,本方案为这些字设计了一些避重的编码,是在标准编码的前面加上一或二个 m(这个键称为「重 chóng」键);这些编码称为长编码:
- 属于《通用规范汉字表》的字根字,如果在「声韵」码不是首选,则具有「重声韵」码;
- 其他字根字,在「声韵」码必定不是首选,且具有「重重声韵」编码。
总结
单字的编码分为 3 类:标准编码、短编码和长编码。所有字都有标准编码,部分高频非字根字有短编码,部分低频字根字有长编码。
| 汉字 | 标准 | 短 | 长 |
|---|---|---|---|
| 一字根字 | ✅ | ❌ | 部分 |
| 非一字根字 | ✅ | 部分 | ❌ |
全码和简码
为了和主流输入方案保持术语的一致,根据上述讨论进一步定义可以与其他方案相比较的「全码」和「简码」概念:
- 全码:如果一个字有长编码,则全码是其长编码;否则是其标准编码。
- 简码:如果一个字有短编码,则简码是其短编码;否则是其全码。
在评测数据中提到的全码和简码就是上述的定义。也就是说,像「十 si」「巳 msi」这样的在评测时不作为全码重码看待。
词语和单字的顶功编码
前缀码由于最大码长限制为 4 码,在检索大词库、大字集时有可能会遇到重码多的情况。为此,我们可以在标准编码的基础上加上一个或多个大写字母,用小写和大写互斥的特性来进一步扩大编码空间。在下面的例子中,S 和 Y 表示大写的声母和韵母,特别地 ;,./ 的大写分别是 :<>?。
词语的顶功编码为:
- 二音节词:格式为
s₁s₂y₂Y₁ - 三音节词:格式为
s₁s₂s₃y₃Y₁ - 四音节词:格式为
s₁s₂s₃s₄Y₄,s₁s₂s₃s₄Y₄Y₁ - 多音节词:格式为
s₁s₂s₃s₄S₅..Sₙ,s₁s₂s₃s₄S₅..SₙYₙ,s₁s₂s₃s₄S₅..SₙYₙY₁
也就是说,在标准编码的基础上对于二、三音节词可以补首音节韵母,四音节词可以补末音节和首音节韵母,多音节词可以补第五个直到最后一个音节的声母再加上末音节和首音节韵母。
单字的顶功编码为:
- 二字根字:格式为
s₁s₂y₂Y₁ - 三字根字:格式为
s₁s₂s₃y₃Y₁ - 四字根字:格式为
s₁s₂s₃s₄Y₄,s₁s₂s₃s₄Y₄Y₁ - 多字根字:格式为
s₁s₂s₃s₄S₅..Sₙ,s₁s₂s₃s₄S₅..SₙYₙ,s₁s₂s₃s₄S₅..SₙYₙY₁
也就是说,在标准编码的基础上对于二、三字根字可以补首字根韵码,四字根字可以补末字根和首字根韵码,多字根字不再按前三末一取码而是输入所有字根的声码再加上末字根和首字根韵码。