[Libreoffice-bugs] [Bug 103322] Use floating point for glyph positioning in VCL

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Sun Sep 12 10:11:21 UTC 2021


https://bugs.documentfoundation.org/show_bug.cgi?id=103322

--- Comment #37 from Gibtnix at gmx.de ---
I noticed that using FreeType and HarfBuzz in OpenCV, it is possible to write
strings with integer precision to images that look absolutely fine. Still, the
whole string is put as a whole to the image, please refer to the OpenCV
documentation for or details:
https://docs.opencv.org/3.4/d9/dfa/classcv_1_1freetype_1_1FreeType2.html

Thus I thought that the reason for this ugly rendering might simply be that
LibreOffice splits the whole strings into individual characters that are 
written individually? For example, instead of writing "Hello world!" as a
whole, LibreOffice puts all chars/glyphs "H", "e", "l", "l", "o", etc. one
after another and recalculates the glyph position every time again in integer
arithmetic only? Even if the latter was replaced by floats, I don't know if
this even fixes the problem if HarfBuzz still uses integers for the initial
rendering of the string... I don't know LibreOffice's code, still if FreeType /
HarfBuzz is used correctly, rounding issues coming from integer instead of
floating point accuracy should only influence the initial position of the
string (i.e. a whole line of text), but not between characters / words.
I might be wrong, still this seems rather plausible to me such that a fix might
be even easier than migrating all of LibreOffice's code to floats...

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20210912/3955ecb6/attachment.htm>


More information about the Libreoffice-bugs mailing list