lvgl 转换和使用新字体

news2024/11/23 13:23:18

一、背景

如果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 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1190335.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

向量数据库:释放数据潜能,重塑信息世界

前言 想必各位开发者一定使用过关系型数据库MySQL去存储我们的项目的数据,也有部分人使用过非关系型数据库Redis去存储我们的一些热点数据作为缓存,提高我们系统的响应速度,减小我们MySQL的压力。那么你有听说过向量数据库吗?知道…

Docker本地部署Drupal并实现公网访问

文章目录 前言1. Docker安装Drupal2. 本地局域网访问3 . Linux 安装cpolar4. 配置Drupal公网访问地址5. 公网远程访问Drupal6. 固定Drupal 公网地址 前言 Dupal是一个强大的CMS,适用于各种不同的网站项目,从小型个人博客到大型企业级门户网站。它的学习…

多篇论文介绍-Wiou

论文地址 目录 https://arxiv.org/pdf/2301.10051.pdf 01 CIEFRNet:面向高速公路的抛洒物检测算法 02改进 YOLOv5 的 PDC 钻头复合片缺损识别 03 基于SimAM注意力机制的DCN-YOLOv5水下目标检测 04 基于改进YOLOv7-tiny 算法的输电线路螺栓缺销检测 05 基于改…

用友U8定制版在集简云:无需API即可集成客服系统和用户运营

无代码开发的新时代 在这个信息化、自动化的时代,无代码开发已经成为一种新的趋势。集简云就是这样的一款工具,可以轻松连接用友U8 定制版与近千款软件系统,无需开发、无需代码知识就可以打通各种软件之间的数据连接,构建自动化与…

【代码随想录】算法训练计划16

【代码随想录】算法训练计划04 1、111. 二叉树的最小深度 题目: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 思路: 用递归&#xff0…

HashMap源码分析(一)

存储结构 说明:本次讲解的HashMap是jdk1.8中的实现,其他版本可能有差异 内部是由Node节点数组组成,Node节点之间又由链表或红黑树组成。 图是网上找的,实在不想画 属性介绍 //存储数据的数组,初次使用时初始化&…

Opencv for unity 下载

GitHub - EnoxSoftware/VideoPlayerWithOpenCVForUnityExample: This example shows how to convert VideoPlayer texture to OpenCV Mat using AsyncGPUReadback. OpenCV for Unity | Integration | Unity Asset Store

【原创】java+jsp+servlet简单图书管理系统设计与实现

摘要: 图书管理系统是一个专门针对图书馆管理而设计的系统,它可以帮助图书管理员有效的对图书进行管理,在图书管理系统的设计中,首先要考虑的是系统的需求分析,该系统的设计与实现涉及多个方面,包括数据库…

ubuntu系统黑屏,且光标不闪烁

选择第二个,进入恢复模式 选择第二个,进入恢复模式 选择root 输入: startx然后就可以进入文本界面或者图形化界面了,如果不行,报错,可能需要需要下载这个包,把这个错误到网上搜索一下就可以找…

【广州华锐互动】人造卫星VR互动科普软件带你探索宇宙世界

在科学的广阔领域中,卫星科学和遥感技术占据了重要的位置。这些科学领域的进步,让我们有机会窥视宇宙的深处,揭示那些隐藏在星际之间的秘密。今天,我们要介绍一种新型的教学工具,即人造卫星VR互动科普软件,…

【凡人修仙传】预计开播倒计时,线下举办超前观影活动,隆重期待

Hello,小伙伴们,我是小郑继续为大家深度解析国漫资讯。 深度爆料凡人最新资讯,《凡人修仙传》这部备受期待的动漫作品,终于在新年之际宣布了定档日期。据悉,该动漫将于11月25日,也就是周六上午11点,与广大…

GPT出现了Something went wrong.

网络上的一种说法如下

限流式保护器在养老院火灾预防中的应用

安科瑞 华楠 【摘要】老年人是一个庞大特殊的社会群体。随着我国人口的老龄化,老年人口数量断上升。涉及老年人的火灾越来越多,本文从养老院火灾的案例、成因、预防措施等方面对此类火灾进行了深入的探讨。 【关键词】老年公寓;火灾预防&…

对称二叉树(C++解法)

题目 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false C代码 #include <iostrea…

使用bitmap实现可回收自增id

需求描述 设计一个方法&#xff0c;每次调用返回一个自增id&#xff0c;同时需要满足以下要求。 可更新id的状态为已使用&#xff0c;已使用的id下次调用时不再返回可修改某个id的状态为未使用&#xff0c;下次调用时设为未使用状态的id可重新被返回 思路 思路一&#xff1…

毅速丨为什么不锈钢材料在金属3D打印中应用广泛

不锈钢材料作为一种常见材料&#xff0c;在金属3D打印中应用广泛&#xff0c;可以说是目前使用率最高的材料&#xff0c;为什么不锈钢大受欢迎&#xff0c;主要由几点原因。 第一、工艺适合性 金属3D打印的工艺&#xff0c;如直接金属激光烧结&#xff08;DMLS&#xff09;或选…

spring boot+netty 搭建MQTT broken

一、项目结构 二、安装依赖 <!-- netty包 --><dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.75.Final</version></dependency><!-- 常用JSON工具包 --><…

双十一成交千万级!伊能静疗愈直播人-货-场洞察

近日&#xff0c;伊能静在小红书的疗愈直播火了。10月28日&#xff0c;小红书美护买手伊能静的第二场直播观看人数166万&#xff0c;粉丝人均观看时间12分52秒&#xff0c;11家在国内声量不大的国际品牌单品在直播间售罄。就此&#xff0c;也让我们看到了疗愈经济的可能性。 一…

clang插件对llvm源码插桩,分析函数调用日志(2)--google镜像

tick_plot__compile.ipynb clang插件对llvm源码插桩&#xff0c;分析函数调用日志(1) 分析 进出、链、出 df进出df[ df[tickKind].isin( [FuncEnter,FuncReturn] ) ]#代码中&#xff0c;只有在函数进入时&#xff0c;计算了链条长度 并写磁盘 df入df[ df[tickKind].isin…

linux如何实现免密登录

shigen日更文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 十一月是比较特殊的月份&#xff0c;因为很多云资源都是在这个时候过期&#xff0c;包括我自己买的云服务器。作…