Software components that perform conversions between user operations such as typing keys, speaking, or writing using a pen device to generate text input for applications, usually by user-guided dictionary lookup. The most common input method editors allow users to type text in Chinese, Japanese, or Korean languages, that have thousands of different characters, on a regular-sized keyboard. Typically a sequence of several characters are entered and then converted as a single entity. This conversion may have to be retried because there may be several possible translations. Similarly, for hand-writing recognition, the user may write a series of characters that are converted, and then the user selects the correct text from several possible conversion results.