Next: , Previous: Display Tables, Up: Display Tables


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-arrownil以外の値を設定した効果を 模倣する表示テーブルの作成方法をつぎに示します。

     (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までの数であるか、 スロット名(シンボル)であること。 正しいシンボルは、truncationwrapescapecontrolselective-displayvertical-borderである。

— Function: set-display-table-slot display-table slot value

この関数は表示テーブルdisplay-tableの 追加スロットslotに値valueを保存する。 引数slotは0から5までの数であるか、 スロット名(シンボル)であること。 正しいシンボルは、truncationwrapescapecontrolselective-displayvertical-borderである。