Kaydet (Commit) 9c3d4419 authored tarafından Chr. Rossmanith's avatar Chr. Rossmanith Kaydeden (comit) Thorsten Behrens

tdf#56467: copy text of meta actions with valid text length

avoids !!br0ken!! in svg output

Change-Id: I7f99a26f3a995cbaeb1e520a411a8e1c31a8a61f
Reviewed-on: https://gerrit.libreoffice.org/15144Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarThorsten Behrens <Thorsten.Behrens@CIB.de>
üst 970417fa
......@@ -102,7 +102,8 @@ void SVGFontExport::implCollectGlyphs()
case( META_TEXT_ACTION ):
{
const MetaTextAction* pA = static_cast<const MetaTextAction*>(pAction);
aText = pA->GetText().copy( pA->GetIndex(), pA->GetLen() );
sal_Int32 aLength=std::min( pA->GetText().getLength(), pA->GetLen() );
aText = pA->GetText().copy( pA->GetIndex(), aLength );
}
break;
......@@ -116,14 +117,16 @@ void SVGFontExport::implCollectGlyphs()
case( META_TEXTARRAY_ACTION ):
{
const MetaTextArrayAction* pA = static_cast<const MetaTextArrayAction*>(pAction);
aText = pA->GetText().copy( pA->GetIndex(), pA->GetLen() );
sal_Int32 aLength=std::min( pA->GetText().getLength(), pA->GetLen() );
aText = pA->GetText().copy( pA->GetIndex(), aLength );
}
break;
case( META_STRETCHTEXT_ACTION ):
{
const MetaStretchTextAction* pA = static_cast<const MetaStretchTextAction*>(pAction);
aText = pA->GetText().copy( pA->GetIndex(), pA->GetLen() );
sal_Int32 aLength=std::min( pA->GetText().getLength(), pA->GetLen() );
aText = pA->GetText().copy( pA->GetIndex(), aLength );
}
break;
......
......@@ -3427,7 +3427,8 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf,
if( nWriteFlags & SVGWRITER_WRITE_TEXT )
{
const MetaTextAction* pA = static_cast<const MetaTextAction*>(pAction);
const OUString aText = pA->GetText().copy( pA->GetIndex(), pA->GetLen() );
sal_Int32 aLength = std::min( pA->GetText().getLength(), pA->GetLen() );
const OUString aText = pA->GetText().copy( pA->GetIndex(), aLength );
if( !aText.isEmpty() )
{
......@@ -3474,7 +3475,8 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf,
if( nWriteFlags & SVGWRITER_WRITE_TEXT )
{
const MetaTextArrayAction* pA = static_cast<const MetaTextArrayAction*>(pAction);
const OUString aText = pA->GetText().copy( pA->GetIndex(), pA->GetLen() );
sal_Int32 aLength = std::min( pA->GetText().getLength(), pA->GetLen() );
const OUString aText = pA->GetText().copy( pA->GetIndex(), aLength );
if( !aText.isEmpty() )
{
......@@ -3498,7 +3500,8 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf,
if( nWriteFlags & SVGWRITER_WRITE_TEXT )
{
const MetaStretchTextAction* pA = static_cast<const MetaStretchTextAction*>(pAction);
const OUString aText = pA->GetText().copy( pA->GetIndex(), pA->GetLen() );
sal_Int32 aLength = std::min( pA->GetText().getLength(), pA->GetLen() );
const OUString aText = pA->GetText().copy( pA->GetIndex(), aLength );
if( !aText.isEmpty() )
{
......
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