AWTK是基于C語言開發的跨平臺GUI框架。AWTK使用經驗系列文章將介紹開發AWTK過程中一些常見問題與解決方案。
AWTK如何裁剪字庫
在AWTK應用開發過程中可能會遇到添加了某個字符但是顯示不出來,比如攝氏度符號“ ℃ ”,這種情況有可能是字庫文件被裁剪不完整的問題。本章節將以此為例介紹遇到這種情況的解決方法。
字庫裁剪與還原
字庫裁剪是指在一個原本完整的字庫文件可能用不到那么多字符數據,于是將用不到的字符數據裁剪,保留需要的字符。在AWTK中,字庫裁剪是借用Python腳本實現的,AWTK不僅提供了裁剪功能,同時也提供了還原功能,可以將使用AWStudio裁剪后的字庫還原成完整的字庫。
添加保留的字符
首先打開AWStudio的“項目設置”-“主題設置”界面,在左側主題的字體列表選擇需要裁剪的字體后,再到右側“保留的字符”編輯框編輯需要裁剪的字符。
上面的例子由于是缺少“℃”字符,因此只需要將它添加到“保留的字符”編輯框內,前提要確保原本的字體文件有這個字符的字模。
圖1AWStudio項目設置添加裁剪字符
還原與裁剪字體
修改設置后保存并返回AWStudio主頁面,在左下角資源管理器找到上方修改的字體,并依次點擊“還原字體”和“裁剪字體”兩個按鈕。此時前面添加的“ ℃ ”符號便可正常顯示。
圖2重新還原與裁剪字體
如何在AWTK使用點陣字
AWTK在顯示矢量字體前需要解碼,這個過程會有性能消耗,因此在一些性能比較低的平臺中解析ttf矢量字體可能會耗時比較久,此時可以選擇使用點陣字的形式顯示。
點陣字在顯示時無需進行解碼,加載速度相比較矢量字體更快。相應的,由于點陣字需要提前解碼好,所以會占用較大空間,因此這個方案相當于用空間換時間。本章節將介紹如何在AWTK中使用并顯示點陣字體。
首先,在AWStudio打開“項目設置”,將設置中的資源打包方式改為"文件+常量",資源的常量格式修改為帶有"位圖數據"的選項。
圖3修改資源打包方式與資源常量格式
接著再到“主題”設置頁面,將裁剪格式設置為“Bitmap”,再根據實際情況選擇字模每像素的位數、保留的字號、以及保留的字符。
圖4主題字體相關設置
在AWStudio點擊“打包”按鈕等待資源打包結束,在工程字體資源目錄(res/assets/default/inc/fonts)看到.data的文件代表打包點陣字體資源文件成功。
最后在編譯awtk與程序時需要進行下面操作才能啟用點陣字體:
定義 WITH_BITMAP_FONT 宏;
關閉 WITH_TRUETYPE_FONT 宏。
-
C語言
+關注
關注
180文章
7615瀏覽量
137827 -
應用開發
+關注
關注
0文章
60瀏覽量
9450 -
awtk
+關注
關注
0文章
46瀏覽量
255
發布評論請先 登錄
相關推薦
【AWTK使用經驗】如何響應物理按鍵
![【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】如何響應物理按鍵](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【AWTK使用經驗】如何更換AWTK SDK與渲染模式
![【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】如何更換<b class='flag-5'>AWTK</b> SDK與渲染模式](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
點陣字庫的規范應用
點陣字庫在行業中的應用
使用UCDOS的點陣字庫
ViewChr 程序 16*16點陣字庫
中文點陣字庫的使用方法
![中文<b class='flag-5'>點陣字庫</b>的使用方法](https://file.elecfans.com/web2/M00/49/57/pYYBAGKhtEeAYvNBAAAU65RXN84633.jpg)
高通MP3字庫、音響字庫解決方案 ——包含多國外文點陣字庫
【AWTK使用經驗】如何設計立體電池進度條?
![【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】如何設計立體電池進度條?](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【AWTK使用經驗】加載和釋放外部圖片
![【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】加載和釋放外部圖片](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【AWTK使用經驗】如何播放視頻或攝像頭畫面
![【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】如何播放視頻或攝像頭畫面](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【AWTK使用經驗】如何在AWTK顯示阿拉伯文本
![【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】如何在<b class='flag-5'>AWTK</b>顯示阿拉伯文本](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
評論