JavaTM
Input Method Framework Technology

The input method framework enables the collaboration
between text editing components and input methods for entering text.
Input methods are software components that let the user enter text in
ways other than simple typing on a keyboard. They are commonly used
to enter Japanese, Chinese, or Korean - languages using thousands of
different characters - on keyboards with far fewer keys. However, the
framework also supports input methods for other languages and the use
of entirely different input mechanisms, such as handwriting or speech
recognition.