我们平台上的Qtopia中移植的中文输入法叫MurphyPinyin,是目前为止基于Qtopia的一个比较好的开源中
文输入法。
其移植方法总结如下:
1)在服务器上将输入法源码MurphyPinyin-src.tgz用如下命令解压
tar zxvf MurphyPinyin-src.tgz
2)生成了一个MurphyPinyin的文件夹,通过Samba在Windows下或在服务器的控制终端上用命令
将此文件夹的"只读"属性去掉,并应用到所有子文件夹.这样做是避免有可能后面打软键盘的
patch时会不成功。
3)修改MurphyPinyin下的Makefile,将LIBS的宏定义改为:
LIBS=$(SUBLIBS) -L$(QTDIR)/lib -L(QPEDIR)/lib -lqpe -lqte
即编译时加入QPEDIR下的库。
4)将patch-softkeyboard文件拷贝到MurphyPinyin目录下,进入MurphyPinyin目录下运行如下命令为输入法打
上软键盘的patch
patch -p1< patch-softkeyboard
5)为了使输入法的配置更利于管理,将源码中3个输入法的配置文件和码表文件的存放路径修改如下
打开源码文件PinyinFrame.cpp将其中table_file[]的读取路径改为:
"/etc/CHInput/pinyin_table.txt"
将phrase_index_file[]的路径改为:
"/etc/CHInput/CHInput_phrase_idx.txt"
将config_file[]的路径改为:
"/etc/CHInput/CHInput.conf"
6)用命令配置好所有的环境变量,环境变量的配置要根据具体的文件夹和编译工具的安装情况来定
我所配置的环境变量如下:
export QTDIR=/home/huaming/Qt/qt-2.3.5/
export QPEDIR=/home/huaming/Qt/qtopia-commercial-1.6.1/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib:$QPEDIR/lib
export PATH=$QTDIR/bin:$QPEDIR/bin:$PATH:/usr/local/arm/3.3.2/bin
export TMAKEDIR=/home/huaming/tmake-1.11
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
export PATH=$TMAKEDIR/bin:$PATH
7)在Murphypinyin目录下运行make命令,在此目录下生成了一个DIST目录,里面是3个输入法插件的库
文件.
8)接下来将输入法移植到平台上,首先板子上要移植好了Qtopia系统,将生成的3个库文件放到
/opt/Qtopia/plugins/inputmethods路径下,在/etc目录下新建文件夹CHInput,将三个文件
pinyin_table.txt CHInput_phrase_idx.txt CHInput.conf都放到此目录中。
9)将用simsun.ttf生成的qpf字体文件simsun_120_50.qpf 和simsun_140_50.qpf放到
/opt/Qtopia/lib/fonts目录下。
10)通过脚本启动Qtopia,脚本中要设置好相关的环境变量等等,这是移植Qtopia的工作
11)进入Qtopia,这时可以看到MurphyPinyin输入法了,在Qtopia的Setting-〉Appearence-〉font
中选择simsun的字体以使系统支持中文显示.
12)通过以上步骤中文输入法在Qtopia中已经可以使用了.
其中还有一些细节上的修改,我提供的文件是修改后可以直接使用的.此中文输入法的输入效率比较高,
并且码表可以修改替换以获得更好的输入效率,但仍然存在一些问题,即启动Qtopia加载此输入法插件时用时
比较长,导致Qtopia的启动时间大大延长,其次是此输入法在退出和选择软键盘时会出现短时间的停顿,这
些问题都还有待解决.