ほとんどの文字は、印字文字(printing characters)です。これらの文字がバッファーに存在すると、スクリーンにそのまま表示されます。印字文字にはASCIIの数字、文字、区切り文字、同様に多くの非ASCII文字が含まれます。
ASCII文字セットには、印字されない制御文字(control
characters)が含まれます。その中でも特別に表示されるものが2つあります。1つ目は改行文字(UnicodeのコードポイントU+000A)で、新しい行を開始するのに表示されます。2つ目はタブ文字(U+0009)で、次のタブストップ(通常は8文字ごと)までをスペースで表示します。タブを何文字のスペースで表示するかは、バッファーローカルな変数tab-width
で制御され、1から1000の整数で指定しなければなりません。バッファーのタブ文字が表示される方法は、コマンドとしてのTABの定義には関係ないことに注意してください。
他のASCII制御文字としては、U+0020(8進の40、10進の32)より下のコードがあり、それらはカレット(‘^’)と、その後ろに非制御文字バージョンの文字を続けて、escape-glyph
フェイスで表示されます。たとえば文字‘control-A’(U+0001)は、‘^A’と表示されます。
コードU+0080(8進の200)からU+009F(8進の237)までのrawバイトは、escape-glyph
フェイスにより8進エスケープシーケンス(octal
escape
sequences)で表示されます。たとえば文字コードU+0098(8進の230)は‘\230’と表示されます。バッファーローカルな変数ctl-arrow
をnil
に変更すると、ASCII制御文字もカレットエスケープシーケンスではなく8進エスケープシーケンスで表示されます(rawバイトを16進表示するように要求することも可能。display-raw-bytes-as-hexを参照)。
非ASCII文字の中には、ASCIIのスペースやハイフン(マイナス記号)と同じ外観を持つものがあります。そのような文字は、意識せずにバッファーに入力されたとき(たとえばyankなどで)、問題となることがあります。たとえばソースコードコンパイラーは通常、非ASCIIのスペースを、空白文字として扱いません。この問題に対処するため、Emacsはそのような文字を特別な方法(U+00A0
NO-BREAK SPACEおよび他のUnicode horizontal space
class由来の文字はnobreak-space
フェイス、U+00AD SOFT HYPHEN、U+2010
HYPHEN、およびU+2011 NON-BREAKING
HYPHENはnobreak-hyphen
フェイス)で表示します。これを無効にするには、変数nobreak-char-display
をnil
に変更します。この変数に非nil
かつ非t
の値を与えると、Emacsはハイライトされたバックスラッシュの後に、スペースまたはハイフンを表示します。
特定の文字コードの表示のカスタマイズは、ディスプレイテーブル(display table)によって行われます。Display Tables in The Emacs Lisp Reference Manualを参照してください。
グラフィカルなディスプレイでは、Emacsが利用可能なフォントにグリフがない文字がいくつかあります。これらのグリフがない文字(glyphless
characters)は、通常16進文字を含むボックスで表示されます。テキスト端末では、端末エンコーディング(端末入出力にたいするコーディングシステムを参照してください)で表示できない文字は、通常クエスチョン記号で表示されます。表示方法は、変数glyphless-char-display-control
で制御できます。これらの文字の表示がより目立つように、glyphless-char
フェイスをカスタマイズすることもできます。詳細は、Glyphless Character Display in The Emacs Lisp Reference
Manualを参照してください。
マイナーモードglyphless-display-mode
を使えば、カレントバッファーにおけるグリフなし文字の表示を切り替えることができます。グリフのない文字は、中にその文字の名前の頭文字が入ったボックスとして表示されます。
Emacsはカレントのディスプレイでcurved
quotes(‘
と’
)が表示可能か判断を試みます。デフォルトでは、表示可能ならEmacsはメッセージやヘルプテキスト内のASCIIクォート((‘`’と‘'’))をcurved
quotesに変換します。ユーザーオプションtext-quoting-style
をカスタマイズすることにより、この変換を有効または無効にできます(Keys
in Documentation in The Emacs Lisp Reference Manualを参照)。
curved
quotes(‘
、’
、“
、”
)をASCII文字と同様な外観で見ることができる場合、それらはhomoglyph
フェイスで表示されます。表示できないことが既知のcurved
quotesは、それらのASCIIによる代替である‘`’、‘'’、‘"’がhomoglyph
で表示されます。