Next: , Previous: , Up: International   [Contents][Index]


22.17 Unibyte編集モード

ISO 8859 Latin-n文字セットは、さまざまなEuropean言語で必要とされるアクセント文字と区切り文字を扱うために、8進の0240から0377(10進の160から250)の範囲の文字コードを定義しています。Emacsはこの範囲のバイトを、たとえunibyteバッファー(たとえばマルチバイト文字を無効にしている場合)でも、それらを文字としてではなく、rawバイトとみなします。しかし、それでもEmacsはこれらの文字コードを、あたかも1つも1バイト文字セットに属するかのように1度に扱うことができます。これらのコードのどれを使うかを指定するには、M-x set-language-environmentを呼び出して、‘Latin-n’のような適切な言語環境を指定します。Disabling Multibyte Characters in GNU Emacs Lisp Reference Manualを参照してください。

端末や使っているフォントがこれらの文字をサポートしている場合、Emacsは160から255の文字を読み取り可能な文字として表示できます。これは自動的に行われます。グラフィカルなディスプレーでは、Emacsはフォントセットを通じて1バイト文字として表示できます。これは現在の言語環境で、それらに対応するマルチバイト文字を表示することにより行われます。これを行うには、変数unibyte-display-via-language-environmentに非nil値を設定します。このセッティングは、これらのバイトを表示する方法だけに影響しますが、Emacsがそれらを文字としてではなくrawバイトとして扱うという基礎事実は変わらないことに注意して下さい。

端末でLatin-1文字セットを表示できない場合、Emacsはこれらの文字をその文字が少なくとも何であるかを明確に理解できるような、ASCIIシーケンスとして表示できます。これを行うには、ライブラリーiso-asciiをロードします。他のLatin-n文字セットに対しても似たようなライブラリを実装できますが、これは まだ行われていません。

通常、非ISO 8859文字セット(10進文字の128から159のコードも含む)は、8進でエスケープ表示されます。ライブラリーdisp-tableの関数standard-display-8bitを使うことにより、非標準の拡張バージョンのISO 8859文字セットに変更できます。

1バイトの非ASCII文字を入力する2つの方法があります: