summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNicolas Dufour <nicoduf@yahoo.fr>2010-10-22 12:48:23 +0000
committerJazzyNico <nicoduf@yahoo.fr>2010-10-22 12:48:23 +0000
commit081c6d2ff2797d54e167371efa8e81cbb549cefe (patch)
treec7830f6771d61f7a7a4c8dbb5967c8ddddbabf4e /src
parentrepr wasn't updated immediately after some text editing operations, which mea... (diff)
downloadinkscape-081c6d2ff2797d54e167371efa8e81cbb549cefe.tar.gz
inkscape-081c6d2ff2797d54e167371efa8e81cbb549cefe.zip
PDF export. Fix for Bug #664335 (pdf export with cairo 1.10 defaults to version PDF-1.5).
Fixed bugs: - https://launchpad.net/bugs/664335 (bzr r9841)
Diffstat (limited to 'src')
-rw-r--r--src/extension/internal/cairo-render-context.cpp9
-rw-r--r--src/extension/internal/cairo-renderer-pdf-out.cpp11
2 files changed, 13 insertions, 7 deletions
diff --git a/src/extension/internal/cairo-render-context.cpp b/src/extension/internal/cairo-render-context.cpp
index 28d1db9a4..098c56a79 100644
--- a/src/extension/internal/cairo-render-context.cpp
+++ b/src/extension/internal/cairo-render-context.cpp
@@ -108,7 +108,7 @@ static cairo_status_t _write_callback(void *closure, const unsigned char *data,
CairoRenderContext::CairoRenderContext(CairoRenderer *parent) :
_dpi(72),
- _pdf_level(0),
+ _pdf_level(1),
_ps_level(1),
_eps(false),
_is_texttopath(FALSE),
@@ -782,6 +782,9 @@ CairoRenderContext::setupSurface(double width, double height)
#ifdef CAIRO_HAS_PDF_SURFACE
case CAIRO_SURFACE_TYPE_PDF:
surface = cairo_pdf_surface_create_for_stream(Inkscape::Extension::Internal::_write_callback, _stream, width, height);
+#if (CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 10, 0))
+ cairo_pdf_surface_restrict_to_version(surface, (cairo_pdf_version_t)_pdf_level);
+#endif
break;
#endif
#ifdef CAIRO_HAS_PS_SURFACE
@@ -791,8 +794,8 @@ CairoRenderContext::setupSurface(double width, double height)
return FALSE;
}
#if (CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 5, 2))
- cairo_ps_surface_restrict_to_level (surface, (cairo_ps_level_t)_ps_level);
- cairo_ps_surface_set_eps (surface, (cairo_bool_t) _eps);
+ cairo_ps_surface_restrict_to_level(surface, (cairo_ps_level_t)_ps_level);
+ cairo_ps_surface_set_eps(surface, (cairo_bool_t) _eps);
#endif
break;
#endif
diff --git a/src/extension/internal/cairo-renderer-pdf-out.cpp b/src/extension/internal/cairo-renderer-pdf-out.cpp
index cacaa03a1..32df1193b 100644
--- a/src/extension/internal/cairo-renderer-pdf-out.cpp
+++ b/src/extension/internal/cairo-renderer-pdf-out.cpp
@@ -135,11 +135,11 @@ CairoRendererPdfOutput::save(Inkscape::Extension::Output *mod, SPDocument *doc,
int level = 0;
try {
new_level = mod->get_param_enum("PDFversion");
-// if((new_level != NULL) && (g_ascii_strcasecmp("PDF-1.x", new_level) == 0))
-// level = 1;
+ if((new_level != NULL) && (g_ascii_strcasecmp("PDF-1.5", new_level) == 0))
+ level = 1;
}
catch(...) {
-// g_warning("Parameter <PDFversion> might not exist");
+ g_warning("Parameter <PDFversion> might not exist");
}
bool new_textToPath = FALSE;
@@ -237,7 +237,10 @@ CairoRendererPdfOutput::init (void)
"<name>Portable Document Format</name>\n"
"<id>org.inkscape.output.pdf.cairorenderer</id>\n"
"<param name=\"PDFversion\" gui-text=\"" N_("Restrict to PDF version:") "\" type=\"enum\" >\n"
- "<_item value='PDF14'>" N_("PDF 1.4") "</_item>\n"
+#if (CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 10, 0))
+ "<_item value='PDF-1.5'>" N_("PDF 1.5") "</_item>\n"
+#endif
+ "<_item value='PDF-1.4'>" N_("PDF 1.4") "</_item>\n"
"</param>\n"
"<param name=\"textToPath\" gui-text=\"" N_("Convert texts to paths") "\" type=\"boolean\">false</param>\n"
"<param name=\"textToLaTeX\" gui-text=\"" N_("PDF+LaTeX: Omit text in PDF, and create LaTeX file") "\" type=\"boolean\">false</param>\n"