影子输入法如何去除不需要的双拼
严格来讲,我们不是真正去删除不需要的双拼方案,而是在 sc/ 输入命令得出的候选“词”里过滤掉不需要的双拼方案,亦即通过操作达到去除 sc/ 词条候选框里不需要的双拼条目的目的。双拼使用者一般只需要一种方案,而影子为了兼顾所有的方案,通过映射算法将诸多双拼方案内置其中。个人用户为提高输入法切换的简洁度,是有必要去除多余的双拼候选条目。
经分析,双拼以外的输入法方案,只要在词库管理界面中删除对应的输入法库,便能删除该输入法(当然还有残留,主要是Data目录下的码表文件,将之也删除掉就是真正彻底删除了该输入法)。但双拼不是独立的输入法,而是拼音输入法方案的分支,与全拼共用一个词库,并不能在词库管理界面中找到任何双拼方案的词库。所以要去除 sc/ 词条多余的双拼候选,需要另辟蹊径。下面说一下操作过程。
在 Lib 目录里,有一个名为 srf_init.ahk 的文件,里面就有我们动“手术刀”的地方。先启动合适的文本编辑器(手头没有的话用Windows自带的记事本也行),接着在资源管理器里进入影子输入法的 Lib 目录,把 srf_init.ahk 文件拖到文本编辑器的编辑窗口,这就打开了 srf_init.ahk 文件。接下来通过以“双拼”作关键词可以查找到如下整行内容:
pinyinec:={pinyin:"全拼",dnsp:"大牛双拼",xhsp:"小鹤双拼",zrmsp:"自然码双拼",abcsp:"ABC双拼",sgsp:"搜狗双拼",wrsp:"微软双拼",jjsp:"加加双拼", xysp: "小月双拼"}, pinyince:=[], customspjm:=[]
动“手术刀”之前分析一下诸位双拼“大牛”在代码流中的存放规律:用大括号将所有的拼音输入方案归拢起来,各方案之间用逗号间隔开来;每一个方案单元都有两部分组成,一是英文名称,二是中文名称,中间用冒号隔开。
OK,现在开始“开刀”:将不需要的双拼输入法单元一一删除,注意删除时要连同其后的逗号一块删掉,“手术”后整行代码长成如下苗条的样子:
pinyinec:={pinyin:"全拼",xhsp:"小鹤双拼"}, pinyince:=[], customspjm:=[]
保存,重启输入法,大功告成。
“但双拼不是独立的输入法,而是拼音输入法方案的分支,与全拼共用一个词库,并不能在词库管理界面中找到任何双拼方案的词库。”
原来双拼只是组词规则,和词库无关。不知移除双拼后,输入法的文件大小是否会变小。 “双拼使用者一般只需要一种方案,而影子为了兼顾所有的方案,”——原来去除还可以有针对地移除。
这个帖子的讲解很细致,给黑黑点赞{:4_187:} 红影 发表于 2021-8-17 14:38
“双拼使用者一般只需要一种方案,而影子为了兼顾所有的方案,”——原来去除还可以有针对地移除。
这个 ...
所谓高度定制,应该做的机制。影子输入法这个功能的设置虽不直观,但有接口。 红影 发表于 2021-8-17 14:36
“但双拼不是独立的输入法,而是拼音输入法方案的分支,与全拼共用一个词库,并不能在词库管理界面中找到任 ...
不会变小。词库并没有减量。
双拼集成在程序代码内部,是一个映射键盘的算法而已,但与组词无关。举例来说,我们输入“凉”字:
全拼:liang
双拼:ll
这里,双拼的第一个 l 键是“凉”的声母,第二个 l 键是“凉字的韵母” iang 。程序内部已将 l键 对韵母的映射算准了,再从字库里检字。 马黑黑 发表于 2021-8-17 16:40
不会变小。词库并没有减量。
双拼集成在程序代码内部,是一个映射键盘的算法而已,但与组词无关。举例来 ...
原来映射算法不占大小的,学习了{:4_187:} 马黑黑 发表于 2021-8-17 16:34
所谓高度定制,应该做的机制。影子输入法这个功能的设置虽不直观,但有接口。
即使埋藏得再深,黑黑都有办法挖出来{:5_116:} 红影 发表于 2021-8-17 16:53
即使埋藏得再深,黑黑都有办法挖出来
花点时间,肤浅一点的功能可以弄弄,深一点的就不好说了 红影 发表于 2021-8-17 16:51
原来映射算法不占大小的,学习了
不是不占,但不多的(一段代码) 有点复杂了啊。
会不会把拼音搞乱了啊?
看起来容易,把这些都组合起来就有点麻烦了哦。
有点晕乎乎的。{:5_153:} 加林森 发表于 2021-8-17 17:02
有点复杂了啊。
会不会把拼音搞乱了啊?
看起来容易,把这些都组合起来就有点麻烦了哦。
这个和你无关y呀。你用的是手心。 马黑黑 发表于 2021-8-17 16:55
花点时间,肤浅一点的功能可以弄弄,深一点的就不好说了
其实也不用弄太深,就像手机,很多功能我们不注意,也同样能使用手机。 马黑黑 发表于 2021-8-17 16:56
不是不占,但不多的(一段代码)
是的,代码就算很长,一般文件都不大的。 红影 发表于 2021-8-17 20:09
是的,代码就算很长,一般文件都不大的。
代码是属于文本的东东 马黑黑 发表于 2021-8-17 20:34
代码是属于文本的东东
影子输入法很聪明,通过影射整合了功能,又没增加自身负担。 红影 发表于 2021-8-17 20:47
影子输入法很聪明,通过影射整合了功能,又没增加自身负担。
所有支持双拼的输入法都是这么做的 马黑黑 发表于 2021-8-17 20:34
代码是属于文本的东东
小黑,昨天我又晕死,用你那个软件记事本导出的UTF-8上传的脚本代码还是文字出现乱码,我重复几次UTF-8 还是不成功,是不是可以重复编辑为UTF-8 ?我发现重复编辑出来文件会大一点的 小辣椒 发表于 2021-8-17 20:50
小黑,昨天我又晕死,用你那个软件记事本导出的UTF-8上传的脚本代码还是文字出现乱码,我重复几次UTF-8 ...
UTF-8分两种:一种带签名(有bom),一种不带签名(无bom)。这两种,虽同源但标记不同,网页规范了哪种种编码,就用哪种。有这个标志的,一般用不带签名的:
<meta charset="utf-8" /> 马黑黑 发表于 2021-8-17 20:55
UTF-8分两种:一种带签名(有bom),一种不带签名(无bom)。这两种,虽同源但标记不同,网页规范了哪种 ...
我H5播放器只能是UTF-8,否则出来文字会乱码,但我明明另存为UTF-8出来上传后文字还是乱码 小辣椒 发表于 2021-8-17 21:09
我H5播放器只能是UTF-8,否则出来文字会乱码,但我明明另存为UTF-8出来上传后文字还是乱码
看清楚,有两个utf-8