lvgl 转换和使用新字体

编程入门 行业动态 更新时间:2024-10-14 00:30:18

lvgl 转换和使用新<a href=https://www.elefans.com/category/jswz/34/1770720.html style=字体"/>

lvgl 转换和使用新字体

一、背景

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

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

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

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

2. 字体转换

2.1. 填写字体基本

这里分别填写:

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

2.2. 选择本地字体文件

点击 “选择文件”, 选择本地的字体文件( .otf ), 这里选择的是思源黑体字体。

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

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

ASCII 码对照表: =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 

更多推荐

lvgl 转换和使用新字体

本文发布于:2023-11-15 15:31:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1602011.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字体   lvgl

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!