toge's diary

コンピュータ関連の趣味をつらつらと。

文字描画のためのくだらない作業

マシン組立 & セットアップはまだまだ続いているのですが、あまりに何もやらないのもなんなんで、兼ねてより気になっていた細々としたことをやってしまおう。
ということで第一段は文字描画の改善。

ちょっと前に手抜きキャッシュで高速化出来た文字描画なんですが、まあ重箱の隅をつつけばいくらでも無駄は出てきます。
私の文字描画ルーチンは、True Type Fontを描画した画像と、文字情報を示すユーザ定義チャンクで構成されるPNGをあらかじめ作っておき、これをテクスチャとして読みこんで描画するというもの。
で、今回は生成するテクスチャの無駄を省こうというそんなわけです。

テクスチャなのですが、以前は画像の左隅から一文字ずつ描画して、指定した横幅(1024とか2048)に達したら次の行に進むという単純なものでした。でもそうすると、上の画像みたいに行末に隙間が出来てしまうんですね。
これが気持ち悪かったということです。
ついでに、描画した文字の両端が単なるスペースだったら隣の文字と詰めるようにもしたいなぁ、と思うわけですよ。

さてどうなることやら。