双三拼输入方案的设计依据-兼谈音码的特性

双三拼输入方案的设计依据-兼谈音码的特性

全拼是使用最广泛的输入方案, 本身也是够用的, 因此设计一个和全拼不同的音码, 就需要考虑清楚是否真正解决了一些问题, 以及收益是否远大于成本. 如果只是能够勉强覆盖或者稍微超过一些, 都不足以打动人.

这是B站上的一个利用模糊音定制的方案, 与全拼完全兼容, 只是需要输入法支持自定义模糊音的功能. 视频链接放在下面, 我只截取了最终的设置规则.

不会双拼不要紧,全拼还能更快。拼音输入法全拼优化方案-自定义模糊音- bilibili.com

这个方案很多的体现了全拼中那些最大的问题和最容易被优化的点. 其中头一号就是ng. 用单字母代替ng可以解决全拼约四分之一的问题. 至于选哪个字母, 我选r, 因为有er这个音节在, 因此可以与全拼的规则兼容. 如果直接用n的话, 相当于不区分前后鼻音, 影响范围过大, 尤其是an和ang还是应该区分的. 当然有人平时就不区分前后鼻音的也可以试试, 在输入法里基本都可以设置.

从按键上来说, r的位置也是比较好按的, 参考上面的键值图.

其中深绿色8个键(键值为1和1.5)是手放在键盘的最初位置,也是最常用的键,击键率是越高越好,越高说明录入的效率越高,速度将越快!因此应将使用频率最高的字母和笔画放置在这里。而深红色的9个键(键值为4和5)是最难打字的区域,因此应将最少用的字母和笔画放置在这里。

其次就是zh ch sh. 其实我觉得直接去掉h并不是最好的方法, 但无疑是最简单的方法. 在想不到更好的办法时, 也只能先这样. 大部分输入法其实都自带这一模糊音规则, 只需要勾选就能生效, 但是会极大的增加同音字数量,如果没有其他手段筛选就会感觉并不划算. 因此真正启用的人并不多.

之后就是介音i u的问题了. 只要解决了介音, 拼音的码长就会进入三拼之内, 离双拼只有一步之遥, 对大多数人来说应该都够用了. 但是介音的问题要想解决好并不容易. 直接去掉会增加重码, 替换又找不到合适的字母. 我在开始的时候也是用字母替换, ia=y ua=w, 但是这样会破坏音节界限. 之后改成ia=ua=v, 除了d t n l之外也不会有歧义, 但是输入时感觉v的手感不好, 可能是因为在全拼里用的少的缘故, 突然要经常输入感觉不太适应. 最后决定不用v的组合, 组合只用aeiou这些最常见最好按的键, 加上作韵尾的nr键.

看一下这里的拼音韵母表, 中间的e基本都被省略了, 所以跟在介音后面的主要是a. 真正需要压缩的就是ian uan iao uai iang uang这六个音. 最后采用了分而治之的方式, 用拼音中不存在的uu组合代表uan, 省略形式ur代表uang, 而出现频率较低的iu组合代表iao/uai这一对, 原有的iu音合并到v. 同样, ian和iang用省略形式in ir表示, 而原本的in ir进一步省去i成为单字母的n r.

jqx这三个声母后面的i可以省略而不会和其他音节混淆. 利用这一点, 再加上之前的规则, 我们就从长度上实现了全拼降至三拼以内.

但是长度只是一方面, 如果不能方便的筛选的话, 这点长度的缩短还是不足以抵消改动成本, 因此还需要加上声调和笔画筛选. 这些是最简单标准的筛选方式, 不需要记忆部首字根等等, 用的都是从小学习的知识. 至于是否要用上声调, 我觉得还是要按照先音后形的顺序, 毕竟这是两个体系, 很多时候加个声调就能定位到字了, 就不需要再去想字形和笔画了. 声调并不是完美的筛选码 但应该是拼音体系里最简单的筛选码了.

声调的符号仍然是选择最容易输入的键, 左手边的a e, 右手边的o i. 轻声并入一声. 本来使用符号是最简单的方式, 但是使用过程中感觉到按键不便会极大降低输入意愿, 因此还是决定用最好的键位. 只是这样一来, 拼音和声调的连接就成了需要考虑的问题. 多输入一次隔音符号的方式个人感觉无法接受, 因此重新回到拼音组合来观察规律.

目前的拼音组合长度都是两位或三位, 声母固定为第一位. 韵母方面包含a e o i u v n r八个单韵母, 以及一些两字母组合韵母. 如果不整理的话, 判断声调起始位置就会比较困难. 比如guo会和gu的三声冲突. 整理的原则是用第三位来判断. 第三位是u n r时是韵尾, 出现a e o i时则是声调. 再加上v不参与组合, 因此韵母可以出现的组合形式就被限制到了15种.

au eu ou iu uu
an en on in un
ar er or ir ur

其中, au eu和拼音中的ua ue只是顺序相反, 因此互相对应. 其余大多数都有了安排, 只有on空闲, 因此就对应上拼音中的uo, ao过于常用, 直接并入o. 而ai ei ui这些i结尾的音只能选择并入其他音, ai并入a, ei并入e, ui并入v. 至此这一套拼音加声调的体系就基本可用了.

在开始的时候, 韵尾和声调是4+4组合iunr+aeov, 韵母组合共20种, 编码上非常整齐美观. 但是实际使用时, 感觉v的手感还是不如i, 因此决定牺牲一些美观度优先保证手感. 使用一段时间后感觉这种牺牲还是值得的.

再往后加上笔画筛选也很简单, 仍然使用和声调同样的按键, aeoiu代表横、竖、撇、点、折. 由于声调充当了分隔符, 不需要加引导符号, 直接按笔画顺序输入即可. 完整的笔画可能很长, 作为筛选码挑出一些关键笔就够了. 测试之后选用了第一笔, 第三笔, 末两笔. 其实大多数情况下用声调加上第一笔就可以筛选到一页之内了. 第三笔和末两笔并不直观, 只是相对来说筛选效果好一些. 当然即使全部输完可能还是有重码, 不过一般也就是两三个了. 进一步降低重码率会导致规则变复杂, 倒不如把选字做的更方便一些. 这方面得要感谢rime平台强大的定制能力, 可以设置用符号和大写字母来选字. 实际使用中感觉效果还不错. 同时给笔划加上了输入提示, 尽量避免思考笔画影响输入节奏.

剩下的一些问题基本都是在使用过程中发现并调整, 用w引导零声母, 声母n r合并进k f, 都是为了划分音节方便. 当然也考虑到这几个键位比较舒适, 而且这几个声母开头的字是最少的, 合并之后正好使得声母所含字数更均衡. 当然, 由于和全拼的习惯直接冲突, 这可能是这一方案里最难适应的地方了. 不过比起双拼那样十多个键都直接推翻, 数量上还是要少的多.

一声一韵的空码后来发现了一些, 约定gkhfw后i作为an的简码, bpmfw后v作为ar的简码. 而dn tn两个组合基本没什么字, 因此也可以作为dian tian的简码来用. qa字少, 而qan字多且常用, 也可以设置为简码.

整体使用下来感觉到, 在音码中, 拼写设计和筛选码同样重要, 普通话中同音字最多的那些音节 shi,de,yi,zhi,ji, bu, fu, yu, li, qi, xi, wu, ju, bi 本身拼写已经足够简单了, 如何高效筛选才是重点. 同时也要考虑如何将拼音码和筛选码有机结合, 高效的筛选码甚至使得一些相似的音节可以合并, 对提升编码的离散度也有帮助. 各种双拼加形的方案都是自己定义规则, 却不利用全拼声调笔画等公共知识, 所以始终难以让人放心尝试. 当然, 多数双拼方案出现的年代早, 没有rime这样方便的平台进行测试, 这是时代的局限. 即使在今天, 离开rime, 还是很难把这种自定义的规则做成可用的软件. 我们今天有了更多的条件, 所以可以比前人多做一些事情. 个人基于此做了一个简单的方案, 欢迎大家试用和提意见.

比全拼简单, 比双拼好学, 双三拼, 更好的拼音输入法

编辑于 2026-08-04 · 著作权归作者所有