LinuxSir.cn,穿越时空的Linuxsir!

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

如何替换成自己独有的五笔码表

[复制链接]
发表于 2003-1-20 14:51:07 | 显示全部楼层 |阅读模式
请问Yuking兄弟或其它知道的兄弟一下: 在fcitx下, 有没有办法用自己的码表将wbx.mb替换了, 因在windows下, 一直以来都是用它的"添加输入法"的方式产生"自己"的输入法, 不知在fcitx下有无办法实现, 我现在用Turbolinux自带的五笔输入法, 实在不喜欢它的词频调整, 没法盲打.
谢了!
发表于 2003-1-20 14:55:24 | 显示全部楼层
要替换码表是完全可以的,不过要先对你的码表做一下加工,使它的格式和wbx.mb一样,还有一个要注意的问题是,要把行尾的换行加回车改成只有换行符,一般win下的文件都是有换行和回车的,而linux下的文件只有换行符。还有一个,就是文件要用ansi936的编码,而不是unicode的。转换码表的命令我现在手上没有,等晚一些给你帖出来。
 楼主| 发表于 2003-1-20 15:17:24 | 显示全部楼层
非常感谢, 其实我也正是想知道是如何产生linux下的码表文件的, 行尾的换行加回车改成只有换行符, 我可以试着做一下, 但不知道如何用ansi936编码.
等着您的消息, 再次感谢!
发表于 2003-1-20 23:49:56 | 显示全部楼层
终于上来了,我的卡钱用完了,一下午没上来,呵呵。
我是在windows下用emeditor来做unicode和ansi936的转换,这个软件还能把行尾的换行符给变了。在这里有:
http://www.emurasoft.com/cs/emeditor3/index.htm
在这样做了以后,我就进linux,用gawk和sed来把码表给变了。具体的命令有:

  1. sed 's/ [a-z,/,,/.,//,/;][a-z,/,,/.,//,/;]//g' ebf9x.TXT.ansi936.txt > wb.txt

  2. gawk 'gsub(/[a-z]||\;||\,||\.||\//,"")' wb.txt > wb1.txt        

  3. gawk 'gsub(/[^a-z\;\,\.\/]/,"")' wb.txt >wb2.txt              

  4. paste wb2.txt wb1.txt >wb.cin

  5. gawk 'gsub(/\t/," ")' wb.cin >newwb.cin
复制代码

第一句是把win下输入法生成器反编译过程里的多余码给去掉,比如:
汉字 xxxx xx
第一句就把那后面的xx给去掉。
第二句是把码表里的编码都给去掉,只留中文。里面的字符是二笔用的,你把,/,,/.,//,/;去掉就是五笔的了。
第三句是把码表里的非编码内容给去掉,只留编码。
第四句是把编码和汉字贴在一个文件里,中间用一个tab来分开
第五句是把tab换成一个空格。
 楼主| 发表于 2003-1-21 23:03:29 | 显示全部楼层
非常感谢! 我马上就试.
昨天拔牙去了, 也没上网.
 楼主| 发表于 2003-1-23 11:24:51 | 显示全部楼层
真笨, 在emeditor里到现在也找不到ansi936的字符集, 换行和回车的事如果办不成, 我倒可以在linux下用perl写个小程序执行一下即可, 但这个字符集的事实在搞不定.
另外, 这个码表文件从第一行开始就是码表吗, Windows下输入法生成器要求的码表头的部分要不要删掉, 再次谢谢!
发表于 2003-1-23 11:36:57 | 显示全部楼层

--

第一行就是码表,不能保留WINDOWS中的码表头
发表于 2003-1-23 14:39:26 | 显示全部楼层
就是在保存的对话框里选的啊,里面有字符集,也有换行和回车的改动。你选“另存为”
最初由 blackeye 发布
真笨, 在emeditor里到现在也找不到ansi936的字符集, 换行和回车的事如果办不成, 我倒可以在linux下用perl写个小程序执行一下即可, 但这个字符集的事实在搞不定.
另外, 这个码表文件从第一行开始就是码表吗, Windows下输入法生成器要求的码表头的部分要不要删掉, 再次谢谢!
 楼主| 发表于 2003-1-23 22:44:25 | 显示全部楼层
谢谢俩位的指点,我再试试.
 楼主| 发表于 2003-1-25 06:29:06 | 显示全部楼层
已经搞定,太感谢俩位的指点了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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