Red Hat Bugzilla – Bug 1013651
fi_FI compose keys not working with ibus
Last modified: 2014-01-29 22:37:49 EST
Description of problem as discussed on IRC:
With F18 and later setting LC_CTYPE=fi_FI.UTF-8 does not make /usr/share/X11/locale/fi_FI.UTF-8/Compose keys to work, one needs to set also XMODIFIERS=@im=none as ibus has special casing only for pt_BR.UTF-8 currently.
ibus should handle also other relevant compose maps in addition to pt_BR.UTF-8. The list of compose file which really differ from en_US.UTF-8 is:
Version-Release number of selected component (if applicable):
The quick test to see whether fi_FI compose keys work is that with LC_CTYPE=fi_FI.UTF-8 dead_acute + space should produce acute (not apostrophe as with en_US.UTF-8).
Note that /etc/X11/xinit/xinitrc.d/50-xinput.sh defines:
_xcompose_language_list="am_ET el_GR fi_FI pt_BR ru_RU"
(In reply to Marko Myllynen from comment #0)
I compared en_US.UTF-8/Compose and fi_FI.UTF-8/Compose and it seems only '<dead_acute> <space>' is different and others are same.
(In reply to fujiwara from comment #2)
> I compared en_US.UTF-8/Compose and fi_FI.UTF-8/Compose and it seems only
> '<dead_acute> <space>' is different and others are same.
That should pretty much be the case nowadays, some time ago the mappings which were only in fi_FI.UTF-8 were added to en_US.UTF-8:
(In reply to Marko Myllynen from comment #3)
OK, thank you for the link and then we need to fix en_US.UTF-8.
ibus en_US.UTF-8 was copied from GTK+ one and it seems it's old.
Now I created the patch of en_US.UTF-8 and fi_FI.UTF-8 but others are not yet.
I'm a bit tired to convert the data and probably it's better to fix this in post f20 since the change is big and the f20 beta is coming.
Probably it's also better for me to fix the fi problem when running apps with GTK_IM_MODULE=gtk-im-context-simple .
Created attachment 807400 [details]
Patch for engine/main.vala
Attached the ongoing patch at the moment.
(In reply to fujiwara from comment #4)
> OK, thank you for the link and then we need to fix en_US.UTF-8.
> ibus en_US.UTF-8 was copied from GTK+ one and it seems it's old.
> I'm a bit tired to convert the data and probably it's better to fix this in
> post f20 since the change is big and the f20 beta is coming.
No prob - just one additional data point (which you probably already noticed) that when looking at the changelog for en_US.UTF-8/Compose.pre it looks like a yearly update or so might be warranted:
(In reply to Marko Myllynen from comment #6)
Yes, my patch was generated with that file by compose-parse.py :
The script referred the old pointer and I changed it to your link yesterday.
@@ -21,8 +21,8 @@
# We grab files off the web, left and right.
-URL_COMPOSE = 'http://gitweb.freedesktop.org/?p=xorg/lib/libX11.git;a=blob_plain;f=nls/en_US.UTF-8/Compose.pre'
-URL_KEYSYMSTXT = "http://www.cl.cam.ac.uk/~mgk25/ucs/keysyms.txt"
+URL_COMPOSE = 'http://cgit.freedesktop.org/xorg/lib/libX11/plain/nls/en_US.UTF-8/Compose.pre'
+URL_KEYSYMSTXT = "https://raw.github.com/substack/node-keysym/master/data/keysyms.txt"
URL_GDKKEYSYMSH = "http://git.gnome.org/browse/gtk%2B/plain/gdk/gdkkeysyms.h"
URL_UNICODEDATATXT = 'http://www.unicode.org/Public/6.0.0/ucd/UnicodeData.txt'
FILENAME_COMPOSE_SUPPLEMENTARY = 'gtk-compose-lookaside.txt'
Created attachment 808759 [details]
Patch for engine/main.vala
OK, now I finished to generate the candidate patch.
I commented out am_ET Compose file until get the actual request because it uses ASCII key at first but not compose keys.
I created the test rpms:
Could you try the packages?
Please note I fix ibus only but not gtk-im-context-simple .
If you use GNOME, need to add some input methods with 'gnome-control-center region' command and then GNOME will launch ibus-daemon. You could refer 'ps' command.
(You don't have to use input method engines actually but need to list the engines on panel icon to enable IBus on GNOME.)
If you use non-GNOME, ibus can be enabled by im-chooser command and you need to install some XKB layout engines with ibus-setup command.
BTW if you're not using gnome-shell what you probably want
to do is use im-chooser to switch to XIM input, which supports
locale compose. We really need to add locale compose also
to the gtk simple immodule.
I tested the packages from comment#9 on Fedora 20 Beta TC1 and they
(In reply to fujiwara from comment #9)
> I created the test rpms:
> Could you try the packages?
> Please note I fix ibus only but not gtk-im-context-simple .
> If you use GNOME, need to add some input methods with 'gnome-control-center
> region' command and then GNOME will launch ibus-daemon. You could refer 'ps'
> (You don't have to use input method engines actually but need to list the
> engines on panel icon to enable IBus on GNOME.)
I updated the packages, rebooted, logged in via GDM, launched gnome-terminal under gnome-shell and confirmed that LC_CTYPE is fi_FI.UTF-8. Then I added with 'gnome-control-center region' Finnish and French as Input Sources. fi is in use and 'ps -ef | grep ibus' shows ibus running. However, the simple test dead_acute + space still produces apostrophe not acute as expected.
Please let me know if there was a hickup in my testing procedure.
> Please let me know if there was a hickup in my testing procedure.
After some IRC discussion it turned out that I needed to add English (English AG (Hunspell)) as an Input Source then ibus is enabled and the test packages work as expected. So from ibus point of view the issue is solved.
(In reply to Marko Myllynen from comment #13)
> After some IRC discussion it turned out that I needed to add English
> (English AG (Hunspell)) as an Input Source then ibus is enabled and the test
> packages work as expected. So from ibus point of view the issue is solved.
Thank you for the test.
Now I'm working on both ibus and gtk.
The patch is upstreamed:
Regarding to GTK+, I filed a bug:
Now en-us copmose keys are updated in GTK+:
I filed the compose keys for locales in GTK+:
I fixed ibus side in this bug.
gtk bug is filed in comment 16.
ibus-1.5.5-1.fc20 has been submitted as an update for Fedora 20.
ibus-1.5.5-1.fc19 has been submitted as an update for Fedora 19.
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing ibus-1.5.5-1.fc19'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
ibus-1.5.5-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
ibus-1.5.5-1.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.