For Vietnamese and Thai, you may very well be right. But your proposal
leads to strange behaviour for "western european languages" at least.
Base Latin character character + attached combining nonspacing marks
should be regarded as a unit from an editing point of view: erase,
cursor motion, etc. E.g. an Å or an é should be regarded as each a
single grapheme, independently of how they are stored at a lower level
(decomposed or precomposed). No cursor motion changes, no deletion
behaviour changes, no coloration oddities, etc. If you really want to
see the low level representation, then a special (non-default!) mode
should be used for that.
Kind regards
/kent k
From: Mark Leisher [mailto:mleisher(_at_)crl(_dot_)nmsu(_dot_)edu]
...
o Combining characters should not be skipped during cursor motion.
Passing
over a combining character should provide some visual feedback.
Markus proposed showing the group of base + combining characters in
the
status line of a terminal emulator, the text editing classes in the
Emule
package from Slangsoft change the color of the combining character
while
leaving the cursor in place, and other approaches have been used.
o Deletion should not be done in terms of base character plus following
combining characters. When entering Vietnamese or Thai for example,
this
slows editing significantly.
o What works best is to delete one character at a time. In cases of
scripts like Vietnamese and Thai, this will allow deletion of
individual
accents, vowels and tones. The only exception are control
characters.