Hi Khaled,
On Friday, February 24, 2017 19:40 GMT, Khaled Hosny <khaledhosny@eglug.org> wrote:
On Fri, Feb 24, 2017 at 05:41:25PM +0000, Tamas Zolnai wrote:
Hi Khaled,
I see you're working on text rendering, so I thought that my findings
might be usefull for you. I had a look at chart test failures on Mac
and found that it is because of text size differences. (I checked your
latest change [1], but the differences are still there.)
Both text width and height is different (comparing Windows and Mac).
Interestingly when I changed the font to a bundled, monospace font
(e.g. Liberation Mono, DejaVu Sans Mono), width differences
disappeared and only height differences remained. So there are at
least two kind of issues here. One which is about the proportional
fonts character width and one related to the text height.
I added a minimal test case to the source [2] with which it's easier
to debug the second issue (for the first issue the test case's font
need to be changed to a bundled, proportional font).
We need to first who Chart is calculating the text width and depth,
namely which function(s) it uses from vcl, to be able to debug it and
see where are these differences coming from.
I debugged it earlier. It was a bit hard to follow the trace from chart code to text rendering, but
as I see the height differences coming somwhere from these methods (I debugged only the height
difference):
ImpEditEngine::CalcTextHeight()
SvxFont::GetPhysTxtSize()
OutputDevice::GetTextHeight()
However I think it would be better to debug this problem with a unit test in vcl module which tests
directly the text rendering. I would suggest that if you are working making text rendering
consitent. The vcldemo does something similar, but it's just doing the rendering and does not
compare the text size to expected values. That code can be reused to write some unit tests about
text rendering.
Actually I'm a bit suprised that there is no a unit test for this (I did not find any in vcl
module). I heard some expectations from other LO developers that text rendering is consistent now
on different systems but I can't see how it can be expected if there isn't any test about it. It's
hard to imagine that somebody can test it manually on all the three main platforms.
Best Regards,
Tamás
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.