Re: Minutes: DOM3 Events Telcon, 31 March 2010

On 2010/04/05 19:09, Hironori Bono (坊野 博典) wrote:
> If I recall correctly, both Firefox and Chrome calls
> gtk_im_context_reset() (*1) to cancel the IME on GTK. Even though this
> API can cancel the IME on older input-method modules (e.g. scim,
> simple, etc.), some newer input-method modules (e.g. ibus, uim) do not
> implement this API correctly and they cannot cancel the IME on these
> modules.

Some IM developers said that gtk_im_context_reset() isn't an API for 
canceling a composition.

http://library.gnome.org/devel/gtk/unstable/GtkIMContext.html#gtk-im-context-reset

The reference doesn't say clearly what the API should behave. Some IM 
developers think that calling the API means just a notification of 
cursor movement. Personally, I don't agree this idea, but I think they 
are not wrong too.

 > (As a workaround for this issue, Chrome also calls
> gtk_im_context_focus_out() (*3) to cancel the IME even though it
> looked weird.)

I think that the hack doesn't work on some IMEs or in some IME settings. 
E.g., on Ubuntu 9.10-Ja, IBus-Anthy setting dialog has "フォーカスアウト 
時のふるまい"(*1) setting. And I can choose "保持"(*2). Then, 
composition isn't committed by gtk_im_context_focus_out().

*1 means "behavior at focus-out".
*2 means "keep composition".

-- 
Masayuki Nakano <masayuki@d-toybox.com>
Manager, Internationalization, Mozilla Japan.

Received on Wednesday, 7 April 2010 19:20:20 UTC