summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gs/src/gdevpdf.c2
-rw-r--r--gs/src/gdevpdfu.c46
-rw-r--r--gs/src/gdevpdfx.h25
-rw-r--r--gs/src/gdevpdtb.c80
-rw-r--r--gs/src/gdevpdtb.h13
-rw-r--r--gs/src/gdevpdtd.c12
-rw-r--r--gs/src/gdevpdtf.c15
-rw-r--r--gs/src/gdevpdti.c5
-rw-r--r--gs/src/gdevpdtw.c44
-rw-r--r--gs/src/gdevpdtw.h5
10 files changed, 8 insertions, 239 deletions
diff --git a/gs/src/gdevpdf.c b/gs/src/gdevpdf.c
index a2d65ac9b..77b4f2975 100644
--- a/gs/src/gdevpdf.c
+++ b/gs/src/gdevpdf.c
@@ -1123,11 +1123,9 @@ pdf_close(gx_device * dev)
if (code >= 0)
code = code1;
#endif
-#if PDFW_DELAYED_STREAMS
code1 = pdf_free_resource_objects(pdev, resourceOther);
if (code >= 0)
code = code1;
-#endif
/* Create the Pages tree. */
diff --git a/gs/src/gdevpdfu.c b/gs/src/gdevpdfu.c
index 4829e47d9..2afb34ada 100644
--- a/gs/src/gdevpdfu.c
+++ b/gs/src/gdevpdfu.c
@@ -482,10 +482,7 @@ pdf_cancel_resource(gx_device_pdf * pdev, pdf_resource_t *pres, pdf_resource_typ
/* fixme : remove *pres from resource chain. */
pres->where_used = 0;
pres->object->written = true;
- if (rtype == resourceXObject || rtype == resourceCharProc
-#if PDFW_DELAYED_STREAMS
- || rtype == resourceOther
-#endif
+ if (rtype == resourceXObject || rtype == resourceCharProc || rtype == resourceOther
) {
int code = cos_stream_release_pieces((cos_stream_t *)pres->object);
@@ -1388,15 +1385,9 @@ pdf_begin_data(gx_device_pdf *pdev, pdf_data_writer_t *pdw)
DATA_STREAM_BINARY | DATA_STREAM_COMPRESS, 0);
}
-#if PDFW_DELAYED_STREAMS
int
pdf_append_data_stream_filters(gx_device_pdf *pdev, pdf_data_writer_t *pdw,
int orig_options, gs_id object_id)
-#else
-int
-pdf_begin_data_stream(gx_device_pdf *pdev, pdf_data_writer_t *pdw,
- int orig_options, gs_id object_id)
-#endif
{
stream *s = pdev->strm;
int options = orig_options;
@@ -1440,7 +1431,7 @@ pdf_begin_data_stream(gx_device_pdf *pdev, pdf_data_writer_t *pdw,
pdw->encrypted = true;
} else
pdw->encrypted = false;
- if ((options & DATA_STREAM_BINARY) || !PDFW_DELAYED_STREAMS) {
+ if (options & DATA_STREAM_BINARY) {
code = psdf_begin_binary((gx_device_psdf *)pdev, &pdw->binary);
if (code < 0)
return code;
@@ -1458,7 +1449,6 @@ pdf_begin_data_stream(gx_device_pdf *pdev, pdf_data_writer_t *pdw,
#undef USE_FLATE
}
-#if PDFW_DELAYED_STREAMS
int
pdf_begin_data_stream(gx_device_pdf *pdev, pdf_data_writer_t *pdw,
int options, gs_id object_id)
@@ -1492,38 +1482,6 @@ pdf_end_data(pdf_data_writer_t *pdw)
return 0;
}
-#else
-/* End a data stream. */
-int
-pdf_end_data(pdf_data_writer_t *pdw)
-{
- gx_device_pdf *pdev = (gx_device_pdf *)pdw->binary.dev;
- int code = psdf_end_binary(&pdw->binary);
- long length = stell(pdev->strm) - pdw->start;
-
- if (code < 0)
- return code;
- if (pdw->encrypted)
- pdf_end_encrypt(pdev);
- stream_puts(pdev->strm, "\nendstream\n");
-# if PS2WRITE
- if (pdev->OrderResources) {
- int pos = stell(pdev->strm);
-
- sseek(pdev->strm, pdw->length_pos);
- pprintld1(pdev->strm, "%ld", length);
- sseek(pdev->strm, pos);
- pdf_end_separate(pdev);
- return 0;
- }
-# endif
- pdf_end_separate(pdev);
- pdf_open_separate(pdev, pdw->length_id);
- pprintld1(pdev->strm, "%ld\n", length);
- return pdf_end_separate(pdev);
-}
-#endif
-
/* Create a Function object. */
private int pdf_function_array(gx_device_pdf *pdev, cos_array_t *pca,
const gs_function_info_t *pinfo);
diff --git a/gs/src/gdevpdfx.h b/gs/src/gdevpdfx.h
index 1220a5925..f5b530f0c 100644
--- a/gs/src/gdevpdfx.h
+++ b/gs/src/gdevpdfx.h
@@ -30,7 +30,6 @@
#include "gdevpsdf.h"
#include "gxdevmem.h"
-#define PDFW_DELAYED_STREAMS (PS2WRITE & 1) /* Old code = 0, new code = 1 */
#define CONVERT_CFF_TO_TYPE1 (PS2WRITE & 0) /* Old code = 0, new code = 1 */
#define FINE_GLYPH_USAGE 1 /* Old code = 0, new code = 1 */
@@ -108,10 +107,8 @@ typedef enum {
resourceShading,
resourceXObject,
#if PS2WRITE
-#if PDFW_DELAYED_STREAMS
resourceOther, /* Anything else that needs to be stored for a time. */
#endif
-#endif
resourceFont,
/*
* Internally used (pseudo-)resources.
@@ -128,7 +125,6 @@ typedef enum {
} pdf_resource_type_t;
#if PS2WRITE
-#if PDFW_DELAYED_STREAMS
#define PDF_RESOURCE_TYPE_NAMES\
"/ColorSpace", "/ExtGState", "/Pattern", "/Shading", "/XObject", 0, "/Font",\
0, "/Font", "/CMap", "/FontDescriptor", 0
@@ -146,23 +142,6 @@ typedef enum {
&st_pdf_font_descriptor, /* gdevpdff.h / gdevpdff.c */\
&st_pdf_resource,\
&st_pdf_resource
-#else /* PDFW_DELAYED_STREAMS */
- "/ColorSpace", "/ExtGState", "/Pattern", "/Shading", "/XObject", "/Font",\
- 0, "/Font", "/CMap", "/FontDescriptor", 0
-#define PDF_RESOURCE_TYPE_STRUCTS\
- &st_pdf_color_space, /* gdevpdfg.h / gdevpdfc.c */\
- &st_pdf_resource, /* see below */\
- &st_pdf_pattern,\
- &st_pdf_resource,\
- &st_pdf_x_object, /* see below */\
- &st_pdf_font_resource, /* gdevpdff.h / gdevpdff.c */\
- &st_pdf_char_proc, /* gdevpdff.h / gdevpdff.c */\
- &st_pdf_font_resource, /* gdevpdff.h / gdevpdff.c */\
- &st_pdf_resource,\
- &st_pdf_font_descriptor, /* gdevpdff.h / gdevpdff.c */\
- &st_pdf_resource,\
- &st_pdf_resource
-#endif /* PDFW_DELAYED_STREAMS */
#else /* PS2WRITE */
#define PDF_RESOURCE_TYPE_NAMES\
"/ColorSpace", "/ExtGState", "/Pattern", "/Shading", "/XObject", "/Font",\
@@ -988,10 +967,8 @@ typedef struct pdf_data_writer_s {
#if PS2WRITE
long length_pos;
#endif
-#if PDFW_DELAYED_STREAMS
pdf_resource_t *pres;
gx_device_pdf *pdev; /* temporary for backward compatibility of pdf_end_data prototype. */
-#endif
long length_id;
bool encrypted;
} pdf_data_writer_t;
@@ -1006,10 +983,8 @@ typedef struct pdf_data_writer_s {
#define DATA_STREAM_ENCRYPT 8 /* Encrypt data. */
int pdf_begin_data_stream(gx_device_pdf *pdev, pdf_data_writer_t *pdw,
int options, gs_id object_id);
-#if PDFW_DELAYED_STREAMS
int pdf_append_data_stream_filters(gx_device_pdf *pdev, pdf_data_writer_t *pdw,
int orig_options, gs_id object_id);
-#endif
/* begin_data = begin_data_binary with both options = true. */
int pdf_begin_data(gx_device_pdf *pdev, pdf_data_writer_t *pdw);
diff --git a/gs/src/gdevpdtb.c b/gs/src/gdevpdtb.c
index 4f06fb50b..0c66a836f 100644
--- a/gs/src/gdevpdtb.c
+++ b/gs/src/gdevpdtb.c
@@ -71,22 +71,15 @@ struct pdf_base_font_s {
*/
int num_glyphs;
byte *CIDSet; /* for CIDFonts */
-#if !PDFW_DELAYED_STREAMS
- long FontFile_id; /* non-0 iff the font is embedded */
-#endif
gs_string font_name;
bool written;
-#if PDFW_DELAYED_STREAMS
cos_dict_t *FontFile;
-#endif
};
BASIC_PTRS(pdf_base_font_ptrs) {
GC_OBJ_ELT(pdf_base_font_t, copied),
GC_OBJ_ELT(pdf_base_font_t, complete),
GC_OBJ_ELT(pdf_base_font_t, CIDSet),
-#if PDFW_DELAYED_STREAMS
GC_OBJ_ELT(pdf_base_font_t, FontFile),
-#endif
GC_STRING_ELT(pdf_base_font_t, font_name)
};
gs_private_st_basic(st_pdf_base_font, pdf_base_font_t, "pdf_base_font_t",
@@ -158,21 +151,9 @@ pdf_begin_fontfile(gx_device_pdf *pdev, long FontFile_id,
const char *entries, long len1, pdf_data_writer_t *pdw)
{
int code;
-#if !PDFW_DELAYED_STREAMS
- stream *s;
-
- pdf_open_separate(pdev, FontFile_id);
- s = pdev->strm;
- stream_puts(s, "<<");
- if (entries)
- stream_puts(pdev->strm, entries);
- if (len1 >= 0)
- pprintld1(pdev->strm, "/Length1 %ld", len1);
-#endif
code = pdf_begin_data_stream(pdev, pdw, DATA_STREAM_BINARY | DATA_STREAM_ENCRYPT |
(pdev->CompressFonts ?
DATA_STREAM_COMPRESS : 0), FontFile_id);
-#if PDFW_DELAYED_STREAMS
if (len1 >= 0) {
code = cos_dict_put_c_key_int((cos_dict_t *)pdw->pres->object, "/Length1", len1);
if (code < 0)
@@ -187,7 +168,6 @@ pdf_begin_fontfile(gx_device_pdf *pdev, long FontFile_id,
if (code < 0)
return code;
}
-#endif
return code;
}
@@ -195,13 +175,9 @@ pdf_begin_fontfile(gx_device_pdf *pdev, long FontFile_id,
private int
pdf_end_fontfile(gx_device_pdf *pdev, pdf_data_writer_t *pdw)
{
-#if !PDFW_DELAYED_STREAMS
- return pdf_end_data(pdw);
-#else
/* We would like to call pdf_end_data,
but we don't want to write the object to the output file now. */
return pdf_close_aside(pdw->pdev);
-#endif
}
/* ---------------- Public ---------------- */
@@ -464,16 +440,8 @@ pdf_write_FontFile_entry(gx_device_pdf *pdev, pdf_base_font_t *pbfont)
# endif
FontFile_key = "/FontFile3";
}
-#if !PDFW_DELAYED_STREAMS
- if (pbfont->FontFile_id == 0)
- pbfont->FontFile_id = pdf_obj_ref(pdev);
-#endif
stream_puts(s, FontFile_key);
-#if !PDFW_DELAYED_STREAMS
- pprintld1(s, " %ld 0 R", pbfont->FontFile_id);
-#else
pprintld1(s, " %ld 0 R", pbfont->FontFile->id);
-#endif
return 0;
}
@@ -530,15 +498,9 @@ pdf_adjust_font_name(gx_device_pdf *pdev, long id, pdf_base_font_t *pbfont)
/*
* Write an embedded font.
*/
-#if PDFW_DELAYED_STREAMS
int
pdf_write_embedded_font(gx_device_pdf *pdev, pdf_base_font_t *pbfont,
gs_int_rect *FontBBox, gs_id rid, cos_dict_t **ppcd)
-#else
-int
-pdf_write_embedded_font(gx_device_pdf *pdev, pdf_base_font_t *pbfont,
- gs_int_rect *FontBBox, gs_id rid)
-#endif
{
bool do_subset = pdf_do_subset_font(pdev, pbfont, rid);
gs_font_base *out_font =
@@ -550,17 +512,11 @@ pdf_write_embedded_font(gx_device_pdf *pdev, pdf_base_font_t *pbfont,
if (pbfont->written)
return 0; /* already written */
-#if !PDFW_DELAYED_STREAMS
- if (pbfont->FontFile_id == 0)
- pbfont->FontFile_id = pdf_obj_ref(pdev);
- FontFile_id = pbfont->FontFile_id;
-#else
FontFile_id = -1; /* A stub for old code compatibility. */
/* We write the font data to a delayed stream
to provide it to be written after the font descriptor
for ps2write needs.
*/
-#endif
if (pdev->CompatibilityLevel == 1.2 &&
!do_subset && !pbfont->is_standard ) {
/*
@@ -706,10 +662,8 @@ pdf_write_embedded_font(gx_device_pdf *pdev, pdf_base_font_t *pbfont,
(gs_font_cid2 *)out_font,
CID2_OPTIONS, NULL, 0, &fnstr);
finish:
-# if PDFW_DELAYED_STREAMS
- pdf_reserve_object_id(pdev, writer.pres, gs_no_id);
- *ppcd = (cos_dict_t *)writer.pres->object;
-# endif
+ pdf_reserve_object_id(pdev, writer.pres, gs_no_id);
+ *ppcd = (cos_dict_t *)writer.pres->object;
if (code < 0) {
pdf_end_fontfile(pdev, &writer);
return code;
@@ -758,7 +712,6 @@ pdf_write_CharSet(gx_device_pdf *pdev, pdf_base_font_t *pbfont)
/*
* Write the CIDSet object for a subsetted CIDFont.
*/
-#if PDFW_DELAYED_STREAMS
int
pdf_write_CIDSet(gx_device_pdf *pdev, pdf_base_font_t *pbfont,
long *pcidset_id)
@@ -780,33 +733,6 @@ pdf_write_CIDSet(gx_device_pdf *pdev, pdf_base_font_t *pbfont,
*pcidset_id = pdf_resource_id(writer.pres);
return 0;
}
-#else
-int
-pdf_write_CIDSet(gx_device_pdf *pdev, pdf_base_font_t *pbfont,
- long *pcidset_id)
-{
- pdf_data_writer_t writer;
- long cidset_id = pdf_begin_separate(pdev);
- int code;
- stream *s = pdev->strm;
-
- stream_puts(s, "<<");
- code = pdf_begin_data(pdev, &writer);
- if (code >= 0) {
- stream_write(writer.binary.strm, pbfont->CIDSet,
- (pbfont->num_glyphs + 7) / 8);
- code = pdf_end_data(&writer);
- if (code >= 0) {
- *pcidset_id = cidset_id;
- return code;
- }
- }
- /* code < 0 */
- pdf_end_separate(pdev);
- return code;
-}
-#endif
-
/*
* Check whether a base font is standard.
*/
@@ -815,7 +741,6 @@ pdf_is_standard_font(pdf_base_font_t *bfont)
{ return bfont->is_standard;
}
-#if PDFW_DELAYED_STREAMS
void
pdf_set_FontFile_object(pdf_base_font_t *bfont, cos_dict_t *pcd)
{
@@ -826,4 +751,3 @@ pdf_get_FontFile_object(pdf_base_font_t *bfont)
{
return bfont->FontFile;
}
-#endif
diff --git a/gs/src/gdevpdtb.h b/gs/src/gdevpdtb.h
index 96f86f14f..e072289de 100644
--- a/gs/src/gdevpdtb.h
+++ b/gs/src/gdevpdtb.h
@@ -134,13 +134,8 @@ int pdf_write_FontFile_entry(gx_device_pdf *pdev, pdf_base_font_t *pbfont);
/*
* Write an embedded font, possibly subsetted.
*/
-#if PDFW_DELAYED_STREAMS
int pdf_write_embedded_font(gx_device_pdf *pdev, pdf_base_font_t *pbfont,
gs_int_rect *FontBBox, gs_id rid, cos_dict_t **ppcd);
-#else
-int pdf_write_embedded_font(gx_device_pdf *pdev, pdf_base_font_t *pbfont,
- gs_int_rect *FontBBox, gs_id rid);
-#endif
/*
* Write the CharSet data for a subsetted font, as a PDF string.
@@ -158,11 +153,7 @@ int pdf_write_CIDSet(gx_device_pdf *pdev, pdf_base_font_t *pbfont,
*/
bool pdf_is_standard_font(pdf_base_font_t *bfont);
-#if PDFW_DELAYED_STREAMS
-void
-pdf_set_FontFile_object(pdf_base_font_t *bfont, cos_dict_t *pcd);
-const cos_dict_t *
-pdf_get_FontFile_object(pdf_base_font_t *bfont);
-#endif
+void pdf_set_FontFile_object(pdf_base_font_t *bfont, cos_dict_t *pcd);
+const cos_dict_t * pdf_get_FontFile_object(pdf_base_font_t *bfont);
#endif /* gdevpdtb_INCLUDED */
diff --git a/gs/src/gdevpdtd.c b/gs/src/gdevpdtd.c
index 3d777d34b..34120cfb4 100644
--- a/gs/src/gdevpdtd.c
+++ b/gs/src/gdevpdtd.c
@@ -559,15 +559,9 @@ pdf_finish_FontDescriptor(gx_device_pdf *pdev, pdf_font_descriptor_t *pfd)
(!pfd->embed ||
(code = pdf_write_embedded_font(pdev, pfd->base_font,
&pfd->common.values.FontBBox,
- pfd->common.rid
-# if PDFW_DELAYED_STREAMS
- , &pcd
-# endif
- )) >= 0)
+ pfd->common.rid, &pcd)) >= 0)
) {
-# if PDFW_DELAYED_STREAMS
- pdf_set_FontFile_object(pfd->base_font, pcd);
-# endif
+ pdf_set_FontFile_object(pfd->base_font, pcd);
}
return code;
}
@@ -644,7 +638,6 @@ pdf_write_FontDescriptor(gx_device_pdf *pdev, pdf_font_descriptor_t *pfd)
stream_puts(s, ">>\n");
pdf_end_separate(pdev);
pfd->common.object->written = true;
-# if PDFW_DELAYED_STREAMS
{ const cos_object_t *pco = (const cos_object_t *)pdf_get_FontFile_object(pfd->base_font);
if (pco != NULL) {
code = COS_WRITE_OBJECT(pco, pdev);
@@ -652,6 +645,5 @@ pdf_write_FontDescriptor(gx_device_pdf *pdev, pdf_font_descriptor_t *pfd)
return code;
}
}
-# endif
return 0;
}
diff --git a/gs/src/gdevpdtf.c b/gs/src/gdevpdtf.c
index d3da09e59..ab6decced 100644
--- a/gs/src/gdevpdtf.c
+++ b/gs/src/gdevpdtf.c
@@ -938,20 +938,5 @@ int
pdf_cmap_alloc(gx_device_pdf *pdev, const gs_cmap_t *pcmap,
pdf_resource_t **ppres, int font_index_only)
{
-#if PDFW_DELAYED_STREAMS
return pdf_write_cmap(pdev, pcmap, ppres, font_index_only);
-#else
- /*
- * We don't store any of the contents of the CMap: instead, we write
- * it out immediately and just save the id. Since some CMaps are very
- * large, we should wait, and only write the entries actually used.
- * This is a project for some future date....
- */
- int code = pdf_alloc_resource(pdev, resourceCMap,
- pcmap->id + max(font_index_only, 0), ppres, 0L);
-
- if (code < 0)
- return code;
- return pdf_write_cmap(pdev, pcmap, *ppres, font_index_only);
-#endif
}
diff --git a/gs/src/gdevpdti.c b/gs/src/gdevpdti.c
index 3a41d970f..606644e34 100644
--- a/gs/src/gdevpdti.c
+++ b/gs/src/gdevpdti.c
@@ -468,13 +468,8 @@ pdf_open_aside(gx_device_pdf *pdev, pdf_resource_type_t rtype,
if (s == 0)
return_error(gs_error_VMerror);
pdev->strm = s;
-#if PDFW_DELAYED_STREAMS
code = pdf_append_data_stream_filters(pdev, &writer,
options | DATA_STREAM_NOLENGTH, 0);
-#else
- code = pdf_begin_data_stream(pdev, &writer,
- options | DATA_STREAM_NOLENGTH, 0);
-#endif
if (code < 0) {
pdev->strm = save_strm;
return code;
diff --git a/gs/src/gdevpdtw.c b/gs/src/gdevpdtw.c
index 69dacd9dd..98be35636 100644
--- a/gs/src/gdevpdtw.c
+++ b/gs/src/gdevpdtw.c
@@ -504,10 +504,6 @@ pdf_write_contents_cid2(gx_device_pdf *pdev, pdf_font_resource_t *pdfont)
pdf_data_writer_t writer;
int i;
-#if !PDFW_DELAYED_STREAMS
- pdf_open_separate(pdev, map_id);
- stream_puts(pdev->strm, "<<");
-#endif
pdf_begin_data_stream(pdev, &writer,
DATA_STREAM_BINARY | DATA_STREAM_COMPRESS | DATA_STREAM_ENCRYPT, map_id);
for (i = 0; i < count; ++i) {
@@ -677,7 +673,6 @@ pdf_write_cid_system_info(gx_device_pdf *pdev,
* Write a CMap resource. We pass the CMap object as well as the resource,
* because we write CMaps when they are created.
*/
-#if PDFW_DELAYED_STREAMS
int
pdf_write_cmap(gx_device_pdf *pdev, const gs_cmap_t *pcmap,
pdf_resource_t **ppres /*CMap*/, int font_index_only)
@@ -730,42 +725,3 @@ pdf_write_cmap(gx_device_pdf *pdev, const gs_cmap_t *pcmap,
return code;
return code;
}
-#else
-int
-pdf_write_cmap(gx_device_pdf *pdev, const gs_cmap_t *pcmap,
- pdf_resource_t *pres /*CMap*/, int font_index_only)
-{
- pdf_data_writer_t writer;
- stream *s;
- int code;
-
- if (pres->object->written)
- return 0;
- pdf_open_separate(pdev, pres->object->id);
- s = pdev->strm;
- stream_puts(s, "<<");
- if (!pcmap->ToUnicode) {
- pprintd1(s, "/WMode %d/CMapName", pcmap->WMode);
- pdf_put_name(pdev, pcmap->CMapName.data, pcmap->CMapName.size);
- stream_puts(s, "/CIDSystemInfo");
- code = pdf_write_cid_system_info(pdev, pcmap->CIDSystemInfo, pres->object->id);
- if (code < 0)
- return code;
- }
- code = pdf_begin_data_stream(pdev, &writer,
- DATA_STREAM_NOT_BINARY | DATA_STREAM_ENCRYPT |
- (pdev->CompressFonts ?
- DATA_STREAM_COMPRESS : 0), pres->object->id);
- if (code < 0)
- return code;
- code = psf_write_cmap(writer.binary.strm, pcmap,
- pdf_put_name_chars_proc(pdev), NULL, font_index_only);
- if (code < 0)
- return code;
- code = pdf_end_data(&writer);
- if (code < 0)
- return code;
- pres->object->written = true;
- return 0;
-}
-#endif
diff --git a/gs/src/gdevpdtw.h b/gs/src/gdevpdtw.h
index 35db19f80..654dcf822 100644
--- a/gs/src/gdevpdtw.h
+++ b/gs/src/gdevpdtw.h
@@ -66,12 +66,7 @@ int pdf_write_cid_system_info(gx_device_pdf *pdev,
* Write a CMap resource. We pass the CMap object as well as the resource,
* because we write CMaps when they are created.
*/
-#if PDFW_DELAYED_STREAMS
int pdf_write_cmap(gx_device_pdf *pdev, const gs_cmap_t *pcmap,
pdf_resource_t **ppres, int font_index_only);
-#else
-int pdf_write_cmap(gx_device_pdf *pdev, const gs_cmap_t *pcmap,
- pdf_resource_t *pres, int font_index_only);
-#endif
#endif /* gdevpdtw_INCLUDED */