前: Merging Faces, 上: Faces


38.10.4 フェイスを扱う関数

フェイスの属性で指定できるのは、フォント、前景色、背景色、下線です。 フェイスでは値nilを指定することでこれらを未指定にできます。

以下は、フェイスを作成したり変更する基本関数です。

— 機能: make-face name

この関数は、すべての属性をnilとした nameという名前の新たなフェイスを定義する。 nameという名前のフェイスが既存ならばなにもしない。

— 機能: face-list

この関数は、定義済みのすべてのフェイス名のリストを返す。

— 機能: copy-face old-face new-name &optional frame new-frame

この関数は、既存のold-faceという名前のフェイスのコピーとして フェイスnew-nameを定義する。 new-nameが既存でなければ、フェイスnew-nameを作成する。

省略可能な引数フレームframeを指定すると、 この関数はそのフレームだけに適用する。 さもなければ、各フレームにおいて個別に、 そのフレームのold-faceの属性を 同じフレームのnew-faceにコピーする。

省略可能な引数フレームnew-frameを指定すると、 copy-faceは フレームframeold-faceの属性を フレームnew-framenew-faceにコピーする。

以下の関数を使って既存のフレームの属性を変更できます。 フレームframeを指定すると、そのフレームだけに影響します。 さもなければ、新たなフレームに適用されるデフォルトに加えて すべてのフレームに影響します。

— 機能: set-face-foreground face color &optional frame
— 機能: set-face-background face color &optional frame

これらの関数は、フェイスfaceの前景色(あるいは背景色)として colorを設定する。 引数colorは、表示色名の文字列であること。

白黒スクリーンでは、濃淡は点猫パターンで実現する。

— 機能: set-face-stipple face pattern &optional frame

この関数は、フェイスfaceの背景点猫パターンとして patternを設定する。 引数patternは、Xサーバーで定義された背景点猫パターンの名前であること。 あるいは、点猫を使わないことを意味するnilであること。

白黒階調の特定の濃淡を扱うために自動的に点猫パターンを使うため、 普通は点猫パターンに注意する必要はない。

— 機能: set-face-font face font &optional frame

この関数は、フェイスfaceのフォントを設定する。 引数fontは、読者のシステムの正しいフォント名か Emacsのフォントセット名(see Fontsets)の文字列であること。 フォントを明示的に設定するとつねに正確にそれを使うため、 太字(bold)や斜体(italic)の属性の効果は消失することに注意。

— 機能: set-face-bold-p face bold-p &optional frame

この関数は、フェイスfaceの太字(bold)の属性を設定する。 nil以外は太字あり、nilは太字なしを意味する。

— 機能: set-face-italic-p face italic-p &optional frame

この関数は、フェイスfaceの斜体(italic)の属性を設定する。 nil以外は斜体あり、nilは斜体なしを意味する。

— 機能: set-face-underline-p face underline-p &optional frame

この関数は、フェイスfaceの下線の属性を設定する。 nil以外は下線あり、nilは下線なしを意味する。

— 機能: invert-face face &optional frame

フェイスfaceの前景色と背景色を入れ換える。 フェイスに前景色と背景色の両者が設定されていないと、 その前景色と背景色にはデフォルトの背景色と前景色を設定する。

つぎの関数は、フェイスの属性を調べます。 フレームframeを指定しない場合、 新たなフレーム向けのデフォルトのデータを参照します。

— 機能: face-foreground face &optional frame
— 機能: face-background face &optional frame

この関数は、フェイスfaceの前景色(あるいは背景色)を 文字列で返す。

— 機能: face-stipple face &optional frame

この関数は、フェイスfaceの背景点猫パターンの名前を返す。 なければnilを返す。

— 機能: face-font face &optional frame

この関数はフェイスfaceのフォントの名前を返す。

— 機能: face-bold-p face &optional frame

この関数はフェイスfaceの太字(bold)属性を返す。

— 機能: face-italic-p face &optional frame

この関数はフェイスfaceの斜体(italic)属性を返す。

— 機能: face-underline-p face &optional frame

この関数はフェイスfaceの下線属性を返す。

— 機能: face-id face

この関数はフェイスfaceのフェイス番号を返す。

— 機能: face-documentation face

この関数はフェイスfaceの説明文字列を返す。 なければnilを返す。

— 機能: face-equal face1 face2 &optional frame

この関数は、フェイスface1face2が 表示上の同じ属性を持てばtを返す。

— 機能: face-differs-from-default-p face &optional frame

この関数は、フェイスfaceの表示がデフォルトのフェイスの表示と 異なる場合にはtを返す。 フェイスの各属性がデフォルトフェイスの対応する属性に等しいか (デフォルトから継承すること意味する)nilであると、 フェイスはデフォルトのフェイスと『等しい』とみなす。

— 変数: region-face

この変数の値は、リージョンが活性(暫定マーク(transient-mark)モードのみ) の場合にリージョン内の文字の表示に使用するフェイス番号を指定する。 リージョン内の文字では、これが指定するフェイスが テキスト属性やオーバレイのすべてのフェイスに優先する。 暫定マーク(transient-mark)モードについて詳しくは、see The Mark

通常、値はregionという名前のフェイスのフェイス番号である。

— 機能: frame-update-face-colors frame

この関数は、フレームframeの前景色や背景色を変更後に フレームframe上のフェイスの表示を更新する。