GadgetSeed
0.9.6
|
GadgetSeedは表示デバイスへの文字フォント描画機能があります。
フォントは複数の種類を持つことができます。
またそれぞれのフォントは異なる文字の大きさやデザインを定義することができます。
GadgeeSeedでは選択できるフォントの単位をフォントセット st_fontset として定義しています。
フォント描画を使用するには、以下のコンフィグ項目を有効にして下さい。
COMP_ENABLE_FONTS
GadgetSeedは使用するフォントセットを コンフィグレーション で選択することができます。
フォントセットは以下の構造体で定義されます。
st_fontset フォントセット
フォントセット構造体は1種類のフォントセットを定義するデータ構造です。
フォントセット構造体は以下の組み合わせのフォントデータ st_font を定義することが出来ます。
それぞれのフォントデータは以下のように定義しています。
全角フォントは主に漢字文字を示しています。
フォントデータは以下の構造体で定義されています。
st_font フォントデータ
include ファイル : font.h
API名 | 機能 |
---|---|
set_fontset() | 描画に使用するフォントセット(カレントフォントセット)を設定する |
get_fontset() | 描画に使用されているフォントセット(カレントフォントセット)取得する |
fontset_count() | 登録されているフォントセットの数を取得する |
fontset_name() | フォント名を取得する |
get_fontptr_by_name() | フォントセットのポインタを取得する |
set_font_by_name() | カレントフォントセットをフォント名で設定する |
set_font_drawmode() | フォント描画モードを設定する |
draw_char() | 文字を描画する |
draw_str() | 文字列を描画する |
draw_fixed_width_str() | 固定幅で文字列を描画する |
draw_str_in_box() | 四角形内に文字列を描画する |
font_width() | カレントフォントセットの文字幅を取得する |
str_width() | カレントフォントセットの文字列幅を取得する |
font_height() | カレントフォントセットの文字高さを取得する |
以下のような文字イメージを記載したテキストデータからフォントデータのCソースを作成するツールを使用することができます。
# 0x41 0 8 A . . X X X . . . . X X X X X . . X X X . X X X . X X . . . X X . X X . . . X X . X X . . . X X . X X . . . X X . X X X X X X X . X X X X X X X . X X . . . X X . X X . . . X X . X X . . . X X . X X . . . X X . X X . . . X X . X X . . . X X . . . . . . . . .
"8x16"フォントは以下のテキストデータを使用して作成されています。
fontdata/8x16/font_8x16.txt
テキストデータからのCソースデータの作成手順は以下のMakefileを参照してください。
fontdata/8x16/Makefile fontdata/txt2font.mk
BDFフォントからフォントデータを作成することができます。
"jiskan16"フォントはBDFフォントのjiskan16より作成されています。
BDFフォントからのCソースデータの作成手順は以下のMakefileを参照してください。
fontdata/jiskan16/Makefile fontdata/bdf2dbfont.mk
OTFフォントやTTFフォントからフォントデータを作成することができます。 これは、実験的な試みです。