关于带声调汉语拼音字母的输入

字数 804阅读 857

作者按:本篇最初于2017年6月15日发表于知乎,在此作为简书等文字平台的首篇文章,前述平台之间的知识产权相关协议没有冲突。各平台内所有作者原创内容的版权归作者所有。


关注 Rime 这个输入法挺久的,不过今天才开始下载使用。花了小半天时间调整,不得不说用这种可以自己定制的输入法打字有种莫名的愉悦感。

在配置符号输入文档 symbols.yaml 时,关于汉语拼音字母输入的相关代码如下:

'/py':[ā,á,ǎ,à,ō,ó,ǒ,ò,ê,ē,é,ě,è,ī,í,ǐ,ì,ū,ú,ǔ,ù,ü,ǖ,ǘ,ǚ,ǜ,,ń,ň,]

方括号里的字母(也许你会看到有两个地方是方框或者空白,这个下文再说),就是输入法默认的汉语拼音字母输入可选项,跟大部分输入法符号输入菜单里的那些一样。这些字母倒是能应对大部分的汉语拼音录入需求,但要求更高的话,这还不够。一是没有大写的带声调拼音字母。二是字母的收录还不完全。

另外还有一个重要的问题,这个字母名单里混入了两个位于 Unicode 私人使用区的编码字符。在没有特定字体的支持下,输入这两个字符可能得不到正确的结果。

就是我一开始说到的那两个可能是方框或者空白的字符,它们的 Unicode 代码点分别是 U+E7C7 和 U+E7C8。在中易宋体等一帮国标字体中,这两个码点各对应字母 ḿ 和 ǹ。

搜狗符号输入菜单里的 ḿ 和 ǹ 也是私人使用区的字符,中易宋体可以显示

而真正属于 ḿ 和 ǹ 的码点分别是 U+1E3F 和 U+01F9。输入私人使用区的字符显然是舍近求远。

我在这里提供我修改后的代码,增加了大写字母输入,增收并修订字母,可以说《汉语拼音方案》中的带符号字母都能输入,效果参见题图:

'/py':[ā,á,ǎ,à,ō,ó,ǒ,ò,ê,ê̄,ế,ê̌,ề,ē,é,ě,è,ī,í,ǐ,ì,ū,ú,ǔ,ù,ü,ǖ,ǘ,ǚ,ǜ,m̄,ḿ,m̀,ń,ň,ǹ,ẑ,ĉ,ŝ,ŋ]

'/pyd':[Ā,Á,Ǎ,À,Ō,Ó,Ǒ,Ò,Ê,Ê̄,Ế,Ê̌,Ề,Ē,É,Ě,È,Ī,Í,Ǐ,Ì,Ū,Ú,Ǔ,Ù,Ü,Ǖ,Ǘ,Ǚ,Ǜ,M̄,Ḿ,M̀,Ń,Ň,Ǹ,Ẑ,Ĉ,Ŝ,Ŋ]

其他输入法的用户也可以把方括号里的字母拎出来加入到各自的配置文档或词库中。

不过其中有3个字母是用组合标记组合起来的,并非独立字符,显示效果可能不稳定——因为这3个字母没有被收进 Unicode:


(8月18日更新:另据TIB 的文章,M̄m̄ 也会出现于汉语拼音中,但同样没有收录进 Unicode。前文代码也已更新。)

本来考虑着能否将它们收进 Unicode,但梁海和 Eisoch 均表示没有可能,那也就只能这样用着了。

嗯。(汉语拼音:ǹ)

推荐阅读更多精彩内容