Adafruit GFX字体制作

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显示屏的效果:

猜你喜欢

转载自blog.csdn.net/chentuo2000/article/details/118609006