LVGL 字体转换与支持
1.前言
在LVGL中,自带了中英文字体,英文字体倒是挺全的,字号从8到48都有。而中文字体呢,则只有16号字体的lv_font_simsun_16
,更严重的是,包含的汉字还不全。。。
本文章主要讲两个方面。
- 一是如何使用LVGL自带的字体
- 二是当自带字体不满足需求时,如何定制自己想要的字体
2.使用LVGL自带字体
对于使用LVGL自带的字体,很简单。主要两个步骤,一是把LVGL自带的字体文件加入编译系统中去,二是使用它。
在OneOS-Lite中,我们通过配置的方式,使能指定字体。
如此,我们可以把对应的字体宏打开,保证其加入编译系统中去。举个栗子:英文26字号对应的需要打开的宏是:LV_FONT_MONTSERRAT_26。
其次,则是使用,示例代码如下:
char *text = "hello world";lv_obj_t *label = lv_label_create(lv_scr_act());lv_obj_set_style_text_font(label,&lv_font_montserrat_26,0);lv_label_set_text(label,text);
3.定制字体
对于中文字体,很多时候,LVGL自带字体是无法满足的,这时候就需要使用LVGL的字体在线转换工具了。
首先进入LVGL官网,右上角找到字体工具:Font convertor。
如何使用官网字体转换工具?
- 为要输出字体命名。例如“lv_font_songti_bold”
- 以 px为单位指定高度(字体大小)
- 设置bpp (bit-per-piel)。值越高,字体越平滑(抗锯齿)
- 选择TTF 或 WOFF 格式字体文件
- 设置要包含在字体中的 Unicode 字符范围或在符号字段中列出字符
- 可以同时选择多个字体文件转换,并为其指定范围和/或符号。这些字符将被合并转换到同一个文件中。
- 单击转换按钮以下载转换出来的 lv_font_songti_bold.c 文件。
4.使用定制字体
建议把该文件放到项目工程文件夹里面,然后使用我们的CUBE
工具,输入命令scons --ide=mdk5 -s
把它加入编译系统中去。或者,自己使用keil手动添加也是可以的。
其次,就是如何使用自己的定制字体,代码如下:
char *text = "中移物联网OneOS-Lite";extern lv_font_t lv_font_songti_bold;lv_obj_t *label = lv_label_create(lv_scr_act());lv_obj_set_style_text_font(label,&lv_font_songti_bold,0);lv_label_set_text(label,text);
和LVGL自带字体的使用方法对比,也就是多了一个:
extern lv_font_t lv_font_songti_bold;
或者也可以这么写LV_FONT_DECLARE(lv_font_songti_bold)
。
5. 附言
以上就是LVGL字体转换与支持,字体转换工具除了官网在线版,也有官方离线版,另外第三方的工具也有很多,这里讲其一,以供交流。
6.关注&&联系
开源轻量操作系统: https://gitee.com/cmcc-oneos/OneOS-Lite
docs文档中心: https://oneos-lite.com/
知知乎乎:蓁蓁
LVGL 字体转换与支持相关推荐
- 超好用的图标库在 LVGL 上的转换与支持
1.前言 上一篇文章,写了常用的图标库有哪些,本文章就以阿里图标库Iconfont为例,写写图标库到底是个啥!以及,如何使用在LVGL之中. 2.图标其实是一种字体 首先,我们注册iconfont,然 ...
- LVGL在线字体转换教程
标题## LVGL在线字体转换教程 第一步:进入LVGL管网,点击Tools,选择Font converter(字体转换),下面那个是图片转换 第二步: 1.输出的文件名称 2.字体的大小 3.像素位 ...
- TureType/OpenType 字体瘦身、字体转换和字符替换
TureType/OpenType 字体瘦身.字体转换和字符替换 本文讲解下面一些关于 TTF/OTF 字体的基本知识和操作: 什么是TTF和OTF字体 删除/插入/替换字体中的字符 TTF/OTF ...
- 织梦在线艺术字体转换生成平台网站源码
简介: 织梦dedecms在线艺术字体转换生成平台网站源码 支持自己添加字体,在线艺术字体转换器,织梦内核艺术字体在线生成,在线转换,在线设计源码定制带全部数据版 本程序为客户定制 带全站数据 ,此源 ...
- Laya 将传统的bitmap字体 转换成 Laya可以识别的字体
转码 常用的fnt字体 是无法在Laya里直接运行的 需要转码 如果你的项目需要从别的引擎转到 Laya 那么fnt资源就需要重新导出了 这里提供一个工具 可以直接将 通用的fnt字体转换成laya的 ...
- 字体转换网站——Font Squirrel(推荐阅读)
html5之前,只要稍微特殊点的字体,都必须做成图片,以免客户端无法显示.而对于正文或者需要后台调用大量文字的地方,则无能为力.但是,html5推出了 @font-face 支持自定义字体之后,这个问 ...
- figma:使用mac上的字体 | 转换ttc字体文件
figma:使用mac上的字体 | 转换ttc字体文件 现在的主力系统是Mac,偶尔会切到Windows,打开 figma 时发现缺少字体,原来里面有mac上才有的字体,之前都是切回mac重新编辑,但 ...
- 推荐5个免费的字体转换网站工具
前言 互联网上有很多不同的选项,可以让你快速方便地将字体从一种文件类型转换成另一种.最重要的是,它们完全免费使用,这意味着没有理由不尝试每一种,看看哪一种最适合你. 以下推荐给大家五个免费的转换字体格 ...
- android 系统字体转换工具,Windows系统字体转换工具FontConvert 0.95 免费版
Windows系统字体转换工具是一款非常实用的电脑字体转换软件,该软件可以有效的帮助用户方便快捷的进行系统字体的转换,同时,软件还支持将ttf文件批量转换成系统字体.支持简体.繁体以及英文字体,有需要 ...
最新文章
- axure rp制作输入法_Axure教程丨制作自己的Axure元件库
- ML之K-means:基于DIY数据集利用K-means算法聚类(测试9种不同聚类中心的模型性能)
- verilog for循环_HDLBits:在线学习 Verilog (二十四 · Problem 115-119)
- 修改 Angular Component 构造函数参数被认为是 breaking change
- python文件路径过滤器_SUMO入门(八) - 从Python引入TraCI接口
- 可行后继路由,可行条件和报告距离
- KB/MB/GB/TB之间的换算是乘以1000还是1024?
- mysql 字符串运算_使用MySQL字符串运算实施精巧化SQL注入攻击
- BotVS开发基础—2.2 下限价单 交易
- tkinter教程_Tkinter教程–第2部分
- VelocityTracker使用总结
- ubuntu系统打不开网易云音乐解决办法。
- 婚宴座位图html5,婚宴座位图模版欣赏【婚礼纪】
- bzoj4391 [Usaco2015 dec]High Card Low Card题解
- 使用C语言播放一首音乐
- Exp3 免杀原理与实践 20164323段钊阳
- 页面布局(1):淘宝首页
- cocos2d-x Touch触屏事件
- Hexo-Matery主题细致美化
- STM32学习笔记(五 定时器及应用 1 定时器基本原理 )