https://bugs.kde.org/show_bug.cgi?id=479070
--- Comment #23 from Albert Astals Cid <aa...@kde.org> --- (In reply to Keyu Tao from comment #22) > (In reply to Albert Astals Cid from comment #21) > > > How much do you know about programming? If i tell you do add some printf in > > the poppler code is that something you can do? > > Yes, as I got this conclusion just by adding `std::cout` inside poppler code > :) Ok, can you please print rect->x2 rect->x1 width borderWidth textwidth da.getFontPtSize() before the call to const DrawMultiLineTextResult textCommands = drawMultiLineText(*contents, textwidth, form, *font, da.getFontName().getName(), da.getFontPtSize(), quadding, 0 /*borderWidth*/); in generateFreeTextAppearance() Also i'm guessing diff --git a/poppler/Annot.cc b/poppler/Annot.cc index b4c4a771..8a50225f 100644 --- a/poppler/Annot.cc +++ b/poppler/Annot.cc @@ -3036,7 +3036,7 @@ public: *availableWidth -= blockWidth; } - while (newFontNeeded && (!availableWidth || *availableWidth > 0)) { + while (newFontNeeded && (!availableWidth || *availableWidth > 0|| (isUnicode && i == 2) || (!isUnicode && i == 0))) { if (!form) { // There's no fonts to look for, so just skip the characters i += isUnicode ? 2 : 1; Will fix your problem too but i'd like to figure out how availableWidth gets to be negative -- You are receiving this mail because: You are the assignee for the bug.