为方便小小输入法爱好者定制和使用双拼方案,特制作此帮助文档,以下主要以小鹤双拼方案为例讲解在小小输入法中定制双拼规则,进行参数设置等,对于其它双拼用户也具有通用性,可参考设置。由于本人非双拼用户,部分内容参考了小鹤官方文档简介。如在设置和使用有任何问题,敬请反馈,我再进一步完善!
小小Q群:23262261,官方论坛:http://yong.dgod.net/
全拼中有几个音节是没有声母的, 没有声母即零声母:a、an、ai、ao、ang、e、en、ei、er、eng、o、ou
全拼中这几个没有声母的音节可以直接打韵母,双拼则需要把这个零声母实质化,于是就有了零声母方案
单一零声母方案(又称固定零声母方案),如微软双拼方案:固定一个字母做零声母 + 韵母所在键
三分零声母方案(又称非固定零声母方案),如加加双拼方案:韵母首字母为零声母 + 韵母所在键
小鹤双拼或自然双拼方案:唯一区别就是双字母音节保持全拼方式不变,如ai en ou er,一三字母音节为:首字母+韵母所在键,如:ee(e)、ah(ang)
b p m f d t n l g k h j q x zh ch sh r z c s y w 其中zh ch sh分别用v i u代替,其余不变
单韵母6个:a o e i u ü
其中a o e作单音节声母时用aa oo ee代替,作韵母时不变。i u ü只能作韵母,分别用i u v表示
复韵母9个:ai ei ui ao ou iu ie üe er
分别对应:d w v c z q p t er(零声母)
前鼻韵5个:an en in un ün
分别对应:j f b y y
后鼻韵4个:ang eng ing ong
分别对应:ah eg k s
整体认读16个:zhi chi shi ri zi ci si yi wu yu ye yue yuan yin yun ying
分别对应:vi ii ui ri zi ci si yi wu yu ye yt yr yb yy yk
介母3个:i u ü
其中ü与n、l在一起时使用写作nü、lü,和j、q、x、y在一起使用写作ju、qu、xu、yu1
不同于自然码的韵音有15个:ai ao ei er ia ie in ing iao ou ua un uai uang iang
非韵母音节有10个:uan ve(üe) uo iong uai uang ia ua iao ian,对应按键如下:
uan->r ve(üe)->t uo->o iong->s uai->k uang->l ia->x ua->x iao->n ian->m
以上2种音节不同双拼方案对应的按键可能不同,均需要定制相应双拼规则文件才能实现双拼挂载
在拼音中挂接双拼方案(小鹤双拼、微软双拼等),最重要的是制作双拼规则文件,该文件后缀为.sp,文件名可自定义,例如hepy.sp。文件编码格式为GB18030(或者GB2312、GBK),最好不要使用UTF-8编码。
规则说明:每行一个全拼和双拼的对应,格式为全拼 【声母+韵音】,如bai bd。如果双拼和自然码规则一致可以不设置规则,主要有以下音节:
| a | aa |
|---|---|
| ai | ai |
| an | an |
| ang | ah |
| ao | ao |
| e | ee |
| en | en |
| er | er |
| o | oo |
| ou | ou |
以下为sp文件定制规则示例:
1#小鹤双拼2#制作:by 初一的阳光 202306263#本文件可通过http://yong.dgod.net/edit/sp.html自动生成,但似乎不全面,建议纯手工打造4#更新历史(新版中若未加入以下规则可能会导致候选不出字)5#20221010加入eng 音处理6#20230108加入chua 音处理7#20230226加入biang音处理8#20230311加入rua 音处理9#20230311加入tei 音处理10#零声母处理(默认与自然码一致可不设置)11#ang ah12bai bd13bao bc14bei bw15biang bl16biao bn17bie bp18bin bb19bing bk20cai cd21cao cc22chai id23chao ic24chou iz25chua ix26chuai ik27chuang il28chun iy29cou cz30cun cy31dai dd32dao dc33dei dw34dia dx35diao dn36die dp37ding dk38dou dz39dun dy40eng eg41fei fw42fou fz43gai gd44gao gc45gei gw46gou gz47gua gx48guai gk49guang gl50gun gy51hai hd52hao hc53hei hw54hou hz55hua hx56huai hk57huang hl58hun hy59jia jx60jiang jl61jiao jn62jie jp63jin jb64jing jk65jun jy66kai kd67kao kc68kei kw69kou kz70kua kx71kuai kk72kuang kl73kun ky74lai ld75lao lc76lei lw77lia lx78liang ll79liao ln80lie lp81lin lb82ling lk83lou lz84lun ly85mai md86mao mc87mei mw88miao mn89mie mp90min mb91ming mk92mou mz93nai nd94nao nc95nei nw96niang nl97niao nn98nie np99nin nb100ning nk101#程序暂未支持的音102#nun ny103nou nz104pai pd105pao pc106pei pw107piao pn108pie pp109pin pb110ping pk111pou pz112qia qx113qiang ql114qiao qn115qie qp116qin qb117qing qk118qun qy119rao rc120rou rz121rua rx122run ry123sai sd124sao sc125shai ud126shao uc127shei uw128shou uz129shua ux130shuai uk131shuang ul132shun uy133sou sz134sun sy135tai td136tao tc137tei tw138tiao tn139tie tp140ting tk141tou tz142tun ty143wai wd144wei ww145xia xx146xiang xl147xiao xn148xie xp149xin xb150xing xk151xun xy152yao yc153yin yb154ying yk155you yz156yun yy157zai zd158zao zc159zei zw160zhai vd161zhao vc162zhei vw163zhou vz164zhua vx165zhuai vk166zhuang vl167zhun vy168zou zz169zun zy注意事项:
1.此文件不能有空行,文件编码应设为GB2312、GBK或GB18030,否则会出现乱码
2.如果根目录和配置文件目录中同时存在多个sp文件时会优先使用.yong目录中的文件
3.第一行的注释为图形设置界面的显示名称(输入法->拼音->双拼),若无注释则显示该文件名

小小输入法双拼是在拼音(全拼)的码表基础上外挂双拼规则文件来实现的,要想使用双拼需要掌握如何挂载,如何启用,以及如何快速的切换方案。以下小鹤双拼为例:
将上节中的示例代码保存为hepy.sp文件,将其放在输入法根目录或用户配置目录中(%APPDATA%\yong或.yong),并在yong.ini中设置[pinyin]->sp=hepy(不带.sp后缀)即可启用双拼。若要使用自然码双拼可设sp=zrm。
配置文件中设置overlay=mb/sp.ini或打开图形设置界面选择“输入法->拼音->双拼”2,下拉菜单中选择相应双拼方案。此步目的是使用sp.ini专项配置文件(取消tEN bihua参数),以适配双拼输入规则。
重启/重载输入法即可进行双拼输入。

专项配置文件须知。为有更良好的双拼使用体验,建议将双拼的一些专有设置保存到sp.ini中,如连续间接辅助码、自定义短语的分词库等,相关参数设置和说明请查看双拼专项配置文件说明。
直通车的使用技巧。新版输入法中提供了yong-config.exe --set程序调用方法,可利用直通车快速在双拼和全拼中切换配置文件。具体方法如下:
xxxxxxxxxx31#在拼音码表或用户词库中设置直通车词条2quanpin $GO([切换全拼],yong-config.exe$_--set$_pinyin$_overlay$_"mb/pinyin.ini"$_--reload)3vu $GO([切换双拼],yong-config.exe$_--set$_pinyin$_overlay$_"mb/sp.ini"$_--reload)若需更精准的切换,可在专项配置文件的分词库(用户词库)中设置切换全拼和双拼的直通车

双拼简单使用说明。双拼支持用shift+[a-z]快速定位编码位置。支持一键简拼功能,即在输入时,按单引号'可切换简拼模式,比如输入jua按'输出“就是啊”。最常用的是使用辅辅码,请看下节。
双拼使用注意事项。拼音码表中支持自定义短语(非正常拼音编码),但双拼时可能有问题。目前双拼不支持符号如; / .等作为编码,也不完全支持$[]、$|等用法,如直通车ykh $[圆括号]($|)不会显示这个候选(需要加一组正常的编码ykh 圆括号才显示)。

辅助码的作用是在正常编码之外输入额外编码,以达到筛选候选项减少重码的目的,由[pinyin]->assist参数指定,如assist=mb/yong.txt 2,表示使用永码的第3码,即形部编码。辅助码分为间接辅助码和直接辅助码。3
间接辅助码。是在正常输入编码之后先按一个引导键(TAB键)进入间接辅助码模式,然后再输入辅助码,作一次筛选,减少候选的数量。
直接辅助码。在正常编码之后直接输入辅助码(多为音形码的形部),比如输入“zici”,候选有“自此、字词”,此时再继续输入y如 ziciy ,“字词”就会位于首选。识别规则:单字识别汉字形部首码,词语和句子识别末字首码,例如打 vijpf 得到“直接”。4
间接辅助码的使用。默认按TAB键5之后第一个按键识别为辅助码,再输入时则为正常后续编码,在设置[pinyin]->assist_series=1后为连续间接辅助码,TAB键之后可连续输入不同按键直到筛选出合适的字。比如打“一个线程”,输入yigexmig由于词库中没有这个词,得到的会是“一个县城”,这时可按TAB键,然后逐一输入辅助码a r s t并选择需要的字即可。
直接辅助码的使用。双拼支持输入直接辅助码和间接辅助码。比如要打“移除”,只需输入yiiue,此时就会将该词筛至首选,或按照间接辅助码的方式输入yiiuTABh,也可筛选出来。双拼还支持单字双拼双辅,即正常编码后再连续输入2位辅助码,然后按TAB键得到相应单字,比如要打“辐”字,可输入fuit,默认在首选中是其它无用的词,再按TAB键就筛出“辐”字。
辅助码的使用问题。辅助码也不一定都准确或者说智能的,例如打“一个线程”,想使用直接辅助码来输入yigexmigh,却输出的是“一个县程”。因为词库中有“一个县”这个词,输入法不知道你需要的是“一个”还是“一个县”,这时可按切分键将yige和xmigh进行正确切分就能得到合适的词6,或者使用间接辅助码来输入,看哪种方式方便就选用哪种。


为设置一些区别于其它方案的参数,如自动造词、简拼、联想、辅助码等,可设置专项配置文件sp.ini。
x1#名称:双拼专项配置文件(附部分问题说明)2[IM]3overlay=libmb.so mb/pinyin.txt4#自动调频,0禁用调频(默认),1快速调频,2比较慢点的调频(逐次上移)5auto_move=26#高级编码提示,用于候选编码的美化,具体用法详见官方帮助文档7key_desc=mb/sp.dsc8
9[key]10#切分编码长度,用来匹配字词的编码位置(拼音输入法的特定设置),与py_switch_save配合使用11py_switch=LCTRL12#一键到简拼,与[pinyin]->simple=1配合使用(该设置已弃用)13#简拼功能:按单引号切换正常/简拼模式,仅挂载双拼时使用,目前已规定为单引号'键,不能再更改14#比如输入wm,为非正常双拼编码自动进入简拼模式,输入jua按'输出“就是啊”,再按单引号来回切换15#py_simple='16
17[pinyin]18#切换方案时显示此名称,注意在手机中无效,原因是在没加载输入方案时不会额外加载配置文件19name=双拼20#设置拼音输入法语料库,简拼会检索语料库(仅在[pinyin]这一节有效,其它自定义设置无效)21predict=mb/pypre.bin22#设置简拼功能(双拼挂载时才有效),按'号开/关简拼,0或不设置禁用(默认),1启用23#启用后输入wm输出“我们”(与语料库有关),不启用则出“我吗”(类似单字一简合并出词)24#注1:目前simple参数只在[pinyin]下有效,在其它[xxxx]无效25#注2:输出简拼时优先显示用户词库中的内容(20221108)26simple=127#指定分词库,可以指定目录或文件(要指定路径的话,用\\代替一个\,或者用/代替\)28dicts=mb/pinyin/pinyinkz.txt mb/pinyin/sogou29#固顶词库,格式同用户词库,一个编码对应一个候选,编码最长度为8,20230503取消的限制30pin=mb/pinyin/top.txt31#切分编码保存设置,即调整编码长度时否添加到户词库中(拼音特定参数),0不保存,1保存32py_switch_save=133#使用句尾直接辅助码选字时保存到用户词库(20230611挂载双拼时有效),默认0不保存,1保存34py_assist_save=035#辅助码设置,格式为“码表+空格+辅助码开始的位置”,辅助码位置从0编码起算,如2表示编码中第三位36#全拼只支持1位间接辅助码,挂双拼时支持间接辅助码、句末直接辅助码和单字双拼双辅(需按TAB键)37#以下设置小鹤音形为辅码,其实也可以用五笔等形码,如mb/wbx.txt 0,但其码表必须GB18030编码38#注:不设置时默认自然码的辅助码39#注:旧版仅在主码表中设置才有效,20221112支持在配置文件中设置[xxxx]->assist自定义辅码表40assist=mb/xhdz.txt 241#连续间接辅助码设置,0或不设置为非连续间接辅助码(默认),1连续42#设0时TAB键后第一个按键识别为辅助码,再输入就是正常后续编码打字43#设1时TAB键后均识别为辅助码,不再识别为编码,直到筛选出合适的字44assist_series=145#挂接双拼方案,自然码及其辅码sp=zrm,其它需自行设置规则文件(参考.sp文件)46#注1:不设置或值为空时默认为全拼。双拼支持用shift+[a..z]快速定位编码位置47#注2:双拼不支持符号(如;/.等)作为编码,$[]、$|等用法也不支持(或有问题)48sp=hepy49
50[shuangpin]51#此节无效,仅作问题说明52#由于语料库仅设置在[pinyin],双拼挂接最好不单独设方案,否则简拼可能会有问题53#要想实现全拼和双拼切换,最好的方式是使用直通车,方法略54
55[table]56#万能键设置,优先于码表中的wildcard的设置57#wildcard=v
本教程已传B站专栏方便在线阅读https://www.bilibili.com/read/cv24613831,希望更多人认识小小输入法。