Ienup Sung wrote on 2001-01-25 19:32 UTC:
> For your argument on A, well, most of commercial Unix variants I believe
> at least support EUC by downloading width information of the current
> locale/codeset which is usually about 6 bytes in size to ldterm kernel module
> through ioctl(2) so that for canonical input mode (and shells that are relying
> on the canonical input mode) can do erase/kill operation correctly.

I don't have a very strong opinion on the subject (and probably neither
has ECMA-48), but I'd rather prefer if backspace moved the cursor one
(non-combining) character width to the left. How many single-width cells
this corresponds to (1 or 2) depends on the character left of the active
position before the backspace is processed. I understand that this is
not how CJK terminal emulators implement backspace at the moment, but I
still think it is the cleaner approach, and it would keep the kernel
(and many many similar trivial line editors) free of having to worry
about wcwidth. Line/word erasure can similarly be implemented without
wcwidth awareness if backspace moved over character positions, not cell
widths.

Admittedly, the semantics get's rather messy in the context of combining
characters, which is why I'd really prefer to use only UCS Level 1 in
such simple terminal applications (meaning, the keyboard driver should
really not generate combining characters).

Markus

-- 
Markus G. Kuhn, Computer Laboratory, University of Cambridge, UK
Email: mkuhn at acm.org,  WWW: <http://www.cl.cam.ac.uk/~mgk25/>

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

Reply via email to