Comment 19 for bug 57081

Revision history for this message
Wen-Yen Chuang (caleb-calno) wrote : Re: scim-chewing cannot enter any Chinese character

Just for more background information. :-)

1. About XIM and GTK/QT immodules
GTK/QT immodules are better then XIM in many aspects. However, scim's GTK/QT immodules have ABI discompatibility issue, which is due to the C++. Other IM servers written in C have no this problem.

Scim have its C-rewritten GTK/QT immodules, scim-bridge. Scim-bridge have no C++ related problem, and is almost as stable as XIM.

For most people, GTK/QT immodules are good, but scim users should use scim-bridge instead of scim-gtk2-immodule. Dapper's scim-qtimm have its own patch, and is not suitable for end users (It can not work with skype).

Use XIM is the safest bet. For UTF-8 (Ubuntu's default encoding) users, XIM can satisfy most people's needs.

2. GTK/QT immodules' benefits
a. user needs not export or execute anything before using IM server.
b. user may select his/her own IM server runtime. Just right click and choose, then applications will invoke IM server automatically.
c. user may input anything under any locale setting. GTK/QT immodules work in all locales, even in POSIX. XIM only works in specific locales, and is highly locale-dependant.

Scim's XIM mode supports all UTF-8 locales. It is enough for a default IM server.

3. About scim-chewing and libchewing2/libchewing3
Dapper's scim-chewing is libchewing2-based. It works, but crashs very often. That is why no people report bugs for "scim-chewing does not work". It do works, but is very unstable.

However, upstream did not release patches for this. Upstream just released API-discompatible new versions, libchewing3 and new scim-chewing.

That is why it can not be fixed by simple backporting. New scim-chewing is libchewing3-based, while dapper has only libchewing2. Dapper must have libchewing3 before using new scim-chewing.

No other applications uses libchewing2/3, so it is safe to introduce libchewing3 and new scim-chewing into dapper. But it is a big change for a stable distribution, I think.

4. Dapper's default im-switch setting
Dapper's default setting uses scim's GTK/QT immodules. However, default installation have no scim-qtimm, so nobody can use scim in QT-based applications.

Scim-gtk2-immodules have many problems, and is not suggested by upstream (upstream suggests XIM or scim-bridge). However, dapper's default is scim-gtk2-immodule.

The simplest way to fix this, is setting XIM as default. It should be done in Ubuntu 6.06.2.