LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1180|回复: 4

关于fcitx中的txt2mb

[复制链接]
发表于 2006-2-26 10:39:15 | 显示全部楼层 |阅读模式
1.我想问问txt要求什么格式的?我用时老提示我文本格式错误,我的码表是windows下的传统五笔的码表转的txt文件,去掉了头几行的码表信息的.
2.fcitx怎么能设置为单字录入的?我不打词。
发表于 2006-2-27 02:14:07 | 显示全部楼层
fcitx的码表要求码表编码为GB18030,且词条不能重复。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-27 12:54:53 | 显示全部楼层
为什么我用了txt2mb,提示我
~/doc$ txt2mb finaltxt ./wbx.mb
Source File Format Error!
我己经把码表存为GB18030了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-27 13:11:58 | 显示全部楼层
己成功,原来格式没对
http://www.fcitx.org/main/?q=node/38
Thx!!!!
回复 支持 反对

使用道具 举报

发表于 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 <码表文件> > <文本文件>
    生成的文本文件将形如上述码表源文件的格式。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表