[okular] [Bug 479070] Okular hangs when editing Chinese characters in inline note annotation
Albert Astals Cid
bugzilla_noreply at kde.org
Fri Dec 29 12:17:46 GMT 2023
https://bugs.kde.org/show_bug.cgi?id=479070
--- Comment #23 from Albert Astals Cid <aacid at 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.
More information about the Okular-devel
mailing list