27 International Character Set Support
Emacs supports a wide variety of international character sets,
including European and Vietnamese variants of the Latin alphabet, as
well as Cyrillic, Devanagari (for Hindi and Marathi), Ethiopic, Greek,
Han (for Chinese and Japanese), Hangul (for Korean), Hebrew, IPA,
Kannada, Lao, Malayalam, Tamil, Thai, Tibetan, and Vietnamese scripts.
These features have been merged from the modified version of Emacs
known as MULE (for “MULti-lingual Enhancement to GNU Emacs”)
Emacs also supports various encodings of these characters used by
other internationalized software, such as word processors and mailers.
Emacs allows editing text with international characters by supporting
all the related activities:
- You can visit files with non-ASCII characters, save non-ASCII text, and
pass non-ASCII text between Emacs and programs it invokes (such as
compilers, spell-checkers, and mailers). Setting your language
environment (see Language Environments) takes care of setting up the
coding systems and other options for a specific language or culture.
Alternatively, you can specify how Emacs should encode or decode text
for each command; see Specify Coding.
- You can display non-ASCII characters encoded by the various scripts.
This works by using appropriate fonts on X and similar graphics
displays (see Defining Fontsets), and by sending special codes to
text-only displays (see Specify Coding). If some characters are
displayed incorrectly, refer to Undisplayable Characters, which
describes possible problems and explains how to solve them.
- You can insert non-ASCII characters or search for them. To do that,
you can specify an input method (see Select Input Method) suitable
for your language, or use the default input method set up when you set
your language environment. If
your keyboard can produce non-ASCII characters, you can select an
appropriate keyboard coding system (see Specify Coding), and Emacs
will accept those characters. Latin-1 characters can also be input by
using the C-x 8 prefix, see C-x 8. On X Window systems, your locale should be set to an
appropriate value to make sure Emacs interprets keyboard input
correctly; see locales.
The rest of this chapter describes these issues in detail.