AWTK是基于C語言開發的跨平臺GUI框架。《AWTK使用經驗》系列文章將介紹開發AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設計自定義進度條?這些都會在系列文章進行解答。
假設目前需要在AWTK程序中用到中文輸入法,并且要自定義輸入法的聯想詞,此時需要用到AWStudio添加軟鍵盤和輸入法。下面將介紹如何使用AWStudio在項目中添加中文輸入法以及如何修改聯想詞,并且如何移植到嵌入式設備中。下圖是實現中文輸入法并移植到 ZTP800示教器 的效果圖:
圖1ZTP800中文輸入法效果圖
使用AWStudio添加軟鍵盤
在AWStudio中帶有軟鍵盤的默認樣式,用戶可以直接使用該軟鍵盤樣式。創建該默認軟鍵盤也比較簡單,只需點擊AWStudio的“新建窗體”按鈕,接著選擇“Keyboard”,確定后即可看到軟鍵盤的UI文件生成。圖2AWStudio添加默認軟鍵盤接著還需要從awtk/3rd/gpinyin/data目錄將gpinyin.dat文件添加到項目資源目錄的data目錄下,例如:res/assets/default/raw/data,這里可以在AWStudio的資源管理器中點擊“導入”按鈕添加到“其他數據”分類中。最后將軟鍵盤與控件關聯,修改edit控件的“keyboard”屬性指定剛剛創建的軟鍵盤窗體。
圖3使用AWStudio導入gpinyin.dat
修改中文輸入法聯想詞
聯想詞是指在輸入了某個漢字或詞組后,輸入法根據該漢字或詞組提供其常用的組詞。如果想要修改聯想詞的順序或是增加新的詞語等,需要修改awtk/3rd/gpinyin/data目錄下的配置文件rawdict_utf16_65105_freq.txt。配置文件中包含了各個詞語的漢字、使用頻率和對應的拼音,使用頻率數值越大,對應的聯想詞越靠前。例如:下圖的“爸爸”使用頻率數值大于“巴巴”,那么當輸入“baba”拼音時,“爸爸”的顯示順序會比“巴巴”靠前。
圖4 聯想字庫配置文件
修改完配置文件后,在awtk目錄下打開終端,執行以下命令,該程序會生成一個新的gpinyin.dat,按照前面步驟拷貝到項目資源目錄,如:assets/default/raw/data/。
./bin/gpinyingen
將中文輸入法移植到嵌入式Linux平臺
嵌入式Linux的官方移植層awtk-linux-fb默認加入了中文輸入法,用戶在PC上根據文章前面步驟添加好中文輸入法,使用AWStudio打包資源,將項目拷貝到交叉編譯環境下使用awtk-linux-fb交叉編譯應用即可。
將中文輸入法移植到RTOS平臺
將中文輸入法代碼文件加入編譯
對于其它平臺如RTOS平臺添加中文輸入法的步驟會復雜一些,需要將中文輸入法相關的代碼文件加入編譯(比如將這些代碼文件添加到keil編譯),詳細步驟如下:
- 加入以下目錄的代碼文件:awtk/3rd/gpinyin/src;
- 加入代碼文件:awtk/src/input_engines/input_engine_pinyin.cpp;
- 去掉下面的代碼文件,不加入編譯:awtk/src/input_engines/input_engine_null.cpp;
- 加入下面的include路徑:awtk/3rd/gpinyin/include;
- 加入gpinyin.dat到應用資源目錄data文件夾內。
添加輸入法宏
- 在平臺對應移植層的awtk_config.h文件內定義宏:
WITH_IME_PINYIN
另外還需要取消以下兩個宏的定義:
- WITH_NULL_IMWITHOUT_INPUT_METHOD
-
軟鍵盤
+關注
關注
0文章
10瀏覽量
6357 -
示教器
+關注
關注
2文章
29瀏覽量
3755 -
awtk
+關注
關注
0文章
44瀏覽量
234
發布評論請先 登錄
相關推薦
評論