Re: gtk and composing characters



Jens Herden wrote:

Hi Simos,

I think it relates to this bug report, "Synch
gdkkeysyms.h/gtkimcontextsimple.c with X.org 6.9/7.0"
http://bugzilla.gnome.org/show_bug.cgi?id=321896

ah ok now I get it: gtk will copy from x.org somehow.
Quite some time ago, Owen wrote some scripts that took the XFree86 Compose file and created the table
in http://cvs.gnome.org/viewcvs/gtk%2B/gtk/gtkimcontextsimple.c?view=markup
Since then, there have been some additions to gtkimcontextsimple.c out of the XOrg Compose file:
http://bugzilla.gnome.org/show_bug.cgi?id=164859

What these mean is that it appears to be a bit of a situation with maintaining/updating the table of compose sequences in
http://cvs.gnome.org/viewcvs/gtk%2B/gtk/gtkimcontextsimple.c?view=markup

Did you get your changes added to
http://cvs.freedesktop.org/xorg/xc/nls/Compose/en_US.UTF-8?view=markup

Actually not yet. But this leads me to another question here. There are different UTF-8 compose files. So I guess if I want to have Khmer working in all of them I have to add the rules to all, right? Adding it only to en_US would mean person running a el_GR locale would not have it?
Maybe it would even be better to add it to all compose files?
In a sane environment, all compose sequences should go in en_US.UTF-8. Indeed, for a few languages there are individual Compose files that effectivelly are copies
of en_US.UTF-8 with the new compose sequences.
One of the reasons for this is that the compose sequences in a Compose files should be unique; each
compose sequence should produce a unique result.
For example,

<dead_grave> <space>         : "`" 0x0060, /* GRAVE_ACCENT */
<dead_grave> <space>         : "`" 0x1FEF, /* GREEK_VARIA */

It appears that these conflicts should have been resolved by defining more keysyms at
http://cvs.freedesktop.org/xorg/xc/include/keysymdef.h?view=markup


Such a situation was happening with Greek, though now we are back in the main en_US.UTF-8 file. AFAIK, now all individual Compose files are merged back in en_US.UTF-8. Please have a look on this at
http://cvs.freedesktop.org/xorg/xc/nls/Compose/

In addition to this, XOrg is in transition from monolithic to modular which means the Compose files will migrate to a location outside http://cvs.freedesktop.org/xorg/xc/ once version XOrg 7.0 is announced shortly (next month?).


So, what can you do know for Khmer?
1. Create those compose sequences that are needed and test them that they work with XIM. 2. Make a bug report on the FreeDesktop bugzilla to have them included on Xorg's en_US.UTF-8, when it gets available. 3. Make a bug report on GNOME's bugzilla with a patch for gtkimcontextsimple.c. You have to be carefull here to keep the struct guint16 gtk_compose_seqs[] sorted. You can either do this manually or use the script provided at
http://bugzilla.gnome.org/show_bug.cgi?id=167940#c14

Good luck,
Simos




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]