关于程序员:ArtPi学习笔记53在littlevgl软件包中显示中文字体

3次阅读

共计 933 个字符,预计需要花费 3 分钟才能阅读完成。

开发板:
ART-PI

开发环境:
rtthread studio

参考链接:
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 上一段时间,也玩的挺开心。最近折腾了一下中文显示,这里把过程记录下来,不便当前本人查问。

首先,重要的事件说三遍,要显示中文字体,C 语言编辑文件的编码格局必须是
UTF-8!
UTF-8!
UTF-8!
这是我遇到的第一个坑,之前每留神到这个中央,后果试了很屡次都没有胜利显示中文字体进去。

首先第一步是应用字体生成软件生成本人的字体文件,这里借用微雪贴子中的图片,这个贴子写的挺具体的。软件用起来也不难,跟着步骤操作就好了。

生成的 c 文件我是放在 LVGL 软件包的 example 目录下,如下图所示

接下来就是批改 lv_test_theme.c 文件中的代码,增加中文显示局部代码。这里一开始我是间接照搬微雪贴子中的代码,后果呈现编译不通过的状况,我猜想可能是不同的 lvgl 版本,有些指令不雷同引起的,因而这里照着软件包中的 example 的写法来写。

首先是申明一个内部字库

而后创立一个 lable 对象,并且指定对象的 text_font 为 myFont

编译通过,下载到板子上呈现出想要的后果

上面是我的代码,仅供参考

    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 这里是汉字显示例程!");
正文完
 0