找回密码
 注册
查看: 1494|回复: 0

制作scim下的万能五笔输入法

[复制链接]
发表于 2005-7-22 12:49:46 | 显示全部楼层 |阅读模式
本人一直使用五笔输入法,不过可惜不是高手。有时候打不出五笔,就用拼音或英文。在windows下一直使用万能五笔输入法,因为它正适合我的要求。不用切换支持五笔,拼音,英文输入。但在Linux下一直没有一个合适我的输入法,虽然scim自带的五笔也不错。参考了一些网友的大作之后成功地制作出了Linux下的万能五笔输入法。希望与同样的用户分享制作方法。
我用的OS是Fedora core 4,其它平台没有实现过,相信类似。

1,安装scim
#yum install scim
#yum install scim-devel
如果你只想使用SCIM自带的五笔输入法,请安装以下两项就可以了。
#yum install scim-tables      <--通用码表
#yum install scim-tables-zh   <--安装SCIM五笔输入法
如果你想使用SCIM自带的智能拼音
#yum install scim-pinyin      <--安装SCIM智能拼音

2,制作万能五笔码表
scim码表的格式是
表头
###码表
BEGIN_TABLE
a 工
aa 式
... ...
END_TABLE
编码与对应汉字之间是空格或tab。
新建一个工作目录mywb
$mkdir mywb  <-- ~/mywb
从windows平台的万能五笔输入法(wnwb)拷贝码表文件wnwb2_gb.txt到mywb下。
你也可以找来自己喜欢输入法的码表。有兴趣的话还可以一个一个输入。
不过windows平台用的是gb2312或gbk编码,所以在制作我们需要的码表之前必需将文件转换成utf-8编码。
我们可以用iconv命令转换编码。
iconv -f [输入编码] -t [输出编码] [输入文件] -o [输出文件]
[mywb]$iconv -f gbk -t UTF-8 wnwb2_gb.txt -o mywb_utf8.txt
如果iconv报错,(唉,要借用别人的东西,通常要花点力气的。)
<出错编码> iconv:illegal input sequence at position XXX
通常是因为你的输入文件编码有问题,用文本编辑器gedit修改或删除出错行的编码之后重新再转换。
经过了N次的改正之后,终于将码表编码转换成功。在mywb下会生成mywb_utf8.txt文件。

3,制作表头
到http://www.scim-im.org/downloads/imengines_download下载scim-tables包,目前的最新版本是0.5.1。
解压,编译。
$tar -xzvf scim-tables-0.5.1.tar.gz
$cd scim-tables-0.5.1
$./configure
$make
编译成功后,在scim-tables-0.5.1/zh/下会生成一大票.txt文件。我们要借用其五笔输入法的设置,所以用编辑器打开wubi.txt文件,将表头部分拷贝到mywb_utf8.txt文件里。接下来我们要做一点个性的修改。
摘录我的mywb_utf8.txt文件
SCIM_Generic_Table_Phrase_Library_TEXT
VERSION_1_0        <-- 版本说明
...
UUID = 52575257-5257-5257-5257-525752575257  <-- 码表文件的唯一识别码,按其格式随意输入,不更改的话,如果你安装了SCIM自带的五笔输入法将不能用。
...
ICON = /usr/share/scim/icons/mywb.png  <-- 图标文件地址
...
NAME = mywb <-- 英文名称
NAME.zh_CN = 宇宙超级无敌万能五笔     <-- 中文名称
NAME.zh_TW = 宇宙超级无敌万能五筆
NAME.zh_HK = 宇宙超级无敌万能五筆
...
MAX_KEY_LENGTH = 18  <-- 自动上码。默认的设置是4,但是如果要让我们的输入法支持英文输入,4是不合适的。

......

### Begin Table data.
BEGIN_TABLE
a 工                    <-- 自定义码表
......
END_TABLE   <-- 可别忘记最后这一行

4,生成输入法文件
在scim-tables-0.5.1/src下将生成scim-make-table,将其拷贝到mywb下。
$cd src
$cp scim-make-table ~/mywb/
$cd ~/mywb
$./scim-make-table mywb_utf8.txt -b -o mywb.bin  <-- 生成输入法文件
如果这一步报错,就再检查一下你的码表文件。
否则将在~/mywb/下生成mywb.bin文件,查查有没有?

5,安装输入法
好不容易完成了自己的输入法,说什么也要弄一个“宇宙超级无敌”的图标才对得起自己。
用KIconEdit之类的图标编辑器制作一个48X48的mywb.png文件。
以root将mywb.bin拷贝到/usr/share/scim/tables下,将mywb.png拷贝到/usr/share/scim/icons下。

6,使用你的输入法
重新login。Ctrl+space调出你自己的输入法,感觉怎么样?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-6 22:14 , Processed in 0.042626 second(s), 15 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

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