我正在研究 ESP32。使用 ESP32 MCU 接口(interface) S7735 LCD,我使用 ESP_IDF 作为 IDE。
我对 TFT_LCD 使用“https://github.com/loboris/ESP32_TFT_library ”,并且有我使用的给定字体。我尝试过给定字体,它工作正常,如果您想使用自定义字体,只需将字体文件放在 spiffs/fonts 文件夹中,然后烧录到 ESP32。
如果我在 .ttf 中闪烁自定义字体,我会遵循以上步骤,但不会反射(reflect)任何字体样式。我还尝试将 .ttf 转换为 .fon 字体,但 .fon 格式适用于 Window/Dos。对于 LCD,我需要一个 .fon(二进制)。
我没有得到这个给定的特定文件使用的字体扩展名。请建议兼容的字体扩展名和链接,我可以轻松下载。
static const char *file_fonts[3] = {"/spiffs/fonts/DotMatrix_M.fon", "/spiffs/fonts/Ubuntu.fon", "/spiffs/fonts/Grotesk24x48.fon"};
从 main/tft_demo.c 中给出了上面的行以及给定路径中使用的字体。
我需要一个与我的驱动程序兼容的字体文件解决方案。 请建议我使用新的自定义字体的流程。
最佳答案
字体格式是专有的简单位图。文件扩展名 .fon 是通用的,不会告诉您任何有关实际格式的信息。
您链接的库的 /tools
文件夹包含一个工具,用于将 TTF 字体转换为以 C 代码数据数组形式生成的位图,您只需链接到项目即可添加字体。
来自自述文件:
Program to convert any ttf font to c source file that can be includes in ESP32 tft library.
This is a windows program, but can be used under Linux with wine:
Usage:
ttf2c_vc2003.exe <point-size> <input-file> <output-file> [<start_char> <end_char>]
or, under Linux:
wine ./ttf2c_vc2003.exe <point-size> <input-file> <output-file> [<start_char> <end_char>]
自述文件中有更多内容 - 需要进行一些手动编辑。该文件夹包含 Vera 和 DejaVu Sans 的示例。
关于c - 使用 ESP32 的 S7735R LCD 字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58351753/