Adafruit GFX字体制作

news/2024/7/3 17:30:14 标签: ESP8266, 字体设计, 等宽字体, 非等宽字体

Adafruit GFX字体制作

陈拓 2021/07/08-2021/07/08

1. 概述

在《Adafruit GFX Library字体规范》

https://zhuanlan.zhihu.com/p/385486474

https://blog.csdn.net/chentuo2000/article/details/118369058

一文中我们详细说明了Adafruit GFX字体的规范,本文介绍Adafruit GFX字体的制作,并用ESP8266 RTOS SDK演示。

Adafruit GFX字体的制作的方法是先获取想要字体的TTF文件,在用工具转换成Adafruit GFX格式。

Adafruit GFX字体可以是等宽字体(Monospaced Fonts)的,也可以是非等宽字体

2. 字体获得

在《制作OLED文字》

https://zhuanlan.zhihu.com/p/384922288

https://blog.csdn.net/chentuo2000/article/details/118327300

一文中我们从免费资源库https://www.onlinewebfonts.com/

下载了7段数码管字体的TTF文件Digital-7 V4.ttf,并在PCtoLCD2002中取了C51格式的字模。

下面我们还用7段数码管字体的Digital-7 V4.ttf文件,将其转换成Adafruit GFX字体格式的字模。

3. 将TTF字体转换为Adafruit GFX字体

3.1 转换工具

我们通过下面的网页在线将TTF字体转换为Adafruit GFX字体。

https://rop.nl/truetype2gfx/

 

页面中提供了一些免费字体:其中Sans是无衬线字体,Serif是衬线字体,Mono是等宽字体

我们还可以上传(Upload)TTF字体文件。

3.2 生成Adafruit GFX字体文件

  • 上传Digital-7 V4.ttf

字体大小Font Size是20点。

  • 生成Adafruit GFX字体文件

点击Get GFX font file,生成Adafruit GFX字体文件:Digital_7_V420pt7b.h

3.3 Adafruit GFX字体文件构成

Adafruit GFX字体文件Digital_7_V420pt7b.h由3部分构成。

  • 位图数据Bitmaps数组

  • 字形Glyphs数组

  • GFXfont

 

3.4 PROGMEM关键字

PROGMEM关键字被Arduino和AVR编程使用,在ESP8266和ESP32的官方开发环境RTOS SDK和ESP-IDF中要删除。

有关Adafruit GFX字体的详细说明见概述中提到的《Adafruit GFX Library字体规范》。

4. 显示效果

下图是ESP8266驱动0.96寸OLED显示屏的效果:

 


http://www.niftyadmin.cn/n/1733104.html

相关文章

通栏导航栏的制作,综合使用CSS属性,代码不超过30行

这篇文章,小编带领大家一同做一个利用CSS技术实现的导航栏。通过这个导航栏的制作,希望大家能够对前几篇文章中学习到的CSS属性能有一个整体的认识,并能够达到灵活运用的程度。 承接文章:灵活控制块级元素在一行内显示&#xff0c…

常用软件过程——RUP

RUP是用例驱动,以架构为中心,迭代式开发过程。 一、用例驱动 用例(Use Case)是一种通过用户的使用场景获得需求的技术。区别于传统的功能分解获取需求的办法,用例方法强调用户是如何使用系统的,即描述用户与…

在OLED上用大于126的ASCII码显示定制符号

在OLED上用大于126的ASCII码显示定制符号 陈拓 2021/07/09-2021/07/09 1. 概述 在做嵌入式开发时我们经常会遇到显示非ASCII码符号的问题,比如摄氏温度符号或者一个充电的电池图标。而通常的字体库只能显示标准ASCII字符集的32-126个可打印字符。 在本文中我们将…

Web设计新手应知道的10个锦囊妙计

摘要:你在网页设计所学到的大多数教训都来自工作经验。学习是一个反复持续的过程,并且没有比犯错更好的方式来获得知识。在本文中,我们将讨论10个重要并常规的技巧,这是每位Web设计师新手都应该知道。 在做网站时会遇到很多的问题…

Win10的Linux子系统Ubuntu安装图形界面

Win10的Linux子系统Ubuntu安装图形界面 陈拓 2021/07/25-2021/07/26 1. 概述 Win10的linux子系统Windows Subsystem for Linux(简称 WSL)之Ubuntu安装见文章: 《Win10启用Linux子系统安装Ubuntu》 https://zhuanlan.zhihu.com/p/34139446…

仿Google自动补全 jQuery 不含索引处理

http://javazeke.javaeye.com/blog/512390关键字: 仿google自动补全自动补全1&#xff0e; 页面有一个文本框&#xff0c;一个自动提示层&#xff0c;一个按Xml代码1. <script type"text/javascript" src"../js/jquery-1.3.2.js"></script> 2…

在Win10的Linux子系统Ubuntu中使用Qt

在Win10的Linux子系统Ubuntu中使用Qt 陈拓 2021/07/26-2021/07/26 1. 概述 在《Win10的Linux子系统Ubuntu安装图形界面》 https://zhuanlan.zhihu.com/p/393145947 https://blog.csdn.net/chentuo2000/article/details/119104547 一文中我们为WSL安装了图形界面。在本文中…

IE6兼容png图片

<!--[if IE 6]><script src"/js/DD_belatedPNG.js"></script><script>DD_belatedPNG.fix(img,a.opt,.png_bg);</script><![endif]--> DD_belatedPNG.js源码 /*** DD_belatedPNG: Adds IE6 support: PNG images for CSS backgrou…