NOTE: This is a page describing the packaging and development of SCIM packages in Ubuntu. It's NOT a user's guide for SCIM.
[http://www.scim-im.org/ SCIM] (smart common input method) is a platform for input methods. Input methods are essential for CJK (Chinese, Japanese and Korean) users. The input method program accepts the input from keyboard, and transform it (sometimes with extra help from the user) to the language user what to input.
Obviously, there are many different input methods for different languages. SCIM aims to provide a common framework for different input methods so that they can have consistent GUI and central preference setting. This is very desirable for users of multiple input methods.
SCIM has a base platform and supports a plugin system, and input methods can be provided with plugin modules. There are usually two type of plugin modules, one type is exclusive for scim, consisting of both the input method data and the interface to SCIM (e.g. scim-pinyin, scim-tables); another type consists only the interface code for communication with SCIM, and rely on some general input method library (e.g. scim-m17n, scim-chewing) or existing input method program (e.g. scim-anthy, scim-uim) to do the coversion. The second type of module is usually called a bridge module, it's very useful to expand the input method coverage and help users of other input methods transition to SCIM.
SCIM also features supports for modern input method framework. The traditional framework for input method support in X Window environment is XIM, but it has quite some disadvantages. GTK+ 2 introduce their own input method framework, usually known as GTK IM module. Qt 4 also have it's own framework, similarly known as Qt IM module, and there are also patches to Qt 3. These two input method frameworks integrate better with the underlying system, and give more consistent look'n'feel for input methods with the applications. The main package for SCIM, called scim (this is kind of confusing), supports both XIM and GTK IM module. There is a separate package, skim, provides Qt IM module support and adds more KDE integration.