c - 使用 ESP32 的 S7735R LCD 字体

标签 c fonts embedded esp32

我正在研究 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/

相关文章:

android - 在android设计支持TabLayout中更改标签文本的字体

css - 我可以在 CSS 中设置抗锯齿吗?

linux - 嵌入式设备上带有 ramfs 的内核 panic : No filesystem could mount root

c - C语言返回值函数如何返回错误

c - STM32 Bare Metal C - 无法让 LED 工作

c - 使用 GTS 的约束 Delaunay 三角剖分断言失败

php - 在哪里可以找到触发 unset() 垃圾回收的 "low memory"和 "free CPU cycles"调用?

c - 如何查找 GtkLabel 当前的字体

c - 检测父进程死亡

c - 在创建 RAW_SOCKET 错误时,如不允许操作