Next: フォントセットの修正, Previous: フォントセット, Up: 国際化文字セットのサポート [Contents][Index]
XでEmacsを実行している場合、Emacsはstandard-fontset-spec
の値により、スタンダードフォントセットを作成します。このフォントセットの名前は、
-*-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-standard
または単に短く‘fontset-standard’です。
GNUstep、およびmacOSではスタンダードフォントセットは、ns-standard-fontset-spec
の値を使って作成され、MS
Windowsではw32-standard-fontset-spec
の値を使って作成されます。
スタンダードフォントセットのボールド、イタリック、ボールドイタリックなどの変種も自動的に作成されます。これらの変種の名前には‘medium’のかわりに‘bold’、または‘r’のかわりに‘i’、またはその両方が使われます。
Emacsは‘Font’リソース、または‘-fn’引数で指定した任意のデフォルトASCIIフォント、またはEmacsが起動時に見つけたデフォルトフォントにもとづいて、フォントセットを自動的に作成します。これがスタートアップフォントセット(startup
fontset)で、名前はfontset-startup
です。Emacsはcharset_registryフィールドを‘fontset’、charset_encodingフィールドを‘startup’で置き換えてフォントセットを生成して、その置き換えた文字列をフォントセットの指定に用います。
たとえば以下の形式でEmacsを起動した場合、
emacs -fn "*courier-medium-r-normal--14-140-*-iso8859-1"
Emacsは以下のフォントセットを生成して、それをXウィンドウの初期フレームに使用します:
-*-courier-medium-r-normal-*-14-140-*-*-*-*-fontset-startup
スタートアップフォントセットは、そのフォントでサポートされているすべての文字にたいして指定したフォントか、異なるregistryまたはencodingのフォントを使用し、それ以外の文字は‘fontset-default’にフォールバックして表示するでしょう。
Xリソースの‘Emacs.Font’では、フォントセット名を実際のフォント名のように指定できます。しかし‘Emacs*Font’のようなワイルドカードを使ったリソースにフォントセット名を指定しないように注意してください — ワイルドカードを使った指定は、メニューのようなフォントセットを処理できないものも含めて、 他のさまざまな目的にも適用されます。Xのオプションとリソースを参照してください。
‘Fontset-n’という名前のXリソースを使って、追加のフォントセットを指定できます。ここでnは0から始まる整数です。リソースの値はつぎのような形式です:
fontpattern, [charset:font]…
ここでfontpatternは、最後の2つのフィールドを除いて、標準のXフォント名の形式です(前のfontset-startupの例を参照)。最後の2つのフィールドは、‘fontset-alias’の形式をもつべきです。
すべてのフォントセットには2つの名前、長い名前と短い名前があります。長い名前はfontpatternです。短い名前は‘fontset-alias’で、これは長い名前の最後の2つのフィールドです(たとえば、スタートアップ時に自動的に作成されるフォントセットは‘fontset-startup’)。どちらの名前でもフォントセットを参照できます。
‘charset:font’という構成は、ある文字セットにたいして、(このフォントセットでは)どのフォントを使用するかを指定します。ここでcharsetは、文字セットの名前で、fontはその文字セットに使用するフォントです。1つのフォントセットの定義の中で、この構成を何度でも使用できます。
他の文字セットにたいしては、Emacsはfontpatternにもとづいて選択します。これは文字セットを記述する値で‘fontset-alias’を置き換えます。ASCII文字フォントにたいしては、‘fontset-alias’を‘ISO8859-1’で置き換えます。
これに加えて、複数の連続するフィールドがワイルドカードの場合、Emacsはそれらを1つのワイルドカードにまとめます。これは、オートスケールされたフォントの使用を避けるためです。大きいフォントをスケーリングしたフォントは編集に適しておらず、小さいフォントをスケーリングしたフォントも同様です。なぜならEmacsがそうするように、もともと小さなフォントを使うほうがよいからです。
したがって、fontpatternが以下の場合、
-*-fixed-medium-r-normal-*-24-*-*-*-*-*-fontset-24
ASCII文字にたいするフォント指定は、以下のようになるでしょう:
-*-fixed-medium-r-normal-*-24-*-ISO8859-1
そしてChinese GB2312文字にたいするフォント指定は、以下のようになるでしょう:
-*-fixed-medium-r-normal-*-24-*-gb2312*-*
上記のフォント指定に一致するChineseフォントがないかもしれません。ほとんどのXディストリビューションには、familyフィールドが‘song ti’か‘fangsong ti’のChineseフォントだけが含まれています。そのような場合、‘Fontset-n’をつぎのように指定します:
Emacs.Fontset-0: -*-fixed-medium-r-normal-*-24-*-*-*-*-*-fontset-24,\ chinese-gb2312:-*-*-medium-r-normal-*-24-*-gb2312*-*
そうするとChinese GB2312の文字を除くフォント指定では、familyフィールドが‘fixed’となり、Chinese GB2312の文字に対するフォント指定では、familyフィールドが‘*’となります。
フォントセットのリソース値を処理してフォントセットを作る関数は、create-fontset-from-fontset-spec
と呼ばれます。フォントセットを作るために、この関数を明示的に呼ぶこともできます。
フォントの命名についての詳細は、フォントを参照してください。