私は現在、組込系液晶で文字を表示する場合は半角英数字と記号(いわゆるASCIIコード+半角カナ)程度の8×8ドット程度のビットマップフォントを作成して使用しています。
大きい文字を表示したい場合は8×8ビットマップフォントデータを2倍や3倍にしています。このやり方をすると文字を大きくすればするほどドットが荒くなり見栄えが悪くなっていきます。
そこで今回この悩みを解消しようと具体的に行動をおこすことにしました。
以前からおぼろげながら「truetypeフォントを活用できないかなぁ」と考えていたので、インターネットで調べてみると個人利用から商用利用まで許されているたくさんのフリーフォントが公開されていました。もちろん各フリーフォントごとに使用ライセンスが記載され使用制限はあります。それに従って使用しなければなりません。
とりあえずは次の図に記載しているように「truetypeフォントを使用するピクセルサイズを決めて、そのサイズでフォントデータのアウトライン化して、ビットマップデータをc言語のバイト配列を出力するプログラムを作成することにした。
そのあとは、これまで使っていた液晶表示プログラムに上記の出力したビットマップデータを解析して液晶に表示できるように改造を施した。
その結果は、こんな感じになりました。
「SHARP LCD」の文字の部分は実際は点滅しています。
左右の「ペロペロキャンディ」みたいなものは打ち上げ花火をイメージしていて動いています。
中央の数字は起動してからの経過時間を「分:秒」で逐次更新表示しています。
使用したフォント:
-
横浜市が提供している「イマジンヨコハマフォント」を縦32ピクセルでアウトライン化して使用
http://www.city.yokohama.lg.jp/bunka/outline/brand/output02.html
-
けしかんさんが作られている「7セグ・14セグ[DSEG]フォント」を縦48ピクセルでアウトライン化して使用
https://www.keshikan.net/fonts.html
使用したフォント:
-
8:51:22 pmさんが作られている「851チカラヨワクフォント」を縦32ピクセルでアウトライン化して使用
https://pm85122.onamae.jp/851ch-yw.html
-
けしかんさんが作られている「7セグ・14セグ[DSEG]フォント」を縦48ピクセルでアウトライン化して使用
https://www.keshikan.net/fonts.html