There are a huge number of problems in the analysis of text that occur with
visual ordering; these are avoided with logical ordering, which is why we
ended up using that for Unicode.
Even with logical ordering, one can make the editing process work as you
describe. For example, for character input one can make sure that the
inserted character appears at the cursor. The key to implementing that is to
insert the character at a position where it would show up at the cursor
*after* running through the bidi algorithm. A brute-force way to do that is
to run the bidi algorithm to get visual order, insert the character, then
run it backwards to get the logical order again, which tells you where to
put the character. (This is a very rough description -- there are a number
of nuances involved, but it can be done.)
----- Original Message -----
From: "Roozbeh Pournader" <email@example.com>
To: "Unicode List" <firstname.lastname@example.org>
Cc: "Unicode List" <email@example.com>
Sent: Thursday, March 15, 2001 13:38
Subject: Re: Unicode complaints
> On Thu, 15 Mar 2001, Michael (michka) Kaplan wrote:
> > If you use Access 2000 to enter Hebrew data on a non-Hebrew machine, you
> > the ability to input data without the Bidi algorithm being applied till
> > commit the line.
> > This is almost universally hated by anyone who experiences it.
> > Consistency may not seem like a good thing, but some inconsistencies
> > make it worse.
> I believe that a more complex algorithm than bidi is needed for bidi data
> entry. I'm not sure know how such a thing may be implemented, but I have
> some ideas. I think I had explained them a bit here previously, but to be
> short, a usable bidi data entry algorithm should become more visual, with
> cursor moving as it is moving over visual text, and the character that has
> just got pressed usually getting inserted at the cursor position. Also, it
> should have some state.
> For example, when a user is writing RTL text, presses a space, starts
> typing digits, and then another space, almost everyone agress that the
> cursor should jump to the right of the numbers, putting the space there.
> Now consider that she goes to other lines, comes back, and finds that she
> will need another space between the starting text and the number. She
> moves the cursor in the place she wants to enter the text, presses the
> space, and magically it appears somewhere else, after the number.
> You should have got the point.
This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:21:20 EDT