= What's uim? = Uim is a multilingual input method library, whose goal is to be a flexible development platform and useful user environment for input methods of all languages. == Features of uim == There are some input method frameworks in the world. What is the feature of uim and how it is different from other input method frameworks? === Portable === uim works in many environments, including of course general desktop systems such as GNOME or KDE. It also supports Linux Zaurus, Mac OS X. ||uim on Linux Zaurus||||uim on MacOS X|| ||http://zaurus-ja.sourceforge.jp/images/imkit/imkit-0.4.0-pre6-candidates.png||||[http://translate.google.com/translate?u=http%3A%2F%2Fwiki.yatsu.info%2FMacUIM%2F&langpair=ja%7Cen&hl=en&ie=UTF-8&oe=UTF-8&prev=%2Flanguage_tools Google Translation of its wiki (JA->EN), no screenshot available]|| === Just a library === Many input method frameworks such as XIM are implemented as client/server systems. But uim is a library, not a server. Most users don't need an input method system at all or only need simple, table-based converters. Such users don't require or are unwilling to install a complex input method system, so we want to keep uim simple. == What applications can I use with uim? == * All X applications. (You can use them with [UIM_XIM uim-xim].) * Gtk+ applications such as gedit. There are two way to use uim. Through uim gtk+-immodule directly, or through xim immodule. We recommend using uim through gtk+ immodule directly. * All Qt applications. There are two ways to use uim, through XIM or Qt-immodule. If you want to uim with Qt-immodule, you need to use [http://freedesktop.org/wiki/Software_2fimmodule_2dqt a patch] now. * All console applications. (You can use them with [UIM_FEP uim-fep].) * Emacs (You can use it with [UIM_EL uim-el]). == What Languages and Input modules can I use with uim? == * Chinese * New Pinyin (Simplified) * Pinyin (Unicode) * Pinyin (Traditional) * Chewing (Traditional)(http://uim.googlecode.com/svn/uim-chewing-trunk/) * Japanese * [http://sourceforge.jp/projects/anthy/ Anthy] * [http://sourceforge.jp/projects/shinji Mana] * [http://taiyaki.org/prime/ PRIME] * SKK * T-Code * TUT-Code * Korean * Byeoru * Hangul (2-beol) * Hangul (3-beol) * Hangul (Romaja) And you can input many languages by using uim-m17nlib, see (http://www.m17n.org/m17n-lib-en/) == Why is uim written in C? == We can ensure a stable ABI, which is crucial to uim since it's a basal library. Particularly, maintaining an ABI in C++ is sometimes difficult. == Why does uim have an embedded scheme interpreter? == Because C is too primitive to work with directly. Scheme lets us be more productive.