Next: Cursor Display, Previous: Optional Mode Line, Up: Display [Contents][Index]
ほとんどの文字は、印字文字(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進エスケープシーケンスで表示されます。
非ASCII文字の中には、ASCIIのスペースやハイフン(マイナス記号)と同じ外観を持つものがあります。そのような文字は、意識せずにバッファーに入力されたとき(たとえばyankなどで)、問題となることがあります。たとえばソースコードコンパイラーは通常、非ASCIIのスペースを、空白文字として扱いません。この問題に対処するため、Emacsはそのような文字を特別な方法(U+00A0
(no-break
space)はnobreak-space
フェイス、U+00AD
(soft
hyphen)、U+2010
(hyphen)、U+2011
(non-breaking
hyphen)はescape-glyph
フェイス)で表示します。これを無効にするには、変数nobreak-char-display
をnil
に変更します。この変数に非nil
かつ非t
の値を与えると、Emacsはハイライトされたバックスラッシュの後に、スペースまたはハイフンを表示します。
特定の文字コードの表示のカスタマイズは、ディスプレーテーブル(display table)によって行われます。Display Tables in The Emacs Lisp Reference Manualを参照してください。
グラフィカルなディスプレーでは、Emacsが利用可能なフォントにグリフがない文字がいくつかあります。これらのグリフがない文字(glyphless
characters)は、通常16進文字を含むボックスで表示されます。テキスト端末では、端末エンコーディング(Terminal Codingを参照してください)で表示できない文字は、通常クエスチョン記号で表示されます。表示方法は、変数glyphless-char-display-control
で制御できます。詳細は、Glyphless Character Display in The Emacs Lisp Reference
Manualを参照してください。