Markus Kuhn wrote: > I believe the only practical solution for this problem is to implement > BACKSPACE in UTF-8 terminal emulators such that it moves one *character* > to the left, not one *cell*.
I agree. The objects being displayed are characters. It does not make sense for a user or for applications to position the cursor in the middle of a character, or after 1/3 or 2/3 of a character. > We have little choice if we want to keep the kernel free of > locale-dependent monsters such as wcwidth(). There is also the problem of the TAB: Currently linux/drivers/char/n_tty.c also transforms a TAB to a sequences of spaces, and an erase of a TAB to a sequence of BACKSPACEs. If we keep it this way, the kernel must still learn to distinguish single-width and double-width characters, in order to keep a notion of "current column number". What is the reason for treating TAB at the TTY level? Why can't TAB be treated like a graphic character of unknown width and be passed to the device driver unchanged? Bruno -- Linux-UTF8: i18n of Linux on all levels Archive: http://mail.nl.linux.org/linux-utf8/
