TouchGFX基礎(chǔ):顯示中文

使用 TouchGFX Designer 的textArea控件很容易顯示不同字體的文字,可是如果想顯示中文,則需要做相應(yīng)的配置,否則會(huì)出亂碼,見(jiàn)下面這個(gè)例子:

圖一

如上圖,添加一個(gè)textArea控件, 輸入一串文字:“你好 TouchGFX”,在Designer中中文是可以正常顯示的。


圖二

同時(shí),特意將40號(hào)大小的Large字體的 Fallback Character 屬性由默認(rèn)的 ? 改為 * 號(hào)(后面會(huì)看到它的作用),Ctrl+S 保存工程,然后 Browse Code,在VC環(huán)境中編譯、運(yùn)行,結(jié)果如下:


圖三

“你好”2個(gè)中文字沒(méi)有顯示出來(lái)呀?!對(duì)應(yīng)的,顯示了2個(gè) * 號(hào)(這正是圖二中配置的)!難道是VC模擬器的問(wèn)題?用IAR重新編譯、燒寫到 STM32F769I-DISCO 開(kāi)發(fā)板中(如何在IAR中正確燒寫片外flash,見(jiàn)上一篇文章),結(jié)果也是亂碼:


圖四

原因在哪里?

回到Designer中,這里要重點(diǎn)說(shuō)說(shuō)?Typography?這個(gè)概念,網(wǎng)絡(luò)上一般翻譯為 “字體排印” ,我稱之為 “字體類”,它包含了一種字體的名稱、大小、色深、通配符等屬性,TouchGFX中顯示的任何文字,不論英文還是中文,必定屬于某一種字體。只是,Designer默認(rèn)的任一 字體類 的字體是 Verdana ,這是一種西文字體,是不支持中文顯示的,所以造成亂碼:


圖五

圖五中,字體類Large 的 Font 是 Verdana,只能顯示西文(但Designer的界面上能顯示 “你好” 這2個(gè)中文字,呵呵了)。為了顯示中文,就得設(shè)定中文字體 ---- 創(chuàng)建一個(gè)字體類,并且將它的 Font 設(shè)置為一種中文字體。在圖五中,點(diǎn)擊綠色框框中的 ADD NEW TYPOGRAPHY 按鈕,彈出一個(gè)創(chuàng)建字體類的窗口:


圖六

為新字體類取個(gè)名字:Typography_cn,在 Font 下拉列表中,選擇 YouYuan,即 幼圓字體 (當(dāng)前的Designer 4.10版本界面貌似不支持中文,呵呵了)即可:


圖七

在textArea控件中重新設(shè)置Typography:


圖八

保存工程,再次啟動(dòng)VC、運(yùn)行模擬器,中文顯示正常了:


圖九

這是下載到目標(biāo)板運(yùn)行的情況:


圖十

TouchGFX是支持多語(yǔ)言界面的(multi language interfaces),即界面可以在多個(gè)語(yǔ)言之間切換,需要?jiǎng)?chuàng)建新的 Resource :


圖十一

如何實(shí)現(xiàn)多語(yǔ)言支持,將來(lái)另文介紹,本文完。


補(bǔ)記:有關(guān)中文字體的擴(kuò)充內(nèi)容,請(qǐng)見(jiàn)文章:《TouchGFX基礎(chǔ):再談中文顯示》。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容