2010|1

400

帖子

9

TA的资源

纯净的硅(初级)

楼主
 

【平头哥RVB2601创意应用开发】中文显示 [复制链接]

 

RVB2601使用lvgl库,显示中文并不麻烦,步骤如下:

  • 确保字体可用

首先选择合适字体,在lvlg中,只有lv_font_simsun_16_cjk可以支持中文,那么在lv_conf.h文件中使能这个字体,如下:

#define LV_FONT_SIMSUN_16_CJK            1  /*1000 most common CJK radicals*/

在这个文件中,定义了缺省字体

#define LV_THEME_DEFAULT_FONT_SMALL         &lv_font_montserrat_14

#define LV_THEME_DEFAULT_FONT_NORMAL        &lv_font_montserrat_14

#define LV_THEME_DEFAULT_FONT_SUBTITLE      &lv_font_montserrat_14

#define LV_THEME_DEFAULT_FONT_TITLE         &lv_font_montserrat_14

如果希望中文为主显示,可以修改缺省字体为lv_font_simsun_16_cjk,如下:

#define LV_THEME_DEFAULT_FONT_NORMAL        &lv_font_simsun_16_cjk

  • 新增字体文件

如在之前某一篇帖子(https://bbs.eeworld.com.cn/thread-1200379-1-1.html)里提到过的,lvgl库自带的汉字太少,如果没有的汉字也不会留白,实际使用时往往不够使用,那么该如何处理呢,可以使用自制字体文件。

自制字体文件并不复杂,只要知道原理即可。

我们先打开一个字体文件,比如lv_font_montserrat_8.c”,可以看到其实主体是由若干数组组成:

用于定义字符写法(图案形状)的gylph_bitmap

/*Store the image of the glyphs*/

static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {

……

};

每个文字的偏移量lv_font_fmt_txt_glyph_dsc_t glyph_dsc

static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {

……

};

从上述两个主要数组基本可以定义一个新的字体文件了。当然如果手写还是太过麻烦,建议自制一个工具实现。

最新回复

看了楼主的步骤,确实是在RVB2601用lvgl库,显示中文并不麻烦   详情 回复 发表于 2022-4-24 07:17
点赞 关注
 
 

回复
举报

6802

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

看了楼主的步骤,确实是在RVB2601用lvgl库,显示中文并不麻烦

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表