GNOME Bugzilla – Bug 135195
Gtk+-2 with gdk-win32 doesn't support inline Japanese input
Last modified: 2011-02-04 16:17:18 UTC
Gtk+2 with gdk-win32 doesn't support inline Japanese (and maybe Chinese) input. For that reason, it is too hard for Japanese user to use Gtk+2 on gdk-win32. Windows backend of Gdk already supports Windows IME, but it's only supports "off-the-spot" input style, and it only commits a first character of pre-edit string. To solve this problem, we (Takuro Ashie, Kazuki IWAMOTO, Kenichi Suto) are developing an im-modules named "imime" which works on Gtk+2 with gdk-win32. http://sourceforge.jp/projects/imime/ It uses Windows IME as backend. It supports "on-the-spot" and "over-the-spot" input style, and of course it can commit all characters of pre-edit string. It works on both Cygwin and native Windows. This project is not completed yet, e.g. it's not supports ActiveIMM yet, but it works fine on our environment. It's very important fix for Japanese user, so I propose to merge this code to the original Gtk+'s source tree. Regards, Takuro Ashie
Otherwise I haven't yet had a chance to look at this (based on the description, sounds good), but this: > Windows backend of Gdk already supports Windows IME, [...] > only commits a first character of pre-edit string. I thought was fixed already (and included in GTK 2.2.4): 2003-07-25 Tor Lillqvist <tml@iki.fi> ... For WM_IME_COMPOSITION, handle all the Unicode chars returned from the IME, not just the first one.
> I thought was fixed already (and included in GTK 2.2.4): Sorry, I forgot it because I usually use Masahiro Sakai's Cygwin binary (ver. 2.2.1). But I still believe that these problems should be solved by im-module.
This is very cool. We should make integrating this into GTK+-2.6 a priority.
Great! Thank you for your decision. We'll continue polishing up it until development of gtk+-2.6.0 is started.
Takuro, the development of 2.6 is well underway, so now would be a good time to integrate your input method into GTK+. If you don't object, we can simply take the files as found in the sf.net cvs repository and add them to gtk. Or you can provide a tarball of the CVSROOT, so that we can perform the necessary surgery to keep cvs history.
Of course I don't object, and I think it's not necessary to keep cvs history. Please just pick up current files from sf.jp cvs repository. There are remaining issues about this code as above, so we'll provide patches for that issues later. Thanks!
Ok, I've added the files now.