[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