ベース・フォント名リストは、ロケールによって定義されたフォント・セットに関連付けられたベース・フォント名のリストです。ベース・フォント名はカンマで区切られたリストであり、ポータブル文字セットからの文字だと想定されます。そうでない場合の結果は不定です。セパレータのカンマに隣接する空白スペースは無視されます。
XLFD フォント名の使用により、国際化対応のアプリケーションが、単一のロケールに依存しないベース・フォント名からさまざまなロケールに必要なフォントを得ることができます。単一のベース・フォント名は、該当ロケールに必要なさまざまな charset でメンバがエンコードされたフォントのファミリを指します。
XLFD ベース・フォント名は、ロケールに必要なフォントの charset を明示的に指定できます。このことにより、ユーザはロケールに必要な charset で使用するフォントを厳密に指定することができるので、フォント選択を完全に制御できます。
ベース・フォント名が XLFD 名でない場合は、フォントのフォント属性から XLFD 名を獲得しようとします。
次のアルゴリズムは、フォント・セットでテキストを表示するのに使うフォントを選択するために使用されます。
ロケールに必要な各 charset ごとに、ベース・フォント名リストはサーバに存在するフォント・セットを指定する以下の場合の最初にあてはまるものが検索されます。
必要な charset または必要な charset のスーパーセットを、CharSetRegistry と CharSetEncoding フィールドに持つ最初の XLFD 準拠ベース・フォント名
必要な charset をサポートするために再マップできる 1 つ以上の charset を指定する、1 つ以上の XLFD 準拠ベース・フォント名の最初のセット
Xlib 処理系は、必要な charset から 1 つ以上のその他の charset へのさまざまなマッピングを認識できます。また、それらの charset のフォントを使用できます。たとえば、JIS ローマンは、ASCII の ‾ (チルダ) と ¥ (バックスラッシュ) の代わりに ¥ (円記号) と  ̄ (オーバーバー) を使用したものです。Xlib は、JIS ローマン・フォントが使用できない場合、この文字セットをサポートするために ISO8859-1 フォントを読み込めます。
(XLFD フォント名の CharSetRegistry と CharSetEncoding フィールドの代わりに) 必要な charset と組み合わされた最初の XLFD 準拠フォント名、または XLFD フォント名を獲得できる最初の XLFD ではないフォント名
最初の手続きで、処理系は必要な charset のスーパーセットである charset を使用できます。
ロケールに依存した何らかの方法で charset を連想させるテキストをサポートする 1 つ以上のフォントにマップできる、最初のフォント名
たとえば、ロケールには次の charset が必要だと想定します。
ISO8859-1
JISX0208.1983
JISX0201.1976
GB2312-1980.0
次の例のように、charset を明示的に指定したベース・フォント名リストを提供し、特定のフォントが存在する場合には確実に使用するようにできます。
"-dt-mincho-Medium-R-Normal-*-*-*-*-*-M-*-JISX0208.1983-0,¥ -dt-mincho-Medium-R-Normal-*-*-*-*-*-M-*-JISX0201.jisx0201¥.1976-1,¥ -dt-song-Medium-R-Normal-*-*-*-*-*-M-*-GB2312-1980.0,¥ -*-default-Bold-R-Normal-*-*-*-*-M-*-ISO8859-1"
次の例のように、charset を省いたベース・フォント名リストを提供すると、必要な各コード・セット用のフォントを選択できます。
"-dt-Fixed-Medium-R-Normal-*-*-*-*-*-M-*,¥ -dt-Fixed-Medium-R-Normal-*-*-*-*-*-M-*,¥ -dt-Fixed-Medium-R-Normal-*-*-*-*-*-M-*,¥ -*-Courier-Bold-R-Normal-*-*-*-*-M-*"
代わりの方法として、次の例のように単一ベース・フォント名を提供すると、ある最小の XLFD 属性要求事項を満たす使用可能なすべてのフォントから選択できます。
"-*-*-*-R-Normal--*-*-*-*-*-M-*"