On Wed, Nov 02, 2016 at 06:34:32PM +0200, Khaled Hosny wrote:
On Tue, Nov 01, 2016 at 10:14:49PM +0100, Tomaž Vajngerl wrote:
Hi,
On Tue, Nov 1, 2016 at 8:33 PM, Khaled Hosny <khaledhosny@eglug.org> wrote:
I tried to find what is the source of difference, but to no avail. I
can’t figure out why the choice of the layout engine can make a
difference here.
I don't know the cause and if this is possible but just a quick check
at the svgio code my speculation is that it could make a difference if
it determines for example that text overflows the bounds and it needs
to clip. If you look at the XML and what the test checks you see the
mask primitive is inserted just suddenly. I saw in the svgio code that
the mask primitive is used at many places to do clipping.
Thanks for the pointers, that was very helpful. I now found the part
that does the mask; if I set bDoCorrectCanvasClipping to false in
svgio/source/svgreader/svgsvgnode.cxx the test passes. Now I need to
find the part that actually calculates the bounding box...
After further debugging it turned out we were returning bad text
bounding boxes on macOS with the new layout engine, apparently
CoreTextStyle::GetGlyphBoundRect() was returning wrong bounding box all
along but it was not detected before because we were using Core Text to
get the bounding box of the whole text at once and this function was not
used (not for this at least).
This is now fixed in:
https://gerrit.libreoffice.org/gitweb?p=core.git;a=commitdiff;h=8cef9b4dbafdebc0566d6d7f715f27f978ddfe5b
Regards,
Khaled
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.