42.12.3 フェイス属性のための関数

このセクションでは名前つきフェイスの属性に直接アクセスしたり変更する関数を説明します。

Function: face-attribute face attribute &optional frame inherit

この関数はframe上のfaceにたいする属性attributeの値をリターンする。サポートされている属性についてはフェイスの属性See フェイスの属性を参照のこと。

frameが省略かnilなら選択されたフレームを意味する(入力のフォーカスを参照)。frametなら、この関数は新たに作成されるフレームにたいして指定された属性の値、すなわちフェイスのdefface定義(フェイスの定義を参照)の中のフェイスspecを適用する前、またはface-spec-setでセットしたspecの属性の値。。このattributeのデフォルト値は下記のset-face-attributeを使用して何らかの値を指定していなければ通常はunspecified

inheritnilならfaceにより定義される属性だけが考慮されるのでリターンされる値はunspecified、または相対的な値かもしれない。inheritが非nilならfaceattributeの定義が、:inherit属性で指定されたフェイスとマージされる。しかしリターンされる値は依然としてunspecified、または相対的な値かもしれない。inheritがフェイスかフェイスのリストなら、指定された絶対的な値になるまで結果はそのフェイス(1つ以上)と更にマージされる。

リターン値が指定されていて、かつ絶対的であることを保証するためにはinheritにたいしてdefaultの値を使用すること。(常に完全に指定される)defaultフェイスとマージすることにより、すべての未指定や相対的な値は解決されるだろう。

たとえば

(face-attribute 'bold :weight)
     ⇒ bold
Function: face-attribute-relative-p attribute value

この関数はvalueがフェイス属性attributeの値として使用された際に相対的なら非nilをリターンする。これはフェイスリスト内の後続のフェイス、または継承した他のフェイスが由来となる任意の値で完全にオーバーライドするのではなく、それが変更されるであろうことを意味する。

すべての属性にたいしてunspecifiedは相対的な値。:heightにたいしては浮動小数点数と関数値も相対的である。

たとえば:

(face-attribute-relative-p :height 2.0)
     ⇒ t
Function: face-all-attributes face &optional frame

この関数はfaceの属性のalistをリターンする。結果の要素は(attr-name . attr-value)という形式の名前/値ペアー。オプション引数frameはリターンするべきfaceの定義をもつフレームを指定する。省略かnilならリターン値には新たに作成されるフレームにたいするfaceのデフォルト属性、すなわちフェイスのdefface定義の中のフェイスspecを適用する前、またはface-spec-setでセットしたspecの属性の値が記述される。。このattributeのデフォルト値は下記のset-face-attributeを使用して何らかの値を指定していなければ通常はunspecified

Function: merge-face-attribute attribute value1 value2

value1がフェイス属性attributeにたいして相対的な値なら、基礎的な値value2とマージしてリターンする。それ以外の場合にはvalue1がフェイス属性attributeにたいして絶対的な値ならvalue1を変更せずにリターンする。

Emacsは通常は各フレームのフェイス属性を自動的に計算するために、各フェイスのフェイスspecを使用します(フェイスの定義を参照)。関数set-face-attributeは特定またはすべてのフレームのフェイスに直接属性を割り当てることにより、この計算をオーバーライドできます。この関数は主として内部的な使用を意図したものです。

Function: set-face-attribute face frame &rest arguments

この関数はframeにたいするfaceの1つ以上の属性をセットする。この方法で指定された属性はfaceに属するフェイスspec(1つ以上)をオーバーライドする。サポートされている属性についてはフェイスの属性を参照のこと。

余分の引数argumentsはセットするべき属性と値を指定する。これらは(:family:underlineのような)属性名と値が交互になるように構成されていること。つまり、

(set-face-attribute 'foo nil :weight 'bold :slant 'italic)

これは属性:weightbold、属性:slantitalicにセットする。

frametなら、この関数は新たに作成するフレームにデフォルトの属性をセットする。これらはdeffaceによって指定された属性値を効果的にオーバーライドする。framenilの場合には、この関数は既存のフレームすべてにたいして、新たに作成するフレームと同じように属性をセットする。

属性の値をリセットする、つまりそのフェイスが属性の値を独自に指定しないことを示すにはframenilをセットしてこの関数を呼び出すことに加えて、更に属性にたいして特別な値であるunspecified (nilではない!)、frame引数にtをセットしてこの関数を呼び出す必要がある。これは新たにフレームが作成される際のデフォルト属性はdefface内のフェイスspecとマージされるためであり、新たに作成されたフレームのデフォルト属性にunspecifiedをもつことによってdeffaceをオーバーライドできなくなる。この関数にたいして上述した特別な呼び出しを行うことによって、deffaceがオーバーライドされるように調整を行う。

属性と値のペアーは最初に評価される:familyおよび:foundryの属性以外は指定された順に評価されることに注意。これはもし特定の属性を2回以上指定すると、最後に指定した値が使用されること、更にある場合においては異なる属性順によって異なる結果が生成されるかもしれないことをも意味している。たとえば:weightの前に:fontがあると指定したフォントにウェイトの値が適用されるが、:fontの前に:weightがある場合にはそのフェイスのカレントフォントにウェイトの値が適用されて、もしかしたらそのフォントで利用できるもっとも近いウェイトに丸められるかもしれない。

以下のコマンドと関数は主として古いバージョンのEmacsにたいする互換性のために提供されます。これらはset-face-attributeを呼び出すことにより機能します。これらのframe引数にたいする値tnil (や省略)はset-face-attributeface-attributeの場合と同様に処理されます。コマンドがインタラクティブに呼び出されるとミニバッファーを使用して引数を読み取ります。

Command: set-face-foreground face color &optional frame
Command: set-face-background face color &optional frame

これらはそれぞれface:foreground属性、または:background属性にcolorをセットする。

Command: set-face-stipple face pattern &optional frame

これはface:stipple属性にpatternをセットする。

Command: set-face-font face font &optional frame

faceのフォント関連の属性をfont (文字列かフォントオブジェクト)の属性に変更する。font引数でアポートされるフォーマットについてはface-font-attributeを参照のこと。この関数はフェイスの:font属性、および間接的に:family:foundry:width:height:weight:slantの属性もそのフォントで定義された値にセットする。frameが非nilなら、指定したフレームの属性だけを変更する。

Function: set-face-bold face bold-p &optional frame

これはface:weight属性にたいしてbold-pnilならnormal、それ以外ならboldをセットする。

Function: set-face-italic face italic-p &optional frame

これはface:slant属性にたいしてitalic-pnilならnormal、それ以外ならitalicをセットする。

Command: set-face-underline face underline &optional frame

これはface:underline属性にunderlineをセットする。

Command: set-face-inverse-video face inverse-video-p &optional frame

これはface:inverse-video属性にinverse-video-pをセットする。

Command: invert-face face &optional frame

これはフェイスfaceのフォアグラウンドカラーとバックグラウンドカラーを交換する。

Command: set-face-extend face extend &optional frame

これはface:extend属性にextendをセットする。

以下はフェイスの属性を調べる関数です。これらは主として古いバージョンのEmacsとの互換性のために提供されます。これらにたいしてframeを指定しなければ選択されたフレーム、tなら新たなフレームにたいするデフォルトデータを参照します。フェイスがその属性にたいして何の値も定義していなければunspecifiedがリターンされます。inheritnilならそのフェイスにより直接定義された属性だけがリターンされます。inheritが非nilならそのフェイスの:inherit属性により指定される任意のフェイス、inheritがフェイスまたはフェイスのリストなら指定された属性が見つかるまでそれらも考慮します。リターンされる値が常に指定された値であることを保証するためにはinheritに値defaultを使用してください。

Function: face-font face &optional frame character

この関数は指定されたfaceが使用するフォント名をリターンする。

オプション引数frameが指定されたら、そのフレームのfaceのフォント名をリターンする。frameが省略かnilならデフォルトは選択されたフレーム。frametなら、この関数は新たに作成されたフレームがfaceにたいして使用するデフォルトフォントについて報告する。

デフォルトではASCII文字表示用のフォントをリターンするが、framet以外で3つ目のオプション引数characterが与えられた場合には、その文字にたいしてfaceが使用するフォント名をリターンする。

Function: face-foreground face &optional frame inherit
Function: face-background face &optional frame inherit

これらの関数はそれぞれフェイスfaceのフォアグラウンドカラーまたはバックグラウンドカラーを文字列としてリターンする。カラーが未指定ならをリターンする。

Function: face-stipple face &optional frame inherit

この関数はフェイスfaceのバックグラウンド点描パターンの名前、もしなければnilをリターンする。

Function: face-bold-p face &optional frame inherit

この関数はface:weight属性がnormalよりbold寄り(semi-boldboldextra-boldultra-boldのいずれか)なら非nil、それ以外ならnilをリターンする。

Function: face-italic-p face &optional frame inherit

この関数はface:slant属性がitalicobliqueなら非nil、それ以外ならnilをリターンする。

Function: face-underline-p face &optional frame inherit

この関数はフェイスfaceが非nil:underline属性を指定すれば非nilをリターンする。

Function: face-inverse-video-p face &optional frame inherit

この関数はフェイスfaceが非nil:inverse-video属性を指定すれば非nilをリターンする。

Function: face-extend-p face &optional frame inherit

この関数はフェイスfaceが非nil:extend属性を指定すれば非nilをリターンする。inherit引数はface-attributeに渡される。


This page has generated for branch:work/emacs-30_69b16e5c63840479270d32f58daea923fe725b90, commit:5e3f74b56ff47b5bcef2526c70f53f749bbd45f6 to check Japanese translation.