On Thu, 19 Feb 2004, Markus Kuhn wrote:
> ...output BACKSPACE BACKSPACE SPACE SPACE BACKSPACE BACKSPACE when
> ERASE removes a wcwidth()=2 character. As the Canonical Mode Input
> Processing is traditionally implemented in a terminal device driver
> in the kernel, which is otherwise free of locale-dependent
> functionality and has no access to wcwidth(), this approach seems
> highly undesireable.
> [Things get even more tricky with the available experimental terminal
> support (e.g., in XFree86's xterm) for combining characters such as
> diacritical marks, which are characters with wcwidth()=0...

Worse yet, when combining characters are being entered separately, one
might wish that backspace erase only the latest combining character, not
the whole sequence back to and including the base character. 

Personally, I suspect that the best answer at this point is to concede
that the kernel device drivers live permanently in the world of 8-bit
character sets, and that functionality such as Unicode input editing
belongs in a user-level daemon rather than in the kernel.  The vast
majority of user keyboard input already passes through at least one such
daemon anyway, so there is no significant efficiency issue any more. 

                                                          Henry Spencer
                                                       [EMAIL PROTECTED]


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

Reply via email to