Next: Defining Fontsets, Previous: Terminal Coding, Up: International [Contents][Index]
フォントは通常、1つのアルファベットまたはスクリプトの形状を定義します。したがってEmacsがサポートするスクリプトの全範囲を表示するには、多くのフォントのコレクションが要求されます。Emacsではこのようなコレクションのことをフォントセット(fontset)と呼びます。フォントセットはフォント仕様のリストとして定義され、それぞれが文字コードのある範囲を処理し、指定されたフォントでカバーしない文字にたいしては他のフォントセットにフォールバックします。
それぞれのフォントセットは、フォントと同様に名前をもちます。しかしフォントはシステムに格納されていて、利用可能なフォント名はシステムで定義されていますが、フォントセットはEmacs自身で定義されます。1度フォントセットを定義したら、1つのフォントを使える場所ならどこでも、フォントセットを名前で指定して使用することができます。もちろんEmacsのフォントセットに使用できるのは、システムがサポートするフォントだけです。もしある文字がスクリーン上で空のボックスや16進コードで表示される場合、それは使用しているフォントセットがその文字にたいするフォントをもっていないことを意味します。このような場合や、文字は表示されるが、それが意図したものとは異なる場合、多分追加のフォントをインストールする必要があるでしょう。オペレーティングシステムにはインストールできるオプションのフォントがあるはずです。またはサポートされたスクリプトのほとんどのフォントを含むGNU Intlfontsパッケージをインストールすることもできます。9
Emacsは3つのフォントセットを自動的に作成します。それはスタンダードフォントセット(standard fontset)、スタートアップフォントセット(startup fontset)、デフォルトフォントセット(default fontset)の3つです。デフォルトフォントセットは、さまざまな非ASCII文字のフォントをもち、他の2つのフォントセットのデフォルトのフォールバック先です(デフォルトフォントをセットしたときは、デフォルトフォントセットではなくデフォルトフォント)。しかしこれはフォントのファミリー名を指定しないので、これを直接使うと、結果は少しランダムに思えるかもしれません。Emacsを‘-fn’オプションで実行することにより、特定のフォントセットを使用するように指示できます。たとえば、
emacs -fn fontset-standard
‘Font’でフォントセットを指定することもできます(X Resourcesを参照してください)。
使用するフォントセットが何も指定されていない場合、EmacsはASCIIフォントを使用し、そのフォントがカバーしない文字にたいするフォールバックに‘fontset-default’を使用します。名前とは裏腹にスタンダードフォントセットは、明示的に要求されたときだけ使用されます。
特定のフォントセットの情報を表示するためには、M-x describe-fontsetコマンドを使用します。これこのコマンドはフォントセットの名前(デフォルトはカレントフレームで使用されているフォントセット)を尋ねて、文字のすべての部分範囲(subrange)と、フォントセット内でそれらに割り当てられたフォントを表示します。
フォントセットは、すべての文字コードにたいしてフォントを指定する必要はありません。フォントセットが特定の文字にたいしてフォントを指定していない、または指定したフォントがシステムに存在しない場合、フォントセットは文字を正しく表示できません。この場合、その文字は16進コード、細いスペース、または空のボックスがかわりに表示されます(詳細は、glyphless charactersを参照してください)。
EmacsをXで実行している場合、以下のようにして新しくインストールしたフォントの場所を、X serverに指示する必要があるでしょう:
xset fp+ /usr/local/share/emacs/fonts xset fp rehash