LVGL显示其他大小的中文
LVGL显示其他大小的中文
- 1、LVGL自带汉字库CJK
- 2、自定义LVGL汉字库
1、LVGL自带汉字库CJK
使用自带的CJK汉字库需要将lv_conf.h文件中的CJK字库宏定义开启,否则不能使用。直接搜索“LV_FONT_SIMSUN_16_CJK”宏定义更改为1。
/* 展示特色 */
#define LV_FONT_MONTSERRAT_12_SUBPX 0
#define LV_FONT_MONTSERRAT_28_COMPRESSED 0 /* bpp = 3 */
#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 0 /* 希伯来语,阿拉伯语,波斯语以及它们的各种形式 */
#define LV_FONT_SIMSUN_16_CJK 1 /* 1000个最常见的CJK自由基s */
需要在lv_conf.h文件中找到LV_FONT_SIMSUN_16_CJK设置成1;
JK库位于LVGL的路径下的src文件夹下的font子文件夹中:lv_font_simsun_16_cjk.c,这个文件中包含了日常使用的汉字数量有数千个。
示例如下:
lv_obj_t* label = lv_label_create(lv_scr_act()); /* 定义并创建标签 */lv_obj_set_style_text_font(label, &lv_font_simsun_16_cjk, 0);lv_label_set_text_fmt(label, "%d湿度:%d℃, 温度:%d%%", lv_rand(0, 9), lv_rand(20, 30), lv_rand(70, 80));lv_obj_set_style_text_font(label, font, LV_PART_MAIN); /* 设置标签文本字体 */lv_obj_set_width(label, scr_act_width() / 3); /* 设置标签宽度 */lv_obj_align(label, LV_ALIGN_CENTER, scr_act_width() / 3, 0); /* 设置标签位置 */lv_obj_set_style_text_align(label, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN); /* 设置标签文本对齐方式 */
使用函数lv_obj_set_style_text_font()引用lv_font_simsun_16_cjk字库。
如果没法显示所有汉字的话,这时需要注意下工程代码处于UTF-8编码模式下。
2、自定义LVGL汉字库
百问网有通过免费的字体好像不是TTF格式的这个也没关系
LVGL官方字体转换器
根据提示填写内容,TTF字体单击浏览选择字体
提交后,自动下载文件链接
放入MDK文件中
将下载的.c字库翻到最底部,有了这个我们就可以用了。
要在文件中声明字体使用使用函数 LV_FON_DECLARE 引用。
如果无法显示在MDK中更改成UTF-8编码格式。