38.14.1 表示テーブルの書式
表示テーブルは、実際にはサブタイプがdisplay-table
である
文字テーブル(see Char-Tables)です。
— Function:
make-display-table
表示テーブルを作成して返す。
テーブルのすべての要素の初期値はnil
である。
表示テーブルの通常の要素は、文字コードで添字付けします。
添字cの要素は、文字コードcの表示方法を指定します。
値はnil
であるか、字形の値のベクトル(see Glyphs)です。
要素がnil
であると、その文字を通常の画面表示慣習
(see Usual Display)に従って表示する指定です。
表示テーブルを使って改行文字の表示を変更すると、
バッファ全体は長い1つの『行』として表示されます。
表示テーブルには6つの『追加スロット』もあり、
それらは特別な目的を果たします。
それらの意味をつぎに示します。
スロットの内容がnil
であると、
そのスロットに対して以下に述べる
デフォルトを使うことを意味します。
- 0
-
切り詰めたスクリーン行の末尾に使う字形
(デフォルトは‘$’)。
see Glyphs。
- 1
-
継続している行の末尾に使う字形
(デフォルトは‘\’)。
- 2
-
文字を8進数文字コードで表示したことを表す字形
(デフォルトは‘\’)。
- 3
-
コントロール文字を表す字形
(デフォルトは‘^’)。
- 4
-
符可視な行があることを表す字形のベクトル
(デフォルトは‘...’)。
see Selective Display。
- 5
-
左右に隣り合ったウィンドウの境界に使う字形
(デフォルトは‘|’)。
see Splitting Windows。
たとえば、ctl-arrow
にnil
以外の値を設定した効果を
模倣する表示テーブルの作成方法をつぎに示します。
(setq disptab (make-display-table))
(let ((i 0))
(while (< i 32)
(or (= i ?\t) (= i ?\n)
(aset disptab i (vector ?^ (+ i 64))))
(setq i (1+ i)))
(aset disptab 127 (vector ?^ ??)))
— Function:
display-table-slot display-table slot
この関数は表示テーブルdisplay-tableの
追加スロットslotの値を返す。
引数slotは0から5までの数であるか、
スロット名(シンボル)であること。
正しいシンボルは、truncation
、wrap
、
escape
、control
、selective-display
、
vertical-border
である。
— Function:
set-display-table-slot display-table slot value
この関数は表示テーブルdisplay-tableの
追加スロットslotに値valueを保存する。
引数slotは0から5までの数であるか、
スロット名(シンボル)であること。
正しいシンボルは、truncation
、wrap
、
escape
、control
、selective-display
、
vertical-border
である。