Google输入法国际音标辅助输入扩展

算起来,搜狗拼音输入法已经用了七八年了。不得不说,搜狗确实是个非常成功的输入法。当年紫光拼音一改智能ABC龟速、死板的风格,开了风气之先,而后天天崩溃被人抛弃之后,搜狗算是完美的接了它的班。不过,在国内软件行业乌烟瘴气的环境下,搜狗一个单纯输入法也被搞成了个大杂烩。如果说为了功能牺牲点性能是值得的话,那为了抢占地盘搞出的SGImeGuard.exe进程就实在是让人觉得有点不爽了,3Q大战把用户电脑当战场埋下的恶之因在中国软件市场简直是遍地开花结果,连一小小的输入法都要在人家电脑上Guard那本不是它的一亩三分地。

说了这么多,其实就是喜新厌旧了,嘿嘿。前两天偶然看到一篇介绍Google输入法的文章,把它的简洁纯粹好好的吹嘘了一番,于是突然想体验下试试新的风格。

Google的东西简洁、高效,和搜狗相比,各类最常用的输入功能都已经具备,动态词频调整、用户自定义词库自不在话下,拆字输入、笔画输入、英文输入也是一个不缺。Google唯一比较弱势的地方在搜狗所谓的“云输入”功能,搜狗这七八年来突飞猛进,早已占据了中国输入法软件市场的半壁江山,它所拥有的庞大用户群每天输入的词汇、句子形成了一个巨大的词(句)库,这对提高输入速度和准确度提供了极好的支撑,根据所谓“大数据”理论,这个资源足以使它在中文输入法领域立于不败之地。Google就没那么happy了,虽然是世界网络巨头,无奈天朝墙高水深电阻大,即使用它的天朝人也不少,可是能每天实时上传、同步自己输入数据的人实在难成气候,现在看来Google输入法也只能暂时安心待在“地上”遥望“云端”了。

话说回来,Google虽然输入的精准性可能比不上搜狗,但贵在快速、流畅、精干——少了许多花里胡哨的皮肤,没有各类只占资源没任何实际价值的弹窗,却多了自定义扩展这一具有“无限可能”的“高端”功能。和搜狗想把用户的各种需求都打包进输入法既当爹又当妈还想当领导的思路不同,Google发扬其一贯的开放精神,为其输入法加入了公开的API接口,让用户有了根据自己需要定制功能的可能。Google输入法自带的扩展中已经通过几个简单的程序把搜狗输入法中v模式下的算术、函数等功能实现了,剩下那几个数字转换、日期转换稍稍改改代码也是手到擒来,另外,它自带的“查询unicode编码”功能对文本处理编程来说也是简单实用。

于是突然就想起偶曾经的老本行——各类繁杂字符、国际音标的输入问题。国际音标这东西在我们这领域使用频率说高不高、说低不低。在出现频率高的情景下,潘悟云等先生开发的云龙、灵风输入法和江荻等先生开发的蓝蝶输入法都已经能很完美的解决国际音标的输入问题,他们对语言学界的贡献自是有目共睹。不过,在平常行文时,常会遇到中文掺杂少量音标的情况,此时常需要用ctrl+shift来回切换输入法,如果电脑上装了3个或更多输入法(比如搜狗拼音+手写逍遥笔+国际音标),输入一次音标并切回状态的按键顺序是:ctrl+shift→ctrl+shift→音标→Ctrl+shift,左手共需离开原位两次并按两次组合键(当然也可以给输入法绑定快捷键,如搜狗ctrl+~,音标用ctrl+1,操作可减为两次,但这东西老失灵,怀疑正是搜狗的问题),如果这样混输多随机出现几次,偶这种强迫症患者实在是会有些不爽。

再一次发现自己有磨刀型强迫症——可以用为吃泡面而盖房子的故事来诠释:某天突然想吃泡面了→那得有个锅煮面最好→有锅了最好有个厨房做饭→要厨房不如直接盖栋房子→OK开工盖房子,房子盖好了突然发现,好像我只想吃个泡面而已啊……

以下正题:

1. 目标:

在中文混杂少量音标的输入环境下,在双手尽可能不离开键盘、尽可能减少切换的情况下,完成个别国际音标的输入。本扩展无法作为大规模国际音标输入之用途。

2. 实现方法:

使用Google拼音输入法的扩展API,结合灵风输入法的编码方案(可根据自己习惯定制编码),编写一个简单的国际音标输入的“命令扩展”。

3. 安装及使用方法:

安装google拼音输入法(下载地址),下载(链接:http://pan.baidu.com/s/1dDvol8l 密码:1wyt)ipa.lua文件,双击即会弹出google输入法扩展设置窗口如下,勾选【启用输入法扩展模式】及下面的ipa.lua即可。使用方法见下文“扩展说明”部分。

google拼音输入法设置

4. 扩展说明:

Google拼音的扩展分为命令扩展、整合扩展和转换器扩展三种,这里使用的是“命令扩展”。所谓“命令扩展”是“将脚本程序中的某个入口函数关联到一个两字母长的自定义命令。当用户先键入i然后键入该命令时,输入法即激活该扩展函数,然后在候选项列表中显示扩展函数返回的候选项结果”。以Google自带的计算功能来说(搜狗也有此功能,使用方法是输入v+算式),输入i+扩展名标记js+算式,输入法即可自动计算算式结果,如下图:

undefined同样,这里的国际音标输入扩展的使用方法是,输入i+我的扩展标记pa+国际音标编码(扩展模式打开标记i加扩展名称pa正好组成ipa,International Phonetic Alphabet**,方便记忆),即可输入:

本扩展支持单码和多码,候选字有多个时,可用数字键上屏(首字当然可直接空格),如候选字多,可继续输入多码筛选,如:

5. 编码说明:

编码暂直接采用潘先生等设计的灵风输入法的编码方案,具体编码规则见东方语言学网站软件下载区灵风输入法使用说明。扩展中的编码并不完整,如有不足可自己设计添加,另外因扩展中数字键需用来选字上屏,数字无法直接用于编码,因此原编码方案中的数字做了如下处理:

1. 圈发符号的数字1-4换左手上排qwer代替,5-8用右手yuio代替,如下:

2. 上标时数字调号,用字母键盘最上排字母代替数字1-0,即:

Q W E R T Y U I O P
1 2 3 4 5 6 7 8 9 0

3. θ原编码为数字0,改为oo-,此类的还有∅等。

6. 其他相关修改:

逗号键( ,< )和句号键(.>)键一般作为翻页用,编码中 . 号失效,故一律转换为 d ,虽和表示字符倒转的 d (如 ad, ɐ)相冲突,增加了重码,但起码功能能继续保持,具体涉及音标:

同样可能由于句点键与翻页键相冲突,候选字超过一页时,逗号、句号键翻页和+-号翻页都失效了,目前只能通过pageup、pagedown键和鼠标翻页。

7. 扩展编辑方法说明:

扩展文件ipa.lua是一个简单的脚本文件,可以使用任何文本编辑器(如记事本)打开和编辑,其内容分编码和程序两部分,结构如下:
程序部分非常简单,也无需进行修改,如要修改扩展标记(pa),可修改最后一句第一个引号内的pa,只支持两个英文字母,不能多不能少。码表部分每行的格式是: 编码+空格+编码所辖字符(各字符间用英文逗号隔开)。