Language Environments International Select Input Method
An input method is a kind of character conversion designed specifically for interactive input. In Emacs, typically each language has its own input method; sometimes several languages which use the same characters can share one input method. A few languages support several input methods.
The simplest kind of input method works by mapping ASCII letters into another alphabet. This is how the Greek and Russian input methods work.
A more powerful technique is composition: converting sequences of characters into one letter. Many European input methods use composition to produce a single non-ASCII letter from a sequence that consists of a letter followed by accent characters (or vice versa). For example, some methods convert the sequence a' into a single accented letter. These input methods have no special commands of their own; all they do is compose sequences of printing characters.
The input methods for syllabic scripts typically use mapping followed by composition. The input methods for Thai and Korean work this way. First, letters are mapped into symbols for particular sounds or tone marks; then, sequences of these which make up a whole syllable are mapped into one syllable sign.
Chinese and Japanese require more complex methods. In Chinese input
methods, first you enter the phonetic spelling of a Chinese word (in
input method chinese-py
, among others), or a sequence of portions
of the character (input methods chinese-4corner
and
chinese-sw
, and others). Since one phonetic spelling typically
corresponds to many different Chinese characters, you must select one of
the alternatives using special Emacs commands. Keys such as C-f,
C-b, C-n, C-p, and digits have special definitions in
this situation, used for selecting among the alternatives. TAB
displays a buffer showing all the possibilities.
In Japanese input methods, first you input a whole word using phonetic spelling; then, after the word is in the buffer, Emacs converts it into one or more characters using a large dictionary. One phonetic spelling corresponds to many differently written Japanese words, so you must select one of them; use C-n and C-p to cycle through the alternatives.
Sometimes it is useful to cut off input method processing so that the
characters you have just entered will not combine with subsequent
characters. For example, in input method latin-1-postfix
, the
sequence e ' combines to form an `e
' with an accent. What if
you want to enter them as separate characters?
One way is to type the accent twice; that is a special feature for
entering the separate letter and accent. For example, e ' ' gives
you the two characters `e'
'. Another way is to type another letter
after the e---something that won't combine with that---and
immediately delete it. For example, you could type e e DEL
' to get separate `e
' and `'
'.
Another method, more general but not quite as easy to type, is to use
C-\ C-\ between two characters to stop them from combining. This
is the command C-\ (toggle-input-method
) used twice.
See Select Input Method.
C-\ C-\ is especially useful inside an incremental search, because it stops waiting for more characters to combine, and starts searching for what you have already entered.
The variables input-method-highlight-flag
and
input-method-verbose-flag
control how input methods explain what
is happening. If input-method-highlight-flag
is non-nil
,
the partial sequence is highlighted in the buffer. If
input-method-verbose-flag
is non-nil
, the list of possible
characters to type next is displayed in the echo area (but not when you
are in the minibuffer).