显示抗锯齿字体
该仓库演示了如何在Wio Terminal中使用抗锯齿字体 (即显示日文字、希腊文字和其他UCS-2字符)! 此外,还可以使用平滑字体在Wio Terminal上显示普通英文字母,并选择您喜欢的计算机字体。
库的安装
安装 Wio Terminal 的SD卡库
安装 Wio Terminal 的TFT LCD库
生成vlw字体文件
下面演示如何生成可用于Wio Terminal平滑字体的vlw字体文件。
步骤 1
下载 Processing 软件并根据您的操作系统进行安装。
步骤 2
打开 Processing, 导航到 Tools
-> Create Font...
步骤 3
将会出现一个 Create Font 窗口。您可以选择计算机上可用的字体。更改字体大小,然后单击 Characters...
,您还可以更改vlw文件的文件名。
步骤 4
将会出现一个 Character Selector 窗口,您可以选择特定的语言Unicode字符块(例如,这里选择了基本拉丁字符). 对于亚洲字符,建议使用CJK兼容性或CJK类别的Unicode字符块。 点击 OK
保存字体设置。
步骤 5
导航到 File
-> Save
并将示例文件保存到计算机的本地驱动器中。现在,我们已经生成了vlw字体文件!
存储到SD卡
生成了vlw字体文件后,您可以在之前保存的示例文件的data文件夹中找到vlw文件。
现在,将vlw字体文件复制到SD卡中,并将SD卡放回Wio Terminal中。
配置LCD库
默认情况下,LCD库的平滑字体选项是 turned off 以节省Wio Terminal上的资源。 因此,需要配置以在Wio Terminal中启用平滑字体。
导航到Arduino库文件夹(libraries) -> Seeed_Arduino_LCD ,并使用编辑器打 User_Setup.h
。搜索 #define SMOOTH_FONT
并取消注释该行,如下所示:
现在您已经在Wio Terminal中启用了平滑字体,可以显示任何您喜欢的字体或字符!
显示
- 从SD卡加载字体到Wio Terminal:
void loadFont(String fontName);
其中 fontName
是vlw字体文件的名称。
- 在屏幕上显示vlw中的所有字符:
void showFont(uint32_t td);
其中 td
是显示所有字符时屏幕之间的延迟时间。
- 卸载字体:
void unloadFont();
要在屏幕上显示字符,您可以使用类似于tft库的函数,如 tft.println()
. 此外,您还可以使用其他函数,如 tft.setCursor()
和 tft.setTextColor
来更改字符显示的位置和颜色。
注: 请检查LCD库中的 User_Setup.h
,确保 #define SMOOTH_FONT
已取消注释。
完整代码
请在 此处 下载完整的代码和示例vlw文件。
#include<SPI.h>
#include "Seeed_FS.h"
#include "SD/Seeed_SD.h"
#include"TFT_eSPI.h"
TFT_eSPI tft;
void setup() {
tft.begin();
Serial.begin(115200);
tft.setRotation(3);
tft.fillScreen(TFT_BLACK); //Black background
while(!SD.begin(SDCARD_SS_PIN, SDCARD_SPI)){
Serial.println("SD card error!\n");
while(1);
}
delay(1000);
tft.loadFont("Apple-Chancery-24");
// Show all characters on screen with 2 second (2000ms) delay between screens
tft.showFont(2000); // Note: This function moves the cursor position!
tft.setTextColor(TFT_RED,TFT_BLACK);
tft.setCursor(0,0);
tft.println("Konnichiwa");
tft.println("Sayonara");
tft.println();
tft.unloadFont();
tft.loadFont("Latin-Hiragana-24");
tft.setTextColor(TFT_GREEN,TFT_BLACK);
tft.println("こんにちは");
tft.println("さようなら");
tft.unloadFont();
}
void loop(){}
技术支持 & 产品讨论
感谢您选择我们的产品!我们致力于为您提供不同的支持,以确保您对我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。