M5stackCore2 で日本語表示
M5Stack Core2で日本語を表示する方法について紹介します。
lovyanGFXライブラリを入れるとか、SDカードにフォントファイルを入れて読み出すとか初心者が手を出すにはハードルが高いかなと思ったので簡単な方法がないかと調べた結果、
M5Unifiedライブラリを使用すれば、非常に簡単に日本語表示ができることがわかりました。
簡単な日本語表示方法
M5Unifiedライブラリを使用している場合、以下のコードを追加するだけで日本語表示が可能になります:
#include "M5Unified.h"
void setup() {
auto cfg = M5.config();
M5.begin(cfg);
M5.Lcd.setTextFont(&fonts::efontJA_16);
M5.Display.setTextSize(1);
M5.Lcd.println("こんにちは");
}
これだけです!超簡単!
ちなみにフォント設定をしていないとこうなります。
□□□□□□□と表示されてしまいます。
なぜこれで日本語表示ができるのか?
M5Unified ライブラリは内部で M5GFX ライブラリを使用しています。
M5GFX は LovyanGFX をベースにした、M5Stack デバイス向けに最適化されたグラフィックスライブラリであり、多くのフォント(日本語フォントを含む)が含まれています。
なので、M5Unified を使用することで、M5GFX の機能(フォントを含む)に簡単にアクセスでき、その結果として日本語フォントを直接利用できるのです!
M5GFXフォント一覧
M5GFX ライブラリには、以下のようなフォントが含まれています:
英語(ASCII)フォント:
-
fonts::Font0
~fonts::Font7
(サイズや太さの異なる様々なフォントがあります)
日本語・中国語フォント:
fonts::efontCN_8
fonts::efontCN_10
fonts::efontCN_12
fonts::efontCN_14
fonts::efontCN_16
fonts::efontCN_24
fonts::efontCN_32
fonts::efontCN_64
日本語のみのフォント:
fonts::efontJA_8
fonts::efontJA_10
fonts::efontJA_12
fonts::efontJA_14
fonts::efontJA_16
fonts::efontJA_24
fonts::efontJA_32
fonts::efontJA_64
その他:
fonts::lgfxJapanGothic_12
fonts::lgfxJapanGothic_16
fonts::lgfxJapanGothicP_16
fonts::lgfxJapanMinchoP_16
フォント名の末尾の数字はフォントサイズ(ピクセル)を示しています。
全てのフォントかどうかは調べていませんが、これだけあれば実用に足りるかなと思いました。
もし、凝ったフォントを使いたいという場合はフォントファイルを作成し、それをSDカードから読み出すというのが良い方法だと思います。時間があれば試してみたい。。
最後に
おそらくこういった情報は意外と見つけにくいですし、色々試してみるにはコンパイルやイメージの書き換えに時間がかかるので億劫になりがちです。
今後もハマった部分は極力記事にしていきたいなと思っておりますm(_ _)m
時間が許せば…(´・ω・`)