目录

一、引言

二、字体生成

1、字体下载

2、字体转换

3、字体编码

三、字体使用


一、引言

说明:博主在进行TFT显示时需要显示中文字体,但是TFT库中不带有中文显示,或者显示不全,于是开展了自定义字体,最后得到字体.h文件,引用到项目中供TFT——eSPI库使用。其中一部分脚本放进我的仓库,需要的自行下载。

TFT_eSPI-master-Create_font: 为TFT_eSPI库创建自定义字体https://gitee.com/upperair0128/tft_e-spi-master-create_font.git

二、字体生成

1、字体下载

首先下载我们需要的字体,格式为.ttf格式,自行网上搜索字体下载,很多网站都提供下载,但是字体格式为.ttf格式。将字体下载到TFT库的自定义字体下,因为要使用TFT库提供的字体转换程序,如图一所示为下载完成的字体,同时也可以看到存放路径。

图一

2、字体转换

a、下载软件processing,下载完成后解压得到这样的文件夹。如图二所示。

图二

b、将需要的字转换为Unicode编码格式,使用在线工具,Unicode编码转换 - 站长工具本工具是Unicode编码转换,为您提供ASCII与Unicode互转,Unicode与中文互转,在文本框里输入要转换的内容,然后点击要转换的类型按钮,转换完成后即可看到对应的内容。https://tool.chinaz.com/tools/unicode.aspx

比如需要A则转换结果为如图三所示

图三

转换结果为\u0041,使用时写成0x0041,如果字较多可以使用word的替换功能将\u替换为0x

c、利用下载好的软件打开此文件,如图四所示。

图四

说明:String fontName = "PingFang-JianZhongHeiTi-2"; 这里填写下载好的字体名称。

String fontType = ".ttf";这里填写类型。

int  fontSize = 20;字体大小

int displayFontSize = 20; 字体大小一致就可以。

unicodeBlocks这个数组下填写连续的字的编码,比如我想生成A-Z的字体,就写入0x0041(A),0x005a(Z),这样就会生成A-Z的字体了,只要是连续的就可以。

如果不连续的字的编码请放在specificUnicodes数组里面。

然后点击运行,则会输出字体文件并且显示出来。

3、字体编码

1、得到vlw格式文件,再通过在线工具转为16进制的编码。File to hex converterOn-line file to hexadecimal array converter.https://tomeko.net/online_tools/file_to_hex.php?lang=zh

2、 建立.h文件,并且新建数组,将所得编码放进数组。

至此就完成了自定义字体的制作了。

三、字体使用

引入头文件

#include "zh_front_20.h"

使用TFT库函数加载字体

tft.loadFont(font_20);

字体显示完成后使用TFT库函数卸载字体,不然内存占用量太大,如果程序大了,就无法正常运行了。

tft.unloadFont();

四、总结

整体通过测试,显示正常,如有疑问请留言。

ESP8266之TFT_eSPI库的自定义字体相关推荐

  1. ESP8266/ESP32/nodeMcu/wemos D1 MINI开发板用TFT_eSPI库驱动ST7789(240*240)TFT显示屏

    ESP8266/ESP32/nodeMcu/wemos D1 MINI开发板用TFT_eSPI库驱动ST7789(240*240)TFT显示屏 材料 硬件连接 引脚连接表 引脚连接图 安装TFT_eS ...

  2. Linux下安装自定义字体库

    Linux下安装自定义字体库 第一步.在Windos环境下找到字体库 如:C:\Windows\Fonts 第二步.找到Linux下字体库 如:/usr/share/fonts/chinese 第三步 ...

  3. 【Arduino】TFT LCD显示屏显示gif小电视太空人动图(基于Arduino框架ESP8266/ESP32、TFT_eSPI库、使用python脚本GIF转十六进制文件)

    前言 ​ 之前使用ESP32 来控制TFT屏幕显示动图时,找到现有的工具,需要先将动图gif格式一帧帧转为jpg格式,再将一帧帧的jgp转为hex十六进制格式,整个过程好麻烦.现用python写了脚本 ...

  4. android 字体编程,Android编程之Calligraphy:Android 自定义字体库

    Calligraphy是android 自定义字体库 添加依赖 Download from Maven Central (.jar) OR Java dependencies { compile 'u ...

  5. NodeMCU-ESP8266使用TFT_eSPI库驱动IC为ST7735的1.44寸TFT屏幕(TFT_eSPI详解)

    文章目录 1. TFT_eSPI 驱动TFT屏幕 2. TFT_eSPI详解 2.1 文件配置 2.2 类.常用函数 2.1.1 TFT_eSPI类 2.1.2 Sprite 类 3. OVERLAP ...

  6. PlatformIO平台使用TFT_eSPI库驱动IC为ST7789的TFT屏幕(TFT_eSPI详解)

    TFT_eSPI库的安装 首先在Libraries里面搜索安装TFT_eSPI库到你的工程文件里面.   我们需要在这里选择要添加TFT_espi库的工程里面,选择完之后就直接Add就添加好了. TF ...

  7. Arduino开发-TFT_eSPI库学习

    TFT_eSPI库学习 文章目录 TFT_eSPI库学习 TFT_eSPI库安装以及配置 TFT_eSPI库文件目录 配置文件 1.User_Setup_.h 2. User_Setup_Select ...

  8. esp32 cam 1.44寸TFT彩屏 ST7735S驱动 TFT_eSPI库驱动

    ESP32 CAM引脚与TFT1.44(ST7735S)引脚接线 ESP32 CAM TFT 1.44 5V VCC GND GND GND NC NC 5V BLC D14 SCL D15 SDA ...

  9. Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台(实验三)折腾 TFT_eSPI 库

    ---------------------------------------------------------------------------------------------------- ...

最新文章

  1. 动态代理——事务处理
  2. linux基本知识2
  3. unity实用技术:色盲玩家也能享受好的游戏体验
  4. 异常重试_Spring-Retry重试实现原理
  5. Android设计模式之——访问者模式
  6. python中tkinter的使用-中
  7. mysql id 不在集合里面_MySQL,PHP:从表中选择*,其中id不在数组中
  8. Eclipse europa 更新时 Error retrieving feature.xml. [error in opening zip file]的解决
  9. 被骂十几年,躺赚上千亿!这个“土匪”行业,还能浪多久?
  10. CVPR 2022 论文和开源项目合集
  11. 【CCCC】L3-018 森森美图 (30分),计算几何+判断三点共线+bfs最短路
  12. 剑指offer——面试题39-2:平衡二叉树
  13. 本地图片预览代码(支持 IE6、IE7)
  14. 收藏啦~ Github上 10 个开源免费且优秀的后台控制面板
  15. python UI自动化无界面运行
  16. 【转载】WAMP5:PHP环境整合安装(图解)及密码设置图解
  17. 我励志成为芸芸阿里云大使中的佼佼者 云大使社区
  18. 【心理咨询师考试笔记】基础理论(六)——心理咨询概论
  19. [MAC]Google Drive下载大文件
  20. vue+echarts平面地图和飞线

热门文章

  1. 图解通信原理与案例分析-31:量子通信,信息的传输载体由确定性的宏观世界走向不确定性的微观世界
  2. 华为计算机视觉算法,【华为图像算法面试】计算机视觉算法岗,第一面就挂了-看准网...
  3. catti 三笔 计算机专业,catti三级笔译含金量高吗
  4. matlab静电场有限元分析
  5. 颜宁宣布离美归国;中信集团收购腾讯为假消息;寒武纪否认裁员传闻;造车项目被叫停?小米回应 | 每日大事件...
  6. Python基础1:数据类型、序列
  7. 我的生命该如何度过?
  8. 如何用画图框住所选内容_我们知道您的住所-在线隐私之死
  9. 水平、垂直居中布局大全
  10. c语言中swith的用法,初中英语语法知识点大全+记忆口诀+易错题100道,考前复习...