マツド・サイエンス研究所

SH-TINY その4 秋月のグラフィック液晶で漢字を表示

今回は、秋月のグラフィック液晶(122x32 ドット)を使い、さらにリアルタイム OS の HOS-V4 を使って漢字を表示する方法を示す。

左の写真は、16x16 の東雲フォントを使って表示した例だ。

(クリックすると画像が拡大する)

難しい漢字も表示できているが、半角で15文字x2行、全角で7文字x2行と少ししか表示できないのが難点だ。

左の写真は、12x12 の東雲フォントを使って表示した例だ。

(クリックすると画像が拡大する)

少し字が小さくなっている。

文字数は、半角で20文字x2行、全角で10文字x2行だ。

左の写真は、8x8 の美咲フォントを使って表示した例だ。

(クリックすると画像が拡大する)

かなり、字が小さく、複雑な文字は判別が困難だ。

文字数は、半角で30文字x4行、全角で15文字x4行だ。

左の写真は、8x8 の恵梨沙フォントを使って表示している。ただし、半角文字は、美咲フォントを使っている。

(クリックすると画像が拡大する)

かなり、字が小さく、複雑な文字は判別が困難だ。

文字数は、半角で30文字x4行、全角で15文字x4行だ。

回路図は、下記の通りである。

このグラフィック液晶は、2kHz のクロックが必要なのだが、このクロックは、SH-TINY のタイマー機能を使って作っている。

(クリックすると画像が拡大する)

フォントのダウンロード

フォントは、X Window 用のビットマップフォントで、フリーでダウンロードできるものを使用している。

フリーと言っても、ライセンスの問題もあり、フォントの転載は難しいので、直接下記のリンクからダウンロードしてもらいたい。

東雲 ビットマップフォントファミリー から shinonome-0.9.11p1.tar.bz2 をダウンロード

美咲フォント から mskbdb10.tar.gz をダウンロード

恵梨沙フォントファミリー から elisau10.tgz をダウンロード

$ cd ~/hos-v4
$ mkdir fonts
$ cd fonts
$ tar jxvf shinonome-0.9.11p1.tar.bz2
$ mkdir misaki
$ cd misaki
$ tar zxvf mskbdb10.tar.gz
$ cd ..
$ mkdir elisau10
$ cd elisau10
$ tar zxvf elisau10.tgz

プログラム

sh7125glcd.tgzをダウンロード

$ cd ~/hos-v4/sample/
$ tar zxvf sh7125glcd.tgz
$ cd sh7125glcd/
$ make -f make -f gcc.mak

プログラムを見たら判ると思うが、ruby で、出力する文字列から、必要な漢字フォントのデータを配列化して ROM に書き込むようにしている。このため、ruby のインストールが必須である。

できた sampleRom.mot を SH-TINY ボードに書き込むと、グラフィック液晶に漢字文字列を表示しつつ、「いわゆる哲学者の食事の問題」を実行する。

今回の方法では、漢字フォントの内、必要なデータだけを切り出して、SH-TINY の ROM に書き込んでいる。プログラムが予め表示すべき文字列を用意している場合は、この方法で十分だろう。

SH-TINY の ROM は、128K バイトなので、16x16 や 12x12 ドットの漢字のデータを全て書き込む事はできない。しかし、8x8 ドットの漢字フォントなら、JIS 第2水準まで全て含めても 53Kバイトで収まる。あらゆる漢字を表示する必要がある場合、漢字フォントを ROM に書き込む方法もあり得る。

注意

ブログのコンテンツの内、「告知」など時期よって情報価値が無くなるのは除いてある。また、コンテンツに付いたコメントは書き込み者に著作権があるものと判断し、ここに持ってきていないので、コメントを見るときは、元々のブログコンテンツを参照してもらいたい。

その他、ブログ発表後、コメントなどの内容を反映するなど、内容を変更しているものもあるので、注意してほしい。