lvgl 笔记(3)-中文字库的制作和使用(windows模拟和esp32)

文章目录

  • 1.LvglFontTool工具的使用方法
    • 1.1选择字体
    • 1.2一二级汉字
    • 1.3设置
    • 1.4开始转换
  • 2.如何使用生成的文件
    • 2.1改动生成的C文件
    • 2.2在界面中使用本字库
  • 3.整个工程源码
  • 4.esp-idf环境下使用方法
    • 4.1 使用大字库引起的问题

这里记录一下我在lvgl的windows模拟环境下制作常用汉字库的过程。
参考文章和工具:

  1. 这里主要使用里飞 的“阿里兄”的软件《LvglFontToolV0.4》,下载页面:http://dz.lfly.xyz/forum.phpod=viewthread&tid=24&extra=page%3D1

生成的文件可以是C文件,也可以是bin二进制文件。C文件适合小字库,bin文件适合大字库。我这里是生成bin文件,因为我要的是一二级汉字完全字库,如果生成的是C文件,单个C文件有4-8M字节,在嵌入式系统中,如果在生成的可执行文件中包含了这个字库,每次烧录很麻烦。综合多种原因,生成bin文件比较合适。

1.LvglFontTool工具的使用方法

打开工具,有3项准备工作:

1.选择字体
2.输入汉字
3.其他设置

1.4开始转换

点击开始转换,会弹出一个对话框,让你选择生成bin文件的保存路径:

2.如何使用生成的文件

2.1改动生成的C文件

把《myFont_16_2.c》添加到目录 lvgl/src/font里面:

就是把bin文件读入一个全局指针指向的对应内存空间,通过偏移量获取所需的字库。

2.2在界面中使用本字库

这里使用的是百问 的工程和例子,使用LV_FONT_DECLARE 声明一下就可以用了,源码如下:

效果:

用图示表示改动过的地方:

lvgl 笔记(3)-中文字库的制作和使用(windows模拟和esp32)

4.1 使用大字库引起的问题

我的在电子相册工程中使用一二级汉字库作为默认字体,直接导致2个问题:
一是刷新速度变慢,可能是在字库中查找字符比较耗时,再加上spi读取速度也有影响;
二是LVGL自带小图标没办法显示。像下面的语句,LV_SYMBOL_FILE图标没法显示:

文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览113319 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月12日
下一篇 2022年9月12日

相关推荐