Previous: , Up: 文字の表示   [Contents][Index]


41.23.5 グリフなし文字の表示

グリフ無し文字(glyphless characters)とはliteralに表示されるのではなく特別な方法、すなわち16進コードを中に含むボックスとして表示される文字です。これらの文字にはグリフが無いと明示的に定義された文字や、利用可能なフォントがない文字(グラフィカルなディスプレイ)、その端末のコーディングシステムではエンコードできない文字(テキスト端末)が同様に含まれます。

glyphless-display-modeはカレントバッファーにとって便利な方法でグリフ無し文字の表示を切り替えるマイナーモードです。このモードが有効だと、グリフ無し文字はそのの頭文字を表示するボックスとして表示されます。

Variable: glyphless-char-display

この変数を使用すれば、よりきめ細かく(かつグローバルな)制御ができる。この変数の値はグリフ無し文字と表示方法を定義する文字テーブル。エントリーはそれぞれ以下の表示メソッドのいずれかでなければならない:

nil

通常の方法でその文字を表示する。

zero-width

その文字を表示しない。

thin-space

グラフィカルな端末では幅が1ピクセル、テキスト端末では幅が1文字の狭いスペース。

empty-box

空のボックスを表示する。

hex-code

その文字のUnicodeコードポイントの16進表記を含むボックスを表示する。

ASCII文字列

その文字列を含むボックスを表示する。文字列には少なくとも6個のASCII文字が含まれていること。例外として文字列に含まれるのが1文字だけの場合には、テキストモード端末ではボックスなしでその文字が表示される。これによって端末が表示できない文字にたいする置換文字として“頭文字”を処理することができる。

コンスセル (graphical . text)

グラフィカルな端末ではgraphical、テキスト端末ではtextをで表示する。graphicaltextはいずれも上述した表示メソッドのいずれかでなければならない。

thin-spaceempty-boxhex-code、およびASCII文字列はglyphless-charフェイスで描画される。テキスト端末ではボックスはsquare brackets ‘[]’でエミュレートされる。

文字テーブルには利用可能なすべてのフォントでも表示できない、またはその端末のコーディングシステムでエンコードできないすべての文字の表示方法を定義する余分なスロットが1つある。その値は上述した表示メソッドのうちzero-width以外のいずれかでなければならない。

アクティブなディスプレイテーブル内に非nilなエントリーをもつ文字では、そのディスプレイテーブルが効果をもつ。この場合にはEmacsはglyphless-char-displayをまったく参照しない。

User Option: glyphless-char-display-control

このユーザーオプションは似かよった文字のグループにたいして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のようにグラフィックイメージをもつ文字を除く。

bidi-control

これはformat-controlのサブセットだがU+2069 POP DIRECTIONAL ISOLATEやU+202A LEFT-TO-RIGHT EMBEDDINGのような双方向テキストのフォーマットに関連する文字だけを含む。双方向テキストの表示を参照のこと。

U+200E LEFT-TO-RIGHT MARKのようなUnicode General Category [Cf]の文字だが、U+00AD SOFT HYPHENのようにグラフィックイメージをもつ文字を除く。

variation-selectors

UnicodeのVS-1からVS-256 (U+FE00からU+FE0FとU+E0100からU+E01EF)は同一コードポイントにたいして異なるグリフを選択するために使用される(一般的には絵文字)。

no-font

適切なフォントが存在しない、その端末のコーディングシステムではエンコードできない、あるいはそのテキストモード端末にグリフがない文字。

methodシンボルはzero-widththin-spaceempty-boxhex-codeのいずれかであること。これらは上述のglyphless-char-displayでの場合と同様の意味をもつ。