読者です 読者をやめる 読者になる 読者になる

プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

GBAで漢字


さて、気を取り直して、土曜の夜GBAでやっていたことを投稿しよう。


先日プロジェクトXを見て、ふとGBAで漢字を表示しようと思い立つ。
GBAは画面も240x160とそれほど広くないので、なるべく小さなフォントが望ましい。
16x16ドットフォントだと、15x10文字=150文字しか表示できないな。


そうだ。HP 200LXでおなじみの恵梨沙フォントを使ってみよう。
恵梨沙フォントは8x8ドットでフォントデータも非常に小さく、GBAにうってつけと思われる。
各種PDAなどにも移植されている実績があるし、個人で使用するぶんには自由に使えそうだ。


まずはGBAの小さな画面で8x8ドットサイズが実用になるかどうか実験してみよう。
さっそく恵梨沙フォントのサイトからデータをダウンロードする。


だが、肝心のフォントファイルの形式がドキュメントに書いていない。
ウェブを少しさまよってみたが、あまり明確な記述はないようだ。
いっそのこと作者とか各種PDAに移植された方々に聞いてみようかな。
いやいや、まずはちょっとデータを解析してみよう。


さっそくフォントデータをダンプして見てみる。
先頭にヘッダらしきものがあるかと思ったが、どうもよく分からない。
らちがあかないので、とりあえずデータの先頭からそのままVRAMに転送してみよう。
幸いフォントそのものは横8ドットで1バイト、8バイトで1文字ということが分かっていたので、データがどこから始まっているか想像がつくかもしれない。


画面に表示されたイメージを見て、思わず拍子抜けした。
なるほど、データ形式がどこにも書いてないわけだ。
JISの漢字データが先頭からそのまま入っている。
GBAで処理するのも、けっこう簡単そうだ。


で、肝心の文字の可視性だが、GBA実機で見たところ、けっこう実用になりそうだ。
8x8ドットなので、漢字の細部までは描き切れていないのだが、ちゃんと文字が分かるところがすごい。
そういやウィンドウズの小さなフォントだって、全部は描き切れてないけど分かるものな。
人間の思いこみがけっこうあるということなのだろうか。


まずは文字コードからフォントデータを導き出すルーチンから書き始めよう。
事故に備えてバックアップも忘れずに。(笑)


(TO BE CONTINUE)