Muneyuki Noguchi edited this page Mar 22, 2015 · 1 revision

uim Terms

Here are some technical terms used in uim.


Bridge is a glue code between applications and uim. There are many bridges on uim.

  • GTK+ bridge (GTK+ immodule)
  • Qt bridge (Qt immodule)
  • XIM bridge (uim-xim)
  • Console bridge (uim-fep)
  • Emacs bridge (uim.el)
  • Mac bridge (MacUIM)


Frequently one preedit has several conversion candidate words. For example, in Japanese, at first we input Hiragana (phonogram of Japanese), then convert them to Kanji (Ideogram of Japanese). At the time of conversion, we often need to select one candidate from the selections. Candidate is used in such situation.

To be exact, it need not be 'conversion' candidate. For example, in the case of PRIME, candidate is guessed rather than the result of conversion.


Once an input context get determined about the characters which should be input actually, libuim tells to the application that 'these characters have been input'.

This action is called 'commit'. The string which will be committed to often differs from the latest 'preedit' string. Any assumption about an equivalence between the two strings MUST NOT be applied.


Context is a unit of inputting. This is sometimes called as 'input context'. Normally, one text widget has one context. But in some applications, multiple text widgets share one input context. (e.g. Mozilla.)

input context

Input context is a unit of inputting. The word is sometimes abbreviated as 'context'.


Plugin is a mechanism to extend uim's Scheme interpreter with C. Mainly used to write a glue code between uim and conversion software such as Anthy.


Preedit is a string which is not yet input to an application. It is displayed to inform user about input state of the input context. For example, to input o-umlaut, following key sequence is used.

Multi_key, o, "

When o was input, what will be input cannot be determined. (When ' come after o, then o-acute will be input. When ` come after o, then o-grave will be input.)

In most cases, preedit is displayed at the cursor position with underline or reversed background color.

Note that preedit may be consist of multiple characters.


In uim, segment often means a segmented part of a sentence. For example, in Anthy, converting-phase preedit is represented as a sequence of one or more segments that hold a phrase respectively. A segment provides a unit which per-segment operations can be applied to.