haulm 发表于 2008-3-18 16:53:57

fcitx 整棵树均存在的BUG,不知从何入手。

07年5月开始使用Linux,系统安装完后直接装的Fcitx作为中文输入法,我使用的是“冰蟾全息”,然而不幸的是,挂上码表后无法输入“,。”,向yuking兄请教了数次,yuking兄不厌其烦的回答了我一堆很菜的问题,也在他的机器上装了我的码表,一切正常,但在我这就是不行,加之工作忙,一度停用linux长达半年之久,十一又开始尝试安装,发现yuking发了070703版,居然把我的“冰蟾全息”作为一种输入法做进安装包中,解决了我的大问题,感激之情无以言表。
      顺便简单介绍一下“冰蟾全息”,他是由杜冰蟾发明的一种输入法(关于杜冰蟾大家可以在网上搜一下就知道了),属于形音码的一种,是将汉字严格按照笔顺和规范的部首进行分解,并把这些部首的声母与键盘相对应,并制定了相应的组词规则。该输入法的特点:1是拆字时尊重了汉字的意,不会出现一些莫名其妙的“字根”;2是严格按照笔顺拆字,不会造成手写汉字时的倒插笔。3是将100个部首按照声母与键盘对应,避免了狂背字根,一段时间不用后对字根与键盘的对应关系又易忘记的情况。4是形音码是先分解汉字,这样对于不认识的字也能照输不误。
      这一输入法我用了15年了,希望能与大家分享,向yuking兄学习,好东西要拿来和大家分享的。
      再次感谢yuking兄的帮助,有机会来北京的话,我请你吃饭,我的e-mail:[email protected]

关于fcitx挂上特定的码表无法输入“,。”的BUG的确存在,主要是fcitx使用这些码表使用时,只要输入条激活,做为翻页键的按钮将只能用于翻页,这个BUG很是奇怪。

伴随以上BUG,还有一个怪问题: fcitx默认就使用“,。”做为翻页键,而且非常困惑的是,虽然config配置表中明明写着上一页和下一页默认使用“- =”,但第一次启动fcitx如果你没有自行地修改~/.fcitx/config,那么fcitx将无视config下的配置继续使用“,。”做为翻页键。这个BUG在你把配置上一页和下一页改成“,。”后就正常了。

综合以上的BUG,MagicLinux 的编译的fcitx黑色星期五对fcitx-3.5/src/tools.c进行了修改:

-    fprintf (fp, "上一页=-\n");
-    fprintf (fp, "下一页==\n");
+    fprintf (fp, "上一页=,\n");
+    fprintf (fp, "下一页=.\n");

可惜这种修改治标不治本,第一个BUG仍不能解决,第二个BUG被和谐掉了。

jiangtao9999 发表于 2008-3-18 20:39:00

config 读取的问题。我认为,应该是 config 文件控制的代码编写失误。
一个软件在没有家目录的配置文件的时候,应该首先使用 /etc 里面的配置文件,之后复制一个到个人目录。
我觉得应该是 fcitx 这部分处理代码有失误。

haulm 发表于 2008-3-18 22:19:58

不仅仅是这个错误,config读取错误先放一边,主要是某些码表使用翻页键时异常,这个BUG经我下载测试,2005年的版本都有这个错误。

jiangtao9999 发表于 2008-3-19 20:12:18

码表能导致异常?
难道是传说中的外星人 gcc 代码攻击?

是不是码表的算法没有考虑到部分码表会使用 27 个英文字母之外的按键?

haulm 发表于 2008-3-20 10:11:52

唉,我已经描述很清楚了,你自己用两个字母键设置为翻页键,然后你再试下翻页键还能否用来输出拼字的首个字母。

jiangtao9999 发表于 2008-3-20 17:30:37

只用 scim :mrgreen:

sejishikong 发表于 2008-5-1 14:41:51

fcitx的这个问题太愁人了。

haulm 发表于 2008-5-1 18:14:37

原帖由 sejishikong 于 2008-5-1 14:41 发表 http://www.linuxfans.org/bbs/images/common/back.gif
fcitx的这个问题太愁人了。

在用了一段SCIM后,我重新打包过FCITX,删除掉三个特定码表工作就正常了,这叫眼不见心不烦。。。

这几个码表为:五笔拼音,这个码表没有多大意义,因为五笔码表可以按Z键开头进行拼音查询录入;晚风,不知道这个输入法怎么个用法,SCIM应该也没服务过这个码表;苍颉,这个码表在早期的FCITX就有服务,但所有的FCITX树的苍颉码表工作存在翻页冲突。

sejishikong 发表于 2008-5-1 20:23:04

就这三个?五笔拼音意义不大,晚风好像有人用,仓颉是台湾用的比较多。去掉应该没什么问题。

hellothere 发表于 2008-5-2 16:39:08

到目录/usr/share/fcitx/data
对照 其中的 tables.conf 删除相应的码表,
再删除 tables.conf 中的对应项就可以。:roll:

要不就把fcitx的rpm包解开,自己删除里边不想要那几个东西,重新打个自己用的包也可以。8O

当然你也可以往里边添加码表。

我是用全拼和五笔98的,
为什么不用scim呢,自己用起来感觉比fcitx占资源少多了。:roll:
想要添加输入法和fcitx一样容易。:roll:

haulm 发表于 2008-5-4 05:42:05

原帖由 hellothere 于 2008-5-2 16:39 发表 http://www.linuxfans.org/bbs/images/common/back.gif
到目录/usr/share/fcitx/data
对照 其中的 tables.conf 删除相应的码表,
再删除 tables.conf 中的对应项就可以。:roll:

要不就把fcitx的rpm包解开,自己删除里边不想要那几个东西,重新打个自己用的包也 ...

scim对于使用五笔的用户来说是不方便的,fcitx可以很容易地进行拼音查询五笔编码,这是scim目前还没能做到的地方,scim在拼写过程中会输出字符对一些朋友造成一定的困扰。

hellothere 发表于 2008-5-4 13:05:06

scim对于使用五笔的用户来说是不方便的,fcitx可以很容易地进行拼音查询五笔编码,这是scim目前还没能做到的地方,scim在拼写过程中会输出字符对一些朋友造成一定的困扰。

也是,我现在scim,98五笔也不太熟,还不得留着拼音,打不出的字还要用拼音............:roll:

想查询只能是在桌面放个字根表的图片,时不时还得打开看一下.................8O 8O
8O 8O

sejishikong 发表于 2008-5-4 14:07:55

用五笔的还是fcitx方便,另外scim和部分程序有冲突。
页: [1]
查看完整版本: fcitx 整棵树均存在的BUG,不知从何入手。