summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2017-12-01 10:59:36 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2017-12-04 09:07:27 +0100
commite83d7993d46b096ecc18c01d92d39e170cce18c1 (patch)
treedaa5c81c6dbd076027876128fa8ca958f9e1f0b4 /filter
parent3ed8466b55ace15a28761e06b6bb76ebd8758106 (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.hxx1
-rw-r--r--filter/source/svg/svgexport.cxx5
-rw-r--r--filter/source/svg/svgfilter.hxx2
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; };