里飞网

标题: 外部FLASH的中文字库无法读取中文,只能读取英文。 [打印本页]

作者: WOCHJF    时间: 2025-2-23 01:22
标题: 外部FLASH的中文字库无法读取中文,只能读取英文。
LVGL8.3版本,字库文件放在外部FLASH,字体转换工具是V0.4

1:C文件是UTF-8格式
2:lv.conf.h文件里也声明了外部字库变量#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(LVFONT12)
3:并且定义了#define LV_TXT_ENC LV_TXT_ENC_UTF8
4:KEIL5的Encoding选项是GB2312
5:具体标签代码:    time_labal = lv_label_create( data_obj);                                lv_label_set_text(time_labal,"学校234BVV" );
                                lv_obj_set_style_text_font(time_labal,&LVFONT12, LV_STATE_DEFAULT);
                                lv_obj_align(time_labal, LV_ALIGN_LEFT_MID, 30,0 );
6:实际显示效果:只有234BVV,没有学校













作者: cainiaoxiaoyu_    时间: 2025-2-23 01:33
可以考虑一下你的样式初始化了吗
作者: WOCHJF    时间: 2025-2-23 01:46
cainiaoxiaoyu_ 发表于 2025-2-23 01:33
可以考虑一下你的样式初始化了吗

样式初始化?
    time_labal = lv_label_create( data_obj);
    lv_label_set_text(time_labal,"学校234BVV" );
    lv_obj_set_style_text_font(time_labal,&LVFONT12, LV_STATE_DEFAULT);
    lv_obj_align(time_labal, LV_ALIGN_LEFT_MID, 30,0 );
这样子 不算初始化吗,现在我改了这段代码所在的C文件为UTF-8格式,不再是显示234BVV,而是显示口口234BVV,数字前面多了两个框框
作者: WOCHJF    时间: 2025-2-23 01:49
修改了控件所在C文件为UTF-8格式后,不显示234BVV,而是显示显示口口234BVV,数字前面多了两个框框




欢迎光临 里飞网 (http://dz.lfly.xyz/) Powered by Discuz! X3.3