_)ペコリM5StackはESP32を使用して小型のケースに液晶LCDやSDソケットなどが組み込まれています。センサーデバイスなどをケースの外周に露出されているコネクタに接続することで簡単にお試しができるようになります。小型で綺麗な表示ができる液晶LCDですが、残念ながらそのままでは日本語フォントを表示することができません。下記のような画面が表示できるようになります。日本語表示mgo-tec氏の実装:ESPモジュール関連のライブラリーやサンプルアプリを豊富に公開されているmgo-tec氏がブログで公開されています。ILI9341のSPIライブラリなど必要なライブラリなどが全て無償で公開されています。私もM5Stackを使ったデモを作る際に使用させていただきました。SD上にファントファイル、変換テーブルなどをコピーして、ライブラリを組込むだけで日本語が表示できるようになります。修飾された字体も表示できます、但し、総ファイルサイズが1.3MBと大きなものになります。私の実装:ESPで赤外線リモコンのアプリを作っているのですが、画面のデータ、リモコンデータなどをSPIFFSに格納しているために、大きなフォントファイルとかは同居できません。これを標準のSPIFFSパーティションに格納可能なように必要なファイル領域を小さくすることにトライしました。フォントファイル小さくするに、16×16ドットフォントをバイナリ化したファイルを使用することにします。(バイナリ化したフォントは約280KB)実装はM5Stackのサンプルスケッチの中にあるHZK16.inoでの実装をベースにして改変して実現します。HZK16.inoはM5Stackの液晶LCD上に中国語フォントを表示するサンプルです、この仕組みは、Arduino/libraries/M5Stack/src/utilityにあるDisplay.hとDisplay.cppにあります。使用されるフォントファイルは、Arduino/libraries/M5Stack/src/FontsにあるASC16(半角文字)とHZK16(全角文字)です。この実装(HZKハンドリングまたはHZKと呼ぶことにします)で使われる文字コードはGBKですが、今回はUTF-8からShift-JISコードに変換し、フォントファイルを読み込むことにしました。HZKでもフォントのサイズは16×16が使われており、表示する文字フォントのファイル内の位置を指定するだけで、面倒な表示処理はHZKのそれをそのまま使うことができます。M5Stackライブラリーは下記のバージョンでの動作を確認しています。その他のバージョンでの動作は確認していません。差分パッチは有効です。注意:Display.hの中でSPIクロックの変更が行われています。27MHz:18.55秒と少しだけ遅くなります。ezorisu-web。