在lvgl中是没有直接中文显示的的字体文件,需要我们自己制作并且导入。
1.获取字体
大家可以在韦东山老师的官网下载字体文件。
https://lvgl.100ask.net/8.2/
2.在最下面找见字体转换器
3.按照下图格式填写
点击生成即可 这里注意你生成的文件是很大的需要等一会,如果全部生成的话,你的
芯片内存小的话也是放不下的所以建议使用symbols生成这个项目中所需要的字体即可。
4.添加文件到项目中添加以下代码测试
//显示汉字
void lv_100ask_demo_course_3_1_2(void)
{
//这个函数相当于 extern 外部定义
LV_FONT_DECLARE(lv_font_source_han_bold_20_1);
/* 创建一个基础对象 label */
lv_obj_t * label = lv_label_create(lv_scr_act()); // 创建一个label部件(对象),他的父对象是活动屏幕对象
lv_obj_center(label);
/*选择文本字体*/
lv_obj_set_style_text_font(label,&lv_font_source_han_bold_20_1,0);
lv_label_set_text(label,"你好");
}
注意我这里由于文件过大,所以重新生成了一个小的文件。
注意:这里有坑,这里的“你好”两个字可能无法正常显示对于LVGL来说使用的是UTF-8格式,所以在移植时要注意,代码的显示格式,例如在keil中要修改编码格式,输入中文你好才可以显示。
如图所示: