OK.. here's the detailed and boring description...

Good! Maybe boring, but much clearer than "unicode_start
doesn't work".

So what happens is that you have ' on your console keymap
mapped to dead_acute, and have the combination
compose (dead_acute, e) to 0xe9 in your keymap.

Now compose combinations are made using the struct

struct kbdiacr {
        unsigned char diacr, base, result;
};

with 8-bit diacr, base, result, so that one will never get
general Unicode values out of this. And in fact the kernel
takes directly what you have in the compose table, without
attempt to convert to unicode.

OK - this is well-understood, and not something that can be
improved in user space. We need a kernel change - a new ioctl
that uses struct kbdiacr16 or kbdiacr32 or so, allowing
arbitrary unicode characters as base and result of compose
combinations.

This is precisely the change I mentioned yesterday or the day
before as the first change that one might wish to make today.

Andries

--
Linux-UTF8:   i18n of Linux on all levels
Archive:      http://mail.nl.linux.org/linux-utf8/

Reply via email to