Richard Wordingham wrote:
> So how do you do visual order?

In order to correctly display Indic text, the controlling software should
have two copies of the string being edited: the "back store", which contains
characters in logical order, and the "visual store", which contains
character (or, rather, glyphs codes) in visual order.

In logical-order input, when a reordrant character is typed, the software
inserts it in the "back store" and generates a fresh "visual store".

In visual-order input, the process is reverted: when a reordrant character
is typed, the software inserts it in the "visual store" and generates a
fresh "back store".

Logical-order input only needs one function to generate a "visual store"
from a "back store" (i.e., to turn logical into visual order). Visual-order
input needs that function as well (to initialize the display at the
beginning of editing) but also needs the reverse function, to generate a
"back store" from a "visual store" (i.e., to turn visual into logical
order), and that's why visual order is more complicated.

Notice that this is a very high-level logical description of what should be
going on: the details of an actual implementation s might be very different.

Also notice that the process I described implies that the software has total
control over the editing process (i.e. the interaction between keyboard and
display), so this beaviour should be better implemented at the system level
rather than in an application.

--
Marco