Art-Pi學習筆記5_3:在littlevgl軟件包中顯示中文字體

開發板:
ART-PIphp

開發環境:
rtthread studiohtml

參考連接:
STM32之littlevGL系列教程:漢字顯示 - 圖形用戶界面(GUI) 微雪課堂
https://www.waveshare.net/stu...工具

LvglFontTool字體工具更新V0.3版本 - LittlevGL - 裏飛網 - Powered by Discuz!
http://www.lfly.xyz/forum.php...字體

LVGL官方在線字體轉換工具
https://lvgl.io/tools/fontcon...編碼

已經成功移植LVGL到Art-Pi上一段時間,也玩的挺開心。最近折騰了一下中文顯示,這裏把過程記錄下來,方便之後本身查詢。spa

首先,重要的事情說三遍,要顯示中文字體,C語言編輯文件的編碼格式必須是
UTF-8!
UTF-8!
UTF-8!
這是我遇到的第一個坑,以前每注意到這個地方,結果試了不少次都沒有成功顯示中文字體出來。.net

首先第一步是使用字體生成軟件生成本身的字體文件,這裏借用微雪貼子中的圖片,這個貼子寫的挺詳細的。軟件用起來也不難,跟着步驟操做就行了。
image.pngcode

生成的c文件我是放在LVGL軟件包的example目錄下,以下圖所示
image.pnghtm

接下來就是修改lv_test_theme.c文件中的代碼,添加中文顯示部分代碼。這裏一開始我是直接照搬微雪貼子中的代碼,結果出現編譯不經過的狀況,我猜想多是不一樣的lvgl版本,有些指令不相同引發的,所以這裏照着軟件包中的example的寫法來寫。對象

首先是聲明一個外部字庫
image.png

而後建立一個lable對象,而且指定對象的text_font爲myFont
image.png

編譯經過,下載到板子上呈現出想要的結果
image.png

下面是個人代碼,僅供參考

static lv_obj_t* lable_sys_info;
    // lable
    lable_sys_info = lv_label_create(sys_info, NULL);
    lv_obj_set_style_local_text_font(lable_sys_info, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &myFont);
    lv_label_set_text(lable_sys_info, "你好,XX科技!\n這裏是漢字顯示例程!");
相關文章
相關標籤/搜索