The X Window System Input Method (XIM) is a mechanism to input internationalized text, that is, text using other than ASCII characters. Before the X Window System was internationalized, the mapping between keystrokes and input characters was a simple one-to-one mapping. However, the increased demand for internationalized programs forced the abandonment of simple keymapping. For example, mappings between key strokes and Chinese, Korean, or Japanese characters are very different.
Without internationalization, the relevant parts of the X Window system could be depicted as follows:
With internationalization, there is the added facility of an intelligent input method server, which can be either a library or server. Sun's X input method for Asian Solaris facilities is in the form of a server. This can be represented as follows:
X Window System internationalization involves more than just XIM. It also involves locale support and internationalized text drawing support, such as XmbDrawString() and XwcDrawString(). The X11R6 documentation provides more information on X Window System internationalization.