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


39.12.1 フェイスの属性

フェイス属性(Face attributes)は、フェイスの視覚的外観を決定します。以下はすべてのフェイス属性と、それらの可能な値と効果に関するテーブルです。

以下の値とは別に各フェイス属性は値unspecifiedをもつことができます。この特殊な値はフェイスがその属性を直接指定しないことを意味します。unspecified属性はEmacsにかわりに親フェイス(以下の:inherit属性の記述を参照)を参照して、それに失敗したら基礎フェイス(Displaying Facesを参照)を参照することを指示します。defaultフェイスはすべての属性を指定しなければなりません。

これらの属性のいくつかは特定の種類のディスプレイにおいてのみ意味があります。ディスプレイが特定の属性を処理できなければ、その属性は無視されます。

:family

フォントファミリー名(文字列)。フォントファミリーに関する詳細はFonts in The GNU Emacs Manualを参照のこと。関数font-family-list (以下参照)は利用可能なファミリー名のリストをリターンする。

:foundry

:family属性により指定されるフォントファミリーにたいするフォントfoundry (文字列)。Fonts in The GNU Emacs Manualを参照のこと。

:width

相対的な文字幅。これはシンボルultra-condensedextra-condensedcondensedsemi-condensednormalsemi-expandedexpandedextra-expandedultra-expandedのいずれかであること。

:height

フォントの高さ。もっともシンプルなケースでは1/10ポイントを単位とする整数。

値には基礎フェイス(underlying face)にたいして相対的に高さを指定する浮動小数点数、または関数も指定できる(Displaying Facesを参照)。浮動小数点数は基礎フェイスの高さをスケーリングする量を指定する。関数値は基礎フェイスの高さを単一の引数として呼び出されて、新たなフェイスの高さをリターンする。関数が整数を引数として渡された場合には整数をリターンしなければならない。

デフォルトフェイスの高さは整数を使用して指定しなければならない。浮動小数点数や関数は受け入れられない。

:weight

フォントのweight。シンボルultra-boldextra-boldboldsemi-boldnormalsemi-lightlightextra-lightultra-light (太字から細字順)のいずれか。可変輝度テキストをサポートするテキスト端末では、normalより大なweightはより高輝度、小なweightはより低輝度で表示される。

:slant

フォントのslant。シンボルitalicobliquenormalreverse-italicreverse-obliqueのいずれか。可変輝度テキストをサポートするテキスト端末ではslantされたテキストはhalf-brightで表示される。

:foreground

フォアグラウンドカラー(文字列)。値にはシステム定義済みカラー、または16進カラー仕様を指定できる。Color Namesを参照のこと。白黒ディスプレイでは特定のグレー色調が点描パターンで実装されている。

:distant-foreground

代替えのフォアグラウンドカラー(文字列)。これは:foregroundと似ているが、使用されるであろうフォアグラウンドカラーがバックグラウンドカラーに近いときのみフォアグラウンドカラーとして使用される点が異なる。これはたとえばテキストをマーク時(リージョンフェイス)に有用。そのテキストがリージョンフェイスとして可視なフォアグラウンドをもつ場合には、そのフォアグラウンドが使用される。フォアグラウンドがリージョンフェイスのバックグラウンドに近ければ、テキストを可読にするために:distant-foregroundが使用される。

:background

バックグラウンドカラー(文字列)。値にはシステム定義済みカラー、または16進カラー仕様を指定できる。Color Namesを参照のこと。

:underline

文字にアンダーラインを引くべきか否か、およびその方法。:underline属性として可能な値は以下のとおり:

nil

アンダーラインを引かない。

t

そのフェイスのフォアグラウンドカラーでアンダーラインを引く。

color

文字列colorで指定されたカラーでアンダーラインを引く。

(:color color :style style)

colorは文字列、またはそのフェイスのフォアグラウンドカラーを意味するシンボルforeground-color。属性:colorの省略はフェイスのフォアグラウンドカラーの使用を意味する。styleは直線を意味するline、または波線を意味するwaveいずれかのシンボルであること。属性:styleの省略は直線を意味する。

:overline

文字にオーバーラインを引くべきか否か、およびそのカラー。値がtならフェイスのフォアグラウンドカラーを使用してオーバーラインを引く。値が文字列ならそのカラーを使用してオーバーラインを引く。値nilはオーバーラインを引かないことを意味する。

:strike-through

文字に取り消し線を引くべきか否か、およびそのカラー。値は:overlineで使用される値と同じ。

:box

文字周囲に枠(box)を描画するか否か、そのカラー、枠線の幅、および3D外観。以下は:boxの可能な値と意味:

nil

枠を描画しない。

t

幅1のフォアグラウンドカラーで枠線を描画する。

color

幅1のカラーcolorで枠線を描画する。

(:line-width width :color color :style style)

この方法では枠のすべての形相を明示的に指定できる。値widthは描画する線の幅を指定する。デフォルトは1。負の幅 -nは、上端と下端が基礎テキストのスペースを占有する線幅nを意味しており、文字の高さの増加を避けることができる。

colorは描画するカラーを指定する。シンプルな枠線ではフェイスのフォアグラウンドカラー、3D枠線ではフェイスのバックグラウンドカラーがデフォルト。

styleは3D枠線を描画するか否かを指定する。released-buttonなら押下された3Dボタンのような外観、pressed-buttonなら押下されていない3Dボタンのような外観、nilまたは省略された場合には2D枠線が使用される。

:inverse-video

文字が反転表示されて表示されるべきか否か。値はt (反転表示する)かnil (反転表示しない)のいずれか。

:stipple

バックグラウンドの点描(ビットマップ)。

値には文字列を指定できる。外部形式Xビットマップデータを含むファイルの名前であること。ファイルは変数x-bitmap-file-pathにリストされるディレクトリー内で検索される。

かわりに(width height data)という形式のリストによりビットマップで直接値を指定できる。ここでwidthheightはピクセル単位によるサイズ、dataは行単位でビットマップのrawビットを含む文字列。各行は文字列内で連続する(width + 7) / 8バイトを占める(最善の結果を得るためにはユニバイト文字列であること)。これは各行が常に少なくとも1バイト全体を占めることを意味する。

値がnilなら点描パターンを使用しないことを意味する。

これは特定のグレー色調を処理するために自動的に使用されるので、通常はstipple属性のセットは必要ない。

:font

そのフェイスの表示に使用されるフォント。値はフォントオブジェクトかフォントセットであること。フォントオブジェクト、フォントスペース、フォントエンティティーに関する情報はLow-Level Font、フォントセットに関する情報はFontsetsを参照のこと。

set-face-attribute (Attribute Functionsを参照)を使用してこの属性を指定する際にはフォントspec、フォントエンティティー、または文字列を与えることもできる。Emacsはそのような値を適切なフォントオブジェクトに変換して、実際の属性値としてそのフォントオブジェクトを格納する。文字列を指定する場合には、その文字列のコンテンツはフォント名であること(Fonts in The GNU Emacs Manualを参照)。フォント名がワイルドカードを含むXLFDなら、Emacsはそれらのワイルドカードに最初にマッチするフォントを選択する。この属性の指定により:family:foundry:width:height:weight:slantの属性値も変更される。

:inherit

属性を継承するフェイス名、またはフェイス名のリスト。継承フェイス由来の属性は基礎フェイスより高い優先度で、基礎フェイスの場合と同じような方法でマージされる(Displaying Facesを参照)。継承元のフェイスがunspecifiedならEmacsは:inherit属性を決してマージしないのでnilと同様に扱われる。フェイスのリストが使用された場合には、リスト内先頭側フェイスの属性が末尾側フェイスの属性をオーバーライドする。

Function: font-family-list &optional frame

この関数は利用可能なフォントファミリー名のリストをリターンする。オプション引数frameはそのテキストが表示されるフレームを指定する。これがnilなら選択されたフレームが使用される。

User Option: underline-minimum-offset

この変数はアンダーラインが引かれたテキスト表示時に、ベースラインとアンダーライン間の最小距離をピクセル単位で指定する。

User Option: x-bitmap-file-path

この変数は:stipple属性のビットマップファイルを検索するディレクトリーのリストを指定する。

Function: bitmap-spec-p object

これはobject:stipple (上記参照)での使用に適した有効なビットマップ仕様ならt、それ以外ならnilをリターンする。