• 正文
    • AWTK如何裁剪字庫
    • 如何在AWTK使用點陣字
  • 相關推薦
申請入駐 產業(yè)圖譜

【AWTK使用經驗】如何裁剪字庫以及如何使用點陣字

2024/10/10
1148
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

AWTK是基于C語言開發(fā)的跨平臺GUI框架。AWTK使用經驗系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案。

AWTK如何裁剪字庫

在AWTK應用開發(fā)過程中可能會遇到添加了某個字符但是顯示不出來,比如攝氏度符號“ ℃ ”,這種情況有可能是字庫文件被裁剪不完整的問題。本章節(jié)將以此為例介紹遇到這種情況的解決方法。

字庫裁剪與還原

字庫裁剪是指在一個原本完整的字庫文件可能用不到那么多字符數(shù)據(jù),于是將用不到的字符數(shù)據(jù)裁剪,保留需要的字符。在AWTK中,字庫裁剪是借用Python腳本實現(xiàn)的,AWTK不僅提供了裁剪功能,同時也提供了還原功能,可以將使用AWStudio裁剪后的字庫還原成完整的字庫。

添加保留的字符

首先打開AWStudio的“項目設置”-“主題設置”界面,在左側主題的字體列表選擇需要裁剪的字體后,再到右側“保留的字符”編輯框編輯需要裁剪的字符。

上面的例子由于是缺少“℃”字符,因此只需要將它添加到“保留的字符”編輯框內,前提要確保原本的字體文件有這個字符的字模。

圖?1?AWStudio項目設置添加裁剪字符

還原與裁剪字體

修改設置后保存并返回AWStudio主頁面,在左下角資源管理器找到上方修改的字體,并依次點擊“還原字體”和“裁剪字體”兩個按鈕。此時前面添加的“ ℃ ”符號便可正常顯示。

圖?2?重新還原與裁剪字體

如何在AWTK使用點陣字

AWTK在顯示矢量字體前需要解碼,這個過程會有性能消耗,因此在一些性能比較低的平臺中解析ttf矢量字體可能會耗時比較久,此時可以選擇使用點陣字的形式顯示。

點陣字在顯示時無需進行解碼,加載速度相比較矢量字體更快。相應的,由于點陣字需要提前解碼好,所以會占用較大空間,因此這個方案相當于用空間換時間。本章節(jié)將介紹如何在AWTK中使用并顯示點陣字體。

首先,在AWStudio打開“項目設置”,將設置中的資源打包方式改為"文件+常量",資源的常量格式修改為帶有"位圖數(shù)據(jù)"的選項。

圖?3?修改資源打包方式與資源常量格式

接著再到“主題”設置頁面,將裁剪格式設置為“Bitmap”,再根據(jù)實際情況選擇字模每像素的位數(shù)、保留的字號、以及保留的字符。

圖?4?主題字體相關設置

在AWStudio點擊“打包”按鈕等待資源打包結束,在工程字體資源目錄(res/assets/default/inc/fonts)看到.data的文件代表打包點陣字體資源文件成功。

最后在編譯awtk與程序時需要進行下面操作才能啟用點陣字體:

定義 WITH_BITMAP_FONT 宏;

關閉 WITH_TRUETYPE_FONT 宏。

致遠電子

致遠電子

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術認證企業(yè),廣州市高端工控測量儀器工程技術研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術認證企業(yè),廣州市高端工控測量儀器工程技術研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。收起

查看更多

相關推薦