Next: Displaying Faces, Previous: Defining Faces, Up: Faces [Contents][Index]
このセクションでは名前つきフェイスの属性に直接アクセスしたり変更する関数を説明します。
この関数はframe上のfaceにたいする属性attributeの値をリターンする。
frameが省略かnil
なら選択されたフレームを意味する(Input Focusを参照)。frameがt
なら、この関数は新たに作成されるフレームにたいして指定された属性の値をリターンする(これは下記のset-face-attribute
を使用して何らかの値を指定していなければ通常はunspecified
)。
inheritがnil
ならfaceにより定義される属性だけが考慮されるのでリターンされる値はunspecified
、または相対的な値かもしれない。inheritが非nil
ならfaceのattributeの定義が、:inherit
属性で指定されたフェイスとマージされる。しかしリターンされる値は依然としてunspecified
、または相対的な値かもしれない。inheritがフェイスかフェイスのリストなら、指定された絶対的な値になるまで結果はそのフェイス(1つ以上)と更にマージされる。
リターン値が指定されていて、かつ絶対的であることを保証するためにはinheritにたいしてdefault
の値を使用すること。(常に完全に指定される)default
フェイスとマージすることにより、すべての未指定や相対的な値は解決されるだろう。
たとえば
(face-attribute 'bold :weight) ⇒ bold
この関数はvalueがフェイス属性attributeの値として使用された際に相対的なら非nil
をリターンする。これはフェイスリスト内の後続のフェイス、または継承した他のフェイスが由来となる任意の値で完全にオーバーライドするのではなく、それが変更されるであろうことを意味する。
すべての属性にたいしてunspecified
は相対的な値。:height
にたいしては浮動小数点数と関数値も相対的である。
たとえば:
(face-attribute-relative-p :height 2.0) ⇒ t
この関数はfaceの属性のalistをリターンする。結果の要素は(attr-name . attr-value)
という形式の名前/値ペアー。オプション引数frameはリターンするべきfaceの定義をもつフレームを指定する。省略かnil
ならリターン値には新たに作成されるフレームにたいするfaceのデフォルト属性が記述される。
value1がフェイス属性attributeにたいして相対的な値なら、基礎的な値value2とマージしてリターンする。それ以外の場合にはvalue1がフェイス属性attributeにたいして絶対的な値ならvalue1を変更せずにリターンする。
Emacsは通常は各フレームのフェイス属性を自動的に計算するために、各フェイスのフェイスspecを使用します(Defining Facesを参照)。関数set-face-attribute
は特定またはすべてのフレームのフェイスに直接属性を割り当てることにより、この計算をオーバーライドできます。この関数は主として内部的な使用を意図したものです。
この関数はframeにたいするfaceの1つ以上の属性をセットする。この方法で指定された属性はfaceに属するフェイスspec(1つ以上)をオーバーライドする。
余分の引数argumentsはセットするべき属性と値を指定する。これらは(:family
や:underline
のような)属性名と値が交互になるように構成されていること。つまり、
(set-face-attribute 'foo nil :weight 'bold :slant 'italic)
これは属性:weight
をbold
、.属性:slant
をitalic
にセットする。
frameがt
ならこの関数は新たに作成されるフレームにたいするデフォルト属性をセットする。frameがnil
ならこの関数はすべての既存フレーム、同様に新たに作成されるフレームにたいしてその属性をセットする。
以下のコマンドと関数は主として古いバージョンのEmacsにたいする互換性のために提供されます。これらはset-face-attribute
を呼び出すことにより機能します。これらのframe引数にたいする値t
とnil
(や省略)はset-face-attribute
やface-attribute
の場合と同様に処理されます。コマンドがインタラクティブに呼び出されるとミニバッファーを使用して引数を読み取ります。
これらはそれぞれfaceの:foreground
属性、または:background
属性にcolorをセットする。
これはfaceの:stipple
属性にpatternをセットする。
faceのフォント関連の属性をfont
(文字列かフォントオブジェクト)の属性に変更する。font引数でアポートされるフォーマットについてはface-font-attributeを参照のこと。この関数はフェイスの:font
属性、および間接的に:family
、:foundry
、:width
、:height
、:weight
、:slant
の属性もそのフォントで定義された値にセットする。frameが非nil
なら、指定したフレームの属性だけを変更する。
これはfaceの:weight
属性にたいしてbold-pがnil
ならnormal、それ以外ならboldをセットする。
これはfaceの:slant
属性にたいしてitalic-pがnil
ならnormal、それ以外ならitalicをセットする。
これはfaceの:underline
属性にunderlineをセットする。
これはfaceの:inverse-video
属性にinverse-video-pをセットする。
これはフェイスfaceのフォアグラウンドカラーとバックグラウンドカラーを交換する。
これはfaceの:extend
属性にextendをセットする。
以下はフェイスの属性を調べる関数です。これらは主として古いバージョンのEmacsとの互換性のために提供されます。これらにたいしてframeを指定しなければ選択されたフレーム、t
なら新たなフレームにたいするデフォルトデータを参照します。フェイスがその属性にたいして何の値も定義していなければunspecified
がリターンされます。inheritがnil
ならそのフェイスにより直接定義された属性だけがリターンされます。inheritが非nil
ならそのフェイスの:inherit
属性により指定される任意のフェイス、inheritがフェイスまたはフェイスのリストなら指定された属性が見つかるまでそれらも考慮します。リターンされる値が常に指定された値であることを保証するためにはinheritに値default
を使用してください。
この関数はフェイスfaceのフォント名をリターンする。
オプション引数frameが指定されたら、そのフレームのfaceのフォント名をリターンする。frameが省略かnil
なら選択されたフレームを使用する。後者の場合にはオプションの3つ目の引数characterが与えられると、characterにたいして使用されるフォント名をリターンする。
これらの関数はそれぞれフェイスfaceのフォアグラウンドカラーまたはバックグラウンドカラーを文字列としてリターンする。カラーが未指定ならをリターンする。
この関数はフェイスfaceのバックグラウンド点描パターンの名前、もしなければnil
をリターンする。
この関数はfaceの:weight
属性がnormalよりbold寄り(semi-bold
、bold
、extra-bold
、ultra-bold
のいずれか)なら非nil
、それ以外ならnil
をリターンする。
この関数はfaceの:slant
属性がitalic
かoblique
なら非nil
、それ以外ならnil
をリターンする。
この関数はフェイスfaceが非nil
の:underline
属性を指定すれば非nil
をリターンする。
この関数はフェイスfaceが非nil
の:inverse-video
属性を指定すれば非nil
をリターンする。
この関数はフェイスfaceが非nil
の:extend
属性を指定すれば非nil
をリターンする。inherit引数はface-attribute
に渡される。
Next: Displaying Faces, Previous: Defining Faces, Up: Faces [Contents][Index]