This articlerelies excessively onreferences toprimary sources. Please improve this article by addingsecondary or tertiary sources. Find sources: "Smart Common Input Method" – news ·newspapers ·books ·scholar ·JSTOR(April 2015) (Learn how and when to remove this message) |
| Smart Common Input Method | |
|---|---|
![]() | |
| Stable release | 1.4.18 / July 31, 2017; 8 years ago (2017-07-31) |
| Written in | C,C++ |
| Type | Input method |
| License | GNU GPL,GNU LGPL |
| Website | github |
| Repository | |
TheSmart Common Input Method (SCIM) is a platform for inputting more than thirty languages on computers, including Chinese-Japanese-Korean style character languages (CJK), and manyEuropean languages. It is used forPOSIX-styleoperating systems includingLinux andBSD. Its purposes are to provide a simple and powerful common interface for users from any country, and to provide a clear architecture for programming, so as to reduce time required to develop individual input methods.
The main goals of the SCIM project include:

SCIM was originally written in theC++ language but has moved to pureC since 1.4.14.[1] It abstracts the input method interface to severalclasses and attempts to simplify the classes and make them more independent from each other. With the simpler and more independent interfaces, developers can write their own input methods in fewer lines of code.
SCIM is amodularized IM platform, and as such, components can be implemented as dynamically loadable modules, thus can be loaded duringruntime at will. For example, input methods written for SCIM could be IMEngine modules, and users can use such IMEngine modules combined with different interface modules (FrontEnd) in different environments without rewrite or recompile of the IMEngine modules, reducing the compile time or development time of the project.
SCIM is a high-level library, similar toXIM orIIIMF; however, SCIM claims to be simpler than either of those IM platforms. SCIM also claims that it can be used alongside XIM or IIIMF. SCIM can also be used to extend the input method interface of existing application toolkits, such asGTK+,Qt and Clutter via IMmodules.[2]
SKIM is a separate project aimed at integrating SCIM more tightly into theK Desktop Environment, by providing a GUI panel (namedscim-panel-kde as an alternative toscim-panel-gtk), a KConfig config module and setup dialogs for itself and the SCIM module libscim. It also has its own plugin system which supports on-demand loadable actions.
t-latn-pre andt-latn-post are two input methods that provide an easy way for composing accented characters, either by preceding regular characters with diacritic marks (in the case of t-latn-pre), or by adding the marks subsequently (in the case of t-latn-post). Their main advantage is the large number of composed characters from different languages that can be entered this way, rendering it unnecessary to install, for example, separate keyboard layouts.[3] These input methods are available for SCIM through theM17n library.