Date: prev next · Thread: first prev next last
2017 Archives by date, by thread · List index


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.