|
本帖最后由 limhanfeng 于 2024-4-7 15:47 编辑
我采用XBF字体,外部bin文件,放到了linux系统中的flash中,我的LVGL是8.0.0版本,经过烧录后,UI符号和中英文都没有显示,大佬门帮看下会是为何原因呀
修改__user_font_getdata接口实现如下:
- char *Font_buff = NULL;
- static void init_font(void)
- {
- FILE *fileFont = fopen("/mnt/custom/data/Picture/lv_font_siyuansongti_normal.bin", "r");
- if (fileFont == NULL)
- {
- printf("Failed to open file for reading");
- return;
- }
- fseek(fileFont, 0, SEEK_END);
- long lFontSize = ftell(fileFont);
- rewind(fileFont);
- Font_buff = (char *)malloc(sizeof(char) * lFontSize);
- fread(Font_buff, 1, lFontSize, fileFont);
- fclose(fileFont);
- }
- static uint8_t *__user_font_getdata(int offset, int size)
- {
- //如字模保存在SPI FLASH, SPIFLASH_Read(__g_font_buf,offset,size);
- //如字模已加载到SDRAM,直接返回偏移地址即可如:return (uint8_t*)(sdram_fontddr+offset);
- static bool bFirstIn = true;
- if (bFirstIn)
- {
- bFirstIn = false;
- init_font();
- }
- return (uint8_t*)(Font_buff + offset);
- }
复制代码
字体为外部的思源宋体,生成前的设置如下:
|
|