summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@suse.cz>2013-03-07 18:37:30 +0100
committerLuboš Luňák <l.lunak@suse.cz>2013-03-08 13:35:26 +0100
commit5c1c0a4eef933816685364feef93dfb090ff391d (patch)
treed7e25370a5f3fc9fbc7d543be34eb51b73eb84dd /xmloff
parent4596120336b575d94d305c4139054afd95d2f740 (diff)
function for duplicated code
Change-Id: If9d6a163abb5a1cbd64838ca005b14dcd51c4588
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/source/style/XMLFontStylesContext.cxx30
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." );