Next: イメージ, Previous: ウィンドウディバイダー, Up: Emacsのディスプレイ表示 [Contents][Index]
display
プロパティテキストプロパティ(またはオーバーレイプロパティ)のdisplay
はテキストへのイメージ挿入、およびテキスト表示のその他の事相を制御します。同じdisplay
プロパティ値内のディスプレイ仕様は、一般的にはそれらがカバーするテキストにたいして並行して適用されます。
複数のソース(オーバーレイおよび/またはテキストプロパティ)がdisplay
プロパティにたいして値を指定しますが1つの値だけが効果をもち、それはget-char-property
のルールにしたがいます。テキストプロパティを調べるを参照してください。
display
プロパティの値はディスプレイ仕様、または複数のディスプレイ仕様を含むリストかベクターであるべきです。
これはベクター、リスト、あるいは単純なプロパティであるかどうかに関係なく、特定のdisplay
を取得するために使用できる利便用関数である。これはget-text-property
(テキストプロパティを調べるを参照)と似ているが、display
プロパティにたいしてのみ動作する点が異なる。
positionは調べるバッファーまたは文字列内の位置、propはリターンされるdisplay
プロパティ。オプション引数objectは文字列かバッファーのいずれかで、デフォルトはカレントバッファー。オプション引数propertiesが非nil
ならそれはdisplay
プロパティでなければならず、その場合にはpositionとobjectは無視される(これはたとえばget-char-property
(テキストプロパティを調べるを参照)ですでにdisplay
プロパティを取得済みな場合に役に立つかもしれない)。
startからendのテキストのdisplay
プロパティpropnvalueを追加する。
リージョン内にdisplay
プロパティが非nil
のテキストがあれば、それらのプロパティは保たれる。たとえば:
(add-display-text-property 4 8 'height 2.0) (add-display-text-property 2 12 'raise 0.5)
これを行うと2から4のリージョンのdisplay
プロパティはraise
、4から8のリージョンのdisplay
プロパティにはraise
とheight
の両方、そして最後の8から12のdisplay
プロパティはraise
だけになる。
objectが非nil
なら、それは文字列かバッファーであること。nil
の場合のデフォルトはカレントバッファー。
いくつかのディスプレイ仕様には、表示時に評価されるLispフォームを含めることができます。これは特定の状況では安全ではないかもしれません(ディスプレイ仕様が何らかの外部のプログラムやエージェントにより生成されたとき等)。(disable-eval spec)
のように特別なシンボルdisable-eval
で始まるリスト内にディスプレイ仕様をラップすることにより、他のすべてのディスプレイプロパティ機能をサポートしつつ、spec内の任意のLisp評価が無効になります。
このセクションの残りの部分では、複数の種類のディスプレイ仕様とそれらの意味を説明します。