lvgl 转换和使用新字体

一、背景

如果lvgl 提供的默认字体不符合我们的显示要求,我们可以在网上下载开源字体,或者利用系统自带(注意版权问题)的字体文件转换lvgl 能识别和调用的字体。

或者为了压缩存储空间,某些字体我们只需要个别字符,我们可以重新转换这个字体。

二、官方字体转换工具的使用

1. 官方字体转换工具链接

https://lvgl.io/tools/fontconverter

2. 字体转换

2.1. 填写字体基本

在这里插入图片描述

这里分别填写:

  • 字体名字
  • 字体大小
  • 每个点占用多少bit。选择4bit-per-pixel ,抗锯齿效果最好。

2.2. 选择本地字体文件

点击 “选择文件”, 选择本地的字体文件( .otf ), 这里选择的是思源黑体字体。
在这里插入图片描述

2.3 输入需要转换的字符范围

在这里插入图片描述

这里的字符范围以ascii 码顺序表示。例如0x20-0x7F,表示ascii 码从32-127 的字符,包含了常用字符,数字,大小写字母,能够满足大部分的显示需求。

ASCII 码对照表: https://tool.oschina.net/commons?type=4
在这里插入图片描述

2.4 点击 Convert 按钮,转换

转换完成后,浏览器自动下载 lvgl格式的 lv_font_CN_Bold_34pt.c 字体文件。直接将该文件拖进我们的工厂目录下,下面介绍怎么使用。

三、怎么使用转换回来的字体文件

1. 声明新字体

参照默认字体的声明方式,在lv_font.h 文件声明新生成的字体

#if LV_FONT_CN_BOLD_34PT
LV_FONT_DECLARE(lv_font_CN_Bold_34pt )
#endif

2. 使能新字体

在生成的lvgl 新字体文件,我们可以看到新字体有一个编译开关,当编译开关为1时,才会编译这个字体。当前字体编译开关为 LV_FONT_CN_BOLD_34PT。 在lv_conf.h 文件,参照前面自定义字体的使能格式,使能新字体。

#define LV_FONT_CN_BOLD_34PT 1

3. 使用新字体

在生成的字体文件里面,找到一个 const lv_font_t 类型的结构体变量,在这里是 lv_font_CN_Bold_34pt ,通过lvgl 的api ,就可以设置使用这个新字体。例如,设置为默认字体:

/*Always set a default font*/
// #define LV_FONT_DEFAULT &lv_font_montserrat_30
#define LV_FONT_DEFAULT &lv_font_CN_Bold_34pt 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gdut_llkkyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值