【问题标题】:Use Font for S7735R LCD using ESP32使用 ESP32 为 S7735R LCD 使用字体
【发布时间】:2019-10-12 20:33:18
【问题描述】:

我正在开发 ESP32。带 ESP32 MCU 接口 S7735 LCD,我使用 ESP_IDF 作为 IDE。

我对 TFT_LCD 使用“https://github.com/loboris/ESP32_TFT_library”,并且我使用了给定的字体。我尝试了给定的字体,它工作正常,如果你想使用自定义字体,只需将字体文件放在 spiffs/fonts 文件夹中,然后刷入 ESP32。

如果我在 .ttf 中闪烁自定义字体,我会遵循这些步骤,但不会反映任何字体样式。我也尝试将 .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 中给出了上面的行和给定路径中使用的字体。

我需要一个与我的驱动程序兼容的字体文件解决方案。 请建议我使用新的自定义字体。

【问题讨论】:

  • 听起来您可能至少想在github.com/loboris/ESP32_TFT_library/issues 上问这个问题,因为他们是您需要使用哪种格式以及该格式的规范是什么的权威。文档在那里(在 /tools 目录中,正如 Clifford 所指出的那样),但它有点隐藏,所以你可能想提出一个问题,要求他们在主自述文件中添加一个部分,解释它存在,以及为什么你会想用它。

标签: c fonts embedded esp32


【解决方案1】:

字体格式是专有的简单位图。文件扩展名 .fon 是通用的,并没有告诉您有关实际格式的任何信息。

您链接的库的/tools 文件夹包含一个工具,用于将TTF 字体转换为生成为C 代码数据数组的位图,您只需将其链接到您的项目即可添加字体。

来自自述文件:

将任何 ttf 字体转换为可以包含的 c 源文件的程序 在 ESP32 tft 库中。

这是一个windows程序,但是可以在Linux下用wine使用:

用法:

ttf2c_vc2003.exe <point-size> <input-file> <output-file> [<start_char> <end_char>]

或者,在 Linux 下:

wine ./ttf2c_vc2003.exe <point-size> <input-file> <output-file> [<start_char> <end_char>]

自述文件中有更多内容 - 需要进行一些手动编辑。该文件夹包含 Vera 和 DejaVu Sans 的示例。

【讨论】:

  • 我是一名高级工程师,除非从主文档链接,否则不要指望子目录有自己的 README,而这不是。很高兴它在那里,但让某人为没有找到隐藏的自述文件负责,充其量是有问题的。在阅读了(在这种情况下是综合性的)主要文档后,我们不会为 readme*.* grep repos ;)
  • @Mike'Pomax'Kamermans 我不反对,但是当使用第三方库时,我可能会调查包内容,这只是少数文件夹中的一层。在这个问题之前,我从未使用或遇到过这个库;我花了大约 30 秒的时间浏览才发现它。虽然您可能对文档有一个正确的观点,但如果您选择依赖免费/开源软件,您必须接受质量会有所不同。我怀疑这种情况下的字体生成器可能是从一个单独的项目“捐赠”的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-06
  • 1970-01-01
  • 2021-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多