拼音输入

拼音输入是目前绝对主流的中文输入法,但汉字一音多字的特性导致基于语音的 单字输入永远有无数重码。要想减少重码就只能借助于上下文和词组,从早期的 “智能ABC”内置的固定词组,到而后的用户动态词库,到后来常见的外挂词库最 后到现在的云词库,拼音输入始终在尝试着用更大更“智能”的词库来去除单字的 重复。

这种方法的优点是只要词库够大够好,以及对输入上下文的理解足够正确,如果 用户坚持只使用词语输入的话,输入法大概率能做到把用户想要输入的词语提到 第一行首选之内。

词或字

但从用户的角度来说,在使用拼音输入法的时候,使用习惯强迫了用户保持以词 语为单元的输入方式——乃至于熟练的用户在需要输入单个汉字的场景下,也会先 打出词组然后删去其他字只留下需要的字,因为那样更快。更有潜移默化中,使 用者会下意识的回避词库里预期不会存在的词语,因为那意味着需要中断思路, 在选字上花上一番功夫。

传统的书面记录方式不是这样的,用笔在稿纸上写字的时候,整个过程的基础和 核心是书写单个的字。即使脑子里已经构思好下一个用词甚至整个句子,在写下 的时候依然是一字一字的完成,行文的表现力不会受到词库的制约和输入法的干 扰。

回想日常生活的场景的话,IM 工具里的聊天是说话;大部分发的帖子是说话, 一小部分算是书面;Twitter 和微博里,基本上所有的回复和大部分自己发的内 容是在说话,一小部分自己的原创可能是书面;严肃的写作应该都是书面记录。

形码输入法

那么书面的创作的话,脱离以词组为核心的拼音输入法,回归到某种类似于写字 的单字输入法会不会来得更好呢?

可惜现实中并没有真正“跟写字一样的输入法”。考虑到单字输入的场景,对重码 的要求会很高,形码输入法虽然不都是为了单字输入设计,但在重码率上大多能 达到要求。

几乎所有的形码输入都脱不开“字-字根-拉丁字母”的转换(尽管仓颉的概念略有 不同),虽然从构字的角度,“字根”本身就是一个为输入法生造出来的概念,但 从汉字到字母的对应,却很难抛开这个设计,笔画太笼统而部首太繁杂。各种形 码输入法的区别主要也就是体现在如何把字变成字根以及如何让字根对映到拉丁 字母(键盘按键)上。

简单考察五笔、郑码、仓颉这三个相对主流的中文形码输入法。

仓颉的路子跟其他两个不同,严格上说它并不是把字拆成字根,而是拿仓颉字母 来组字。这造成了仓颉重字形而轻笔画,某种意义上更接近于它名字的本意:是 个造字法而不是输入法(选字/检字法)。仓颉的发明者本身也更青睐汉字的组 字技术而非现在通行的汉字字体。作为输入法的话它编码略长,单字一般五个字 母,而且不完全依照笔顺,某些笔画会向形状妥协造成断笔。

郑码却跟仓颉完全相反,它是个纯粹的检字法。利用字根编码来依次确定一个汉 字,基本上可以做到单字四个字母的编码。字根的编排上郑码将横竖撇捺折若干 字根对映到英文字母表顺序上。这里的字母表顺序是我认为的郑码的最大缺点: 不管是常见的 qwerty 键盘还是其他布局,都跟字母表顺序没有关联,字根的字 母表排序看似有规律,但放到键盘上跟乱序没什么差别,可能还不如基于按键使 用率的“乱序”排列。所以郑码更像是个给字典用的通用检字法而不是计算机的输 入法。

五笔大体上跟郑码类似,但字根数量略少。批评者说五笔在拆字上没有郑码科学, 这一点有可能存在,但很难从短时间的学习上看出来。五笔的字根跟拉丁字母的 对映上是跟着 qwerty 的键盘布局走的,按上下左右把按键分成五个区,分别对 应横竖撇捺折五个分类的字根,这是个相对合理的做法。

所以最终选取五笔作为下一部的尝试,貌似随俗,但反过来想五笔之所以能在其 他形码的竞争中活到最后,跟它本身的设计相对合理也分不开吧。归根结底,五 笔并不是我期待中的如写字一般的理想字形输入法,但至少比现存的其他形码强。

综上,后面将会开始学习五笔的使用并逐渐用到偏书面的书写当中,等我的体验 更新(´▽`)