summaryrefslogtreecommitdiff
path: root/src/cairo-ps-surface.c
diff options
context:
space:
mode:
authorAdrian Johnson <ajohnson@redneon.com>2014-10-31 19:06:42 +1030
committerAdrian Johnson <ajohnson@redneon.com>2014-10-31 19:26:05 +1030
commite4b78424ac82588bcb9b855d5b6d5872050d33f9 (patch)
tree83c1c4ea0a927524cf29675e1d5add7d9aff95a7 /src/cairo-ps-surface.c
parentb4e218c3e8402e149115a59406796b751118237f (diff)
downloadcairo-e4b78424ac82588bcb9b855d5b6d5872050d33f9.tar.gz
pdf-operators: only wrap text strings for PS output
since the PS Document Structing Conventions impose a 255 character line limit. PDF does not require wrapping. pdf-operators is designed to emit the same output for PS and PDF. Unfortunately some PDF interpreters don't like strings split with '\\\n' and some PS interpreters don't like strings split with ')('. So we are forced to make pdf-operators handling string wrapping differently for PDF and PS. Bug 85662
Diffstat (limited to 'src/cairo-ps-surface.c')
-rw-r--r--src/cairo-ps-surface.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c
index 706e30575..03eba62db 100644
--- a/src/cairo-ps-surface.c
+++ b/src/cairo-ps-surface.c
@@ -628,7 +628,8 @@ _cairo_ps_surface_analyze_user_font_subset (cairo_scaled_font_subset_t *font_sub
type3_surface = _cairo_type3_glyph_surface_create (font_subset->scaled_font,
NULL,
_cairo_ps_emit_imagemask,
- surface->font_subsets);
+ surface->font_subsets,
+ TRUE);
for (i = 0; i < font_subset->num_glyphs; i++) {
status = _cairo_type3_glyph_surface_analyze_glyph (type3_surface,
@@ -676,7 +677,8 @@ _cairo_ps_surface_emit_type3_font_subset (cairo_ps_surface_t *surface,
type3_surface = _cairo_type3_glyph_surface_create (font_subset->scaled_font,
NULL,
_cairo_ps_emit_imagemask,
- surface->font_subsets);
+ surface->font_subsets,
+ TRUE);
status = type3_surface->status;
if (unlikely (status))
return status;
@@ -1068,7 +1070,8 @@ _cairo_ps_surface_create_for_stream_internal (cairo_output_stream_t *stream,
_cairo_pdf_operators_init (&surface->pdf_operators,
surface->stream,
&surface->cairo_to_ps,
- surface->font_subsets);
+ surface->font_subsets,
+ TRUE);
surface->num_pages = 0;
cairo_list_init (&surface->document_media);