概述
(标题是arduino-esp32只是因为平台是这个🙃)
LVGL默认的字库是英文的,当然其字库文件里也有一个带有中文的字库 lv_font_simsun_16_cjk ,不过里面的中文字并不多而且很多是繁体。这篇说一下怎么自己制作一个中文的字库并使用到LVGL中。
系统自带中文字库
在目录 lvgl/src/font 下,存放着官方自带的所有字库文件。其中 lv_font_simsun_16_cjk.c 就是自带的中文字库了。
在这个文件的头部列举出了一部分的文字,其实就是一部分的CJK编码的文字。包括中文、日文、韩文中的一部分的文字。
不过也只有很少一部分的汉字在这里面,而且有很多都是以繁体的形式给出的。
如果需要使用到的文字刚好这里面都有的话,那么可以直接使用这个字库就行了,不需要自己制作。
要使用这个字库也很简单。
首先在配置文件 lv_conf.h 中,找到这一段。系统默认是只选择使用了14px的 Montserrat 字体。
默认的字体也是这个。
只需要把这个 lv_font_simsun_16_cjk 字库的宏修改为1就可以了。
当然如果使用VS模拟器的话这些字库是全开的,在真正的开发板上是肯定做不到全开,内存肯定不够。
使用自带中文字库
首先在主文件里将 lv_demo_widghts.c 示例给注释掉。
打开下面的 lv_example_label_1() 示例。