Kaydet (Commit) cacc3a0e authored tarafından Chr. Rossmanith's avatar Chr. Rossmanith Kaydeden (comit) Katarina Behrens

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/14314Reviewed-by: 's avatarKatarina Behrens <bubli@bubli.org>
Tested-by: 's avatarKatarina Behrens <bubli@bubli.org>
üst fd19e3f8
......@@ -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 );
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment