GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Fontsets.html ・ emacs-doc.conao3.com

24.14 Fontsets

フォントは通常、単一のアルファベットや文字体系の形状を定義します。そのため、Emacsがサポートするすべての文字体系を表示するには、多数のフォントを揃える必要があります。Emacsでは、このようなコレクションをフォントセットと呼びます。フォントセットは、それぞれが文字コードの範囲を担当するように割り当てられたフォント仕様のリストによって定義され、指定したフォントでカバーされていない文字については、別のフォントセットにフォールバックすることがあります。

各フォントセットには、フォントと同様に名前が付いています。ただし、フォントがシステムに格納され、利用可能なフォント名がシステムによって定義されるのに対し、フォントセットはEmacs自体で定義されます。一度フォントセットを定義すれば、単一のフォントが使用できるあらゆる箇所でその名前を指定することで、Emacs内でそのフォントセットを利用できます。もちろん、Emacsのフォントセットで使用できるのは、システムがサポートしているフォントのみです。一部の文字が画面上で空白のボックスや16進数コードとして表示される場合、それはそれらの文字に対応するフォントが使用中のフォントセットに存在しないことを意味します。この場合、あるいは文字は表示されるものの期待通りの見栄えにならない場合は、追加のフォントをインストールするか、システムに既にインストールされている特定のフォントを使用するようにフォントセットを変更する必要があるかもしれません(後述)。お使いのオペレーティングシステムには、インストール可能なオプションフォントが用意されている場合があります。あるいは、サポートされているほとんどの文字体系のフォントを含むGNU Intlfontsパッケージをインストールすることも可能です。12

Emacsは、標準フォントセット、スタートアップフォントセット、デフォルトフォントセットの3つのフォントセットを自動的に作成します。デフォルトフォントセットは、ASCII以外の多種多様な文字に対応するフォントを備えている可能性が最も高く、他の2つのフォントセットのデフォルトのフォールバック先となるほか、フォントセットではなくデフォルトフォントを設定した場合にもこれが適用されます。ただし、フォントファミリー名は指定されていないため、直接使用すると結果が必ずしも一定になるとは限りません。‘-fn’オプションを指定してEmacsを起動することで、特定のフォントセットを指定できます。例えば、

emacs -fn fontset-standard

また、‘Font’ リソースを使用してフォントセットを指定することもできます(X オプションとリソースを参照)。

使用するフォントセットが指定されていない場合、EmacsはASCIIフォントを使用し、そのフォントでカバーされていない文字に対しては‘fontset-default’をフォールバックとして用います。標準のフォントセットは、その名称にかかわらず、明示的に要求された場合にのみ使用されます。

特定のフォントセットに関する情報を表示するには、M-x describe-fontset コマンドを使用します。このコマンドはフォントセット名の入力を求め(デフォルトでは現在のフレームで使用されているものが指定されます)、その後、そのフォントセットにおけるすべての文字サブレンジと、それらに割り当てられたフォントを表示します。特定のフォントセットを指定せずに開始したセッション(通常はこの状態になります)で、Emacs がどのフォントを使用しているかを確認するには、プロンプトで fontset-default RET と入力するか、あるいは単に RET と入力して現在のフレームで使用されているフォントセットを表示してください。

フォントセットは、必ずしもすべての文字コードに対してフォントを指定しているとは限りません。フォントセットが特定の文字に対してフォントを指定していない場合や、システム上に存在しないフォントを指定している場合、その文字を正しく表示することができません。代わりに、その文字は16進数コードや細いスペース、あるいは空白のボックスとして表示されます。(詳細はグリフのない文字を参照してください。)あるいは、フォントセットが一部の文字範囲に対してフォントを指定していても、その見た目が気に入らない場合があります。このような場合は、フォントセットの変更を検討してください。変更方法については、フォントセットの変更を参照してください。


脚注

(12)

X上でEmacsを動作させている場合は、次のようなコマンドを用いて、新しくインストールしたフォントの場所をXサーバーに通知する必要があるかもしれません。

 xset fp+ /usr/local/share/emacs/fonts
 xset fp rehash