TFT_eSPI字体生成.h头文件格式分析实现多种字体合成一个.h

本人研究ESP32时用到了TFT_ESPI框架,其中做汉字展示的时候用到了官方Github的字体生成工具进行生产。

使用工具生产后的汉字可以正常显示,但是字体只能是固定一种,既要么字体A,要么字体B,使用tft.loadFont(xx)进行加载不同字体,而我想英文字体用A,中文字体用B。并且调用一个tft.loadFont方法进行实现。

此时,就需要将生成的.h的进行合并,找遍网络没有相关资料和.h文档格式解析,只能进行手动分析。

本人分别尝试生成8像素、16像素、30像素,字符“a”"a b"等不懂累加进行测试,分析出如下结果。

下面代码为生产的 8号英文字体。

const uint8_t DINMittelschriftStd8[] PROGMEM = {

                         字符数量
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 

      字体高度

0x00, 0x08, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 

      字体宽度
0x00, 0x06, 0x00, 0x00, 0x00, 0x02,0x00, 0x00,

     Unicode字符“0x00 0x2E”为"."

0x00, 0x2E, 0x00, 0x00, 0x00, 0x01,0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,

此处为字体名称起始(从文件结尾向前找连续0x00)

0x00, 0x00, 0x00, 0x00, 0x5E, 0x4A, 0x00, 0x13, 0x44, 0x49, 0x4E, 0x4D, 0x69, 0x74, 0x74, 0x65,
0x6C, 0x73, 0x63, 0x68, 0x72, 0x69, 0x66, 0x74, 0x53, 0x74, 
0x64, 0x00, 0x13, 0x44, 0x49, 0x4E,0x4D, 0x69, 0x74, 0x74, 
0x65, 0x6C, 0x73, 0x63, 0x68, 0x72, 0x69, 0x66, 0x74, 0x53,
0x74, 0x64, 0x01, 
};

得到如上结构后,即可对不同字体字符进行合并。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值