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]