|
本帖最后由 flyfire 于 2022-11-27 12:41 编辑
如题
使用环境:Win VS模拟器
Lvgl版本:8.3.0
启用了文件系统,接口部分代码
static uint8_t __g_font_buf[512];//如bin文件存在SPI FLASH可使用此buff
static uint8_t* __user_font_getdata(int offset, int size) {
lv_fs_file_t file;
lv_fs_res_t result;
static uint32_t icount = 0;
result = lv_fs_open(&file, "/Font/Bin/SourceHanSans_16.bin", LV_FS_MODE_RD);
printf("lv_fs_open res:%d,count:%d\r\n", result, ++icount);//测试代码
if (result != LV_FS_RES_OK)
return NULL;
lv_fs_seek(&file, offset, LV_FS_SEEK_CUR);
uint32_t len;
lv_fs_read(&file, __g_font_buf, size, &len);
lv_fs_close(&file);
return __g_font_buf;
}
测试代码:
void lv_showFont(void)
{
LV_FONT_DECLARE(SourceHanSans_16);//引入字库
lv_obj_t* zh_label = lv_label_create(lv_scr_act());//获取默认屏幕
lv_obj_set_style_text_font(zh_label, &SourceHanSans_16, LV_STATE_DEFAULT);// 设置风格的字体
lv_label_set_text(zh_label, "你好,中文!");//显示文字
lv_obj_align(zh_label, LV_ALIGN_TOP_MID, 0, 0);
}
几个中文字符,打开文件几百次,是否正常?中文标点符号也无法找到,会是什么原因?
|
|