Emacsが与えられたテキスト断片を表示する際には、そのテキストの視覚的外観は異なるソースから描画されるフェイスにより決定されるかもしれません。これら種々のソースが特定の文字にいたいして複数のフェイスを指定する場合には、Emacsはそれらのさまざまなフェイスの属性をマージします。以下にEmacsがフェイスをマージする順序を優先度順に記します:
region
フェイスを使用してそれをハイライトする。Standard
Faces in The GNU Emacs Manualを参照のこと。
nil
のface
属性をもつオーバーレイにテキストがある場合には、Emacsはそのプロパティにより指定されるフェイス(1つ以上)を適用する。そのオーバーレイがmouse-face
プロパティをもち、マウスがそのオーバーレイに十分に近ければEmacsはかわりにmouse-face
で指定されるフェイスかフェイス属性を適用する。オーバーレイのプロパティを参照のこと。
同一の文字を複数のオーバーレイがカバーする場合には、高優先度のオーバーレイが低優先度のオーバーレイをオーバーライドする。オーバーレイを参照のこと。
face
やmouse-face
プロパティを含む場合には、Emacsは指定されたフェイスやフェイス属性を適用する。特殊な意味をもつプロパティを参照のこと(これはFont Lockモードのフェイス適用方法。Font Lockモードを参照)。
mode-line
フェイスを適用する。選択されていないウィンドウのモードラインではEmacsはmode-line-inactive
フェイスを使用する。ヘッダーラインにたいしてはEmacsはheader-line
フェイスを適用する。タブラインにたいしては、Emacsはtab-line
フェイスを適用する。
before-string
やafter-string
プロパティを介したオーバーレイ文字列(オーバーレイのプロパティを参照)、あるいはディスプレイ文字列(その他のディスプレー仕様を参照)に由来するテキストであり、かつ文字列にface
やmouse-face
のプロパティが含まれない、またはそれらのプロパィが何らかのフェイス属性を未定義のままにしているが、バッファーのテキストがフェイスを定義するディスプレイプロパティやオーバーレイプロパティの影響を受ける場合には、Emacsは“基礎”にあるバッファーテキストのフェイスやフェイス属性を適用する。これはたとえオーバーレイ文字列やディスプレイ文字列がマージン内に表示されている場合も同様であることに注意(マージン内への表示を参照)。
default
フェイスの属性を適用する。
各ステージにおいてフェイスが有効な:inherit
属性をもつ場合には、Emacsは値unspecified
をもつすべての属性が、親フェイス(1つ以上)由来で描画に使用される対応する値をもつものとして扱います。フェイスの属性を参照してください。親フェイスでも属性がunspecifiedのままかもしれないことに注意してください。その場合にはフェイスマージの次レベルでもその属性はunspecifiedのままです。