Comment 35 for bug 273856

Revision history for this message
Theppitak Karoonboonyanan (thep) wrote : Re: [Bug 273856] Re: Thai language input not work correctly

On Sat, Oct 4, 2008 at 5:23 PM, Theppitak Karoonboonyanan
<email address hidden> wrote:

> This may be reasonable. The problem seems to be introduced in
> GTK+ 2.14, as GTK+ 2.12 on Debian sid doesn't have this problem.
> And after checking the source, I find an extra step in the key
> event filtering, where European dead key sequences are always
> assumed, which is not the case for Thai. I'll try to verify if it's the
> real culprit.

And it is. GtkIMContextSimple in GTK+ 2.14 has rearranged its compose
table based on Unicode normalization, and with this, inserted a new
step to check composition "algorithmically". And this extra step assumes
all Unicode non-spacing marks as dead keys, including Thai combining
characters. And it tries to reorder the marks with the base character,
something common in European input method. But this creates invalid
Thai strings, which are thus rejected.

I've come up with a patch against GTK+ to redefine the dead keys,
so that only non-spacing marks for relevant scripts are counted.
This allows Thai text input (in a very primitive way) on English locale
again.

--
Theppitak Karoonboonyanan
http://linux.thai.net/~thep/