Solaris 共通デスクトップ環境 プログラマーズ・ガイド

標準アプリケーションフォント

デフォルトのフォント名

フォント名のセットは、表 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 ファイル内の標準アプリケーション・フォント名

一つの app-defaults ファイルを作成してアプリケーションのフォント・リソースを指定し、それをすべての CDE プラットフォームで使用できます。定義される標準名の部分は、どのベンダのプラットフォームでも同じなので、app-defaults ファイルの中のリソース指定でこれらの値を指定できます。ただし、その他のフィールド (PIXEL_SIZERESOLUTION_XRESOLUTION_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) マニュアルページを参照してください。