グリフ無し文字(glyphless characters)とはliteralに表示されるのではなく特別な方法、すなわち16進コードを中に含むボックスとして表示される文字です。これらの文字にはグリフが無いと明示的に定義された文字や、利用可能なフォントがない文字(グラフィカルなディスプレイ)、その端末のコーディングシステムではエンコードできない文字(テキスト端末)が同様に含まれます。
この変数の値はグリフ無し文字と表示方法を定義する文字テーブル。エントリーはそれぞれ以下の表示メソッドのいずれかでなければならない:
nil
通常の方法でその文字を表示する。
zero-width
その文字を表示しない。
thin-space
グラフィカルな端末では幅が1ピクセル、テキスト端末では幅が1文字の狭いスペース。
empty-box
空のボックスを表示する。
hex-code
その文字のUnicodeコードポイントの16進表記を含むボックスを表示する。
その文字列を含んだボックスを表示する。文字列に含める文字は最大で6個のASCII文字であること。
(graphical . text)
グラフィカルな端末ではgraphical、テキスト端末ではtextをで表示する。graphicalとtextはいずれも上述した表示メソッドのいずれかでなければならない。
thin-space
、empty-box
、hex-code
、およびASCII文字列はglyphless-char
フェイスで描画される。テキスト端末ではボックスはsquare
brackets ‘[]’でエミュレートされる。
文字テーブルには利用可能なすべてのフォントでも表示できない、またはその端末のコーディングシステムでエンコードできないすべての文字の表示方法を定義する余分なスロットが1つある。その値は上述した表示メソッドのうちzero-width
やコンスセル以外のいずれかでなければならない。
アクティブなディスプレイテーブル内に非nil
なエントリーをもつ文字では、そのディスプレイテーブルが効果をもつ。この場合にはEmacsはglyphless-char-display
をまったく参照しない。
このユーザーオプションは似かよった文字のグループにたいしてglyphless-char-display
をセットする便利な手段を提供する。Lispコードからこの値を直接セットしてはならない。glyphless-char-display
更新するカスタム関数:set
を通じた場合のみ値は効果をもつ。
この値は要素が(group
.
method)
であるようなalistであること。ここでgroupは文字のグループを指定するシンボル、methodはそれらを表示する方法を指定するシンボル。
groupは以下のいずれかであること:
c0-control
改行文字とタブ文字を除くU+0000
からU+001F
までのASCIIコントロール文字(通常は‘^A’のようなエスケープシーケンスとして表示される。How Text Is Displayed in The GNU Emacs Manualを参照)。
c1-control
U+0080
からU+009F
までの非ASCII、非プリント文字(通常は‘\230’のような8進エスケープシーケンスとして表示される)。
format-control
U+200E LEFT-TO-RIGHT MARKのようなUnicode General Category [Cf]の文字だが、U+00AD SOFT HYPHENのようにグラフィックイメージをもつ文字を除く。
variation-selectors
UnicodeのVS-1からVS-16(U+FE00からU+FE0F)は同一コードポイントにたいして異なるグリフを選択するために使用される(一般的には絵文字)。
no-font
適切なフォントが存在しない、その端末のコーディングシステムではエンコードできない、あるいはそのテキストモード端末にグリフがない文字。
methodシンボルはzero-width
、thin-space
、empty-box
、hex-code
のいずれかであること。これらは上述のglyphless-char-display
での場合と同様の意味をもつ。