LinuxSir.Org  
| 网站首页 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
 
主题工具
旧 08-03-06, 14:56 第 1 帖
第六元素
 
 
 
注册会员  
  注册日期: Jan 2005
  帖子: 240
  精华: 0
 

标题: [原创]从极点到fcitx码表的转换方法


一、格式分析
极点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码表源文件
完整安装了fcitx应该就有jd2fcitx这个命令,如果没有,可以自己从源码中解开单独编译一下。但在Windows下编译运行,不能正常转换码表。或者下载我编译好的(见附件,win下对代码作了点小修改),解开后得到jd2fcitx和jd2fcitx.exe,分别可在linux和windows下运行
编辑刚才获得的文件,加入相关头部信息即可。
最后运行
代码:
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这样充分为用户考虑的人真不愧为大侠!
上传的附件
文件类型: gz jd2fcitx.tar.gz (41.8 KB, 136 次查看)

此帖于 08-03-07 09:25 被 第六元素 编辑.
  第六元素 当前离线   回复时引用此帖
旧 08-10-23, 15:29 第 2 帖
better113
 
 
 
注册会员  
  注册日期: May 2008
  帖子: 1
  精华: 0
 

谢谢,正需要这方面的资料
  better113 当前离线   回复时引用此帖
旧 08-10-23, 20:16 第 3 帖
用户名用户名
 
 
 
注册会员  
  注册日期: Nov 2007
  帖子: 199
  精华: 0
 

很好很强大...路过膜拜下...
  用户名用户名 当前离线   回复时引用此帖
旧 09-01-30, 20:31 第 4 帖
逍遥昱昕 帅哥
 
逍遥昱昕 的头像
 
 
注册会员  
  注册日期: Sep 2006
  帖子: 44
  精华: 0
 

之前看过这个帖子,当时理解错了,因为”jd2fcitx 改好的极点码表“,我还以为是这个”改好“是指手动把重码格式给改了……囧……刚刚重新看,才明白原来下面的程序完成这一步……唉,脑子啊……

多谢楼主!我把本帖转到ubuntu中文网了,希望lz不要介意。







__________________
开彼源兮 斯流永继

www.xiaoyaoblog.cn <==我的博客,欢迎访问
  逍遥昱昕 当前离线   回复时引用此帖
旧 09-02-06, 13:41 第 5 帖
cysky
 
 
 
注册会员  
  注册日期: Feb 2007
  帖子: 12
  精华: 0
 

引用:
作者: 第六元素
一、格式分析
极点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码表源文件
完整安装了fcitx应该就有jd2fcitx这个命令,如果没有,可以自己从源码中解开单独编译一下。但在Windows下编译运行,不能正常转换码表。或者下载我编译好的(见附件,win下对代码作了点小修改),解开后得到jd2fcitx和jd2fcitx.exe,分别可在linux和windows下运行
编辑刚才获得的文件,加入相关头部信息即可。
最后运行
代码:
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这样充分为用户考虑的人真不愧为大侠!
好文章,正好想找这方面的文章呢。
  cysky 当前离线   回复时引用此帖
旧 09-02-06, 16:37 第 6 帖
cysky
 
 
 
注册会员  
  注册日期: Feb 2007
  帖子: 12
  精华: 0
 

利用这个方法我想把五笔论坛里梦幻词库转换成Fcitx使用词库,没有成功,老是出现问题,在windows下显示是ASNI编码,在LInux里设置是UTF-8有没有影响,另外去掉信息时拼音区的内容保留吗
  cysky 当前离线   回复时引用此帖
旧 09-02-08, 22:11 第 7 帖
第六元素
 
 
 
注册会员  
  注册日期: Jan 2005
  帖子: 240
  精华: 0
 

引用:
作者: cysky
利用这个方法我想把五笔论坛里梦幻词库转换成Fcitx使用词库,没有成功,老是出现问题,在windows下显示是ASNI编码,在LInux里设置是UTF-8有没有影响,另外去掉信息时拼音区的内容保留吗
对一些有GBK以外字符的码表转换似乎有点问题,表现为转换成功但无法正常使用,可能是fcitx本身的问题。
我在转换时是去掉拼音区的,如果要保留应该也不会有问题,但“[拼音区]”一定要去掉。
总之,待转换的极点码表一定要是只要编码和字词的。







__________________
最新fcitx二笔码表(青松标版、青松快版、超强、纯净)尽在
http://esixth.googlepages.com
或:
http://esixth.ys168.com
  第六元素 当前离线   回复时引用此帖
旧 09-02-22, 00:43 第 8 帖
wjchem112233
 
 
 
注册会员  
  注册日期: Feb 2009
  帖子: 5
  精华: 0
 

你把极点最新版6。5版加上98沧海词库1。9版给转换一下吗,做个deb包,让大家享受一下在win下极点98的感觉呀,先谢谢啦,我不会编程,只会用。
  wjchem112233 当前离线   回复时引用此帖
旧 09-02-22, 23:01 第 9 帖
逍遥昱昕 帅哥
 
逍遥昱昕 的头像
 
 
注册会员  
  注册日期: Sep 2006
  帖子: 44
  精华: 0
 

我准备把“极爽词库”转成fcitx用的。

向楼主请教一下,极点词库中
~:生僻字词
^:用户词组
!联想词组

这些的fcitx中是如何处理的?

此帖于 09-02-22 23:29 被 逍遥昱昕 编辑.
  逍遥昱昕 当前离线   回复时引用此帖
旧 09-02-23, 11:04 第 10 帖
第六元素
 
 
 
注册会员  
  注册日期: Jan 2005
  帖子: 240
  精华: 0
 

fcitx似乎还只能支持GBK字符集以内的编码,所以有些码表在转换时可能会出现问题。
因此,在准备码表时最好去掉特殊字符的条目,比如倭文字符、汉字偏旁之类。

另外,今天我专门试着转换五笔的梦幻词库和98沧海词库,发现其中有类似的“aad 匿 ~”的编码,不知道后面的“~”有什么作用,如果没什么用的话,把“~”去掉就行。
否则,也许修改下jd2fcitx.c后能行,当然,即使转换成功,最终也不一定能正常使用

此帖于 09-02-23 11:44 被 第六元素 编辑.
  第六元素 当前离线   回复时引用此帖
旧 09-02-23, 23:37 第 11 帖
逍遥昱昕 帅哥
 
逍遥昱昕 的头像
 
 
注册会员  
  注册日期: Sep 2006
  帖子: 44
  精华: 0
 

极点6.0里面采用的是极爽4.3词库,但从我个人的使用来看,极爽6的词库明显更好。
我昨天试着转换了一下,但总有些问题,干脆把极爽6的txt文件发在这里吧。

上面的是原版的极爽6,下面是网友修改的,加入了caj的字符。不过fcitx只支持gbk的,这些也没什么用,姑附在这里,说不定另有他用,呵呵。
如果fcitx能用极爽6作为五笔的默认词库就太棒了。
上传的附件
文件类型: rar 86极爽6.0 GBK.part1.rar (195.3 KB, 18 次查看)
文件类型: rar 86极爽6.0 GBK.part2.rar (195.3 KB, 17 次查看)
文件类型: rar 86极爽6.0 GBK.part3.rar (99.5 KB, 15 次查看)
文件类型: rar 极爽词库6.0版(含CJK-A+B+C).part01.rar (195.3 KB, 10 次查看)
文件类型: rar 极爽词库6.0版(含CJK-A+B+C).part02.rar (195.3 KB, 10 次查看)
文件类型: rar 极爽词库6.0版(含CJK-A+B+C).part03.rar (195.3 KB, 5 次查看)
文件类型: rar 极爽词库6.0版(含CJK-A+B+C).part04.rar (169.7 KB, 11 次查看)
  逍遥昱昕 当前离线   回复时引用此帖
旧 09-03-21, 10:36 第 12 帖
hehui
 
 
 
注册会员  
  注册日期: Jan 2006
  帖子: 5
  精华: 0
 

引用:
作者: wjchem112233
你把极点最新版6。5版加上98沧海词库1。9版给转换一下吗,做个deb包,让大家享受一下在win下极点98的感觉呀,先谢谢啦,我不会编程,只会用。
同意~
支持楼主呀!
我用的98词库是在Fcitx官网下的,不太全,能转换极点98沧海词库就好了!
  hehui 当前离线   回复时引用此帖
旧 09-03-26, 12:43 第 13 帖
南风夜雨
 
 
 
注册会员  
  注册日期: Apr 2007
  帖子: 3
  精华: 0
 

弱弱的问一下,转换完成的词库怎么挂载呢!!!
  南风夜雨 当前离线   回复时引用此帖
旧 09-03-26, 17:41 第 14 帖
ginkgo
 
 
 
注册会员  
  注册日期: Mar 2004
  帖子: 714
  精华: 1
 

这个是我整理好的极爽6.0的fcitx的词库。

里面有一些在 unicode (e830)左右的字去掉了。
比如 aghg e82c ,在我的电脑上无法显示。我查了一下unicode char好像发现没有定义字。

这个词库可以用 txt2mb 来转换。
使用是把生成的mb文件拷到fcitx 的data文件下面。然后修改tables.conf文件
把第一个选项下的 wbx.mb 改成你的词库的名字。

重新启动fcitx,或者用Ctrl+5 来重新载入。
上传的附件
文件类型: rar 86-jishuang-6.0.part1.rar (200.0 KB, 29 次查看)
文件类型: rar 86-jishuang-6.0.part2.rar (200.0 KB, 27 次查看)
文件类型: rar 86-jishuang-6.0.part3.rar (53.9 KB, 22 次查看)
  ginkgo 当前离线   回复时引用此帖
旧 09-03-26, 17:45 第 15 帖
ginkgo
 
 
 
注册会员  
  注册日期: Mar 2004
  帖子: 714
  精华: 1
 

代码:
#以#打头的为注释 [码表] 名称=五笔字型 码表=jishuang.mb 调频=0 拼音=1 拼音键=z 自动上屏=-1 空码自动上屏=0 模糊=1 模糊键=z 自动词组=1 自动词组长度=4 词组参与自动造词=1 保存自动词组=3 最长词组字数=2 精确匹配=0 提示编码=0 符号=zzzz
  ginkgo 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [禁用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 16:25


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2012, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2011, LinuxSir.Org