Am 26.06.2007 um 21:25 schrieb Dov Feldstern:

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...

Ok, after rereading your previous mail I got it. Would be good to put a better documentation there like:

// Spaces at line breaks in bidi text can appear visually in the middle
// of a row and must be skipped during painting:
// * logically "abc_[HEBREW_\nHEBREW]"
// * visually "abc_[_WERBEH\nWERBEH]"

Haven't tested the patch, but it looks good.

Stefan

Attachment: PGP.sig
Description: Signierter Teil der Nachricht

Reply via email to