On 3/7/21 8:19 PM, Leif Halvard Silli wrote:
I am using MacOS Mojave version 10.14.6. The BIDI add-on is installed.
MacOS Mojave is not supported anymore. Only macOS 10.15 (Catalina) and
11.x (Big Sur) are now officially supported by XMLmind Software. Anyway,
I doubt this is the cause of your issue.
I think I found a caret related BIDI bug in when I tested the document
"Sample bidirectional text" which is available a a clickable file: URL
inside the BIDI add-on.
The second heading is called «Arabic language» and then there is some
Arabix text.
Below that heading, there is a paragraph in Arabic consisting in or two
sentences in Arabic plus some numbers.
When I place the caret at the start of this Arabic paragraph, and then
type the "Left arrow" key to move towards the end of the paragraph - one
by one character, everything works fine, until I hit the first number,
which is "12".
At that point, when the caret reaches the "12", the caret simply stops.
No matter how long I press the Left arrow key, the caret is stuck inside
that number. I have to manually move the caret to the left of the
number, in order to reach further.
In fact, it is the same issue with the sentence which starts like this:
Arabic – اللغة العربية – is one of the most spoken language
Ths time I placed the caret to the left of the word "Arabic" and then I
start pressing the Right arrow key. And when the caret reaches the first
Arabic word, the caret gets stuck.
Please define "the caret gets stuck".
(A) Does XXE crash, in which case an exception is raised? Which
exception? Please start XXE using
"XMLmind.app/Contents/Resources/xxe/bin/xxe" from a terminal to see it.
(B) Or more simply, once the reaches the first Arabic word, does
pressing the Right arrow key move the caret *back* to the end of "Arabic -"?
(B) is 100% the expected behavior. And yes, XXE does not work like
MS-Word does in that respect.
With XXE, by default, pressing Right always move the caret to the right.
That is, pressing Right does not necessarily move the caret to the
following character of the text.
When the caret is before first Arabic word, its right is
back to the end of "Arabic -". In consequence, when the caret is before
first Arabic word, you now need to press Left to move the caret to the
next caret.
Please search "stuck" in
http://www.xmlmind.com/xmleditor/_distrib/doc/bidi/index.html for an
explanation of a similar use case:
---
This behavior is deemed the most intuitive one but it has important
consequences. For example, let's suppose the caret is inside "طارق"
(Tarek). Pressing repeatedly key Left to reach the period which ends the
sentence will get you “stuck” when the caret reaches "1978".
---
(The above excerpt is about the inverse case: pressing repeatedly Left
inside some Arabic text and reaching a number, which is a left-to-right
character subsequence.)
--> If you don't like this behavior, then please change it by unchecking
"Left moves caret to following character" in the "Bidi Support"
preference sheet. See
http://www.xmlmind.com/xmleditor/_distrib/doc/bidi/index.html#preferences
So, to sum up, everything works fine as long as your text consists of
just one script system. But when the caret is within one script system,
and then reaches a character from another script system - a number or a
letter - the caret seems to get stuck.
The caret works for me *as* *expected* on macOS 10.15 (Catalina) and
11.x (Big Sur).
--
XMLmind XML Editor Support List
xmleditor-support@xmlmind.com
http://www.xmlmind.com/mailman/listinfo/xmleditor-support