cs_CZ.UTF-8 should interpret dead_caron + u as uring
Submitted by vlm..@..lny.cz
Assigned to Xorg Project Team
[ I'm making copy of https://bugzilla.novell.com/show_bug.cgi?id=888446 where I reported the bug previously ]
My .profile contains: export GTK_IM_MODULE=xim export QT_IM_MODULE=xim export LC_ALL=cs_CZ.UTF-8
Now if I press dead_caron + u, I get ǔ, but I should get ů. The same for capital letters - I get Ǔ but I should get Ů.
The workaround I use is to set ~/.XCompose to
<u> : "ů" U016F # LATIN SMALL LETTER U
WITH RING ABOVE
<U> : "Ů" U016E # LATIN CAPITAL LETTER U
WITH RING ABOVE
This is already defined in /usr/share/X11/locale/iso8859-2/Compose , but one
would have to use iso8859-2 instead of UTF-8:
<U> : "\331" Uring
<u> : "\371" uring
(of course the binary value for Uring is different in iso8859-2 and UTF-8, so it can't be fixed by straight copy/paste)
I don't understand the xkb too well, but I guess that there should be new directory and file /usr/share/X11/locale/cs_CZ.UTF-8/Compose which would contain something similar to what I have in ~/.XCompose
Please note that it does not seem to be logical to use dead_caron for ring above u, but since we don't use ring above any other letter, and ǔ does not exist in czech, it's very convenient to have it print ů. This way it works on czech keyboards since ever.
It's interesting that I have hard time finding evidence that it should be set this way.
For example https://ufal.mff.cuni.cz/pdt/Support/czech-info.html The ring accent can occur only above an "u" where, in contrary, no caron can occur. That is why many keyboards use the sequence "dead caron" - "u"/"U" to enter an "u" with ring above. However, other keyboards (including Microsoft Windows, I guess) alocate a "dead ring" key elsewhere, often to shifted semicolon, replacing the U.S. key for tilde.
Thank you __ Vlad
Steps to Reproduce:
Enable XIM input method by putting this into your .profile: export GTK_IM_MODULE=xim export QT_IM_MODULE=xim export LC_ALL=cs_CZ.UTF-8
restart X so that the options take effect
2.5 start xterm
set czech keyboard map setxkbmap "us,cz(qwerty)" -option grp:shifts_toggle -option ctrl:swapcaps
switch into czech map by pressing both shifts together
Press dead_caron (shift + key "=" which should normally produce character "+")
Press letter "u"
ǔ appears, but I should see ů Actual Results:
I should see ů