|
发表于 2006-2-27 13:12:10
|
显示全部楼层
词条要求一条词条一个编码,windows的mb词条可以合并。
你可以用awk来转换
awk {'for(i=2;i<=NF;i++) print $1 " " $i'} aa.txt >bb.txt
其中aa.txt为windows下的格式,bb.txt为fcitx的格式。
贴段说明:
--------------------------
制作码表
data目录下包括制造码表的工具:txt2mb和mb2txt。前者是将码表源文件转换为码表输入法所需的格式;后者是将码表文件转换为文本文件。
码表源文件格式如下:
键码=abcdefghijklmnopqrstuvwxyz;,./
码长=4
规避字符=;iuv
[组词规则]
e2=p11+p12+p21+p22
e3=p11+p21+p31+p32
a4=p11+p21+p31+n11
[数据]
a 工
aa 式
aaa 工
aaaa 工
* 键码:表示该码表输入法需要用的键;
* 码表:指该码表输入法最长码长;
* 规避字符:在象二笔这样的码表输入法中,某些字符如果出现在编码的第一个,表示特殊用途,虽然可以组成单字,但却不参与组词。
如果有这样的字符,可以列在这个地方,以免自动造词出错。
* [组词规则]:表示自动组词的规则,如果没该标志,则不能在线造词;
* [数据]:该标志以下为该码表输入法的数据,按“编码<空格>对应的汉字”。这部分无需排序。
* 组词规则:
o 组词规则的数目应该比码长小1。
o 等号左边为词组的汉字个数。其中e表示“等于”,a表示“大于等于”(只能有这两个设置)。
o 组词规则的数目应该比码长小1。
o 等号左边为词组的汉字个数。其中e表示“等于”,a表示“大于等于”(只能有这两个设置)。
o 等号右边为规则,其中p指正序,n指逆序。如p11指第一个字的第一个编码,n11则是指最后一个字的第一个编码。
按上述格式制作好编码后,利用txt2mb将其转换为fcitx需要的格式:
./txt2mb <源文件> <目标文件>
然后将目标文件复制到~/.fcitx中,并在~./fcitx/tables.conf设置好。然后在中文输入状态下按CTRL_5重新读入配置文件即可。
如果希望将已经制作好的码表文件转换为文本文件,可以:
./mb2txt <码表文件> > <文本文件>
生成的文本文件将形如上述码表源文件的格式。 |
|