Kaydet (Commit) b49ea0c9 authored tarafından Horacio Fernandes's avatar Horacio Fernandes Kaydeden (comit) Petr Mladek

fdo#57215: Fixed wrong text rotation in SVG Export

Added text rotation to "non-positioned characters" in SVG Export.

Change-Id: I831644329625fa74e5a2436096d26ec22d8b0319
Reviewed-on: https://gerrit.libreoffice.org/1227Reviewed-by: 's avatarPetr Mladek <pmladek@suse.cz>
Tested-by: 's avatarPetr Mladek <pmladek@suse.cz>
üst b9915592
......@@ -1520,6 +1520,27 @@ void SVGTextWriter::startTextPosition( sal_Bool bExportX, sal_Bool bExportY )
mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrX, ::rtl::OUString::valueOf( maTextPos.X() ) );
if( bExportY )
mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrY, ::rtl::OUString::valueOf( maTextPos.Y() ) );
// if text is rotated, set transform matrix at new tspan element
const Font& rFont = mpVDev->GetFont();
if( rFont.GetOrientation() )
{
Point aRot( maTextPos );
OUString aTransform( "translate(" );
aTransform += OUString::valueOf( aRot.X() ) + ",";
aTransform += OUString::valueOf( aRot.Y() ) + ")";
aTransform += " rotate(";
aTransform += OUString::valueOf( rFont.GetOrientation() * -0.1 );
aTransform += ")";
aTransform += " translate(";
aTransform += OUString::valueOf( -aRot.X() ) + ",";
aTransform += OUString::valueOf( -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