2009年2月14日星期六

自已动手制作Linux下拼音五笔输入法(附极点五笔码表文件)

From: http://ncforest.blog.163.com/blog/static/2956266420086395227419/

  最近一直在linux下工作,使用的是ubuntu版本的linux。各项工作都可以进行,ubuntu下的scim输入法很是不错,自带了五 笔、拼音等输入法。然而以前在windows系统的时候一直是用万能五笔或是极点五笔的。万能五笔最方便的地方就是当遇到不会打的字可以直接采用拼音输入 法,而不需要切换到拼音输入法。现在在linux下的scim的五笔就没有这样的功能,每次遇到实在是打不出来的字,都要切换到拼音输入法下去打字,很是 麻烦。在网上也找了很久,没有找到理想的输入法。想起几年前自己就做过windows下的拼音五笔,试想在linux下也应该可以。尝试制作了一下,终于 可以使用了。

  首页要有拼音及五笔两种输入法的码表

  一、拼音码表

  1、在windows系统下

  我采用的是windows下的全拼码表,因为我没有找到智能ABC拼音的码表,只好采用了全拼码表。得到windows的全拼码表并不 难,可以通过windows自带的码表生成器来完成。运行IMEGEN.EXE程序,将 WINPY.MB 逆转换成winpy.txt文件。这样就得到了拼音的码表文件。这只是windows格式的码表文件,如果想被scim采用,还需要转换成scim格式。

  2、在linux系统下

  通过mb2scim工具可以将 winpy.txt 文件转换成scim格式的码表文件。下载地址:http://down.csdn.net/html/2006-09/21/159348.html

  解开mb2scim工具后,进入到mb2scim,执行下面的命令:chmod +x mb2scim。将mb2scim设置为可执行文件。

  然后再执行:./mb2scim WINPY.TXT winpyx.txt。这样就得到了支持scim格式的拼音码表文件winpyx.txt。

  二、五笔码表

  获取五笔码表文件很简单,只要将scim内的五笔码表转换出来就行了。进入SCIM码表存放的目录:/usr/share/scim/tables,执行scim-make-table Wubi.bin -o Wubi.txt。这样就得到逆转换后的五笔的码表。

  三、合并码表文件

  在linux下用gedit分别打开拼音码表文件winpyx.txt 及五笔码表文件 Wubi.txt,将winpyx.txt内的内容整合到Wubi.txt文件中。

  将winpyx.txt文件中:

BEGIN_CHAR_PROMPTS_DEFINITION  
....要复制的内容...
END_CHAR_PROMPTS_DEFINITIO

  内容复制到Wubi.txt的这个区域,建议放到END_CHAR_PROMPTS_DEFINITIO这一行的前面。将winpyx.txt文件中码表正方区域:

BEGIN_TABLE 
....要复制的内容...
END_TABLE

  内容复制到Wubi.txt的这个区域,建议放到END_TABLE这一行的前面。

  四、复改Wubi.txt文件的UUID的值

  在终端执行:uuidgen。将得到一个文本串码,将这个串码替换掉Wubi.txt文件中的UUID的值。请将 MAX_KEY_LENGTH的值改为12,原来是4。改过就可以打多个字了。

  五、修改输入名称及图标

  可以将ICON、NAME、NAME.zh_CN 等值改成你想要起的名字。

  六、生成scim的输入法可执行码表文件

  完成上面五个过程,你的拼音五笔输入法基本上就是完成了。这个时候只要将执行:scim-make-table Wubi.txt -b -o /usr/share/scim/tables/XWubi.bin。就生成了拼音五笔输入法。重启x-window,试一下吧,系统中就多了一个可以输 入五笔,也可以输入拼音的拼音五笔输入法了。


附极点五笔码表文件
2008.6.6 更新下载

安装说明:
一、安装:
解压、复制 极点五笔.bin 到主目录下
sudo mv 极点五笔.bin /usr/share/scim/tables
sudo pkill scim && scim -d (这个就是关闭再重启scim)
退出终端再执行下面命令
sudo scim-setup

二、设置:
输入法引擎:全局设置:简体中文:极点五笔 6.1(勾选):确定
sudo pkill scim && scim -d
退出终端

三、重启电脑

没有评论: