ほとんどの文字は印字文字です。バッファに現れると、そのまま画面に表示されます。印字文字には、ASCIIの数字、英字、句読点のほか、多くの非ASCII文字が含まれます。
ASCII文字セットには、非印字の制御文字が含まれています。このうち2つは特殊な形式で表示されます。改行文字(Unicodeコードポイント
U+000A)は新しい行を開始することで表示され、タブ文字(U+0009)は次のタブ停止列(通常は8列ごと)まで広がるスペースとして表示されます。タブあたりのスペース数はバッファローカル変数
tab-width
によって制御され、この変数には1から1000までの整数値(両端を含む)を指定する必要があります。なお、バッファ内のタブ文字の表示方法は、コマンドとしての
TAB の定義とは無関係であることに注意してください。
コードが U+0020(8進数 40、10進数 32)未満のその他の ASCII
制御文字は、キャレット (‘^’) に続いて、escape-glyph フェイスを持つその文字の非制御版として表示されます。例えば、‘control-A’ という文字(U+0001)は、‘^A’ として表示されます。
コード U+0080(8進数 200)から U+009F(8進数 237)までの生バイトは、escape-glyph フェイスを用いた8進エスケープシーケンスとして表示されます。例えば、文字コード U+0098(8進数 230)は
‘\230’ と表示されます。バッファローカル変数 ctl-arrow を nil に変更すると、ASCII
制御文字も、キャレットエスケープシーケンスではなく8進エスケープシーケンスとして表示されるようになります。(生バイトを16進数で表示するように指定することも可能です。display-raw-bytes-as-hex
を参照してください。)
一部の非ASCII文字は、ASCIIのスペースやハイフン(マイナス)文字と同じ見た目をしています。こうした文字は、例えばヤンクなどによって、気づかないうちにバッファに入力されると問題を引き起こすことがあります。例えば、ソースコードコンパイラは通常、非ASCIIのスペースを空白文字として扱いません。この問題に対処するため、Emacsではこうした文字を特別に表示します。具体的には、U+00A0
NO-BREAK SPACE およびUnicodeの水平スペースクラスに属するその他の文字を
nobreak-space フェイスで表示し、U+00AD SOFT HYPHEN、U+2010 HYPHEN、および
U+2011 NON-BREAKING HYPHEN を nobreak-hyphen フェイスで表示します。これを無効にするには、変数 nobreak-char-display を nil
に変更してください。この変数に nil でも t
でもない値を指定すると、Emacsは代わりに、ハイライトされたバックスラッシュに続いてスペースまたはハイフンを表示します。
表示テーブルを用いることで、特定の文字コードの表示方法をカスタマイズできます。The Emacs Lisp Reference Manualの表示テーブルを参照してください。
グラフィカルディスプレイでは、Emacsで利用可能などのフォントにもグリフが存在しない文字があります。これらのグリフレス文字は、通常、16進数の文字コードを含むボックスとして表示されます。同様に、テキストターミナルでは、ターミナルエンコーディング(ターミナルI/Oのコーディングシステムを参照)を用いて表示できない文字は、通常、疑問符として表示されます。変数glyphless-char-display-controlをカスタマイズすることで、表示方法を制御できます。また、glyphless-charフェイスをカスタマイズして、これらの文字を画面上でより目立つようにすることも可能です。詳細については、The Emacs Lisp Reference ManualのGlyphless
Character Displayを参照してください。
glyphless-display-mode
マイナーモードを使用すると、現在のバッファにおけるグリフレス文字の表示/非表示を切り替えることができます。グリフレス文字は、名称の略称が入ったボックスとして表示されます。
Emacsは、曲線引用符 ‘ および ’
が現在のディスプレイで表示可能かどうかを判定しようとします。デフォルトでは、表示可能と判断された場合、メッセージやヘルプテキスト内に ASCII 引用符(‘`’ および ‘'’)が現れると、Emacs
はそれらをこれらの曲線引用符に変換します。この変換を制御または抑制するには、ユーザーオプション text-quoting-style をカスタマイズします(The
Emacs Lisp Reference Manual の Keys
in Documentation を参照してください)。
曲線引用符 ‘、’、“、および ” が ASCII 文字と全く同じように表示されることが分かっている場合は、homoglyph フェイスで表示されます。表示できないことが分かっている曲線引用符は、homoglyph フェイスを用いて、ASCII
近似文字である ‘`’、‘'’、および ‘"’ として表示されます。