Kaydet (Commit) 4a627a57 authored tarafından Caolán McNamara's avatar Caolán McNamara

implement pdf export of underline for outlined font

just the simplest case of a straight solid line which is outlined,
i.e. border in font color and filled with white

Change-Id: I7d670a543475b6457cb2827e74a05bba6c4a91ea
Reviewed-on: https://gerrit.libreoffice.org/57778
Tested-by: Jenkins
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 3c51047e
......@@ -7408,6 +7408,27 @@ void PDFWriterImpl::drawStraightTextLine( OStringBuffer& aLine, long nWidth, Fon
if ( !nLineHeight )
return;
// outline attribute ?
if (m_aCurrentPDFState.m_aFont.IsOutline() && eTextLine == LINESTYLE_SINGLE)
{
appendStrokingColor(aColor, aLine); // stroke with text color
aLine.append( " " );
Color aNonStrokeColor(COL_WHITE); // fill with white
appendNonStrokingColor(aNonStrokeColor, aLine);
aLine.append( "\n" );
aLine.append( "0.25 w \n" ); // same line thickness as in drawLayout
// draw rectangle instead
aLine.append( "0 " );
m_aPages.back().appendMappedLength( static_cast<sal_Int32>(-nLinePos * 1.5), aLine );
aLine.append( " " );
m_aPages.back().appendMappedLength( static_cast<sal_Int32>(nWidth), aLine, false );
aLine.append( ' ' );
m_aPages.back().appendMappedLength( static_cast<sal_Int32>(nLineHeight), aLine );
aLine.append( " re h B\n" );
return;
}
m_aPages.back().appendMappedLength( static_cast<sal_Int32>(nLineHeight), aLine );
aLine.append( " w " );
appendStrokingColor( aColor, aLine );
......
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