M5StackのTFTディスプレィAPIは日本語表示に対応していないのですが、Arduino IDEが使えるので、過去のArduino関係での表示例を探したところ、手頃なものがありました。
探した元ネタはこちらです: NefryBTで日本語表示させてみる
元ネタと同様に misakiUTF16_1.04.zipをダウンロードして、
Arduino IDEの「スケッチ」→「ライブラリをインクルード」→「.ZIP形式のライブラリのインクルード」でインストールします。
表示サンプルコードの移植は、ほとんどフォントのドットデータの描画をM5StackのAPIで置き換えるだけでした。
以下、結果です。
#include <M5Stack.h>
#include <misakiUTF16.h>
void misakiPrint(int x, int y, char * pUTF8) {
int n=0;
byte buf[40][8]; //320x8ドットのバナー表示パターン
while(*pUTF8)
pUTF8 = getFontData(&buf[n++][0], pUTF8); // フォントデータの取得
// 文字の描画
for (byte i=0; i < 8; i++) {
for (byte j=0; j < n; j++) {
for (byte k=0; k<8;k++) {
if(bitRead(buf[j][i],7-k)) {
M5.Lcd.drawPixel(x + 8*j + k , y + i, TFT_WHITE);
}
}
}
}
}
void setup() {
M5.begin();
M5.startupLogo();
M5.Lcd.setBrightness(100);
M5.Lcd.fillScreen(TFT_BLACK);
misakiPrint(0,0, "みさきフォントで書き出してみる☆");
misakiPrint(0,16, "ごめん、ヘルシェイク矢野のことを考えてた…");
misakiPrint(0,24, "ごめん、ヘルシェイク矢野のことを考えてた…");
misakiPrint(0,32, "ごめん、ヘルシェイク矢野のことを考えてた…");
misakiPrint(0,40, "ごめん、ヘルシェイク矢野のことを考えてた…");
delay(5000);
M5.Lcd.fillScreen(TFT_BLACK);
misakiPrint(60,28, "ヘールシェイク!!");
delay(1500);
misakiPrint(15,50, "ヘールシェイク!!");
delay(1500);
misakiPrint(80,36, "ヘールシェイク!!");
delay(1500);
misakiPrint(20,3, "ヘールシェイク!!");
}
void loop() {
}
動かすと...
M5StackのTFTディスプレイに表示するにはちょっと小さいので、そのうち別のフォントでも試してみようと思います。