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

Reply via email to