Next: , Previous: , Up: Faces   [Contents][Index]


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

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

Function: face-attribute face attribute &optional frame inherit

この関数はframe上のfaceにたいする属性attributeの値をリターンする。

frameが省略かnilなら選択されたフレームを意味する(Input Focusを参照)。frametなら、この関数は新たに作成されるフレームにたいして指定された属性の値をリターンする(これは下記の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のデフォルト属性が記述される。

Function: merge-face-attribute attribute value1 value2

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

Emacsは通常は各フレームのフェイス属性を自動的に計算するために、各フェイスのフェイスspecを使用します(Defining Facesを参照)。関数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ならこの関数は新たに作成されるフレームにたいするデフォルト属性をセットする。framenilならこの関数はすべての既存フレーム、同様に新たに作成されるフレームにたいしてその属性をセットする。

以下のコマンドと関数は主として古いバージョンの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なら選択されたフレームを使用する。後者の場合にはオプションの3つ目の引数characterが与えられると、characterにたいして使用されるフォント名をリターンする。

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に渡される。


Next: , Previous: , Up: Faces   [Contents][Index]