Adobe はビットマップフォントを配布するための、BDF と呼ばれるフォーマットを定義しています。Microsoft はこのフォーマットを、グレイマップ (アンチエイリアス。各ピクセルが白と黒だけでなく、多数の灰色の中間調を表す) フォントをサポートするために拡張しています。最近、この同じフォーマットが他でも (gbdfed, freetype および fontforge) で使われ始めています。
フォーマット記述のセクション 3.1 で Adobe は“SIZE”キーワードを定義しています。Microsoft はこのキーワードに付加的な 4 番目のパラメータを追加しました。
SIZE PointSize XRes YRes
[Bits_Per_Pixel]
この 4 番目のパラメータは 1, 2, 4 および 8 の値を取ることができます。省略した場合は、この値は 1 であると見なされます (FontForge は値 16 および 32 のフォントからも読み込むことができますが、下位のデータは単純に無視され、上位バイトのみを保持します)。
FontForge はまた、フォント属性
BITS_PER_PIXEL
Value
を、生成するすべてのグレイマップフォントに含めます。
FontForge はこの種のフォントをすべて BDF 規格のバージョン 2.3 として印づけます。
STARTFONT 2.3
ビットマップデータは BITS_PER_PIXEL の値が 1, 2, 4 または 8 のいずれであるかに従って、8, 4, 2 または 1 ピクセル分をパックした形式で格納されます。Adobe の仕様書にあるように、すべてのデータは 16 進数で表現され、偶数個のニブルが存在しなければなりません。
例:
BITMAP
C8
ENDCHAR
はピクセル列
Bits/Pixel | Pixels |
---|---|
1 | 1,1,0,0,1,0,0,0 |
2 | 3,0,2,0 |
4 | C,8 |
8 | C8 |