0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【AWTK使用經(jīng)驗(yàn)】如何添加中文輸入法

ZLG致遠(yuǎn)電子 ? 2024-06-20 08:25 ? 次閱讀

AWTK是基于C語(yǔ)言開(kāi)發(fā)的跨平臺(tái)GUI框架?!禔WTK使用經(jīng)驗(yàn)》系列文章將介紹開(kāi)發(fā)AWTK過(guò)程中一些常見(jiàn)問(wèn)題與解決方案,例如:如何加載外部資源?如何設(shè)計(jì)自定義進(jìn)度條?這些都會(huì)在系列文章進(jìn)行解答。

假設(shè)目前需要在AWTK程序中用到中文輸入法,并且要自定義輸入法的聯(lián)想詞,此時(shí)需要用到AWStudio添加軟鍵盤(pán)和輸入法。下面將介紹如何使用AWStudio在項(xiàng)目中添加中文輸入法以及如何修改聯(lián)想詞,并且如何移植到嵌入式設(shè)備中。下圖是實(shí)現(xiàn)中文輸入法并移植到 ZTP800示教器 的效果圖:
875f8fba-2e9b-11ef-a655-92fbcf53809c.png圖1ZTP800中文輸入法效果圖

使用AWStudio添加軟鍵盤(pán)

在AWStudio中帶有軟鍵盤(pán)的默認(rèn)樣式,用戶(hù)可以直接使用該軟鍵盤(pán)樣式。創(chuàng)建該默認(rèn)軟鍵盤(pán)也比較簡(jiǎn)單,只需點(diǎn)擊AWStudio的“新建窗體”按鈕,接著選擇“Keyboard”,確定后即可看到軟鍵盤(pán)的UI文件生成。87838b2c-2e9b-11ef-a655-92fbcf53809c.png圖2AWStudio添加默認(rèn)軟鍵盤(pán)接著還需要從awtk/3rd/gpinyin/data目錄將gpinyin.dat文件添加到項(xiàng)目資源目錄的data目錄下,例如:res/assets/default/raw/data,這里可以在AWStudio的資源管理器中點(diǎn)擊“導(dǎo)入”按鈕添加到“其他數(shù)據(jù)”分類(lèi)中。最后將軟鍵盤(pán)與控件關(guān)聯(lián),修改edit控件的“keyboard”屬性指定剛剛創(chuàng)建的軟鍵盤(pán)窗體。

879d8342-2e9b-11ef-a655-92fbcf53809c.png圖3使用AWStudio導(dǎo)入gpinyin.dat

修改中文輸入法聯(lián)想詞

聯(lián)想詞是指在輸入了某個(gè)漢字或詞組后,輸入法根據(jù)該漢字或詞組提供其常用的組詞。如果想要修改聯(lián)想詞的順序或是增加新的詞語(yǔ)等,需要修改awtk/3rd/gpinyin/data目錄下的配置文件rawdict_utf16_65105_freq.txt。配置文件中包含了各個(gè)詞語(yǔ)的漢字、使用頻率和對(duì)應(yīng)的拼音,使用頻率數(shù)值越大,對(duì)應(yīng)的聯(lián)想詞越靠前。例如:下圖的“爸爸”使用頻率數(shù)值大于“巴巴”,那么當(dāng)輸入“baba”拼音時(shí),“爸爸”的顯示順序會(huì)比“巴巴”靠前。

87c3f4aa-2e9b-11ef-a655-92fbcf53809c.png圖4 聯(lián)想字庫(kù)配置文件

修改完配置文件后,在awtk目錄下打開(kāi)終端,執(zhí)行以下命令,該程序會(huì)生成一個(gè)新的gpinyin.dat,按照前面步驟拷貝到項(xiàng)目資源目錄,如:assets/default/raw/data/。

./bin/gpinyingen

將中文輸入法移植到嵌入式Linux平臺(tái)

嵌入式Linux的官方移植層awtk-linux-fb默認(rèn)加入了中文輸入法,用戶(hù)在PC上根據(jù)文章前面步驟添加好中文輸入法,使用AWStudio打包資源,將項(xiàng)目拷貝到交叉編譯環(huán)境下使用awtk-linux-fb交叉編譯應(yīng)用即可。

將中文輸入法移植到RTOS平臺(tái)

將中文輸入法代碼文件加入編譯

對(duì)于其它平臺(tái)如RTOS平臺(tái)添加中文輸入法的步驟會(huì)復(fù)雜一些,需要將中文輸入法相關(guān)的代碼文件加入編譯(比如將這些代碼文件添加到keil編譯),詳細(xì)步驟如下:

  1. 加入以下目錄的代碼文件:awtk/3rd/gpinyin/src;
  2. 加入代碼文件:awtk/src/input_engines/input_engine_pinyin.cpp;
  3. 去掉下面的代碼文件,不加入編譯:awtk/src/input_engines/input_engine_null.cpp;
  4. 加入下面的include路徑:awtk/3rd/gpinyin/include;
  5. 加入gpinyin.dat到應(yīng)用資源目錄data文件夾內(nèi)。

添加輸入法宏

  • 在平臺(tái)對(duì)應(yīng)移植層的awtk_config.h文件內(nèi)定義宏:

WITH_IME_PINYIN

另外還需要取消以下兩個(gè)宏的定義:

  • WITH_NULL_IMWITHOUT_INPUT_METHOD

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 軟鍵盤(pán)
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    6340
  • 示教器
    +關(guān)注

    關(guān)注

    2

    文章

    27

    瀏覽量

    3724
  • awtk
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    198
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    中文輸入法在B超系統(tǒng)中的應(yīng)用

    中文輸入法在B超系統(tǒng)中的應(yīng)用本文對(duì)中文輸入法在B超系統(tǒng)中的實(shí)現(xiàn)進(jìn)行了介紹。 在計(jì)算機(jī)迅速發(fā)展和普及的今天,用計(jì)算機(jī)對(duì)漢字進(jìn)行輸入、編輯和處理已經(jīng)非常普遍了。在醫(yī)療電子產(chǎn)品中,越來(lái)越多的場(chǎng)合需要顯示
    發(fā)表于 11-30 10:15

    在Labview中如何控制輸入法

    在寫(xiě)程序中遇到一個(gè)問(wèn)題:如何在進(jìn)入程序時(shí)將輸入法更改為英文輸入法,一般默認(rèn)是中文輸入法,當(dāng)按下鍵時(shí),輸入法會(huì)跳出來(lái),而程序則不會(huì)響應(yīng)這個(gè)按鍵。所以想在進(jìn)入程序時(shí),將系統(tǒng)
    發(fā)表于 11-26 15:47

    Orange Pi 4開(kāi)發(fā)板在Ubuntu系統(tǒng)下如何安裝中文輸入法

    彈出的窗口中勾選Control,去掉Super前面的勾,然后點(diǎn)擊Apply。再點(diǎn)擊ok?!緢D9】回到上一個(gè)窗口,點(diǎn)擊 Input Method?!緢D10】如下圖,只有英文。點(diǎn)擊Add添加中文輸入法
    發(fā)表于 05-19 15:13

    求wince中文輸入法

    各位大神,求一個(gè)wince的免費(fèi)中文輸入法,能分享一下嗎
    發(fā)表于 06-24 08:50

    如何實(shí)現(xiàn)ARM-LINUX嵌入式設(shè)備上的中文輸入法

    如何實(shí)現(xiàn)ARM-LINUX嵌入式設(shè)備上的中文輸入法
    發(fā)表于 12-23 06:15

    OKMX6UL-C開(kāi)發(fā)板自帶linux系統(tǒng)怎么安裝中文輸入法

    請(qǐng)問(wèn)一下,OKMX6UL-C開(kāi)發(fā)板自帶linux系統(tǒng),怎么安裝中文輸入法?
    發(fā)表于 01-11 06:37

    如何去實(shí)現(xiàn)RK3399 ARM開(kāi)發(fā)板添加中文輸入法的功能呢

    如何去實(shí)現(xiàn)RK3399 ARM開(kāi)發(fā)板添加中文輸入法的功能呢?
    發(fā)表于 03-07 06:53

    KICAD6與中文輸入法沖突

    目前在多臺(tái)電腦試過(guò),windows10開(kāi)中文輸入法,即使是英文輸入狀態(tài),操作KICAD6會(huì)卡死,現(xiàn)象就是鼠標(biāo)沒(méi)反應(yīng)了,啥也做不了,只能結(jié)束進(jìn)程。多臺(tái)電腦驗(yàn)證過(guò)了。windows11開(kāi)中文輸入法,KICAD6不崩潰,兩臺(tái)電腦驗(yàn)證過(guò)
    發(fā)表于 04-30 11:55

    【飛凌RK3568開(kāi)發(fā)板試用體驗(yàn)】添加中文輸入法

    由于英文版的ubuntu20沒(méi)有安裝拼音、五筆輸入法,經(jīng)過(guò)查詢(xún)資料,把中文輸入法解決了,這里記錄一下,以便后來(lái)查詢(xún):1、先把fcitx徹底卸載:sudo apt remove fcitxsudo
    發(fā)表于 11-29 20:57

    嵌入式中文輸入法設(shè)計(jì)

    本文比較了嵌入式系統(tǒng)中拼音輸入法和筆畫(huà)輸入法的優(yōu)缺點(diǎn),介紹了嵌入式系統(tǒng)中的中文輸入法的基本設(shè)計(jì)思想。本文重點(diǎn)介紹拼音輸入法的設(shè)計(jì)思想,并針對(duì)傳統(tǒng)拼音
    發(fā)表于 06-19 08:29 ?41次下載

    手機(jī)中文輸入法

    手機(jī)中文輸入法              中文輸入法
    發(fā)表于 12-19 13:58 ?537次閱讀

    掌上電腦中文輸入法有哪些?

    掌上電腦中文輸入法有哪些?             掌上電腦有多種文
    發(fā)表于 12-21 17:36 ?1702次閱讀

    電腦辭典中文輸入法及其他功能

    電腦辭典中文輸入法及其他功能  中文輸入法     
    發(fā)表于 12-22 11:45 ?840次閱讀

    中文輸入法在B超系統(tǒng)中的實(shí)現(xiàn)

    本文對(duì)中文輸入法在B超系統(tǒng)中的實(shí)現(xiàn)進(jìn)行了介紹。 字庫(kù)設(shè)計(jì) 通常的漢字顯示方式是:先用字模軟件提取所需要的漢字點(diǎn)陣,取得的數(shù)據(jù)可放入ASM匯編文件中,接著
    發(fā)表于 09-16 11:12 ?992次閱讀
    <b class='flag-5'>中文輸入法</b>在B超系統(tǒng)中的實(shí)現(xiàn)

    基于Qt/E的中文輸入法的設(shè)計(jì)

    隨著嵌人式系統(tǒng)在信息家電、移動(dòng)通信、手持設(shè)備以及工業(yè)控制等眾多領(lǐng)域的廣泛應(yīng)用,國(guó)內(nèi)用戶(hù)對(duì)支持中文輸入法的輕量級(jí)GUI的需求日益迫切。
    的頭像 發(fā)表于 12-06 07:44 ?4566次閱讀
    基于Qt/E的<b class='flag-5'>中文輸入法</b>的設(shè)計(jì)