SCIM
2180
Comment: create page about scim packaging and development, and finish overview section
|
6039
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
NOTE: This is a page describing the packaging and development of SCIM packages in Ubuntu. It's NOT a user's guide for SCIM. | NOTE: This is a page describing the packaging and development of SCIM packages in Ubuntu. It's NOT a user's guide for SCIM. For user's guide, please refer to ["InputMethods/SCIM/Setup"], and [https://wiki.ubuntu.com/InputMethods/SCIM/CJK_Chinese_Japanese_Korean_Input_Method_configuration_using_SCIM_in_Ubuntu_6%2e06_Dapper_Drake InputMethods/SCIM/CJK Chinese Japanese Korean Input Method configuration using SCIM in Ubuntu 6.06 Dapper Drake] for a simple guide if you're using Ubuntu 6.06 Dapper Drake. |
Line 9: | Line 9: |
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 has a base platform which supports a plugin system, and input methods can be provided as plugin modules. There are usually two types of plugin modules, one type being exclusive for scim, consisting of both the input method data and the interface to SCIM (e.g. scim-pinyin, scim-tables); while another type consisting of 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. |
Line 11: | Line 11: |
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. | SCIM also features supports for modern input method frameworks. The traditional framework for input method support in X Window environment is XIM, but it has quite some disadvantages. GTK+ 2 introduces their own input method framework, usually known as GTK IM module. Qt 4 also has its 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. = Currently Supported Input Methods = SCIM has been under development for quite some time, and there are currenly quite a large number of input methods supported by SCIM, categoried by language: === Simplified Chinese (zh_CN) === || Package Name || Input Method(s) Supported || Module Type || || `scim-pinyin` || Pinyin || native || || `scim-fcitx` || Wubi, Pinyin || bridge || || `scim-ccinput` || Pinyin || native || === Traditional Chinese (zh_TW) === || Package Name || Input Method(s) Supported || Module Type || || `scim-chewing` || Chewing || bridge || === Japanese === || Package Name || Input Method(s) Supported || Module Type || || `scim-anthy` || Anthy || bridge || || `scim-prime` || PRIME || bridge || || `scim-skk` || - || native || || `scim-canna` || Canna || bridge || === Korean === || Package Name || Input Method(s) Supported || Module Type || || `scim-hangul` || (not sure) || native || === Other languages / Multi-langugaes === || Package Name || Module Type || || `scim-uim` || bridge || || `scim-tables` || native || || `scim-m17n` || bridge || || `scim-openvanilla` || bridge || = Debian packaging = Currently Debian `unstable` (a.k.a. sid) has the following packages: scim, scim-pinyin, scim-chewing, scim-anthy, scim-prime, scim-skk, scim-canna, scim-uim. These packages are using the ABI for SCIM 1.4 series. The packages scim-tables, scim-m17n, scim-hangul also exists for Debian `stable` (a.k.a. sarge), which uses the SCIM 1.0 series ABI, but they are broken in `unstable` right now, and needs more work. There are known unoffical packages of skim, scim-fcitx, scim-ccinput, and scim-openvanilla floating around. = Ubuntu packaging = Both hoary and breezy ship the SCIM 1.0 series, the same as Debian sarge. The only packages available are scim, scim-pinyin (known as scim-chinese for 1.0 series), scim-uim, scim-tables, scim-hangul, scim-chewing and scim-m17n. SCIM, scim-anthy, and other packages for breezy are available from: deb http://archive.ubuntulinux.jp/ubuntu-ja breezy/ In dapper all the debian `unstable` packages are imported, but not enough testing (to see if it even works) has been done yet. = For Dapper = == Improvements == === Default Installation by language-selector / im-switch === ["Freeflying"]'s comments: * Ship ubuntu install cd with scim and kubuntu with skim . * Make language-pack-xx depend on im-switch and relate scim module's package * Let scim module register scim to im-switch , according to the default locale user choose * Add the conffile for im-switch in each scim module's package . * Do remember : simple is the best . My im-switch support patch for scim-hangul can be found on [https://launchpad.net/distros/ubuntu/+source/scim-hangul/+bug/33763 malone]. (MingHua) === Multiple Activation Keys - Not only activated by ctrl-shift, but also by user defined activation keys === Isn't this already possible with scim 1.4.4 in dapper - start scim-setup, go to Front``End -> Global Setup -> Hotkeys? (MingHua) scim/skim in Dapper can be activated by these trigger keys - Control+space, Shift+space, Zenkaku_Hankaku(on Japanese keyboard), Hangul(on Korean keyboard) - without user's setup from the UI. == Specifications == == Testing == === OpenOffice.org === The detailed procedure on how to get openoffice.org work well with scim is in ["InputMethods/SCIM/OpenOfficeTesting"]. |
NOTE: This is a page describing the packaging and development of SCIM packages in Ubuntu. It's NOT a user's guide for SCIM. For user's guide, please refer to ["InputMethods/SCIM/Setup"], and [https://wiki.ubuntu.com/InputMethods/SCIM/CJK_Chinese_Japanese_Korean_Input_Method_configuration_using_SCIM_in_Ubuntu_6%2e06_Dapper_Drake InputMethods/SCIM/CJK Chinese Japanese Korean Input Method configuration using SCIM in Ubuntu 6.06 Dapper Drake] for a simple guide if you're using Ubuntu 6.06 Dapper Drake.
Overview
[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 which supports a plugin system, and input methods can be provided as plugin modules. There are usually two types of plugin modules, one type being exclusive for scim, consisting of both the input method data and the interface to SCIM (e.g. scim-pinyin, scim-tables); while another type consisting of 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 frameworks. The traditional framework for input method support in X Window environment is XIM, but it has quite some disadvantages. GTK+ 2 introduces their own input method framework, usually known as GTK IM module. Qt 4 also has its 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.
Currently Supported Input Methods
SCIM has been under development for quite some time, and there are currenly quite a large number of input methods supported by SCIM, categoried by language:
Simplified Chinese (zh_CN)
Package Name |
Input Method(s) Supported |
Module Type |
scim-pinyin |
Pinyin |
native |
scim-fcitx |
Wubi, Pinyin |
bridge |
scim-ccinput |
Pinyin |
native |
Traditional Chinese (zh_TW)
Package Name |
Input Method(s) Supported |
Module Type |
scim-chewing |
Chewing |
bridge |
Japanese
Package Name |
Input Method(s) Supported |
Module Type |
scim-anthy |
Anthy |
bridge |
scim-prime |
PRIME |
bridge |
scim-skk |
- |
native |
scim-canna |
Canna |
bridge |
Korean
Package Name |
Input Method(s) Supported |
Module Type |
scim-hangul |
(not sure) |
native |
Other languages / Multi-langugaes
Package Name |
Module Type |
scim-uim |
bridge |
scim-tables |
native |
scim-m17n |
bridge |
scim-openvanilla |
bridge |
Debian packaging
Currently Debian unstable (a.k.a. sid) has the following packages: scim, scim-pinyin, scim-chewing, scim-anthy, scim-prime, scim-skk, scim-canna, scim-uim. These packages are using the ABI for SCIM 1.4 series. The packages scim-tables, scim-m17n, scim-hangul also exists for Debian stable (a.k.a. sarge), which uses the SCIM 1.0 series ABI, but they are broken in unstable right now, and needs more work.
There are known unoffical packages of skim, scim-fcitx, scim-ccinput, and scim-openvanilla floating around.
Ubuntu packaging
Both hoary and breezy ship the SCIM 1.0 series, the same as Debian sarge. The only packages available are scim, scim-pinyin (known as scim-chinese for 1.0 series), scim-uim, scim-tables, scim-hangul, scim-chewing and scim-m17n.
SCIM, scim-anthy, and other packages for breezy are available from: deb http://archive.ubuntulinux.jp/ubuntu-ja breezy/
In dapper all the debian unstable packages are imported, but not enough testing (to see if it even works) has been done yet.
For Dapper
Improvements
Default Installation by language-selector / im-switch
["Freeflying"]'s comments:
- Ship ubuntu install cd with scim and kubuntu with skim .
- Make language-pack-xx depend on im-switch and relate scim module's package
- Let scim module register scim to im-switch , according to the default locale user choose
- Add the conffile for im-switch in each scim module's package .
- Do remember : simple is the best .
My im-switch support patch for scim-hangul can be found on [https://launchpad.net/distros/ubuntu/+source/scim-hangul/+bug/33763 malone]. (MingHua)
Multiple Activation Keys - Not only activated by ctrl-shift, but also by user defined activation keys
Isn't this already possible with scim 1.4.4 in dapper - start scim-setup, go to FrontEnd -> Global Setup -> Hotkeys? (MingHua)
scim/skim in Dapper can be activated by these trigger keys - Control+space, Shift+space, Zenkaku_Hankaku(on Japanese keyboard), Hangul(on Korean keyboard) - without user's setup from the UI.
Specifications
Testing
OpenOffice.org
The detailed procedure on how to get openoffice.org work well with scim is in ["InputMethods/SCIM/OpenOfficeTesting"].
InputMethods/SCIM (last edited 2008-08-06 16:16:28 by localhost)