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 <khaledho...@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 _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice