42.16.4 その他のディスプレー仕様

以下はdisplayテキストプロパティ内で使用できる他のディスプレイ仕様です。

string

このプロパティをもつテキストのかわりにstringを表示する。

再帰的なディスプレイ仕様はサポートされない。つまりstringdisplayプロパティがあっても使用されない。

(image . image-props)

この種のディスプレイ仕様はイメージディスクリプタである(イメージのディスクリプタを参照)。ディスプレイ仕様として使用時には、そのディスプレイ仕様をもつテキストのかわりに表示するイメージを意味する。

(slice x y width height)

この仕様はimageとともに、表示するイメージのスライス(slice: イメージの特定の領域)を指定する。要素yxはイメージ内での左上隅、widthheightはそのスライスの幅と高さを指定する。整数はピクセル数、0.0から1.0までの浮動小数点数はイメージ全体の幅や高さの割合を意味する。

((margin nil) string)

この形式のディスプレイ仕様は、このディスプレイ仕様をもつテキストのかわりにテキストと同じ位置に表示するstringを意味する。これは単にstringを使用するのと同じだが、マージン表示(マージン内への表示を参照)の特殊なケースとして行われる点が異なる。

(left-fringe bitmap [face])
(right-fringe bitmap [face])

テキスト行の任意の文字がこのディスプレイ仕様をもつ場合には、その文字のかわりにその行の左や右のフリンジに表示するbitmapを指定する。オプションのfaceはビットマップ表示にカラーを使用するフェイスを指定する。詳細はフリンジのビットマップを参照のこと。

テキストプロパティleft-fringe-helpright-fringe-help (特殊な意味をもつプロパティを参照)を使ってshow-help-functionメカニズムを通じたフリンジビットマップ用コンテキストヘルプを追加することも可能。

(space-width factor)

このディスプレイ仕様は、この仕様をもつテキスト内のすべてのスペース文字に効果を及ぼす。これらすべてのスペースは通常の幅のfactor倍の幅で表示される。要素factorは整数か浮動小数点数であること。スペース以外の文字は影響を受けない。特にこれはタブ文字に影響を与えない。

(min-width (width))

このディスプレイ仕様はテキストがwidthより短ければ、終端に空白を追加することで少なくともwidthのスペースを占めるよう保証する。このテキストはパラメーターの識別子を用いて分割される。パラメーターが1要素のリストであるのはこれが理由。たとえば:

(insert (propertize "foo" 'display '(min-width (6.0))))

これにより‘foo’の後にパディングが追加されて、合計幅が通常の文字6つ分の幅になる。影響を受ける文字はdisplayプロパティのリスト(6.0)eqで比較することで識別されることに注意。要素widthはテキストに要求される最小幅を指定する整数または浮動小数点数(スペースにたいするピクセル指定を参照)。

(height height)

このディスプレイ仕様はテキストを高く(taller)、または低く(shorter)する。heightには以下を指定できる:

(+ n)

これはnステップ大きいフォントの使用を意味する。ステップは利用可能なフォントのセットから定義される。利用可能なフォントとは、具体的には、このような場合でなければ、heightを除いてそのテキストに指定されたすべての属性にマッチするフォント。適切なフォントの各サイズは別のステップとして利用可能とみなされる。nは整数であること。

(- n)

これはnステップ小さいフォントの使用を意味する。

factor (数値)

数値factorはデフォルトフォントのfactor倍高いフォントの使用を意味する。

function (シンボル)

高さを計算する関数。この関数はカレントの高さを引数として呼び出されて、使用する新たな高さをリターンすること。

form (上記以外)

heightの値が上記のいずれにもマッチしなければ、それはフォームである。Emacsはheightをカレントで指定されたフォントの高さにバインドして新たな高さを取得するためにフォームを評価する。

(raise factor)

この種のディスプレイ仕様は、その行のベースラインに相対的にテキストを上(raise)、または下(lower)に指定する。これは主に上付き文字と下付き文字を意図している。

factorは影響を受けるテキストの高さにたいする乗数として解釈される数値でなければならない。これが正なら上、負なら下に文字を表示することを意味する。

テキストがraiseより前(左)に指定されたheightディスプレイ仕様をもつ場合には、テキストが上下される量はテキストの高さにもとづくので、上下されるピクセル数にはraiseが効果をもつ。したがって通常のテキスト高さより小さい上付きや下付きで表示したければ、heightの前にraiseを指定することを考慮するべきである。

任意のディスプレイ仕様にたいして条件を作成できます。これを行うには、(when condition . spec)という形式の別リスト内にパッケージします。この場合には、仕様specconditionが非nil値に評価されたときだけ適用されます。この評価の間にobjectは条件つきdisplayプロパティをもつ文字列、またはバッファーにバインドされます。positionbuffer-positionはそれぞれobject内の位置、およびdisplayプロパティが見つかったバッファー位置にバインドされます。objectが文字列の際には両者の位置は異なるかもしれません。

conditionはこのディスプレイ仕様が配置された箇所のテキストを再表示が調べる際だけ評価されるので、この機能は比較的安定した条件にもっとも適していることに注意してください(特定のバッファー位置それぞれにたいして評価ごとに同じ結果を取得する)。同じのテキスト位置にたいする結果が異なる、つまり結果がポイント位置に依存するようなら、この条件仕様はあなたの望むものではないかもしれません。なぜなら再表示は最後の表示サイクル以降に何かが変更されたといなす理由があるバッファーテキストの部分だけを調べるからです。

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