使用ESP32的S7735R LCD使用字体

时间:2019-10-12 07:08:29

标签: c fonts embedded esp32

我正在使用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中的上面给出了该行,并且该字体使用了给定的路径。

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

1 个答案:

答案 0 :(得分:0)

字体格式是专有的简单位图。文件扩展名.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的示例。