Next: Charsets, Previous: Undisplayable Characters, Up: International [Contents][Index]
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つの方法があります:
グラフィカルなディスプレーでは、これらのキーを使うのに特別なことをする必要はありません。それらは単純に機能するでしょう。テキスト端末では、コマンドM-x
set-keyboard-coding-system
を使うか、変数keyboard-coding-systemをカスタマイズして、キーボードが使用するコーディングシステムを指定します(Terminal Codingを参照してください)。この機能を有効にすることにより、おそらくMeta文字を入力するためにESCを使う必要が生じるでしょう。しかし、コンソール端末、またはxterm
のような端末エミュレータでは、MetaをESCにアレンジすることが可能です。また8ビット文字を直接キーボードから入力したり、ComposeキーやAltGrキーを使うこともできます。User Inputを参照してください。
ライブラリーiso-transl
をロードすることによりC-x
8は機能します。1度ライブラリーをロードすると、Alt修飾キーがある場合は、C-x
8と同じ目的で使用できます。後続の文字を修飾するには、アクセント文字と一緒にAltを使用します。さらにLatin-1の専用アクセント文字キー(dead
accent
characters)があると、1度iso-transl
をロードした後は、それらのキーも後続の文字を合成するように定義されます。
C-x 8 C-hを使用すると、利用可能なすべてのC-x 8翻訳をリストします。