Emacs supports a wide variety of international character sets, including European and Vietnamese variants of the Latin alphabet, as well as Arabic scripts, Brahmic scripts (for languages such as Bengali, Hindi, and Thai), Cyrillic, Ethiopic, Georgian, Greek, Han (for Chinese and Japanese), Hangul (for Korean), Hebrew and IPA. Emacs also supports various encodings of these characters that are used by other internationalized software, such as word processors and mailers.
Emacs allows editing text with international characters by supporting all the related activities:
With the X Window System, 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.
• International Chars | Basic concepts of multibyte characters. | |
• Language Environments | Setting things up for the language you use. | |
• Input Methods | Entering text characters not on your keyboard. | |
• Select Input Method | Specifying your choice of input methods. | |
• Coding Systems | Character set conversion when you read and write files, and so on. | |
• Recognize Coding | How Emacs figures out which conversion to use. | |
• Specify Coding | Specifying a file’s coding system explicitly. | |
• Output Coding | Choosing coding systems for output. | |
• Text Coding | Choosing conversion to use for file text. | |
• Communication Coding | Coding systems for interprocess communication. | |
• File Name Coding | Coding systems for file names. | |
• Terminal Coding | Specifying coding systems for converting terminal input and output. | |
• Fontsets | Fontsets are collections of fonts that cover the whole spectrum of characters. | |
• Defining Fontsets | Defining a new fontset. | |
• Modifying Fontsets | Modifying an existing fontset. | |
• Undisplayable Characters | When characters don’t display. | |
• Unibyte Mode | You can pick one European character set to use without multibyte characters. | |
• Charsets | How Emacs groups its internal character codes. | |
• Bidirectional Editing | Support for right-to-left scripts. |