filter/source/svg/svgwriter.cxx | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-)
New commits: commit cacc3a0e7f7b04240daf63b45e457428388f4929 Author: Chr. Rossmanith <chrrossman...@gmx.de> Date: Tue Feb 3 22:29:31 2015 +0100 tdf#65788: svg export - put transform attribute into text element if transform is put into an inner tspan element rotated text isn't rendered rotated Change-Id: I6fcab1db0e213c65fe8ba88a7694fd10c902bfec Reviewed-on: https://gerrit.libreoffice.org/14314 Reviewed-by: Katarina Behrens <bu...@bubli.org> Tested-by: Katarina Behrens <bu...@bubli.org> diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index d7235a9..8b47676 100644 --- a/filter/source/svg/svgwriter.cxx +++ b/filter/source/svg/svgwriter.cxx @@ -1157,6 +1157,22 @@ void SVGTextWriter::startTextShape() mbIsTextShapeStarted = true; maParentFont = vcl::Font(); mrExport.AddAttribute( XML_NAMESPACE_NONE, "class", "TextShape" ); + + // if text is rotated, set transform matrix at text element + const vcl::Font& rFont = mpVDev->GetFont(); + if( rFont.GetOrientation() ) + { + Point aRot( maTextPos ); + OUString aTransform = + "translate(" + OUString::number( aRot.X() ) + + "," + OUString::number( aRot.Y() ) + ") rotate(" + + OUString::number( rFont.GetOrientation() * -0.1 ) + + ") translate(" + OUString::number( -aRot.X() ) + + "," + OUString::number( -aRot.Y() ) + ")"; + + mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrTransform, aTransform ); + } + mpTextShapeElem = new SvXMLElementExport( mrExport, XML_NAMESPACE_NONE, aXMLElemText, true, mbIWS ); startTextParagraph(); } @@ -1245,21 +1261,6 @@ void SVGTextWriter::startTextPosition( bool bExportX, bool bExportY ) if( bExportY ) mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrY, OUString::number( maTextPos.Y() ) ); - // if text is rotated, set transform matrix at new tspan element - const vcl::Font& rFont = mpVDev->GetFont(); - if( rFont.GetOrientation() ) - { - Point aRot( maTextPos ); - OUString aTransform = - "translate(" + OUString::number( aRot.X() ) + - "," + OUString::number( aRot.Y() ) + ") rotate(" + - OUString::number( rFont.GetOrientation() * -0.1 ) + - ") translate(" + OUString::number( -aRot.X() ) + - "," + OUString::number( -aRot.Y() ) + ")"; - - mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrTransform, aTransform ); - } - mpTextPositionElem = new SvXMLElementExport( mrExport, XML_NAMESPACE_NONE, aXMLElemTspan, mbIWS, mbIWS ); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits