[実験] M5StickCで/efont/を使ってみた

東雲フォントを使おうかと思いましたが、どうせならUNICODEが使える/efont/を使えるか検証してみました。

/efont/ Electronic Font Open Laboratory

※現時点の情報ですので、最新情報はM5StickC非公式日本語リファレンスを確認してください。

注意

こちらは実験ですので、実際に使う場合には以下のページを参考にしてください。

結果

できました!

16ドットフォントを入れてみましたが、これなら十分実用できる品質ですね。

サンプルコード

#include <M5StickC.h>
#include "efontUTF16.h"
#include "efontUTF16M5StickC.h"

void setup() {
  M5.begin();
  M5.Lcd.setRotation(0);
  M5.Lcd.setCursor(0, 0);

  printEfont("新しい朝が来た希望の朝が");
  printEfont("新しい朝", 0, 16*4);
  printEfont("新しい朝", 0, 16*6, 2);
}

void loop() {
}

自作ライブラリ部分はまだ公開用に手をいれないといけないので、今後公開する予定です。フォントデータはベタッとUTF16の全フォントデータをフラッシュ領域に読み込んでいます。

全部だと2M弱、ハングル文字あたりを削ると1.3Mぐらい。コードサイズ的に通常だと動かないのでNo OTAとか、プログラム領域が大きいモードにしないと動きません。

転送時間も結構かかるので、SPIFFSから読み込むバージョンも作ってみたいと思います。

コメント