Typedefs | |
typedef MFont | MFont |
フォントの型宣言. |
MFont
型のオブジェクトとして表現する。 フォントは フォントプロパティ を持つことができる。他のタイプのプ ロパティ同様、フォントプロパティはキーと値からなり、キーは以下のシ ンボルのいずれかである。
Mfoundry
, Mfamily
, Mweight
, Mstyle
, Mstretch
, Madstyle
, Mregistry
, Msize
, Mresolution
, Mspacing
フォントプロパティのキーが Msize
あるいは Mresolution
の場合、値は整数値であり、キーがそれ以外の場合、値はシンボルである。
「フォント F のフォントプロパティのうちキーが Mxxx
であるもの」のことを簡単に「F の xxx プロパティ」と呼ぶことがある。
foundry プロパティの値は、adobe, misc 等のフォントの開発元情報を示すシンボルである。
family プロパティの値は、times, helvetica 等のフォントファミリーを示すシンボルである。
weight プロパティの値は、normal, bold 等の太さに関する情報を示すシンボルである。
style プロパティの値は、normal, italic 等のスタイルに関する情報を示すシンボルである。
stretch プロパティの値は、normal, semicondensed 等の文字幅に関する情報を示すシンボルである。
adstyle プロパティの値は、serif, sans-serif 等の抽象的なフォントファミリーに関する情報を示すシンボルである。
registry プロパティの値は、iso10646, iso8895-1 等のレジストリ情報を示すシンボルである。
size プロパティの値は、フォントのデザインサイズを表わす整数値であり、 単位は1/10 ポイントである。
resolution プロパティの値は、想定されているデバイスの解像度を表わす 整数値であり、単位はdots per inch (dpi) である。
type プロパティの値は、フォントドライバを指示し、現在 Mx もしくは Mfreetype である。
m17n ライブラリはフォントオブジェクトを2つの目的で用いている。アプ リケーションプログラムからフォントの指定を受け取る目的と、アプリケー ションプログラムに利用可能なフォントを提示する目的である。アプリケー ションプログラムに対して提示を行う際には、フォントプロパティはすべ て具体的な値を持つ。
m17n ライブラリは Window システムフォント、FreeTypeフォント、 OpenTypeフォントの3種類をサポートしている。
m17n X ライブラリは、X サーバと X フォントサーバが取り扱う全てのフォントをサポートする。 XLFD の各フィールドとフォントプロパティの対応は以下の通り。この表にないフィールドは無視される。
XLFD フィールド プロパティ --------------- -------- FOUNDRY foundry FAMILY_NAME family WEIGHT_NAME weight SLANT style SETWIDTH_NAME stretch ADD_STYLE_NAME adstyle PIXEL_SIZE size RESOLUTION_Y resolution CHARSET_REGISTRY-CHARSET_ENCODING registry
m17n ライブラリは、FreeType ライブラリを使うように設定された場合には、 FreeType が扱うすべてのフォントをサポートする。変数 mfont_freetype_path は m17n ライブラリの設定と環境変数 M17NDIR
に応じて初期化される。詳細は変数の説明を参照のこと。
もし m17n ライブラリが fontconfig ライブラリを使うように設定された場合には、 mfont_freetype_path に加えて、 fontconfig で使用可能なフォントもすべてサポートされる。
FreeType フォントのファミリ名は family プロパティに対応する。 FreeType フォントのスタイル名は、下の表のように weight, style, stretch プロパティに対応する。
スタイル名 weight style stretch ---------- ------ ----- ------- Regular medium r normal Italic medium i normal Bold bold r normal Bold Italic bold i normal Narrow medium r condensed Narrow Italic medium i condensed Narrow Bold bold r condensed Narrow Bold Italic bold i condensed Black black r normal Black Italic black i normal Oblique medium o normal BoldOblique bold o normal
上の表に現われないスタイル名は "Regular" として扱われる。
platform ID と encoding ID の組み合わせが registry プロパティに対応する。たとえばあるフォントが (1 1) という ID の組合せを持てば、 registry プロパティは 1-1 となる。頻繁にあらわれる組合せには以下のような定義済み registry プロパティ が与えられている。
platform ID encoding ID registry プロパティ ----------- ----------- ----------------- 0 3 unicode-bmp 0 4 unicode-full 1 0 apple-roman 3 1 unicode-bmp 3 1 unicode-full
したがって、二つの組合せ (1 0) 、(3 1) を持つフォントは、それぞれ registry プロパティが 1-0, apple-roman, 3-1, unicode-bmp である4つのフォントオブジェクトに対応する。
m17n ライブラリは、FreeType ライブラリと OTF ライブラリを使用するように設定すれば、すべての OpenType フォントをサポートする。実際に利用できるフォントのリストは FreeType フォントの場合と同様に作られる。OpenType フォントを FLT (Font Layout Table) 経由で使用するようフォントセットに指定されており、FLT に OTF 関連のコマンド (たとえば otf:deva) があれば、OTF ライブラリがフォントの OpenType レイアウトテーブルに従って文字列をグリフコード列に変換し、FreeType ライブラリが各グリフのビットマップイメージを提供する。
|
MFont 型はフォント指定用の構造体であり、フォントのプロパティである foundry, family, weight, style, stretch, adstyle, registry, size, resolution に関する情報を含む。 この構造体はフォントセット内のフォントを指定する際と、使用可能なシステムフォントの情報を格納する際の両方に用いられる。 内部構造はアプリケーションプログラムからは見えない。
|