LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: kardinal

86+98五笔码表[GPL]+如何将文本码表转换为FCITX&SCIM码表?

[复制链接]
发表于 2006-6-15 13:43:42 | 显示全部楼层
我已经将它转换成fcitx的码表,不过里面似乎没有五笔加加中的特殊符号,如twkg表示‰,我准备备把这些符号加入,生成一个新的码表,晚上再试试……
另,第一个下载也是SCIM的码表……我是从这个转换的,将其中以z打头的都去掉了……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-15 20:50:21 | 显示全部楼层
-_-#我用的五笔加加是Wbfans论坛上的Easycode大侠的增强版,词库也不是标准词库。
主要还是用极点和酷极。
极点五笔可以定义特殊符号引导字符,比如“zz”
凡是以“zz”引导的编码,强制显示10项
比如zzds(点数,带点数字)  1.  2.  3.  4.  5.  6.  7.  8.  9.  0.
twkg这种编码不容易记忆,主要是会和普通的编码重码,建议将“z”也作为码元,并且把兼容五笔加加方式的编码收录进去。
z作万能码检索这种方式效率非常不高,这个是公认的了。现在比较通行的方法是,不会打的字使用临时辅码,可以是拼音或者笔画。
而使用非首码码元来录入特殊符号是一个不错的主意。比如二笔输入法中,u i v 等键不可能作为首码,u键就可以作为二键上屏编码的首码码元。再比如使用者最多的智能ABC,使用v键作临时英文,用i 键作为特殊符号编码的引导键(不过这个功能知道的人不多:)
非首码码元也非常适合作为一些特殊功能键的引导键
以极点为例,可以使用非首码码元或者符号键唤出的特殊功能有:(凭记忆,记不太清楚了-_-#)
临时英文、临时拼音、临时生辟字、三键上屏、编码截止、特殊编码
临时英文有几个子功能:
数字自动转中文数字(特别是转为财会格式的中文数字比较实用)
特定格式数字转为时间日期格式  (也可以通过在码表中定义变量,直接输入可自定格式的当前系统时间)
快捷命令(绝大部分的内置操作都可以使用组合键或快捷命令两种方式来实现)
输入数学表达式计算结果,并可以输出多种格式(我觉得这个功能比较酷,但是他们不这么认为-_-#)
回复 支持 反对

使用道具 举报

发表于 2006-6-16 02:08:47 | 显示全部楼层
妙极!
现在准备升级我的98 SCIM码表了。
感谢kardinal!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-16 02:39:44 | 显示全部楼层
呵呵  请多提宝贵意见  。。。
如果问题比较多比较严重的话,我会考虑维护一下的:D
。。。。。。要是小问题的话就自己维护喽-_-#


另:能否把处理后可以直接使用的码表发上来,因为处理还是比较麻烦的,不是每位兄弟都愿意去作的。谢谢先:)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-16 02:47:01 | 显示全部楼层
Post by Yuking
我已经将它转换成fcitx的码表,不过里面似乎没有五笔加加中的特殊符号,如twkg表示‰,我准备备把这些符号加入,生成一个新的码表,晚上再试试……
另,第一个下载也是SCIM的码表……我是从这个转换的,将其中以z打头的都去掉了……


不好意思,那个文件头确实是SCIM格式的-_-#   我只是把WIN下的码表用VIM转了下,然后加上SCIM文件头,发现不能用,然后仔细看了下

原来FCITX的是这种排序:
a
aa
aaa
aaaa
b
bb
bbb
bbbb
…………

而SCIM的是这样的
a
b
aa
bb
aaa
bbb
aaaa
bbbb

当然文件头也是不一样的:)
回复 支持 反对

使用道具 举报

发表于 2006-6-16 04:04:53 | 显示全部楼层
Post by kardinal
呵呵  请多提宝贵意见  。。。
如果问题比较多比较严重的话,我会考虑维护一下的:D
。。。。。。要是小问题的话就自己维护喽-_-#

另:能否把处理后可以直接使用的码表发上来,因为处理还是比较麻烦的,不是每位兄弟都愿意去作的。谢谢先:)

OK。
我使用的是98码表,所以先上传我生成的scim_98码表。
文件用7z分卷压缩,然后再用bzip2包装了一下(0day风格是不得已啊,论坛不支持7z附件?)

刚刚试用了一下子,感觉良好。以后慢慢测试了,呵呵!

另外附上转附98 table时用到的python代码,供希望自己动手的朋友们参考:

  1. #! /usr/bin/env python

  2. table = PrivoxyWindowOpen("wubi98_orignal.txt", "r")

  3. mb = []
  4. line = table.readline()
  5. while line:
  6.     if len(line) > 1:
  7.         mb.append(line)

  8.     line = table.readline()

  9. table.close()

  10. def compare(a, b): return cmp(len(a.split()[0]), len(b.split()[0]))
  11. mb.sort(compare)

  12. scim_table = PrivoxyWindowOpen("wubi98_scim.table", "w")
  13. scim_table.writelines("### Begin Table data.\n")
  14. scim_table.writelines("BEGIN_TABLE\n")
  15. for l in mb:
  16.     for w in l.split()[1:]:
  17.         scim_table.writelines("%s %s\n" % (l.split()[0], w))

  18. scim_table.writelines("END_TABLE\n")
  19. scim_table.close()
复制代码
bbs.linuxsir.cn/attachment.php?aid=35388

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2006-6-16 04:15:22 | 显示全部楼层

scim 五笔98码表debian安装包

另外,我为了自己方便将五笔98的码表做成了deb安装包来维护,在ubuntu下双击就可以直接安装,方便之极,可以媲美windows的setup了。
放在这里,供需要的朋友使用。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-16 04:35:42 | 显示全部楼层
呵呵  欢迎继续提供使用意见

另:弱弱的请求下。。。能不能帮我转一下八六的啊-_-#
回复 支持 反对

使用道具 举报

发表于 2006-6-16 04:36:28 | 显示全部楼层
Post by kardinal
呵呵  欢迎继续提供使用意见

另:弱弱的请求下。。。能不能帮我转一下八六的啊-_-#

义不容辞。稍等。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-16 04:37:59 | 显示全部楼层
严重感谢:D


天亮了。。。有点困了。。。去睡觉了。。。。下午再来看。。。

另:楼上的也是夜猫子?-_-#
回复 支持 反对

使用道具 举报

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

本版积分规则

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