原作者:第六元素
url:http://www.linuxsir.org/bbs/thread324435.html
一、格式分析
极点5的码表结构:如(蓝色为码表的内容,红色部分为我的注释,码表仅给出关键结构)
头部信息
输入法名称=二笔输入法#
Name=二笔标版
……
……
---------------------------------
[rule]
三字词=p11+p12+p21+p31
编码开始,这个是码表的主要内容
[Text]
, ,
. 。
/ 、
; ;
下面开始的内容是关键
a 安
a,ri 嫒
……
zykg 斋 主客观 左右开弓 颤 <=请注意这一行
……
zzzy 种族主义
zzzz 自作主张
结束,极点6导出文件中没有下面部分的
[拼音区]
a 啊 阿 呵 吖 嗄 腌 锕 錒
极点6的码表需要导出,用其导出功能即可,得到的码表结构与极点5的差不多,就不再分析了
fcitx 码表源文件结构
键码=abcdefghijklmnopqrstuvwxyz;',./
……
……
[数据]
下面开始的内容是关键
a 安
a,ri 嫒
……
zykg 斋 <=请注意这四行与极点码表的差别
zykg 主客观
zykg 左右开弓
zykg 颤
……
zzzy 种族主义
zzzz 自作主张
结束
大家发现了吧,其实fcitx码表源文件的结构和极点的码表结构差不多,除了一些附件信息外,唯一的差别就在于对重码字词的安排上,极点的是放在一个条目下的,而fcitx是分开放的。
所以转换的关键就在于把
“zykg 斋 主客观 左右开弓 颤 ”之类变成
“zykg 斋
zykg 主客观
zykg 左右开弓
zykg 颤”
二、制作
1、在windows下修改好极点码表[/b]
如果是极点5,去掉除a~z编码部分的所有头尾信息,如果是极点6,把导出后的码表同样处理,再把unicode格式转换为ansi格式(用记事本或ue之类另存为ansi格式即可)。
2、转换码表
到装有fcitx的linux下,运行
代码: 全选
jd2fcitx 改好的极点码表>>待修改的fcitx码表源文件
编辑刚才获得的文件,加入相关头部信息即可。
最后运行
代码: 全选
txt2mb 修改好后的fcitx码表源文件 码表名.mb
附:二笔的fcitx码表头部信息
键码=abcdefghijklmnopqrstuvwxyz;',./
码长=4
规避字符=;iuv
[组词规则]
e2=p11+p12+p21+p22
e3=p11+p12+p21+p31
a4=p11+p21+p31+n11
[数据]
a 安
……
3、题外话:
没想到fcitx的码表制作是如此方便吧?
当时我制作码表的时候没发现有jd2fcitx这个工具,还自己写了个程序……
其实Yuking在fcitx包里还提供如win2fcitx等一系列码表制作工具,像Yuking这样充分为用户考虑的人真不愧为大侠!