carcon999のブログ

12年間Y!ブログの記載を移行しました。電子工作関連の記事が多いです。

日本語の表示

約一ヶ月ぶりの更新です。
実は、今回の製作物のアルゴリズムで悩んでいました。それが少し落ち着いてきたので、ちょっと見た目に着手し始めました。

イメージ 1

今回は、日本語の表示を行いました。ただし、フォントを組み込む程のプログラム容量が残っている訳もなく、文字列をモノクロビットマップデータとして出力するC#のプログラムを作成して、それを表示させています。
文字列を入力して、ボタンを押すと文字列データのソースコードが生成されます。
アプリケーションで、ある程度利用する文字列が固定されている場合は、有効な手段です。

イメージ 2

// "SE組み込み人" サイズ = 14x16 = 224byte
const _UBYTE tMsg_KUMIKOMI[][16] = {
 {0x00,0x07,0x08,0x10,0x10,0x10,0x0c,0x03,0x00,0x00,0x10,0x10,0x08,0x07,0x00,0x00},
 {0x00,0x1f,0x90,0x50,0x50,0x10,0x10,0x1f,0x90,0x50,0x50,0x50,0x90,0x1f,0x00,0x00},
    ・
    ・
    ・
 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x20,0x10,0x08},
 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
};

"SE組み込み人"を表示するために、ROMとして224byte必要としました。
私の場合、せいぜいメッセージは20種類程度だと思っているので、下手に日本語フォントを組み込むよりは、モノクロビットマップデータの方が少ない容量で実現できたりするので便利です。

あと、今回フォントは、フリーの東雲(しののめ)フォントを利用しました。IPAフォントも試したのですが16ピクセルの高さでIPAフォントを使ってみたら認識性があまり良くなかった。
MSゴシック等を利用すると、著作権上問題があるので注意しましょう。