双拼相比全拼有什么缺陷?
作为一个什么键盘模式都喜欢玩一下的人,双拼算是我目前用下来觉得非常好的一类输入法,使用上问题很小。但推广上问题很大。
在我看来,最大的问题是双拼没有一个最优方案。这需要细说。
双拼说白了就是把声母韵母分开,一次按键决定声母,一次按键决定韵母,这样两次敲击就能打出全拼,是为双拼。所以这里顺便反驳一些关于输入纠错之类的说法——双拼展开就是全拼,一样可以模糊,一样可以自动纠错,这上面没有任何技术困难,直接用全拼的技术就好。
但是要把这两次敲击映射到键盘上就有问题了。声母的部分好办,满打满算23个标准声母+一个元音声母+非标准声母一个两个的,26个字母全都用上怎么都够了;但韵母标准24个实际上41个,即便把ian/uang、ong/iong之类的直观的互斥相关项合并掉,仍然没法放在26个字母里。
(这里为了严谨性插一句,拼音系统实际上在一些情况下认为不分声母韵母也就是整体认读,还有并不实际存在于普通字典上的韵母,所以这里讨论的完全是输入法意义上的声母韵母)
这时候就有两种解决模式——
一种,是使用“;”(semi-colon,分号)键也来输入韵母。例如微软双拼。
另一种,是进一步压缩同键位的韵母,使得总数少于等于26个键位。例如智能ABC。
这两种做法都不完美。
在普通键盘上,使用分号键的模式是十分好用的——因为键盘布局是较为固定的,分号总在那里。多一个分号键貌似也就提供一个键位,但对于输入的合理性影响是很大的。
原因是,韵母里有几个比较难处理的“小”韵母(指对应字没那么多):
ing/ia/ua/er/iao/uai等
这些韵母,首先互相之间很难合并——往往会造成重码字变多,比如ling/liao;又难以和其他韵母“合乎直觉”地并在一起,比如ing/ang、ing/in合并似乎合理但重码字大幅增加、ing/uai似乎合并之后不会产生几个重码但两者放在一起却是一个不直观的组合。
所以用分号键的好处看起来只是多一个按键,但其实影响很大——这等于一下子多了26个键码,实际上会大幅降低重码率。
但问题是,分号键只在普通键盘上好用。因为手机键盘等非标准键盘上有可能并没有分号键,即便有,它的位置也往往跟随具体实现而放在不同的位置上。
这时候,所有用了分号键的双拼方案就变得十分复杂——比如,在Android上熟悉的键位在iPhone上就乱套了,要找按键;甚至有些情况下无法完成输入,比如我曾经买过的一款许多年前流行过的折叠键盘上面甚至没有分号键。
但,如果为了避免分号键,又会陷入另一种麻烦就是所有不用分号键的方案经常键位对不上。这就是上面提到的问题——合并键码的时候总会有一些不直观不好记的位置。
于是这些问题综合起来导致双拼虽然想法很合理,但各种实现纷繁复杂,各自为战,彼此都无法彻底胜出。没法彻底胜出就产生了传播上的问题——我向任何人推荐一种方案,都会有可能被别人指摘推荐的方案不好。因为确实,每一款方案都有自己的问题。
如果你只是想要改善自己的中文输入体验,我个人还是很推荐尝试的。如果希望在手机上用起来更顺畅,我会推荐国标方案——支持相对广泛一点(但也就是一点),避免分号键。如果希望整体上误码率低、相对通用度好一点,我会建议直接微软拼音方案。
整体上我个人觉得双拼的学习成本并不高,我自己打了一张对照图贴在屏幕边上,对着敲了一个答案、聊了会儿天,总共也就大概3小时时间就基本记住了,剩下偶尔打错的时候多尝试一下就行,前后不到一周就能无错盲打了。不是一件很花时间的事情。
只是,用了觉得不好的时候希望别来说我推荐的不好。
