diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-12-01 10:59:36 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-12-04 09:07:27 +0100 |
commit | e83d7993d46b096ecc18c01d92d39e170cce18c1 (patch) | |
tree | daa5c81c6dbd076027876128fa8ca958f9e1f0b4 /filter | |
parent | 3ed8466b55ace15a28761e06b6bb76ebd8758106 (diff) |
EPUB export, fixed layout: disable DTD string in SVG header
epubcheck complains:
ERROR(HTM-003): test.epub/OEBPS/images/image0001.svg(5675,37): External entities are not allowed in EPUB v3 documents. External entity declaration found: %svg-extensibility.mod.
and similar ones. Just not writing the DTD header is enough to address
the error.
Change-Id: I5307e932a0f07585297cce734aceae77e43cc7a6
Reviewed-on: https://gerrit.libreoffice.org/45648
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'filter')
-rw-r--r-- | filter/source/svg/impsvgdialog.hxx | 1 | ||||
-rw-r--r-- | filter/source/svg/svgexport.cxx | 5 | ||||
-rw-r--r-- | filter/source/svg/svgfilter.hxx | 2 |
3 files changed, 7 insertions, 1 deletions
diff --git a/filter/source/svg/impsvgdialog.hxx b/filter/source/svg/impsvgdialog.hxx index 0e31fc33bef1..9f1d04fa9a32 100644 --- a/filter/source/svg/impsvgdialog.hxx +++ b/filter/source/svg/impsvgdialog.hxx @@ -31,6 +31,7 @@ #define SVG_EXPORTFILTER_CONFIGPATH "Office.Common/Filter/SVG/Export/" #define SVG_PROP_TINYPROFILE "TinyMode" +#define SVG_PROP_DTDSTRING "DTDString" #define SVG_PROP_EMBEDFONTS "EmbedFonts" #define SVG_PROP_NATIVEDECORATION "UseNativeTextDecoration" #define SVG_PROP_OPACITY "Opacity" diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx index ce4c169f78bc..ab4cb14f5910 100644 --- a/filter/source/svg/svgexport.cxx +++ b/filter/source/svg/svgexport.cxx @@ -317,6 +317,9 @@ SVGExport::SVGExport( // TinyProfile mbIsUseTinyProfile = aFilterDataHashMap.getUnpackedValueOrDefault(SVG_PROP_TINYPROFILE, false); + // DTD string + mbIsUseDTDString = aFilterDataHashMap.getUnpackedValueOrDefault(SVG_PROP_DTDSTRING, true); + // Font Embedding comphelper::SequenceAsHashMap::const_iterator iter = aFilterDataHashMap.find(SVG_PROP_EMBEDFONTS); if(iter==aFilterDataHashMap.end()) @@ -2307,7 +2310,7 @@ void SVGExport::writeMtf( const GDIMetaFile& rMtf ) rtl::OUString aAttr; Reference< XExtendedDocumentHandler> xExtDocHandler( GetDocHandler(), UNO_QUERY ); - if( xExtDocHandler.is() ) + if( xExtDocHandler.is() && IsUseDTDString() ) xExtDocHandler->unknown( SVG_DTD_STRING ); aAttr = OUString::number( aSize.Width() ); diff --git a/filter/source/svg/svgfilter.hxx b/filter/source/svg/svgfilter.hxx index 11ae4dea86cc..e006e8071684 100644 --- a/filter/source/svg/svgfilter.hxx +++ b/filter/source/svg/svgfilter.hxx @@ -71,6 +71,7 @@ static const OUString sPlaceholderTag( "<[:isPlaceholder:]>" ); class SVGExport : public SvXMLExport { bool mbIsUseTinyProfile; + bool mbIsUseDTDString; bool mbIsEmbedFonts; bool mbIsUseOpacity; bool mbIsUseNativeTextDecoration; @@ -85,6 +86,7 @@ public: virtual ~SVGExport() override; bool IsUseTinyProfile() const { return mbIsUseTinyProfile; }; + bool IsUseDTDString() const { return mbIsUseDTDString; }; bool IsEmbedFonts() const { return mbIsEmbedFonts; }; bool IsUseOpacity() const { return mbIsUseOpacity; }; bool IsUseNativeTextDecoration() const { return mbIsUseNativeTextDecoration; }; |