The difference in character width is because of this change:

@@ -863,7 +839,7 @@ void TextLine::coalesce(UnicodeMap *uMap) {
        word0->spaceAfter = gTrue;
        word0 = word1;
        word1 = word1->next;
-      } else if (word0->font == word1->font &&
+      } else if (word0->font[word0->len - 1] == word1->font[0] &&
                 word0->underlined == word1->underlined &&
                 fabs(word0->fontSize - word1->fontSize) <
                   maxWordFontSizeDelta * words->fontSize &&


Before, the words "Fumi" and "K" were being merged.  Letters "F" and "K" are 
using the font BookmanOldStyle.  Letters "umi" are using ArialMT.  Because of 
this font check, the words are no longer being merged, making the width of the 
i different.

Yes, it is possible for one word to have fonts with different WModes.
Still looking into it, but I suppose it will need to start a new word on
WMode changes.

Carlos: I don't know why you do not see a difference.  Without this
patch, selecting text in the minimal example changes the text to "ABC".
With this patch, it stays "BCD".

-- 
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/39890

Title:
  characters change when selecting text

To manage notifications about this bug go to:
https://bugs.launchpad.net/poppler/+bug/39890/+subscriptions

-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to