[fcitx] 怎样导入其他拼音输入法的用户词库和细胞词库

311 views
Skip to first unread message

ziegfeld

unread,
Sep 12, 2010, 4:56:18 PM9/12/10
to fcitx
大家好,新人报道~菜鸟一个……请多关照!

如题。我看到有一些txt2mbd之类的包,但是不知道改怎么用。在网上也没有搜索到。

另外好像拼音用户词库大概叫作是pyphrase.mb吧[我下载了
http://code.google.com/p/fcitx/downloads/detail?name=pyphrase-large.tar.bz2&can=2&q=
这个搜狗细胞词库并且覆盖了]?那么导入之后如何和现有词库合并呢?我不希望直接覆盖现有词库。。

我安装的是fcitx-utf8,就是配置文件在~/.config/fcitx-utf8/config的版本,而不是网上很多帖子说的在
~/.fcitx/config的。

csslayer

unread,
Sep 16, 2010, 10:33:15 PM9/16/10
to fcitx
拼音的词库功能还不是那么好用,其实直接覆盖就好啦......基本是默认词库的超集。

推荐那个pyphrase-small,因为fcitx的词频并没有那么智能,这个large当中有太多奇怪的词了,反而影响输入。(而且占内
存......)

On Sep 13, 4:56 am, ziegfeld <zlfziegf...@gmail.com> wrote:
> 大家好,新人报道~菜鸟一个......请多关照!
>
> 如题。我看到有一些txt2mbd之类的包,但是不知道改怎么用。在网上也没有搜索到。
>
> 另外好像拼音用户词库大概叫作是pyphrase.mb吧[我下载了http://code.google.com/p/fcitx/downloads/detail?name=pyphrase-large.t...

walkerxk

unread,
Sep 17, 2010, 6:06:19 AM9/17/10
to fcitx
把small放前面就行了,自己的字库放最前面,然后是small,然后是large,我就是这样的。

ziegfeld

unread,
Sep 17, 2010, 1:49:32 PM9/17/10
to fcitx
发现了......那个large确实是,怪词都在前面......

我试试 small

thx a lot!

Message has been deleted

ziegfeld

unread,
Sep 19, 2010, 12:29:39 PM9/19/10
to fcitx
您好! 有几个问题啊。。。


首先给出我参考的两个网页......虽然官方有怎样制作码表,但是我还是不会写......
五、输入法模块──拼音、五笔、区位、二笔 | Linux中文输入法──Fcitx.Org http://www.fcitx.org/main/?q=node/38
Ubuntu中文论坛 * 查看主题 - fcitx挂载极点中文码表 http://forum.ubuntu.org.cn/viewtopic.php?t=190107



1 如果我有:
'a 啊
'a'a 啊啊
'a'a 嗄啊
'a'a'a 啊啊啊
'a'a'a'a 啊啊啊啊
'a'a'a'a'a 啊啊啊啊啊
'a'a'a'a'a'a 啊啊啊啊啊啊
'a'a'a'a'a'a'a 啊啊啊啊啊啊啊
这种格式码表,想要导入并合并到拼音词库。
这种格式是mb2org的结果好像,那么是叫作org格式么?怎样转换成mb呢?好像没有org2mb的命令......
如果org不能直接转换成.mb码表,那么请问怎么样构造txt词库呢?

2 我测试了自然码码表mb2txt, mb2txt zrm.mb 结果的形式是这样子:
;fcitx 版本 0x03 码表文件
键码=abcdefghijklmnopqrstuvwxyz'
码长=4
拼音=@
拼音长度=4
[组词规则]
e2=p11+p12+p21+p22
e3=p11+p21+p31+p32
a4=p11+p21+p31+n11
[数据]
a 按
aa 啊
......
......
......
但是如果对拼音词库运行:mb2txt pyusrphrase.mb 1.txt
会出现:
;fcitx 版本 0x02 码表文件
键码= 找 [在xfce-terminal下看不是一个"找"字,而是几个乱码]
码长=0
*** buffer overflow detected ***: mb2txt terminated
======= Backtrace: =========
/lib/libc.so.6(__fortify_fail+0x37)[0x7fa112374237]
/lib/libc.so.6(+0xfe0f0)[0x7fa1123730f0]
/lib/libc.so.6(__fread_chk+0x15b)[0x7fa1123738cb]
mb2txt[0x4009a8]
/lib/libc.so.6(__libc_start_main+0xfd)[0x7fa112293c4d]
mb2txt[0x400809]
======= Memory map: ========
00400000-00402000 r-xp 00000000 08:03
1600267 /usr/bin/mb2txt
00601000-00602000 r--p 00001000 08:03
1600267 /usr/bin/mb2txt
00602000-00603000 rw-p 00002000 08:03
1600267 /usr/bin/mb2txt
024fe000-0251f000 rw-p 00000000 00:00
0 [heap]
7fa10ffb8000-7fa10ffce000 r-xp 00000000 08:03
1048655 /lib/libgcc_s.so.1
7fa10ffce000-7fa1101cd000 ---p 00016000 08:03
1048655 /lib/libgcc_s.so.1
7fa1101cd000-7fa1101ce000 r--p 00015000 08:03
1048655 /lib/libgcc_s.so.1
7fa1101ce000-7fa1101cf000 rw-p 00016000 08:03
1048655 /lib/libgcc_s.so.1
7fa1101cf000-7fa1101d4000 r-xp 00000000 08:03
1574597 /usr/lib/libXdmcp.so.6.0.0
7fa1101d4000-7fa1103d3000 ---p 00005000 08:03
1574597 /usr/lib/libXdmcp.so.6.0.0
7fa1103d3000-7fa1103d4000 r--p 00004000 08:03
1574597 /usr/lib/libXdmcp.so.6.0.0
7fa1103d4000-7fa1103d5000 rw-p 00005000 08:03
1574597 /usr/lib/libXdmcp.so.6.0.0
7fa1103d5000-7fa1103d7000 r-xp 00000000 08:03
1574586 /usr/lib/libXau.so.6.0.0
7fa1103d7000-7fa1105d7000 ---p 00002000 08:03
1574586 /usr/lib/libXau.so.6.0.0
7fa1105d7000-7fa1105d8000 r--p 00002000 08:03
1574586 /usr/lib/libXau.so.6.0.0
7fa1105d8000-7fa1105d9000 rw-p 00003000 08:03
1574586 /usr/lib/libXau.so.6.0.0
7fa1105d9000-7fa1105ff000 r-xp 00000000 08:03
1048648 /lib/libexpat.so.1.5.2
7fa1105ff000-7fa1107ff000 ---p 00026000 08:03
1048648 /lib/libexpat.so.1.5.2
7fa1107ff000-7fa110801000 r--p 00026000 08:03
1048648 /lib/libexpat.so.1.5.2
7fa110801000-7fa110802000 rw-p 00028000 08:03
1048648 /lib/libexpat.so.1.5.2
7fa110802000-7fa110804000 r-xp 00000000 08:03
1048771 /lib/libdl-2.11.1.so
7fa110804000-7fa110a04000 ---p 00002000 08:03
1048771 /lib/libdl-2.11.1.so
7fa110a04000-7fa110a05000 r--p 00002000 08:03
1048771 /lib/libdl-2.11.1.so
7fa110a05000-7fa110a06000 rw-p 00003000 08:03
1048771 /lib/libdl-2.11.1.so
7fa110a06000-7fa110a88000 r-xp 00000000 08:03
1048772 /lib/libm-2.11.1.so
7fa110a88000-7fa110c87000 ---p 00082000 08:03
1048772 /lib/libm-2.11.1.so
7fa110c87000-7fa110c88000 r--p 00081000 08:03
1048772 /lib/libm-2.11.1.so
7fa110c88000-7fa110c89000 rw-p 00082000 08:03
1048772 /lib/libm-2.11.1.so
7fa110c89000-7fa110c9f000 r-xp 00000000 08:03
1048770 /lib/libz.so.1.2.3.3
7fa110c9f000-7fa110e9e000 ---p 00016000 08:03
1048770 /lib/libz.so.1.2.3.3
7fa110e9e000-7fa110e9f000 r--p 00015000 08:03
1048770 /lib/libz.so.1.2.3.3
7fa110e9f000-7fa110ea0000 rw-p 00016000 08:03
1048770 /lib/libz.so.1.2.3.3
7fa110ea0000-7fa110ebb000 r-xp 00000000 08:03
1575481 /usr/lib/libxcb.so.1.1.0
7fa110ebb000-7fa1110ba000 ---p 0001b000 08:03
1575481 /usr/lib/libxcb.so.1.1.0
7fa1110ba000-7fa1110bb000 r--p 0001a000 08:03
1575481 /usr/lib/libxcb.so.1.1.0
7fa1110bb000-7fa1110bc000 rw-p 0001b000 08:03
1575481 /usr/lib/libxcb.so.1.1.0
7fa1110bc000-7fa1110c3000 r-xp 00000000 08:03
1575479 /usr/lib/libxcb-render.so.0.0.0
7fa1110c3000-7fa1112c3000 ---p 00007000 08:03
1575479 /usr/lib/libxcb-render.so.0.0.0
7fa1112c3000-7fa1112c4000 r--p 00007000 08:03
1575479 /usr/lib/libxcb-render.so.0.0.0
7fa1112c4000-7fa1112c5000 rw-p 00008000 08:03
1575479 /usr/lib/libxcb-render.so.0.0.0
7fa1112c5000-7fa1112c8000 r-xp 00000000 08:03
1575477 /usr/lib/libxcb-render-util.so.0.0.0
7fa1112c8000-7fa1114c7000 ---p 00003000 08:03
1575477 /usr/lib/libxcb-render-util.so.0.0.0
7fa1114c7000-7fa1114c8000 r--p 00002000 08:03
1575477 /usr/lib/libxcb-render-util.so.0.0.0
7fa1114c8000-7fa1114c9000 rw-p 00003000 08:03
1575477 /usr/lib/libxcb-render-util.so.0.0.0
7fa1114c9000-7fa1114ee000 r-xp 00000000 08:03
1048601 /lib/libpng12.so.0.42.0
7fa1114ee000-7fa1116ee000 ---p 00025000 08:03
1048601 /lib/libpng12.so.0.42.0
7fa1116ee000-7fa1116ef000 r--p 00025000 08:03
1048601 /lib/libpng12.so.0.42.0
7fa1116ef000-7fa1116f0000 rw-p 00026000 08:03
1048601 /lib/libpng12.so.0.42.0
7fa1116f0000-7fa111707000 r-xp 00000000 08:03
1574786 /usr/lib/libdirect-1.2.so.0.8.0
7fa111707000-7fa111906000 ---p 00017000 08:03
1574786 /usr/lib/libdirect-1.2.so.0.8.0
7fa111906000-7fa111907000 r--p 00016000 08:03
1574786 /usr/lib/libdirect-1.2.so.0.8.0
7fa111907000-7fa111908000 rw-p 00017000 08:03
1574786 /usr/lib/libdirect-1.2.so.0.8.0
7fa111908000-7fa111909000 rw-p 00000000 00:00 0
7fa111909000-7fa111912000 r-xp 00000000 08:03
1574845 /usr/lib/libfusion-1.2.so.0.8.0
7fa111912000-7fa111b11000 ---p 00009000 08:03
1574845 /usr/lib/libfusion-1.2.so.0.8.0
7fa111b11000-7fa111b12000 r--p 00008000 08:03
1574845 /usr/lib/libfusion-1.2.so.0.8.0
7fa111b12000-7fa111b13000 rw-p 00009000 08:03
1574845 /usr/lib/libfusion-1.2.so.0.8.0
7fa111b13000-7fa111b92000 r-xp 00000000 08:03
1574788 /usr/lib/libdirectfb-1.2.so.0.8.0
7fa111b92000-7fa111d91000 ---p 0007f000 08:03
1574788 /usr/lib/libdirectfb-1.2.so.0.8.0
7fa111d91000-7fa111d93000 r--p 0007e000 08:03
1574788 /usr/lib/libdirectfb-1.2.so.0.8.0
7fa111d93000-7fa111d95000 rw-p 00080000 08:03
1574788 /usr/lib/libdirectfb-1.2.so.0.8.0
7fa111d95000-7fa111d96000 rw-p 00000000 00:00 0 已放弃
对于下载的openphrase词库pyphrase-small.tar.bz2 解压后的文件运行,也是这个结果。
但是要知道,上面那个 pyusrphrase.mb 只有8.7KB就溢出了,而自然码有1.3MB也没有溢出。
不知道是为什么?


On Sep 16, 10:33 pm, csslayer <wen...@gmail.com> wrote:

ziegfeld

unread,
Sep 19, 2010, 12:30:27 PM9/19/10
to fcitx
@walkerxk
您所说的把 "自己的字库放最前面,然后是small,然后是large"

是不是说.mb码表文件直接Ctrl+A全选然后按 顺序粘贴进去就可以使用?
不需要删除什么信息才可以合并么?因为我打开.mb码表有部分乱码(用HEX模式),看不懂

翁学天

unread,
Sep 19, 2010, 12:32:36 PM9/19/10
to fc...@googlegroups.com
org转换成mb用的工具是createPYMB
第一个参数是gbkpy.org的位置,第二个参数是org文件的位置(gbkpy.org)在fcitx源代码里面的data目录下有。
——————
mb2txt和txt2mb不是用于处理拼音的,是用于处理类似五笔之类的码表输入法用的。如果你是拼音用户可以不管这个。
——————
另外按顺序粘贴org文件(而不是mb文件)的内容再生成码表恐怕真的可以更好调整顺序。不过意义不大,那些怪词基本输入不到。还白白占内存。
现在还不支持多个pyphrase.mb共用。
——————
在 2010年9月20日 上午12:24,ziegfeld <zlfzi...@gmail.com>写道:
您好!有几个问题啊。。。


1 如果我有:
'a 啊
'a'a 啊啊
'a'a 嗄啊
'a'a'a 啊啊啊
'a'a'a'a 啊啊啊啊
'a'a'a'a'a 啊啊啊啊啊
'a'a'a'a'a'a 啊啊啊啊啊啊
'a'a'a'a'a'a'a 啊啊啊啊啊啊啊

这种格式。这种格式是mb2org的结果好像,那么是叫作org格式么?怎样转换成mb呢?好像没有org2mb的命令......
但是要知道,上面那个 pyusrphrase.mb 只有8.7KB,而自然码有1.3MB也没有溢出。
不知道是为什么?

3 @walkerxk  所说的把 "自己的字库放最前面,然后是small,然后是large"是不是说.mb码表文件直接Ctrl+A全选然后按
顺序粘贴进去就可以使用?

On Sep 16, 10:33 pm, csslayer <wen...@gmail.com> wrote:
--
您收到此邮件是因为您订阅了 Google 网上论坛的“fcitx”论坛。
要向此网上论坛发帖,请发送电子邮件至 fc...@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 fcitx+un...@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/fcitx?hl=zh-CN 访问此网上论坛。


walkerxk

unread,
Sep 20, 2010, 9:42:34 AM9/20/10
to fcitx
呃,我是放到data/pyP*.org里面,重新编译的,反正也就一次。

翁学天

unread,
Sep 26, 2010, 5:23:06 AM9/26/10
to fc...@googlegroups.com
446及其以上的版本支持多词库了……添加了sogou的scel文件转换为org文件的工具。

用createPYMB创建好之后放到~/.config/pinyin下面

存在的问题是加载额外词库时如果比较大的话加载会慢
所以推荐是/usr/share/fcitx/data/pyphrase.mb用一个比较好的词库(推荐googlecode上面那个pyphrase-small,或者原版)

各种小词库放在~/.config/pinyin下面。

呃,我是放到data/pyP*.org里面,重新编译的,反正也就一次。
Reply all
Reply to author
Forward
0 new messages