1.前言

在LVGL中,自带了中英文字体,英文字体倒是挺全的,字号从8到48都有。而中文字体呢,则只有16号字体的lv_font_simsun_16,更严重的是,包含的汉字还不全。。。
本文章主要讲两个方面。

  1. 一是如何使用LVGL自带的字体
  2. 二是当自带字体不满足需求时,如何定制自己想要的字体

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。

如何使用官网字体转换工具?

  1. 为要输出字体命名。例如“lv_font_songti_bold”
  2. 以 px为单位指定高度(字体大小)
  3. 设置bpp (bit-per-piel)。值越高,字体越平滑(抗锯齿)
  4. 选择TTF 或 WOFF 格式字体文件
  5. 设置要包含在字体中的 Unicode 字符范围或在符号字段中列出字符
  6. 可以同时选择多个字体文件转换,并为其指定范围和/或符号。这些字符将被合并转换到同一个文件中。
  7. 单击转换按钮以下载转换出来的 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 字体转换与支持相关推荐

  1. 超好用的图标库在 LVGL 上的转换与支持

    1.前言 上一篇文章,写了常用的图标库有哪些,本文章就以阿里图标库Iconfont为例,写写图标库到底是个啥!以及,如何使用在LVGL之中. 2.图标其实是一种字体 首先,我们注册iconfont,然 ...

  2. LVGL在线字体转换教程

    标题## LVGL在线字体转换教程 第一步:进入LVGL管网,点击Tools,选择Font converter(字体转换),下面那个是图片转换 第二步: 1.输出的文件名称 2.字体的大小 3.像素位 ...

  3. TureType/OpenType 字体瘦身、字体转换和字符替换

    TureType/OpenType 字体瘦身.字体转换和字符替换 本文讲解下面一些关于 TTF/OTF 字体的基本知识和操作: 什么是TTF和OTF字体 删除/插入/替换字体中的字符 TTF/OTF ...

  4. 织梦在线艺术字体转换生成平台网站源码

    简介: 织梦dedecms在线艺术字体转换生成平台网站源码 支持自己添加字体,在线艺术字体转换器,织梦内核艺术字体在线生成,在线转换,在线设计源码定制带全部数据版 本程序为客户定制 带全站数据 ,此源 ...

  5. Laya 将传统的bitmap字体 转换成 Laya可以识别的字体

    转码 常用的fnt字体 是无法在Laya里直接运行的 需要转码 如果你的项目需要从别的引擎转到 Laya 那么fnt资源就需要重新导出了 这里提供一个工具 可以直接将 通用的fnt字体转换成laya的 ...

  6. 字体转换网站——Font Squirrel(推荐阅读)

    html5之前,只要稍微特殊点的字体,都必须做成图片,以免客户端无法显示.而对于正文或者需要后台调用大量文字的地方,则无能为力.但是,html5推出了 @font-face 支持自定义字体之后,这个问 ...

  7. figma:使用mac上的字体 | 转换ttc字体文件

    figma:使用mac上的字体 | 转换ttc字体文件 现在的主力系统是Mac,偶尔会切到Windows,打开 figma 时发现缺少字体,原来里面有mac上才有的字体,之前都是切回mac重新编辑,但 ...

  8. 推荐5个免费的字体转换网站工具

    前言 互联网上有很多不同的选项,可以让你快速方便地将字体从一种文件类型转换成另一种.最重要的是,它们完全免费使用,这意味着没有理由不尝试每一种,看看哪一种最适合你. 以下推荐给大家五个免费的转换字体格 ...

  9. android 系统字体转换工具,Windows系统字体转换工具FontConvert 0.95 免费版

    Windows系统字体转换工具是一款非常实用的电脑字体转换软件,该软件可以有效的帮助用户方便快捷的进行系统字体的转换,同时,软件还支持将ttf文件批量转换成系统字体.支持简体.繁体以及英文字体,有需要 ...

最新文章

  1. axure rp制作输入法_Axure教程丨制作自己的Axure元件库
  2. ML之K-means:基于DIY数据集利用K-means算法聚类(测试9种不同聚类中心的模型性能)
  3. verilog for循环_HDLBits:在线学习 Verilog (二十四 · Problem 115-119)
  4. 修改 Angular Component 构造函数参数被认为是 breaking change
  5. python文件路径过滤器_SUMO入门(八) - 从Python引入TraCI接口
  6. 可行后继路由,可行条件和报告距离
  7. KB/MB/GB/TB之间的换算是乘以1000还是1024?
  8. mysql 字符串运算_使用MySQL字符串运算实施精巧化SQL注入攻击
  9. BotVS开发基础—2.2 下限价单 交易
  10. tkinter教程_Tkinter教程–第2部分
  11. VelocityTracker使用总结
  12. ubuntu系统打不开网易云音乐解决办法。
  13. 婚宴座位图html5,婚宴座位图模版欣赏【婚礼纪】
  14. bzoj4391 [Usaco2015 dec]High Card Low Card题解
  15. 使用C语言播放一首音乐
  16. Exp3 免杀原理与实践 20164323段钊阳
  17. 页面布局(1):淘宝首页
  18. cocos2d-x Touch触屏事件
  19. Hexo-Matery主题细致美化
  20. STM32学习笔记(五 定时器及应用 1 定时器基本原理 )

热门文章

  1. 计算机第一课 纪律 教案,七年级下信息技术第一单元第一课教案
  2. 由浅入深玩转华为WLAN—19 漫游系列(6)不同AC之间AP漫游的概述以及二三层漫游处理过程
  3. 标准清洗槽中的质量参数的监控方法
  4. 服务器被植入挖矿木马的心酸过程
  5. matlab仿真plant函数,(整理)matlab预测控制工具箱函数.
  6. 学习笔记:简谈BUCK电路
  7. python情人节之玫瑰花与表白方式
  8. 无缝切地图的3D赛车游戏火了,小哥花16个月用JS打造,浏览器免费就能玩
  9. 苹果双卡双待买哪款合适_2020年买哪款苹果手机好?
  10. 电化学甲醛气体传感器