diff options
author | Luboš Luňák <l.lunak@suse.cz> | 2013-03-07 18:37:30 +0100 |
---|---|---|
committer | Luboš Luňák <l.lunak@suse.cz> | 2013-03-08 13:35:26 +0100 |
commit | 5c1c0a4eef933816685364feef93dfb090ff391d (patch) | |
tree | d7e25370a5f3fc9fbc7d543be34eb51b73eb84dd /xmloff | |
parent | 4596120336b575d94d305c4139054afd95d2f740 (diff) |
function for duplicated code
Change-Id: If9d6a163abb5a1cbd64838ca005b14dcd51c4588
Diffstat (limited to 'xmloff')
-rw-r--r-- | xmloff/source/style/XMLFontStylesContext.cxx | 30 |
1 files changed, 2 insertions, 28 deletions
diff --git a/xmloff/source/style/XMLFontStylesContext.cxx b/xmloff/source/style/XMLFontStylesContext.cxx index 21b9cdb83d45..37de311e0d78 100644 --- a/xmloff/source/style/XMLFontStylesContext.cxx +++ b/xmloff/source/style/XMLFontStylesContext.cxx @@ -252,38 +252,12 @@ void XMLFontStyleContextFontFaceUri::handleEmbeddedFont( const OUString& url ) if( url.indexOf( '/' ) > -1 ) // TODO what if more levels? storage.set( storage->openStorageElement( url.copy( 0, url.indexOf( '/' )), ::embed::ElementModes::READ ), uno::UNO_QUERY_THROW ); - OUString fileUrl = EmbeddedFontsHelper::fileUrlForTemporaryFont( fontName, "?" ); - osl::File file( fileUrl ); - switch( file.open( osl_File_OpenFlag_Create | osl_File_OpenFlag_Write )) - { - case osl::File::E_None: - break; // ok - default: - SAL_WARN( "xmloff", "Cannot open file for temporary font" ); - return; - } uno::Reference< io::XInputStream > inputStream; inputStream.set( storage->openStreamElement( url.copy( url.indexOf( '/' ) + 1 ), ::embed::ElementModes::READ ), UNO_QUERY_THROW ); - for(;;) - { - uno::Sequence< sal_Int8 > buffer; - int read = inputStream->readBytes( buffer, 1024 ); - sal_uInt64 dummy; - if( read > 0 ) - file.write( buffer.getConstArray(), read, dummy ); - if( read < 1024 ) - break; - } + if( EmbeddedFontsHelper::addEmbeddedFont( inputStream, fontName, "?" )) + GetImport().NotifyEmbeddedFontRead(); inputStream->closeInput(); - if( file.close() != osl::File::E_None ) - { - SAL_WARN( "xmloff", "Writing temporary font file failed" ); - osl::File::remove( fileUrl ); - return; - } - EmbeddedFontsHelper::activateFont( fontName, fileUrl ); - GetImport().NotifyEmbeddedFontRead(); } else SAL_WARN( "xmloff", "External URL for font file not handled." ); |