FrameBuffer用グラフィック・ライブラリ(MGRX)

テキスト表示機能


MGRXライブラリは非常に高機能なので全てを紹介することはできませんが、テキスト表示だけ少し調べてみました。
testディレクトリに「fontdemo2」のデモプログラムが有ります。
引数を変えると、どのように表示が変わるか調べてみました。
実行する前に、必ず環境変数で使用するグラフィック環境(ドライバー、解像度、色数)を指定します。
例えば、解像度=320x240 色数=16Bit(64K) /dev/fb1のFrameBufferを使う場合は以下の様に指定します。
また、フォントのパスは「MGRXFONT」の環境変数で指定することができます。
export MGRXDRV="linuxfb gw 320 gh 240 nc 64k"
export FRAMEBUFFER=/dev/fb1
export MGRXFONT=/home/pi/mgrx_rpi/fonts
cd $HOME/mgrx_rpi/test

./fontdemo2 xm16x25.fnt


標準のコントラスト値は192で表示しています。
キーボード入力で終了します。

./fontdemo2 -a 1 xm16x25.fnt


反転します

./fontdemo2 -a 2 xm16x25.fnt


アンダーラインが付きます

./fontdemo2 -a 3 xm16x25.fnt


反転+アンダーラインが付きます

./fontdemo2 -g 10 xm16x25.fnt


コントラストが変わります。この値ではほとんど見えません。

./fontdemo2 -g 50 xm16x25.fnt


./fontdemo2 -g 100 xm16x25.fnt


./fontdemo2 char23.fnt


フォントが変わります
使えるフォントは「$HOME/mgrx_rpi/fonts」に(目茶苦茶沢山)有りますが、
フォントの中には表示できないフォントもありました。

./fontdemo2 char23b.fnt


char23のボールドフォントです。

./fontdemo2 char23i.fnt


char23のイタリックフォントです。

./fontdemo2 char23bi.fnt


char23のボールド+イタリックフォントです。

fontdemo2を元にfontdemo3を作りました。
fontdemo3ではfontdemo3.dat(テキストファイル)の内容を表示します。
また、起動時の引数に「-s 秒数」を指定すると、指定した秒数経過後に終了します。

./fontdemo3 -s 10 char40.fnt



fontdemo3.datを編集することで好きな文字を表示できます。


OrangePi(Lite)でも動きます。


FrameBuffer用のグラフィックライブラリを自作しようかとも思いましたが、これ以上のものを作る自信はないのでやめました。