GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Unibyte-Mode.html ・ emacs-doc.conao3.com

24.18 ユニバイト編集モード

ISO 8859 ラテン文字-n 文字セットでは、さまざまな欧州言語(および一部の非欧州言語)で必要となるアクセント付き文字や句読点を扱うため、0240から0377(8進数、10進数では160から255)の範囲の文字コードを定義しています。なお、Emacs では、ユニバイトバッファ内であっても、この範囲のコードを持つバイトを文字ではなく生バイトとして扱います(つまり、マルチバイト文字を無効にしている場合です)。しかし、Emacs はこれらの文字コードを、一度にいずれかのシングルバイト文字セットに属するものとして扱うことができます。これらのコードのうちどれを使用するかを指定するには、M-x set-language-environment を呼び出し、‘Latin-n’ のような適切な言語環境を指定してください。GNU Emacs Lisp Reference Manual の マルチバイト文字の無効化 を参照してください。

Emacs では、使用している端末やフォントが対応していれば、160 から 255 の範囲のバイトを可読文字として表示することもできます。これは自動的に行われます。グラフィカルディスプレイでは、Emacs はフォントセットを通じてシングルバイト文字を表示することもでき、実質的に現在の言語環境に応じた同等のマルチバイト文字を表示します。これを有効にするには、変数 unibyte-display-via-language-environment に nil 以外の値を設定してください。なお、この設定はこれらのバイトの表示方法にのみ影響し、Emacs がそれらを文字ではなく生のバイトとして扱うという根本的な事実を変えるものではないことに注意してください。

お使いの端末がLatin-1文字セットの表示に対応していない場合、Emacsはこれらの文字をASCIIシーケンスとして表示でき、これにより少なくとも文字が何であるかを明確に把握できます。これを行うには、ライブラリiso-asciiをロードしてください。他のLatin-n文字セット向けの同様のライブラリも実装可能ですが、今のところ実装されていません。

通常、ISO-8859以外の文字(128から159までの10進コード)は8進エスケープとして表示されます。disp-tableライブラリのstandard-display-8bit関数を使用することで、ISO-8859文字セットの非標準拡張版においてこの動作を変更できます。

1バイトの非ASCII文字を入力する方法は2通りあります。