Next: Substitution, Previous: Case Changes, Up: Text [Contents][Index]
バッファーや文字列内の各文字位置は、シンボルにおけるプロパティリスト(Property Listsを参照)のようにテキストプロパティリスト(text property list)をもつことができます。特定の位置の特定の文字に属するプロパティ、たとえばこのセンテンス先頭の文字‘T’ (訳注: 翻訳前のセンテンスは"The properties belong to a ..."で始まる)、または‘foo’の最初の‘o’など、もし同じ文字が異なる2箇所に存在する場合には、2つの文字は一般的に異なるプロパティをもちます。
それぞれのプロパティには名前と値があります。どちらも任意のLispオブジェクトをもつことができますが、名前は通常はシンボルです。典型的にはそれぞれのプロパティ名シンボルは特定の目的のために使用されます。たとえばテキストプロパティface
は、文字を表示するためのフェイスを指定します(Special Propertiesを参照)。名前を指定してそれに対応する値を尋ねるのが、このプロパティリストにアクセスするための通常の方法です。
ある文字がcategory
プロパティをもつ場合は、それをその文字のプロパティカテゴリー(property
category)と呼びます。これはシンボルであるべきです。そのシンボルのプロパティはその文字のプロパティにたいしてデフォルトとしての役割をもちます。
文字列とバッファーの間でのテキストのコピーでは、文字とともにそのプロパティが保持されます。これにはsubstring
、insert
、buffer-substring
のようなさまざまな関数が含まれます。
• Examining Properties: | 単一の文字のプロパティを調べる。 | |
• Changing Properties: | テキスト範囲のプロパティをセットする。 | |
• Property Search: | プロパティが値を変更する場所の検索。 | |
• Special Properties: | 特別な意味をもつ特定のプロパティ。 | |
• Format Properties: | テキストのフォーマットを表すプロパティ。 | |
• Sticky Properties: | 挿入されたテキストが隣接するテキストからプロパティを取得する方法。 | |
• Lazy Properties: | テキストが調べられる際のみ、ものぐさな方法でテキストプロパティを計算する。 | |
• Clickable Text: | テキストプロパティを使用して、テキストリージョンがクリック時に何か行うようにする。 | |
• Fields: | バッファー内にフィールドを定義するfield プロパティ。
| |
• Not Intervals: | テキストプロパティがLispから可視なテキスト間隔をもたない理由。 |