=========================================================================================== 11. 实现GUI界面的中文化, =========================================================================================== ---------------------------------------------------------- (1)实现GUI界面的中文化, ---------------------------------------------------------- 进入/data/qt_x86 (i)设置环境变量 #. setenv_PC_ZC.sh #export QTDIR=$QTEDIR ================================================================================ (ii)进入qtopia-2.1.1-target;开始配置 ================================================================================ #./configure -displaysize 320x240 -languages "zh_CN" ---------------------------------------------------------- (2)移植相应的拼音输入法,使得系统可以输入汉字 ---------------------------------------------------------- /// // // 移植Qtopia中文输入法_PC机版 // 从http://sourceforge.net/projects/murphypinyin/ 下载MurphyPinyin-0.03-src.tgz 1. #tar zxvf MurphyPinYin-0.03-src.tgz 2. #cd MurphyPinYin 3. mv Makefile.x86 Makefile 4. #export QTDIR=/data/qt_x86/qt-2.3.10-target #export QPEDIR=/data/qt_x86/qtopia-2.1.1-target 5. 修改Makefile文件的以下内容: LIBS= $(LIBS) –L$(QPEDIR)/lib –L$(QTDIR)/lib –lm –lqpe –lqte 即:添加–L$(QPEDIR)/lib 6. 修改PinyinFrame.cpp .... #include "public.h" #include "Config.h" const char table_file[]= #ifdef X86 "/data/qt_x86/qtopia-2.1.1-target/MurphyPinyin/scim/pinyin_table.txt"; //wpb gaidong #else "/home/zaurus/.murphytalk/pinyin_table.txt"; #endif const char phrase_index_file[]= #ifdef X86 "/data/qt_x86/qtopia-2.1.1-target/MurphyPinyin/phrase/murphytalk_phrase_idx.txt"; //wpb gaidong #else "/home/zaurus/.murphytalk/murphytalk_phrase_idx.txt"; #endif const char config_file[]= #ifdef X86 "/data/qt_x86/qtopia-2.1.1-target/MurphyPinyin/murphytalk.conf"; //wpb gaidong #else "/etc/murphytalk.conf"; #endif .... 【注】:对于onst char phrase_index_file[]=部分 如果phrase中没有murphytalk_phrase_idx.txt;则写为: "/data/qt_x86/qtopia-2.1.1-target/MurphyPinyin/phrase/WINPY.TXT"; //wpb gaidong 但是字体不是很好 7. 修改murphytalk.conf font=efont ;font-size=16 修改为自己的中文字体,如unifont font=unifont ;font-size=16 8. 创建目录:/opt/Qtopia/plugin/inputmethods 9. #make all 这样就会在/opt/Qtopia/plugin/inputmethods下生成四个库文件: libmurphypinyin.so libmurphypinyin.so.0 libmurphypinyin.so.0.0 libmurphypinyin.so.0.0.3 将该四个库文件拷贝到/data/qt_x86/qtopia-2.1.1-target/image/opt/Qtopia/plugin/inputmethods目录下: #cp /opt/Qtopia/plugin/inputmethods/libmurphypinyin.so* /data/qt_x86/qtopia-2.1.1-target/image/opt/Qtopia/plugin/inputmethods 10. 在qtopia的安装路径下的image/opt/Qtopia/plugin/inputmethods/编辑一个叫murphypinyin.desktop的文件: [Desktop Entry] Name = MurphyPinYin Comment = Chinese Input Method Name[zh_CN] = Murphy拼音 Comment[zh_CN] = 中文输入法 X-QPE-Library = libmurphypinyin.so 11. 启动Qtopia。这时在输入法的选择里面的确增加了Murphytalk的输入法,可以通过键盘输入中文。 【注】:如果当我按入字母的时候却没能显示出我可以选择的字库,没有任何选择的显示。比如我键入“c”,终端显示 key code is 0x43 c,0 matched 出现这种情况;主要是因为PinyinFrame.cpp文件没有修改好,其中的路径没有设置正确 // // 移植Qtopia中文输入法_ARM版 从http://www.qtcn.org/bbs/read.php?tid=9292 下载 murphytalk-0.3_softkey.zip 1. murphytalk-0.3_softkey.zip 解压缩 2. #cd murphytalk-0.3 3. #export QTDIR=/usr/local/arm/qt_arm/qt_wpb/qte #export QPEDIR=/usr/local/arm/qt_arm/qt_wpb/qtopia 5. 修改Makefile文件的以下内容: LIBS= $(LIBS) –L$(QPEDIR)/lib –L$(QTDIR)/lib –lm –lqpe –lqte 即:添加–L$(QPEDIR)/lib 【注】:用Makefile 不要用Makefilex86,Makefile中用的是arm-linux-gcc编译器 6. 在开发板的文件系统/tmp下新建目录CHInput; 将scim/pinyin_table.txt;phrase/murphytalk_phrase_idx.txt;phrase/murphytalk_phrase.dat murphytalk.conf拷贝到CHInput文件夹下面。 修改PinyinFrame.cpp .... #include "public.h" #include "Config.h" const char table_file[]= #ifdef X86 "/home/chyang/pinyin_table.txt"; #else "/tmp/CHInput/pinyin_table.txt";//wpb gaidong #endif const char phrase_index_file[]= #ifdef X86 "/home/chyang/murphytalk_phrase_idx.txt"; #else "/tmp/CHInput/murphytalk_phrase_idx.txt"; //wpb gaidong #endif const char config_file[]= #ifdef X86 "/home/chyang/murphytalk.conf"; #else "/tmp/CHInput/murphytalk.conf"; //wpb gaidong #endif .... 然后,为了防止在输入中文时候会有按键自动重复情况,注释掉:repeatTimer->start(500); 【注】:对于 char phrase_index_file[]=部分 如果phrase中没有murphytalk_phrase_idx.txt;则就使用WINPY.TXT" 但是字体不是很好 7. 修改murphytalk.conf font=efont ;font-size=16 修改为自己的中文字体,如wenquanyi font=wenquanyi ;font-size=16 也可采用unifont font=unifont ;font-size=16 8.选择字库 从Qt4的lib/fonts中拷贝wenquanyi_120_50.qpf字体到 /usr/local/arm/qt_arm/board/lib/fonts 从qt_wpb/qte/lib/fonts中拷贝字体索引文件: fontdir 拷贝到 board/lib/fonts 修改fontdir,如下: font wenquanyi_120_50.bdf BDF n 50 120 u 9. #make all 这样就会在/usr/local/arm/qt_arm/qt_wpb/murphytalk-0.3_softkey/murphytalk-0.3下生成四个库文件: libmurphypinyin.so libmurphypinyin.so.0 libmurphypinyin.so.0.0 libmurphypinyin.so.0.0.3 将该四个库文件拷贝到/usr/local/arm/qt_arm/board/plugin/inputmethods目录下: #cp /usr/local/arm/qt_arm/qt_wpb/murphytalk-0.3_softkey/murphytalk-0.3/libmurphypinyin* /usr/local/arm/qt_arm/board/plugin/inputmethods 10. 在qtopia的安装路径下的/usr/local/arm/qt_arm/board/plugin/inputmethods/编辑一个叫murphypinyin.desktop 的文件: [Desktop Entry] Name = MurphyPinYin Comment = Chinese Input Method Name[zh_CN] = Murphy拼音 Comment[zh_CN] = 中文输入法 X-QPE-Library = libmurphypinyin.so 11. 启动Qtopia。这时在输入法的选择里面的确增加了Murphytalk的输入法,可以通过键盘输入中文。 ===================================================================================== 【关于输入法有些注意事项】: ===================================================================================== 1。3个文件(pinyin_table.txt,murphytalk_phrase_idx.txt,murphytalk.conf)位置一定按PinyinFrame.cpp里位置 放好,1个文件(murphytalk_phrase.dat)位置一定按PinyinPhrase.cpp里位置放好, 你也可以改位置。 2。murphytalk.conf 设置中文字体是efont,由于没有efont,设置为unifont也可以,字体大小size,keyboard=0不显 示键盘,=1显示, 3。如果中文无法输入,英文可以的话,就在PinyinFrame.cpp的SendKey(int u, int c)里加一句 emit key(u,c,0,true,false); 4。如果在输入中文时候会有按键自动重复情况,注释repeatTimer->start(500); 上面的语句emit key(u,c,0,true,false); 就不要加了;加了仍然会重复的 5. 当默认字体不是efont时候选字被系统工具栏遮挡的问题:可以选择字体小些的字库,比如:wenquanyi_120_50.qpf 注:efont是台湾人做的字体,所以它只能显示big5和gb2312的字体,远远达不到gbk的字数 【操作】: (1)点击小键盘的上侧,即可打开软键盘 (2)点击shift,可以进行“造词” 词组支持。可以输入声母进行模糊匹配:如p y可以匹配所有第一字声母为p和第二字声母为y的词组。 在线造词:shift键进入在线造词状态,此时所有输入的字或词会被依次加入正在造的词组,以蓝色显示。再次按shift 键提交所造新词。【不过好像不行】
实现GUI界面的中文化--移植中文输入法MurphyPinyin-0.03-src.tgz
最新推荐文章于 2021-06-09 15:36:25 发布