combining diacritics replaced by deadkeys

Bug #260589 reported by Denis Moyogo Jacquerye on 2008-08-23
4
Affects Status Importance Assigned to Milestone
GTK+
Fix Released
Medium
xkeyboard-config
Won't Fix
Medium
gtk+2.0 (Ubuntu)
High
Unassigned
Intrepid
High
Unassigned
xkeyboard-config (Fedora)
Won't Fix
Medium
xkeyboard-config (Ubuntu)
Undecided
Unassigned
Intrepid
Undecided
Unassigned
xserver-xorg-input-keyboard (Ubuntu)
Undecided
Unassigned
Intrepid
Undecided
Unassigned

Bug Description

On Ubuntu Intrepid Alpha 4:
Selecting the CD (Congo, Democratic Republic of the) keyboard layout,
Press keys 'e' followed by '3' (which is U+0301)
Result is just e, and if something else is pressed, the result is as if it was a dead key
So 'e''3''e' give "eé"

This wrong as the combining diacritic is necessary for things like ɛ́ and the key isn't behave as the layout was designed!
Other keys with combining diacritics behave the same broken way.

This worked fine in Heron.

Related branches

Denis Moyogo Jacquerye (moyogo) wrote :

OLPC layouts with combining diacritics will be affected by this bug too.

In Fedora 10's rawhide and Ubuntu 8.10 alpha 4 the Congo DRC layout is broken. Combining diacritics keys have somehow become deadkeys. The symbol file hasn't changed so something went wrong in the way it is interpreted.

For example, previously pressing the U+0301 key would actually produce U+0301. Now it doesn't do anything but acts as a deadkey, so if followed by a key of a character with precomposed acute accent existing that one is produced.

Ex: press ɛ key followed by U+0301 key ... nothing after ɛ
press ɛ key followed by U+0301 key and then e, the result is ɛé
What is expected is ɛ́ always.

This is serious as combining diacritics are absolutely required because strings like ɛ́ can only be represented with them.

Denis Moyogo Jacquerye (moyogo) wrote :

reported upstream as this also affects Fedora 10 (rawhide)

http://bugs.freedesktop.org/show_bug.cgi?id=17468

Changed in xkeyboard-config:
status: Unknown → Confirmed
Timo Aaltonen (tjaalton) wrote :

Could you show what xev outputs for those keys?

Changed in xkeyboard-config:
status: New → Incomplete

Let's see if GTK+ is interfering here.

Can you try

export GTK_IM_MODULE=xim
gedit

and check if the Congo layout works now in gedit?

(In reply to comment #2)
> Let's see if GTK+ is interfering here.
>
> Can you try
>
> export GTK_IM_MODULE=xim
> gedit
>
> and check if the Congo layout works now in gedit?
>

export GTK_IM_MODULE=xim does fix it.
So it's a Gtk+ bug?

(In reply to comment #3)
> (In reply to comment #2)
> > Let's see if GTK+ is interfering here.
> >
> > Can you try
> >
> > export GTK_IM_MODULE=xim
> > gedit
> >
> > and check if the Congo layout works now in gedit?
> >
>
> export GTK_IM_MODULE=xim does fix it.
> So it's a Gtk+ bug?
>

A change that took place, and I believe it relates to this bug, is at
http://svn.gnome.org/viewvc/gtk%2B/trunk/gtk/gtkimcontextsimple.c?view=annotate
lines 928-932.

The order of check_algorithmically() and check_compact_table() changed (check_algorithmically() was put first recently), so that issues with the compose table mess are silently bypassed.

Denis,

Regarding workarounds for now, one option is to produce a patch for GTK+ that can be used for the OLPC now.
Does the OLPC maintain patches on top of stable releases of libraries?

Changed in xkeyboard-config:
status: Unknown → Confirmed

(In reply to comment #4)
> (In reply to comment #3)
> > (In reply to comment #2)
> > > Let's see if GTK+ is interfering here.
> > >
> > > Can you try
> > >
> > > export GTK_IM_MODULE=xim
> > > gedit
> > >
> > > and check if the Congo layout works now in gedit?
> > >
> >
> > export GTK_IM_MODULE=xim does fix it.
> > So it's a Gtk+ bug?
> >
>
> A change that took place, and I believe it relates to this bug, is at
> http://svn.gnome.org/viewvc/gtk%2B/trunk/gtk/gtkimcontextsimple.c?view=annotate
> lines 928-932.
>
> The order of check_algorithmically() and check_compact_table() changed
> (check_algorithmically() was put first recently), so that issues with the
> compose table mess are silently bypassed.
>

I looked deeper into the issue.

The above information regarding the specific change in the GTK+ code is not correct.

This bug was introduced in GTK+ in March 2008, when the first patch to update gtkimcontextsimple.c was committed.
There was a call at that point for testing,
http://blogs.gnome.org/simos/2008/03/05/testing-the-updated-im-support-in-gtk/
however this issue with the specific use of combining diacritics was missed.

I am planning to close this report as NOTOURBUG and open a report in GNOME Bugzilla.

This issue has been reported to GNOME Bugzilla,
http://bugzilla.gnome.org/show_bug.cgi?id=554506

I am closing this report. Thanks Denis for reporting.

Quite an exotic case. There were loads of bugs closed in gnome as NOTGNOME, transferred here to xkeyboard-config. But this one went the opposite direction.

Changed in xkeyboard-config:
status: Confirmed → Invalid
status: Confirmed → Invalid
Colin Watson (cjwatson) wrote :

In the linked freedesktop.org bug, this was found to be a bug in GTK+; I've linked to it now.

Changed in xkeyboard-config:
status: Incomplete → Invalid
Changed in xserver-xorg-input-keyboard:
status: New → Invalid
Colin Watson (cjwatson) wrote :

This is already fixed on the gtk-2-14 branch upstream. Perhaps an SRU candidate at this point?

Changed in gtk+2.0:
importance: Undecided → High
status: New → Triaged
Changed in gtk:
status: Unknown → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gtk+2.0 - 2.14.4-0ubuntu1

---------------
gtk+2.0 (2.14.4-0ubuntu1) intrepid; urgency=low

  * New upstream version:
    - Bugs fixed:
    553135 eog crash: assertion failed... (lp: #272754)
    553241 double freed pointer in lpr_write cause firefox3 crash
    553133 GtkFileChooser won't ask to mount a volume (lp: #272742)
    553578 tabs are not drawn correctly
    553211 GtkFileChooserButton unsets filter after first use
    554141 uninitialized data use/free in gtkclipboard-quartz.c
    554690 mem leak in filechooser
    554691 mem leak in filechooser
    554696 invalid free function used
    554698 mem leak in filechooser
    554701 filechooser spams console with useless warnings
    554704 gtkfilesystemmodel does too much work
    554506 combining diacritics broken, became deadkeys (lp: #260589)
    530575 GtkEntry with invisible chars has a confused cursor...
    371908 Password Entry broken
    132501 Make utility window translate to tool window in win32
    554702 gtkfilesystem leaks GError
    554192 double press on the "circumflex" dead key...
    550342 Splash screens have a caption
    555000 Wrong treatment on non-spacing marks dead keys... (lp: #273856)
    552318 menubar mnemonics consumed even when gtk-enable-mnemonics=false
    (lp: #268012)
    555779 GtkCellRendererPixbuf crashed on failed GIcon lookup
    555791 Nautilus Crashes when opening USB MP3 Player Contents (lp: #280924)
  * debian/patches/090_no_fileselector_warning.patch:
    - the change is in the new version
  * debian/patches/070_mandatory-relibtoolize.patch:
    - new version update

 -- Sebastien Bacher <email address hidden> Sat, 18 Oct 2008 15:07:36 +0200

Changed in gtk+2.0:
status: Triaged → Fix Released
Changed in xkeyboard-config:
importance: Unknown → Medium
status: Invalid → Won't Fix
Changed in xkeyboard-config (Fedora):
importance: Unknown → Medium
status: Invalid → Won't Fix
Changed in gtk:
importance: Unknown → Medium
Changed in xkeyboard-config:
importance: Medium → Unknown
Changed in xkeyboard-config (Fedora):
importance: Medium → Unknown
Changed in xkeyboard-config:
importance: Unknown → Medium
Changed in xkeyboard-config (Fedora):
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.