フォント名のセットは、表 2-2 に示されている XLFD フィールド名の値によって定義されます。
表 2-2 フォント名のフィールド名の値
フィールド |
値 |
説明 |
---|---|---|
FOUNDRY |
dt |
CDE 名 |
FAMILY_NAME |
application |
CDE 標準アプリケーション・フォント名 |
WEIGHT_NAME |
mediumまたはbold |
フォントの線の太さ |
SLANT |
r i |
ローマン イタリック |
SET_WIDTH |
normal |
通常設定幅 |
ADD_STYLE |
sans または serif |
sans serif フォントまたは serif フォント |
PIXEL_SIZE |
* |
プラットフォーム依存 |
POINT_SIZE |
pointsize |
要求されたフォントのポイント・サイズ |
RESOLUTION_X |
* |
プラットフォーム依存 |
RESOLUTION_Y |
* |
プラットフォーム依存 |
AVERAGE_WIDTH |
p m |
プロポーショナル (システムフォント) 固定幅 (ユーザフォント) |
NUMERIC FIELD |
* |
プラットフォーム依存 |
CHAR_SET_REGISTRY |
iso8859-1 |
規格作成組織 |
ENCODING |
1 |
文字セット番号 |
標準名は、X Windows XLFD フォント命名スキーマに従って使用できます。プラットフォーム依存フィールドに対して適切なワイルドカードで正しく指定すれば、CDE フォント名は、有効な、対応するプラットフォーム依存フォントを確実に開きます。ただし、Xlib の XListFont() 関数の呼び出しから返される XLFD 名は、すべての CDE プラットフォーム上で同じであるとは限りません。
このような値を使うと、次の XLFD パターンは、特定のプラットフォーム上の CDE 標準 アプリケーション・フォント名のセットのすべてと一致します。
-dt-application-*
次のパターンは、CDE のボールドのプロポーショナルスペース・フォント (serif と sans serif の両方) に一致します。
-dt-application-bold-*-*-*-*-*-*-*-p-*-*-*-
また、次のパターンは、固定幅フォントに一致します (serif または sans serif、あるいは両方)。
-dt-application-*-*-*-*-*-*-*-*-m-*-*-*-
CDE 標準アプリケーション・フォント名のセットのすべては、次のように表すことができます。
-dt-application-bold-i-normal-serif-*-*-*-*-p-*-iso8859-1 -dt-application-bold-r-normal-serif-*-*-*-*-p-*-iso8859-1 -dt-application-medium-i-normal-serif-*-*-*-*-p-*-iso8859-1 -dt-application-medium-r-normal-serif-*-*-*-*-p-*-iso8859-1 -dt-application-bold-i-normal-sans-*-*-*-*-p-*-iso8859-1 -dt-application-bold-r-normal-sans-*-*-*-*-p-*-iso8859-1 -dt-application-medium-i-normal-sans-*-*-*-*-p-*-iso8859-1 -dt-application-medium-r-normal-sans-*-*-*-*-p-*-iso8859-1 -dt-application-bold-i-normal-*-*-*-*-*-m-*-iso8859-1 -dt-application-bold-r-normal-*-*-*-*-*-m-*-iso8859-1 -dt-application-medium-i-normal-*-*-*-*-*-m-*-iso8859-1 -dt-application-medium-r-normal-*-*-*-*-*-m-*-iso8859-1 -dt-application-medium-r-normal-*-*-*-*-*-p-*-dtsymbol-1
それぞれの標準アプリケーション・フォント名で使用できるポイント・サイズの完全なセットは、ベンダの CDE プラットフォームで出荷されるフォントのセットによって決まります (ビットマップ・フォントのみか、ビットマップ・フォントとスケーラブル・アウトライン・フォントの両方)。すべての CDE プラットフォーム上で使用できる必要最小限のサイズのセットは、X11R5 のデフォルトのマッピングを構成するビットマップ・フォントの標準サイズ (8、10、12、14、18、または 24) に対応します。
たとえば、単純な固定幅フォントの 6 サイズの全セットを次のパターンによって表すことができます。
-dt-application-medium-r-normal-*-80-*-*-*-m-*-iso8859-1 -dt-application-medium-r-normal-*-100-*-*-*-m-*-iso8859-1 -dt-application-medium-r-normal-*-120-*-*-*-m-*-iso8859-1 -dt-application-medium-r-normal-*-140-*-*-*-m-*-iso8859-1 -dt-application-medium-r-normal-*-180-*-*-*-m-*-iso8859-1 -dt-application-medium-r-normal-*-240-*-*-*-m-*-iso8859-1
これらのパターンは、CDE プラットフォーム上の対応する標準フォント名に一致しますが、POINTSIZE 以外の数値フィールドはプラットフォームによって異なる場合があります。また、ベンダが標準名のセットを実装する方法によって、一致するフォントは serif か sans serif のどちらかになります。
一つの app-defaults ファイルを作成してアプリケーションのフォント・リソースを指定し、それをすべての CDE プラットフォームで使用できます。定義される標準名の部分は、どのベンダのプラットフォームでも同じなので、app-defaults ファイルの中のリソース指定でこれらの値を指定できます。ただし、その他のフィールド (PIXEL_SIZE、RESOLUTION_X、RESOLUTION_Y、および AVERAGE_WIDTH) はプラットフォームによって異なることがあるので、ワイルドカードを使用しなければなりません。たとえば、appOne という名前のアプリケーションが必要とするデフォルトのリソースを指定するには、次のようにします。
appOne*headFont: -dt-application-bold-r-normal-sans-*-140-*-*-p-*-iso8859-1 appOne*linkFont: -dt-application-bold-i-normal-sans-*-100-*-*-p-*-iso8859-1 |
もう一つの例として、あるベンダのプラットフォーム上で動作する appTwo は、見出しとハイパーテキスト・リンクのために 2 つのフォント・リソースを定義すると仮定します。appTwo は、14 ポイントのボールドの serif フォント (Lucidabright bold) と 12 ポイントのボールドかつイタリックの sans serif フォント (Lucida bold-italic) を使用します。その場合、app-defaultsファイル内のフォント定義を、
apptwo *headingFont: -b&h-lucidabright-bold-r-normal--20-140-100-100-p-127-iso8859-1 apptwo *linkFont: -b&h-lucida-bold-i-normal-sans-17-120-100-100-p-96-iso8859-1 |
から
apptwo *headingFont: -dt-application-bold-r-normal-serif-*-140-*-*-p-*-iso8859-1 apptwo *linkFont: -dt-application-bold-i-normal-sans-*-120-*-*-p-*-iso8859-1 |
に変更します。他の CDE プラットフォーム上のフォント名がわからなくても、CDE 標準アプリケーション・フォント名で指定されたプラットフォームに独立したパターンは、各プラットフォーム上の適切なフォントを示します。
リソース定義の中で、*ワイルドカードを使用して示した例のように作成します。ポイント・サイズ以外の数値フィールドにワイルドカードを適用することによって、フォントの正確なピクセル・サイズまたは平均の幅が多少違っても、リソースがすべてのプラットフォーム上の CDE フォントに必ず一致するようにできます。
詳細は、DtStdAppFontNames(5) マニュアルページを参照してください。