Jean-Marc Lasgouttes wrote:
"Dov" == Dov Feldstern <[EMAIL PROTECTED]> writes:
Dov> *) Martin asked: "don't you think that cursor movement depending
Dov> only on the local language (i.e., the deepest inset on the cursor
Dov> stack) is easier and more transparent to implement?"
Dov> Well yes, but only trivially so. In terms of ease of
Dov> implementation, all I did was add a "bottom()" method in there
Dov> --- that's hardly very opaque... In terms of transparency ---
Dov> well, it is now also well-commented, so I don't think that this
Dov> should be grounds for rejecting this approach.
With the usual disclaimer that I do not know what I am talking about
concerning RtL, it seems strange to me to condition on the outermost
language setting. For example, if a branch is inserted in an empty
Hebrew paragraph, the result will not be the same than if it is
inserted into an empty English paragraph. This does not make much sense
to me. You should strive for maximum predictability. For example,
using the document language is predictable. When editing in a footnote
in a branch, testing for the outermost paragraph is not predictable
IMO.
You could maybe try to look at the paragraph that is just one step
under, instead of bottom().
Again, this is precisely what I do *not* want. See the example in my
response just now to Abdel. You need some anchor within the paragraph
according to which you determine the direction of the arrow keys, and
the most sensible anchor is the direction of the base paragraph. We
*could* use the document's direction as an anchor, that would be
preferable to the current situation, in my opinion, and would also solve
the issue of movement *between* paragraphs, which is still a problem,
even with my suggestion --- but *that* doesn't seem natural. All the
programs I've looked at take the paragraph as the base.
What I think you guys are not understanding is that bidi user's don't
even *expect* predictability on this issue! I've been looking at various
sites discussing these issues over the past few days, and you see
comments like "I don't know anyone who doesn't sometimes resort to trial
and error" --- that's the way it is, and we expect that. What *is*
annoying, though, is when the cursor suddenly gets stuck. Getting out of
that really requires very careful manipulation of the cursor --- much
more annoying than just starting to move, discovering that the cursor is
now moving in the opposite direction, and then adjusting accordingly...
JMarc
Dov