lvgl的区别 qt_最新 LVGL_V7.0及以上版本添加内、外部中文字体方法

这篇博客详细介绍了如何在LVGL_V7.0及以上版本中添加内、外部中文字体,包括UNIGBK、GBK12、GBK16、GBK24以及LVGL专用字体的更新步骤。通过函数`updata_fontx`实现字体更新,以及`update_font`函数进行全部字体文件的更新。还提供了一个初始化字体的函数`font_init`来检查字库是否完好。
摘要由CSDN通过智能技术生成

/* 字库区域占用的总扇区数大小

#define FONTSECSIZE     2560

/* 字库存放起始地址 */

#define FONTINFOADDR    1024*1024*6

/* 用来保存字库基本信息,地址,大小等 */

_font_info ftinfo;

/* 字库存放在磁盘中的路径 */

const char * GBK24_PATH="/SYSTEM/FONT/GBK24.FON";           /* GBK24的存放位置 */

const char * GBK16_PATH="/SYSTEM/FONT/GBK16.FON";           /* GBK16的存放位置 */

const char * GBK12_PATH="/SYSTEM/FONT/GBK12.FON";           /* GBK12的存放位置 */

const char * UNIGBK_PATH="/SYSTEM/FONT/UNIGBK.BIN";         /* UNIGBK.BIN的存放位置 */

const char * LVGL_12_PATH="/SYSTEM/LVGLFONT/myFont12.bin";  /* UNIGBK.BIN的存放位置 1,014,611 字节 */

const char * LVGL_18_PATH="/SYSTEM/LVGLFONT/myFont18.bin";  /* UNIGBK.BIN的存放位置 1,732,774 字节 */

const char * LVGL_24_PATH="/SYSTEM/LVGLFONT/myFont24.bin";  /* UNIGBK.BIN的存放位置 2,814,026 字节 */

/**

* @brief       显示当前字体更新进度

* @param       x, y    : 坐标

* @param       size    : 字体大小

* @param       totsize : 整个文件大小

* @param       pos     : 当前文件指针位置

* @param       color   : 字体颜色

* @retval      无

*/

uint32_t fupd_prog(uint16_t x,uint16_t y,uint8_t size,uint32_t fsize,uint32_t pos)

{

float prog;

uint8_t t=0XFF;

prog=(float)pos/fsize;

prog*=100;

if(t!=prog)

{

lcd_show_string(x+3*size/2,y,240,320,size,"%",g_point_color);

t=prog;

if(t>100)t=100;

lcd_show_num(x,y,t,3,size,g_point_color);/* 显示数值 */

}

return 0;

}

/**

* @brief       更新某一个字库

* @param       x, y    : 提示信息的显示地址

* @param       size    : 提示信息字体大小

* @param       fpath   : 字体路径

* @param       fx      : 更新的内容

*   @arg                 0, ungbk;

*   @Arg                 1, gbk12;

*   @arg                 2, gbk16;

*   @arg                 3, gbk24;

*   @arg                 4, gbk32;

* @param       color   : 字体颜色

* @retval      0, 成功; 其他, 错误代码;

*/

uint8_t updata_fontx(uint16_t x,uint16_t y,uint8_t size,char *fxpath,uint8_t fx)

{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值