Stefan Schimanski wrote:
+    // If the last logical character is a separator, skip it, unless
+    // it's in the last row of a paragraph
+    if (end > 0 && end < par.size() && par.isSeparator(end - 1))
+        skipped_sep_vpos = bidi.log2vis(end - 1);

I thought it's about the visually last (or first for rtl paragraphs) character. Take

  HEBREW[ english]

rendered as

  [ english]WERBEH

No?

I also thought so, but then I realized that it's more subtle. The real problem is with the last *logical* position, which is usually, but not always, at one of the ends. See the attached document for an example. (This is the other manifestation of the bug that I mentioned last night). Try it with and without the patch...


+ // If the last logical character is a separator, don't paint it, unless
+    // it's in the last row of a paragraph
+    if (end > 0 && end < par_.size() && par_.isSeparator(end - 1))
+        skipped_sep_vpos = bidi_.log2vis(end - 1);
+

Same here.


Same here. ;)

Stefan

Dov

Attachment: bug3889b.lyx
Description: application/lyx

Reply via email to