On Mon, 20 Jun 2005, Mike FABIAN wrote: Hello Mike, thanks for the quick response.
Peter Niessen
¤µ¤ó¤Ï½ñ¤¤Þ¤·¤¿: until SuSE 9.2, it was possible to use compose keys (right-shift + right-control) to compose diarhesis, accents, etc. if UTF-8 was de-selected. In 9.3 not anymore! How can I activate this feature again?
I cannot reproduce your problem.
First of all, you don't need to de-select UTF-8 to use Compose, it works in UTF-8 even better than in the legacy locales because UTF-8 can represent a lot more special characters than the legacy locales.
OK, I switched on UTF-8.
To find out why it doesn't work for you, can you please supply the following information:
- Check if a Compose key is defined in your keyboard layout with the command 'xmodmap -pke | grep Multi_key'. The default on SuSE Linux in recent years should look like this:
linux@g78:~> xmodmap -pke | grep Multi_key keycode 109 = Control_R Multi_key keycode 113 = ISO_Level3_Shift Multi_key keycode 116 = Super_R Multi_key linux@g78:~>
I lack the 113: [hegel] ~ > xmodmap -pke | grep Multi_key keycode 109 = Control_R Multi_key keycode 116 = Super_R Multi_key
"Multi_key" is the compose key, i.e. by default it is on Shift+RightControl, Shift+AltGr, and Shift+RightWindowsKey.
- Is only a special key combination not working on your system or does Compose fail to work at al for you? If only a special key combination fails, which one?
All fail. Shift-R_Ctrl "a results in plain "a, not "aehh".
- What locale exactly are you using? Please give the output of the command 'locale'.
[hegel] ~ > locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
- Is the environment variable XMODIFIERS set? Check with 'env | grep XMODIFIERS'.
It should be either unset or set to '@im=local'.
[hegel] ~ > echo $XMODIFIERS @im=SCIM
- Check whether a program which is known to support compose, for example 'xterm', reads the correct compose table:
mfabian@magellan:~$ XMODIFIERS=@im=local LANG=de_DE.UTF-8 strace -eopen -f xterm 2>&1 | grep -i ompose open("/home/mfabian/.XCompose", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/X11R6/lib/X11/locale/compose.dir", O_RDONLY) = 5 open("/var/X11R6/compose-cache/l2_030_35fe9fba", O_RDONLY) = 5 open("/usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose", O_RDONLY) = 5 open("/usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose", O_RDONLY) = 6 mfabian@magellan:~$
Gives nothing. I have only de_DE.utf-8. I also tried with en_US.utf-8.
You see here that the compose table which is read in de_DE.UTF-8 locale is /usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose.
This file exists, also contains the right stuff, it appears.
In de_DE@euro locale, a different compose table is read:
mfabian@magellan:~$ XMODIFIERS=@im=local LANG=de_DE@euro strace -eopen -f xterm 2>&1 | grep -i ompose open("/home/mfabian/.XCompose", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/X11R6/lib/X11/locale/compose.dir", O_RDONLY) = 5 open("/var/X11R6/compose-cache/l2_030_23d0b406", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/X11R6/lib/X11/locale/iso8859-15/Compose", O_RDONLY) = 5 open("/usr/X11R6/lib/X11/locale/iso8859-15/Compose", O_RDONLY) = 6 mfabian@magellan:~$
If you compare /usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose with /usr/X11R6/lib/X11/locale/iso8859-15/Compose, you will see that the latter is much shorter and supports far fewer characters than the UTF-8 version.
Thanks again, Cheers, Peter.
-- Mike FABIAN
http://www.suse.de/~mfabian ¿ç̲ÉÔ¤Ϥ¤¤¤»Å»ö¤ÎŨ¤À¡£ -- To unsubscribe, e-mail: m17n-unsubscribe@suse.com For additional commands, e-mail: m17n-help@suse.com