Input Method

Input method is very important to CJK (Chinese/Japanese/Korean) users. It allows people to input CJK characters with Latin keyboards.

Input method can be divided into two parts:
 * Input method framework (IMF)
 * Input method engine (IME)

Input method framework
Input method framework is the core part of a input system. Its responsibility is to communicate with input method engine and display output characters.

Input method engine
Input method engine is the implementation of a input system. It communicates with users and converts input sequences into CJK characters. A input method may contains several input method engines and users can switch between them expediently.

The mostly used Chinese IMEs are Pinyin and Wubi.

Here is an brief example how the input system works:

If someone want to input Chinese characters "您好" (English: hello), he/she should input "ninhao" with Pinyin IME or "wqvb" with Wubi IME. The IME then process the input sequence "ninhao" or "wqvb" and convert it to some candidates which will be passed to IMF. IMF displays candidates on screen and wait for users selection.