perl-unicode

RE: Editing, cursor motion, and combining characters

1999-11-15 11:03:22

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.