LVGL支持中文字体实践指南

本文档详细记录了在LVGL 7.11版本中添加中文字体支持的过程,包括查阅官方文档、使用在线工具和第三方工具生成字体文件、修改源码、解决编码问题等步骤。最终通过修改源文件编码格式和编译参数成功实现中文显示。
摘要由CSDN通过智能技术生成

一、背景

前两天在研究一个UI项目,需要支持中文字体。项目用到的是LVGL 7.11版本,默认情况下只支持英文和数字(其他LVGL版本也一样)。所以要想用上中文,必须要自己动手加上中文字体的支持。

二、先来个效果图

  • 默认情况是这样的:(只能显示数字 1,其他中文内容都看不到)
    在这里插入图片描述

  • 改完之后是这样的:( 可以完整显示内容在这里插入图片描述

三、实践过程

1、浏览官网LVGL字体相关资料

官方的LVGL 字体相关说明中找到了添加字体部分。内容如下:
在这里插入图片描述
大概是说有三种方法生成字体文件,以及如何在代码中使用字体文件,具体方法请继续往下看。

2、用官方工具生成字体文件

我先选择了在线工具,但我找了几个字体文件后,发现生成经常报错(其中一个错误如下图所示),也没有找到原因。
在这里插入图片描述

3、改用第三方工具LvglFontTool

于是又找了一个第三方工具 LvglFontTool,看起来还挺好用的,界面也比较清新。
在这里插入图片描述
按照网上的一些提示,选择了对应的字体文件,并选择工具中【加入常用汉字】按钮,然后生成。
在这里插入图片描述

4、修改相关源码

生成文件后按照官方提示的加入到代码中,具体修改内容如下:

  • 自动生成的lv_fon_sans_28.c文件主要内容
//下面这个变量需要在其他文件中引用
lv_font_t lv_font_sans_28 = {
   
    .dsc = &font_dsc,
    .get_glyph_bitmap = __user_font_get_bitmap,
    .get_glyph_dsc = __user_font_get_glyph_dsc,
    .line_height 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值