この美咲フォントをマイコンで取り扱うための方法を検討してみました。作戦フォーマットについて美咲フォントの生い立ちはそんな経緯らしいので、ファイルフォーマットはwindowsのdos窓などで使うfnt形式等になっているようです。fnt形式のフォーマットを私が知ってればそのまま使えばいいのかも知れないけど、調べるのが面倒とかイロイロな理由で別案を考えることにします。公式ページではpng形式の画像ファイルも公開されています。この画像ファイルから1ドット1ドットデータをサルベージしてしまおうという作戦です。それならマイコンに登載する際にデータの形式を好きなように弄れるので。各組み込み環境の要件にあわせて使いやすい形式に変形してしまいたい。すればフォントデータをメモリから読み出してそのまま表示器にI/F可能となり、処理負荷の観点でも有利に出来るはず...と。けのソースプログラム的なデータ形式に換えちゃうことを考えて行きます。フォントデータのサルベージ方法フォントデータを何らかの方法でサルベージして、さらにそれを各種言語で使いやすい形式(テキストファイル)に変換する必要があります。アセンブラ(アセンブリ言語)やC言語など各種言語プログラムからインクルードして簡単に組み込めるようなテキストファイルに変換しようと思います。C言語なら文字(char型)配列にしてみたり、AVR用アセンブラなら「.DB」形式のバイト列にしてしまったり。扱いが簡単そうで、かつ無料で使える言語が良いだろうと考え、今回は「HSP」を使ってみることにしました。処理内容自体は大したモンじゃ無いので、どんな言語にも移植は簡単かと思います。それを入力することにします。私の場合は愛用のJTrim.exeを使用しました。ご愛用のソフトを使ってbmp形式に変形してください。HSPについては詳説しないので、VECTORなどでダウンロードして使ってください。各種環境用のHSP用スクリプト各種言語用のインクルードファイルを作成するにあたり、準備としてまずはpng画像ファイルをbmp形式に変換しておいてください。変換するツールは上述の通り何でも構いません。AVRのアセンブラ用への変換AVRのアセンブラ用に変換するスクリプトを考えてみます。AVRのアセンブラで漢字フォントデータを登載するとしたら、プログラムメモリ上(フラッシュメモリ上)に配置するのが順当でしょう。コードセグメント、いわゆる「.cseg」上です。.cseg上で「.db」(バイトデータの定義)を行う様にしてしまえばincludeが出来るようになります。フォントの情報量はバイトデータとしておよそ60KB前後に至るので、at-mega128などの大容量シリーズじゃないとキビシイかも。処理内容によっては64KB版のAVRでも扱える可能性は有りますが...で、HSPのプログラムを書くにあたっての方向性ですが、アセンブラ用なので処理速度上クリティカルな用途ということになるでしょう。いうことで、NTSCのビデオ出力用途程度にも耐えられるデータ定義・データ構造としたいと思います。それを前提においてHSPのスクリプトを書いてみます。例によって、不等号、ダブルコーテーション、アンパサンドは全角に替えてあります。半角に戻して使ってください。ended.”実行すると「misaki.inc」というファイル名で以下の様なスクリプトファイルが出力されます。;7065こいつをアセンブラプログラムの.cseg上でインクルードしてあげればよいわけです。HSPは16進数関係の関数(VBで言うhex関数みたいなもの)が登載されていないようなので、ベタで変換掛けないといけません。