實現GUI界面的中文化--移植中文輸入法MurphyPinyin-0.03-src.tgz
===========================================================================================
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
鍵提交所造新詞。【不過好像不行】
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.