diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2018-01-30 16:14:24 +0100 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2018-01-31 11:57:00 +0100 |
commit | 43e6a76ff86747501b77f2e485bdfcd8c067fb8f (patch) | |
tree | a74407012dd8867f58d307212096920cfc1c642b | |
parent | e4b3a9d4c74272d421492b4967c6190cf26f8a73 (diff) | |
download | mupdf-43e6a76ff86747501b77f2e485bdfcd8c067fb8f.tar.xz |
Use convenience pdf dictionary/array creation functions.
-rw-r--r-- | source/pdf/pdf-annot-edit.c | 17 | ||||
-rw-r--r-- | source/pdf/pdf-clean-file.c | 2 | ||||
-rw-r--r-- | source/pdf/pdf-device.c | 34 | ||||
-rw-r--r-- | source/pdf/pdf-field.c | 2 | ||||
-rw-r--r-- | source/pdf/pdf-font.c | 76 | ||||
-rw-r--r-- | source/pdf/pdf-form.c | 6 | ||||
-rw-r--r-- | source/pdf/pdf-image.c | 82 | ||||
-rw-r--r-- | source/pdf/pdf-interpret.c | 6 | ||||
-rw-r--r-- | source/pdf/pdf-js.c | 2 | ||||
-rw-r--r-- | source/pdf/pdf-op-filter.c | 10 | ||||
-rw-r--r-- | source/pdf/pdf-page.c | 10 | ||||
-rw-r--r-- | source/pdf/pdf-parse.c | 36 | ||||
-rw-r--r-- | source/pdf/pdf-portfolio.c | 22 | ||||
-rw-r--r-- | source/pdf/pdf-write.c | 52 | ||||
-rw-r--r-- | source/pdf/pdf-xobject.c | 8 | ||||
-rw-r--r-- | source/pdf/pdf-xref.c | 8 | ||||
-rw-r--r-- | source/tools/pdfmerge.c | 2 | ||||
-rw-r--r-- | source/tools/pdfposter.c | 18 |
18 files changed, 188 insertions, 205 deletions
diff --git a/source/pdf/pdf-annot-edit.c b/source/pdf/pdf-annot-edit.c index 64678240..04a11c08 100644 --- a/source/pdf/pdf-annot-edit.c +++ b/source/pdf/pdf-annot-edit.c @@ -124,10 +124,10 @@ pdf_create_annot(fz_context *ctx, pdf_page *page, fz_annot_type type) pdf_dict_put_drop(ctx, page->obj, PDF_NAME_Annots, annot_arr); } - pdf_dict_put_drop(ctx, annot_obj, PDF_NAME_Type, PDF_NAME_Annot); + pdf_dict_put(ctx, annot_obj, PDF_NAME_Type, PDF_NAME_Annot); - pdf_dict_put_drop(ctx, annot_obj, PDF_NAME_Subtype, pdf_new_name(ctx, doc, type_str)); - pdf_dict_put_drop(ctx, annot_obj, PDF_NAME_Rect, pdf_new_rect(ctx, doc, &rect)); + pdf_dict_put_name(ctx, annot_obj, PDF_NAME_Subtype, type_str); + pdf_dict_put_rect(ctx, annot_obj, PDF_NAME_Rect, &rect); /* Make printable as default */ pdf_dict_put_drop(ctx, annot_obj, PDF_NAME_F, pdf_new_int(ctx, doc, PDF_ANNOT_IS_PRINT)); @@ -254,7 +254,6 @@ pdf_annot_rect(fz_context *ctx, pdf_annot *annot, fz_rect *rect) void pdf_set_annot_rect(fz_context *ctx, pdf_annot *annot, const fz_rect *rect) { - pdf_document *doc = annot->page->doc; fz_rect trect = *rect; fz_matrix page_ctm, inv_page_ctm; @@ -262,7 +261,7 @@ pdf_set_annot_rect(fz_context *ctx, pdf_annot *annot, const fz_rect *rect) fz_invert_matrix(&inv_page_ctm, &page_ctm); fz_transform_rect(&trect, &inv_page_ctm); - pdf_dict_put_drop(ctx, annot->obj, PDF_NAME_Rect, pdf_new_rect(ctx, doc, &trect)); + pdf_dict_put_rect(ctx, annot->obj, PDF_NAME_Rect, &trect); pdf_dirty_annot(ctx, annot); } @@ -1059,10 +1058,10 @@ pdf_set_free_text_details(fz_context *ctx, pdf_annot *annot, fz_point *pos, char ref = pdf_add_object(ctx, doc, font); pdf_dict_puts_drop(ctx, form_fonts, nbuf, ref); - pdf_dict_put_drop(ctx, font, PDF_NAME_Type, PDF_NAME_Font); - pdf_dict_put_drop(ctx, font, PDF_NAME_Subtype, PDF_NAME_Type1); - pdf_dict_put_drop(ctx, font, PDF_NAME_BaseFont, pdf_new_name(ctx, doc, font_name)); - pdf_dict_put_drop(ctx, font, PDF_NAME_Encoding, PDF_NAME_WinAnsiEncoding); + pdf_dict_put(ctx, font, PDF_NAME_Type, PDF_NAME_Font); + pdf_dict_put(ctx, font, PDF_NAME_Subtype, PDF_NAME_Type1); + pdf_dict_put_name(ctx, font, PDF_NAME_BaseFont, font_name); + pdf_dict_put(ctx, font, PDF_NAME_Encoding, PDF_NAME_WinAnsiEncoding); memcpy(da_info.col, color, sizeof(float)*3); da_info.col_size = 3; diff --git a/source/pdf/pdf-clean-file.c b/source/pdf/pdf-clean-file.c index 86a6b6a0..52d97c67 100644 --- a/source/pdf/pdf-clean-file.c +++ b/source/pdf/pdf-clean-file.c @@ -169,7 +169,7 @@ static int strip_outlines(fz_context *ctx, pdf_document *doc, pdf_obj *outlines, int old_count = pdf_to_int(ctx, pdf_dict_get(ctx, outlines, PDF_NAME_Count)); pdf_dict_put(ctx, outlines, PDF_NAME_First, first); pdf_dict_put(ctx, outlines, PDF_NAME_Last, last); - pdf_dict_put_drop(ctx, outlines, PDF_NAME_Count, pdf_new_int(ctx, doc, old_count > 0 ? nc : -nc)); + pdf_dict_put_int(ctx, outlines, PDF_NAME_Count, old_count > 0 ? nc : -nc); } return nc; diff --git a/source/pdf/pdf-device.c b/source/pdf/pdf-device.c index c45dda40..db699dd0 100644 --- a/source/pdf/pdf-device.c +++ b/source/pdf/pdf-device.c @@ -313,7 +313,7 @@ pdf_dev_alpha(fz_context *ctx, pdf_device *pdev, float alpha, int stroke) fz_try(ctx) { char text[32]; - pdf_dict_put_drop(ctx, o, (stroke ? PDF_NAME_CA : PDF_NAME_ca), pdf_new_real(ctx, doc, alpha)); + pdf_dict_put_real(ctx, o, (stroke ? PDF_NAME_CA : PDF_NAME_ca), alpha); fz_snprintf(text, sizeof(text), "ExtGState/Alp%d", i); ref = pdf_add_object(ctx, doc, o); pdf_dict_putp_drop(ctx, pdev->resources, text, ref); @@ -567,20 +567,20 @@ pdf_dev_new_form(fz_context *ctx, pdf_obj **form_ref, pdf_device *pdev, const fz group = pdf_new_dict(ctx, doc, 5); fz_try(ctx) { - pdf_dict_put_drop(ctx, group, PDF_NAME_Type, PDF_NAME_Group); - pdf_dict_put_drop(ctx, group, PDF_NAME_S, PDF_NAME_Transparency); - pdf_dict_put_drop(ctx, group, PDF_NAME_K, pdf_new_bool(ctx, doc, knockout)); - pdf_dict_put_drop(ctx, group, PDF_NAME_I, pdf_new_bool(ctx, doc, isolated)); + pdf_dict_put(ctx, group, PDF_NAME_Type, PDF_NAME_Group); + pdf_dict_put(ctx, group, PDF_NAME_S, PDF_NAME_Transparency); + pdf_dict_put_bool(ctx, group, PDF_NAME_K, knockout); + pdf_dict_put_bool(ctx, group, PDF_NAME_I, isolated); switch (fz_colorspace_type(ctx, colorspace)) { case FZ_COLORSPACE_GRAY: - pdf_dict_put_drop(ctx, group, PDF_NAME_CS, PDF_NAME_DeviceGray); + pdf_dict_put(ctx, group, PDF_NAME_CS, PDF_NAME_DeviceGray); break; case FZ_COLORSPACE_RGB: - pdf_dict_put_drop(ctx, group, PDF_NAME_CS, PDF_NAME_DeviceRGB); + pdf_dict_put(ctx, group, PDF_NAME_CS, PDF_NAME_DeviceRGB); break; case FZ_COLORSPACE_CMYK: - pdf_dict_put_drop(ctx, group, PDF_NAME_CS, PDF_NAME_DeviceCMYK); + pdf_dict_put(ctx, group, PDF_NAME_CS, PDF_NAME_DeviceCMYK); break; default: break; @@ -602,10 +602,10 @@ pdf_dev_new_form(fz_context *ctx, pdf_obj **form_ref, pdf_device *pdev, const fz form = pdf_new_dict(ctx, doc, 4); fz_try(ctx) { - pdf_dict_put_drop(ctx, form, PDF_NAME_Subtype, PDF_NAME_Form); + pdf_dict_put(ctx, form, PDF_NAME_Subtype, PDF_NAME_Form); pdf_dict_put(ctx, form, PDF_NAME_Group, group_ref); - pdf_dict_put_drop(ctx, form, PDF_NAME_FormType, pdf_new_int(ctx, doc, 1)); - pdf_dict_put_drop(ctx, form, PDF_NAME_BBox, pdf_new_rect(ctx, doc, bbox)); + pdf_dict_put_int(ctx, form, PDF_NAME_FormType, 1); + pdf_dict_put_rect(ctx, form, PDF_NAME_BBox, bbox); *form_ref = pdf_add_object(ctx, doc, form); } fz_always(ctx) @@ -918,17 +918,17 @@ pdf_dev_begin_mask(fz_context *ctx, fz_device *dev, const fz_rect *bbox, int lum { int n = fz_colorspace_n(ctx, colorspace); smask = pdf_new_dict(ctx, doc, 4); - pdf_dict_put_drop(ctx, smask, PDF_NAME_Type, PDF_NAME_Mask); - pdf_dict_put_drop(ctx, smask, PDF_NAME_S, (luminosity ? PDF_NAME_Luminosity : PDF_NAME_Alpha)); + pdf_dict_put(ctx, smask, PDF_NAME_Type, PDF_NAME_Mask); + pdf_dict_put(ctx, smask, PDF_NAME_S, (luminosity ? PDF_NAME_Luminosity : PDF_NAME_Alpha)); pdf_dict_put(ctx, smask, PDF_NAME_G, form_ref); color_obj = pdf_new_array(ctx, doc, n); for (i = 0; i < n; i++) - pdf_array_push_drop(ctx, color_obj, pdf_new_real(ctx, doc, color[i])); + pdf_array_push_real(ctx, color_obj, color[i]); pdf_dict_put_drop(ctx, smask, PDF_NAME_BC, color_obj); color_obj = NULL; egs = pdf_new_dict(ctx, doc, 5); - pdf_dict_put_drop(ctx, egs, PDF_NAME_Type, PDF_NAME_ExtGState); + pdf_dict_put(ctx, egs, PDF_NAME_Type, PDF_NAME_ExtGState); pdf_dict_put_drop(ctx, egs, PDF_NAME_SMask, pdf_add_object(ctx, doc, smask)); { @@ -999,8 +999,8 @@ pdf_dev_begin_group(fz_context *ctx, fz_device *dev, const fz_rect *bbox, fz_col { /* No, better make one */ obj = pdf_new_dict(ctx, doc, 2); - pdf_dict_put_drop(ctx, obj, PDF_NAME_Type, PDF_NAME_ExtGState); - pdf_dict_put_drop(ctx, obj, PDF_NAME_BM, pdf_new_name(ctx, doc, fz_blendmode_name(blendmode))); + pdf_dict_put(ctx, obj, PDF_NAME_Type, PDF_NAME_ExtGState); + pdf_dict_put_name(ctx, obj, PDF_NAME_BM, fz_blendmode_name(blendmode)); pdf_dict_putp_drop(ctx, pdev->resources, text, obj); } } diff --git a/source/pdf/pdf-field.c b/source/pdf/pdf-field.c index 4d36c4d6..bdaaf4b0 100644 --- a/source/pdf/pdf-field.c +++ b/source/pdf/pdf-field.c @@ -149,6 +149,6 @@ void pdf_set_field_type(fz_context *ctx, pdf_document *doc, pdf_obj *obj, int ty int bits = pdf_to_int(ctx, pdf_dict_get(ctx, obj, PDF_NAME_Ff)); bits &= ~clearbits; bits |= setbits; - pdf_dict_put_drop(ctx, obj, PDF_NAME_Ff, pdf_new_int(ctx, doc, bits)); + pdf_dict_put_int(ctx, obj, PDF_NAME_Ff, bits); } } diff --git a/source/pdf/pdf-font.c b/source/pdf/pdf-font.c index be69ce1c..c7aaa9fd 100644 --- a/source/pdf/pdf-font.c +++ b/source/pdf/pdf-font.c @@ -1546,21 +1546,21 @@ pdf_add_font_file(fz_context *ctx, pdf_document *doc, fz_font *font) { size_t len = fz_buffer_storage(ctx, buf, NULL); obj = pdf_new_dict(ctx, doc, 3); - pdf_dict_put_drop(ctx, obj, PDF_NAME_Length1, pdf_new_int(ctx, doc, (int)len)); + pdf_dict_put_int(ctx, obj, PDF_NAME_Length1, (int)len); switch (ft_font_file_kind(font->ft_face)) { case 1: /* TODO: these may not be the correct values, but I doubt it matters */ - pdf_dict_put_drop(ctx, obj, PDF_NAME_Length2, pdf_new_int(ctx, doc, (int)len)); - pdf_dict_put_drop(ctx, obj, PDF_NAME_Length3, pdf_new_int(ctx, doc, 0)); + pdf_dict_put_int(ctx, obj, PDF_NAME_Length2, len); + pdf_dict_put_int(ctx, obj, PDF_NAME_Length3, 0); break; case 2: break; case 3: if (FT_Get_Sfnt_Table(font->ft_face, FT_SFNT_HEAD)) - pdf_dict_put_drop(ctx, obj, PDF_NAME_Subtype, PDF_NAME_OpenType); + pdf_dict_put(ctx, obj, PDF_NAME_Subtype, PDF_NAME_OpenType); else - pdf_dict_put_drop(ctx, obj, PDF_NAME_Subtype, PDF_NAME_Type1C); + pdf_dict_put(ctx, obj, PDF_NAME_Subtype, PDF_NAME_Type1C); break; } ref = pdf_add_object(ctx, doc, obj); @@ -1596,21 +1596,21 @@ pdf_add_font_descriptor(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontd { fdobj = pdf_new_dict(ctx, doc, 10); pdf_dict_put(ctx, fdobj, PDF_NAME_Type, PDF_NAME_FontDescriptor); - pdf_dict_put_drop(ctx, fdobj, PDF_NAME_FontName, pdf_new_name(ctx, doc, font->name)); + pdf_dict_put_name(ctx, fdobj, PDF_NAME_FontName, font->name); bbox = pdf_new_array(ctx, doc, 4); - pdf_array_push_drop(ctx, bbox, pdf_new_real(ctx, doc, 1000.0f * font->bbox.x0)); - pdf_array_push_drop(ctx, bbox, pdf_new_real(ctx, doc, 1000.0f * font->bbox.y0)); - pdf_array_push_drop(ctx, bbox, pdf_new_real(ctx, doc, 1000.0f * font->bbox.x1)); - pdf_array_push_drop(ctx, bbox, pdf_new_real(ctx, doc, 1000.0f * font->bbox.y1)); + pdf_array_push_real(ctx, bbox, 1000.0f * font->bbox.x0); + pdf_array_push_real(ctx, bbox, 1000.0f * font->bbox.y0); + pdf_array_push_real(ctx, bbox, 1000.0f * font->bbox.x1); + pdf_array_push_real(ctx, bbox, 1000.0f * font->bbox.y1); pdf_dict_put(ctx, fdobj, PDF_NAME_FontBBox, bbox); - pdf_dict_put_drop(ctx, fdobj, PDF_NAME_ItalicAngle, pdf_new_real(ctx, doc, fontdesc->italic_angle)); - pdf_dict_put_drop(ctx, fdobj, PDF_NAME_Ascent, pdf_new_real(ctx, doc, fontdesc->ascent)); - pdf_dict_put_drop(ctx, fdobj, PDF_NAME_Descent, pdf_new_real(ctx, doc, fontdesc->descent)); - pdf_dict_put_drop(ctx, fdobj, PDF_NAME_CapHeight, pdf_new_real(ctx, doc, fontdesc->cap_height)); - pdf_dict_put_drop(ctx, fdobj, PDF_NAME_StemV, pdf_new_real(ctx, doc, 80)); - pdf_dict_put_drop(ctx, fdobj, PDF_NAME_Flags, pdf_new_real(ctx, doc, fontdesc->flags)); + pdf_dict_put_real(ctx, fdobj, PDF_NAME_ItalicAngle, fontdesc->italic_angle); + pdf_dict_put_real(ctx, fdobj, PDF_NAME_Ascent, fontdesc->ascent); + pdf_dict_put_real(ctx, fdobj, PDF_NAME_Descent, fontdesc->descent); + pdf_dict_put_real(ctx, fdobj, PDF_NAME_CapHeight, fontdesc->cap_height); + pdf_dict_put_real(ctx, fdobj, PDF_NAME_StemV, 80); + pdf_dict_put_real(ctx, fdobj, PDF_NAME_Flags, fontdesc->flags); if (fileref) { @@ -1666,7 +1666,7 @@ pdf_add_simple_font_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fo fz_try(ctx) { for (i = *first_char; i <= *last_char; i++) - pdf_array_push_drop(ctx, arr, pdf_new_int(ctx, doc, width_table[i])); + pdf_array_push_int(ctx, arr, width_table[i]); } fz_catch(ctx) { @@ -1683,9 +1683,9 @@ pdf_add_cid_system_info(fz_context *ctx, pdf_document *doc) pdf_obj *fobj = pdf_new_dict(ctx, doc, 3); fz_try(ctx) { - pdf_dict_put_drop(ctx, fobj, PDF_NAME_Ordering, pdf_new_string(ctx, doc, "Identity", strlen("Identity"))); - pdf_dict_put_drop(ctx, fobj, PDF_NAME_Registry, pdf_new_string(ctx, doc, "Adobe", strlen("Adobe"))); - pdf_dict_put_drop(ctx, fobj, PDF_NAME_Supplement, pdf_new_int(ctx, doc, 0)); + pdf_dict_put_string(ctx, fobj, PDF_NAME_Ordering, "Identity", strlen("Identity")); + pdf_dict_put_string(ctx, fobj, PDF_NAME_Registry, "Adobe", strlen("Adobe")); + pdf_dict_put_int(ctx, fobj, PDF_NAME_Supplement, 0); } fz_catch(ctx) { @@ -1756,7 +1756,7 @@ pdf_add_cid_font_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontd else { /* Add prev size to run_obj */ - pdf_array_push_drop(ctx, run_obj, pdf_new_int(ctx, doc, prev_size)); + pdf_array_push_int(ctx, run_obj, prev_size); } break; case FW_START: @@ -1768,7 +1768,7 @@ pdf_add_cid_font_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontd else { run_obj = pdf_new_array(ctx, doc, 10); - pdf_array_push_drop(ctx, run_obj, pdf_new_int(ctx, doc, prev_size)); + pdf_array_push_int(ctx, run_obj, prev_size); state = FW_RUN; } new_first_code = prev_code; @@ -1781,14 +1781,14 @@ pdf_add_cid_font_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontd { case FW_SAME: /* Add three entries. First cid, last cid and width */ - pdf_array_push_drop(ctx, fwobj, pdf_new_int(ctx, doc, first_code)); - pdf_array_push_drop(ctx, fwobj, pdf_new_int(ctx, doc, prev_code)); - pdf_array_push_drop(ctx, fwobj, pdf_new_int(ctx, doc, prev_size)); + pdf_array_push_int(ctx, fwobj, first_code); + pdf_array_push_int(ctx, fwobj, prev_code); + pdf_array_push_int(ctx, fwobj, prev_size); break; case FW_RUN: if (pdf_array_len(ctx, run_obj) > 0) { - pdf_array_push_drop(ctx, fwobj, pdf_new_int(ctx, doc, first_code)); + pdf_array_push_int(ctx, fwobj, first_code); pdf_array_push(ctx, fwobj, run_obj); } pdf_drop_obj(ctx, run_obj); @@ -1796,9 +1796,9 @@ pdf_add_cid_font_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontd break; case FW_START: /* Lone wolf. Not part of a consecutive run */ - pdf_array_push_drop(ctx, fwobj, pdf_new_int(ctx, doc, prev_code)); - pdf_array_push_drop(ctx, fwobj, pdf_new_int(ctx, doc, prev_code)); - pdf_array_push_drop(ctx, fwobj, pdf_new_int(ctx, doc, prev_size)); + pdf_array_push_int(ctx, fwobj, prev_code); + pdf_array_push_int(ctx, fwobj, prev_code); + pdf_array_push_int(ctx, fwobj, prev_size); break; } @@ -1861,13 +1861,13 @@ pdf_add_descendant_font(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontd } ps_name = FT_Get_Postscript_Name(face); if (ps_name) - pdf_dict_put_drop(ctx, fobj, PDF_NAME_BaseFont, pdf_new_name(ctx, doc, ps_name)); + pdf_dict_put_name(ctx, fobj, PDF_NAME_BaseFont, ps_name); else - pdf_dict_put_drop(ctx, fobj, PDF_NAME_BaseFont, pdf_new_name(ctx, doc, font->name)); + pdf_dict_put_name(ctx, fobj, PDF_NAME_BaseFont, font->name); pdf_dict_put(ctx, fobj, PDF_NAME_CIDSystemInfo, fsys_ref); pdf_dict_put(ctx, fobj, PDF_NAME_FontDescriptor, fdes_ref); if (font->width_table != NULL) - pdf_dict_put_drop(ctx, fobj, PDF_NAME_DW, pdf_new_int(ctx, doc, font->width_default)); + pdf_dict_put_int(ctx, fobj, PDF_NAME_DW, font->width_default); if (fw != NULL) pdf_dict_put(ctx, fobj, PDF_NAME_W, fw); @@ -2113,7 +2113,7 @@ pdf_add_cid_font(fz_context *ctx, pdf_document *doc, fz_font *font) fobj = pdf_new_dict(ctx, doc, 10); pdf_dict_put(ctx, fobj, PDF_NAME_Type, PDF_NAME_Font); pdf_dict_put(ctx, fobj, PDF_NAME_Subtype, PDF_NAME_Type0); - pdf_dict_put_drop(ctx, fobj, PDF_NAME_BaseFont, pdf_new_name(ctx, doc, font->name)); + pdf_dict_put_name(ctx, fobj, PDF_NAME_BaseFont, font->name); pdf_dict_put(ctx, fobj, PDF_NAME_Encoding, PDF_NAME_Identity_H); obj_array = pdf_new_array(ctx, doc, 3); @@ -2174,7 +2174,7 @@ pdf_add_simple_font(fz_context *ctx, pdf_document *doc, fz_font *font) if (fref == NULL) { fobj = pdf_new_dict(ctx, doc, 10); - pdf_dict_put_drop(ctx, fobj, PDF_NAME_Type, PDF_NAME_Font); + pdf_dict_put(ctx, fobj, PDF_NAME_Type, PDF_NAME_Font); switch (ft_kind(face)) { case TYPE1: pdf_dict_put(ctx, fobj, PDF_NAME_Subtype, PDF_NAME_Type1); break; @@ -2187,7 +2187,7 @@ pdf_add_simple_font(fz_context *ctx, pdf_document *doc, fz_font *font) const char *ps_name = FT_Get_Postscript_Name(face); if (!ps_name) ps_name = font->name; - pdf_dict_put_drop(ctx, fobj, PDF_NAME_BaseFont, pdf_new_name(ctx, doc, ps_name)); + pdf_dict_put_name(ctx, fobj, PDF_NAME_BaseFont, ps_name); fontdesc = pdf_new_font_desc(ctx); fontdesc->font = fz_keep_font(ctx, font); @@ -2199,14 +2199,14 @@ pdf_add_simple_font(fz_context *ctx, pdf_document *doc, fz_font *font) fdes_ref = pdf_add_font_descriptor(ctx, doc, fontdesc, fstr_ref); fwidth_ref = pdf_add_simple_font_widths(ctx, doc, fontdesc, &first_char, &last_char); - pdf_dict_put_drop(ctx, fobj, PDF_NAME_FirstChar, pdf_new_int(ctx, doc, first_char)); - pdf_dict_put_drop(ctx, fobj, PDF_NAME_LastChar, pdf_new_int(ctx, doc, last_char)); + pdf_dict_put_int(ctx, fobj, PDF_NAME_FirstChar, first_char); + pdf_dict_put_int(ctx, fobj, PDF_NAME_LastChar, last_char); pdf_dict_put(ctx, fobj, PDF_NAME_Widths, fwidth_ref); pdf_dict_put(ctx, fobj, PDF_NAME_FontDescriptor, fdes_ref); } else { - pdf_dict_put_drop(ctx, fobj, PDF_NAME_BaseFont, pdf_new_name(ctx, doc, clean_font_name(font->name))); + pdf_dict_put_name(ctx, fobj, PDF_NAME_BaseFont, clean_font_name(font->name)); } fref = pdf_add_object(ctx, doc, fobj); diff --git a/source/pdf/pdf-form.c b/source/pdf/pdf-form.c index 95b0da54..2ce950be 100644 --- a/source/pdf/pdf-form.c +++ b/source/pdf/pdf-form.c @@ -703,7 +703,7 @@ pdf_widget *pdf_create_widget(fz_context *ctx, pdf_document *doc, pdf_page *page fz_try(ctx) { pdf_set_field_type(ctx, doc, annot->obj, type); - pdf_dict_put_drop(ctx, annot->obj, PDF_NAME_T, pdf_new_string(ctx, doc, fieldname, strlen(fieldname))); + pdf_dict_put_string(ctx, annot->obj, PDF_NAME_T, fieldname, strlen(fieldname)); if (type == PDF_WIDGET_TYPE_SIGNATURE) { @@ -1340,8 +1340,8 @@ void pdf_signature_set_value(fz_context *ctx, pdf_document *doc, pdf_obj *field, contents = pdf_new_string(ctx, doc, buf, sizeof(buf)); pdf_dict_put_drop(ctx, v, PDF_NAME_Contents, contents); - pdf_dict_put_drop(ctx, v, PDF_NAME_Filter, PDF_NAME_Adobe_PPKLite); - pdf_dict_put_drop(ctx, v, PDF_NAME_SubFilter, PDF_NAME_adbe_pkcs7_detached); + pdf_dict_put(ctx, v, PDF_NAME_Filter, PDF_NAME_Adobe_PPKLite); + pdf_dict_put(ctx, v, PDF_NAME_SubFilter, PDF_NAME_adbe_pkcs7_detached); /* Record details within the document structure so that contents * and byte_range can be updated with their correct values at diff --git a/source/pdf/pdf-image.c b/source/pdf/pdf-image.c index eeb4f0f2..c5c0f3ad 100644 --- a/source/pdf/pdf-image.c +++ b/source/pdf/pdf-image.c @@ -327,8 +327,8 @@ pdf_add_image(fz_context *ctx, pdf_document *doc, fz_image *image, int mask) { imobj = pdf_new_dict(ctx, doc, 3); pdf_dict_put_drop(ctx, imobj, PDF_NAME_DecodeParms, dp = pdf_new_dict(ctx, doc, 3)); - pdf_dict_put_drop(ctx, imobj, PDF_NAME_Type, PDF_NAME_XObject); - pdf_dict_put_drop(ctx, imobj, PDF_NAME_Subtype, PDF_NAME_Image); + pdf_dict_put(ctx, imobj, PDF_NAME_Type, PDF_NAME_XObject); + pdf_dict_put(ctx, imobj, PDF_NAME_Subtype, PDF_NAME_Image); if (cbuffer) { @@ -339,60 +339,60 @@ pdf_add_image(fz_context *ctx, pdf_document *doc, fz_image *image, int mask) goto raw_or_unknown_compression; case FZ_IMAGE_JPEG: if (cp->u.jpeg.color_transform != -1) - pdf_dict_put_drop(ctx, dp, PDF_NAME_ColorTransform, pdf_new_int(ctx, doc, cp->u.jpeg.color_transform)); - pdf_dict_put_drop(ctx, imobj, PDF_NAME_Filter, PDF_NAME_DCTDecode); + pdf_dict_put_int(ctx, dp, PDF_NAME_ColorTransform, cp->u.jpeg.color_transform); + pdf_dict_put(ctx, imobj, PDF_NAME_Filter, PDF_NAME_DCTDecode); break; case FZ_IMAGE_JPX: if (cp->u.jpx.smask_in_data) - pdf_dict_put_drop(ctx, dp, PDF_NAME_SMaskInData, pdf_new_int(ctx, doc, cp->u.jpx.smask_in_data)); - pdf_dict_put_drop(ctx, imobj, PDF_NAME_Filter, PDF_NAME_JPXDecode); + pdf_dict_put_int(ctx, dp, PDF_NAME_SMaskInData, cp->u.jpx.smask_in_data); + pdf_dict_put(ctx, imobj, PDF_NAME_Filter, PDF_NAME_JPXDecode); break; case FZ_IMAGE_FAX: if (cp->u.fax.columns) - pdf_dict_put_drop(ctx, dp, PDF_NAME_Columns, pdf_new_int(ctx, doc, cp->u.fax.columns)); + pdf_dict_put_int(ctx, dp, PDF_NAME_Columns, cp->u.fax.columns); if (cp->u.fax.rows) - pdf_dict_put_drop(ctx, dp, PDF_NAME_Rows, pdf_new_int(ctx, doc, cp->u.fax.rows)); + pdf_dict_put_int(ctx, dp, PDF_NAME_Rows, cp->u.fax.rows); if (cp->u.fax.k) - pdf_dict_put_drop(ctx, dp, PDF_NAME_K, pdf_new_int(ctx, doc, cp->u.fax.k)); + pdf_dict_put_int(ctx, dp, PDF_NAME_K, cp->u.fax.k); if (cp->u.fax.end_of_line) - pdf_dict_put_drop(ctx, dp, PDF_NAME_EndOfLine, pdf_new_int(ctx, doc, cp->u.fax.end_of_line)); + pdf_dict_put_int(ctx, dp, PDF_NAME_EndOfLine, cp->u.fax.end_of_line); if (cp->u.fax.encoded_byte_align) - pdf_dict_put_drop(ctx, dp, PDF_NAME_EncodedByteAlign, pdf_new_int(ctx, doc, cp->u.fax.encoded_byte_align)); + pdf_dict_put_int(ctx, dp, PDF_NAME_EncodedByteAlign, cp->u.fax.encoded_byte_align); if (cp->u.fax.end_of_block) - pdf_dict_put_drop(ctx, dp, PDF_NAME_EndOfBlock, pdf_new_int(ctx, doc, cp->u.fax.end_of_block)); + pdf_dict_put_int(ctx, dp, PDF_NAME_EndOfBlock, cp->u.fax.end_of_block); if (cp->u.fax.black_is_1) - pdf_dict_put_drop(ctx, dp, PDF_NAME_BlackIs1, pdf_new_int(ctx, doc, cp->u.fax.black_is_1)); + pdf_dict_put_int(ctx, dp, PDF_NAME_BlackIs1, cp->u.fax.black_is_1); if (cp->u.fax.damaged_rows_before_error) - pdf_dict_put_drop(ctx, dp, PDF_NAME_DamagedRowsBeforeError, pdf_new_int(ctx, doc, cp->u.fax.damaged_rows_before_error)); - pdf_dict_put_drop(ctx, imobj, PDF_NAME_Filter, PDF_NAME_CCITTFaxDecode); + pdf_dict_put_int(ctx, dp, PDF_NAME_DamagedRowsBeforeError, cp->u.fax.damaged_rows_before_error); + pdf_dict_put(ctx, imobj, PDF_NAME_Filter, PDF_NAME_CCITTFaxDecode); break; case FZ_IMAGE_FLATE: if (cp->u.flate.columns) - pdf_dict_put_drop(ctx, dp, PDF_NAME_Columns, pdf_new_int(ctx, doc, cp->u.flate.columns)); + pdf_dict_put_int(ctx, dp, PDF_NAME_Columns, cp->u.flate.columns); if (cp->u.flate.colors) - pdf_dict_put_drop(ctx, dp, PDF_NAME_Colors, pdf_new_int(ctx, doc, cp->u.flate.colors)); + pdf_dict_put_int(ctx, dp, PDF_NAME_Colors, cp->u.flate.colors); if (cp->u.flate.predictor) - pdf_dict_put_drop(ctx, dp, PDF_NAME_Predictor, pdf_new_int(ctx, doc, cp->u.flate.predictor)); + pdf_dict_put_int(ctx, dp, PDF_NAME_Predictor, cp->u.flate.predictor); if (cp->u.flate.bpc) - pdf_dict_put_drop(ctx, dp, PDF_NAME_BitsPerComponent, pdf_new_int(ctx, doc, cp->u.flate.bpc)); - pdf_dict_put_drop(ctx, imobj, PDF_NAME_Filter, PDF_NAME_FlateDecode); - pdf_dict_put_drop(ctx, imobj, PDF_NAME_BitsPerComponent, pdf_new_int(ctx, doc, image->bpc)); + pdf_dict_put_int(ctx, dp, PDF_NAME_BitsPerComponent, cp->u.flate.bpc); + pdf_dict_put(ctx, imobj, PDF_NAME_Filter, PDF_NAME_FlateDecode); + pdf_dict_put_int(ctx, imobj, PDF_NAME_BitsPerComponent, image->bpc); break; case FZ_IMAGE_LZW: if (cp->u.lzw.columns) - pdf_dict_put_drop(ctx, dp, PDF_NAME_Columns, pdf_new_int(ctx, doc, cp->u.lzw.columns)); + pdf_dict_put_int(ctx, dp, PDF_NAME_Columns, cp->u.lzw.columns); if (cp->u.lzw.colors) - pdf_dict_put_drop(ctx, dp, PDF_NAME_Colors, pdf_new_int(ctx, doc, cp->u.lzw.colors)); + pdf_dict_put_int(ctx, dp, PDF_NAME_Colors, cp->u.lzw.colors); if (cp->u.lzw.predictor) - pdf_dict_put_drop(ctx, dp, PDF_NAME_Predictor, pdf_new_int(ctx, doc, cp->u.lzw.predictor)); + pdf_dict_put_int(ctx, dp, PDF_NAME_Predictor, cp->u.lzw.predictor); if (cp->u.lzw.early_change) - pdf_dict_put_drop(ctx, dp, PDF_NAME_EarlyChange, pdf_new_int(ctx, doc, cp->u.lzw.early_change)); + pdf_dict_put_int(ctx, dp, PDF_NAME_EarlyChange, cp->u.lzw.early_change); if (cp->u.lzw.bpc) - pdf_dict_put_drop(ctx, dp, PDF_NAME_BitsPerComponent, pdf_new_int(ctx, doc, cp->u.lzw.bpc)); - pdf_dict_put_drop(ctx, imobj, PDF_NAME_Filter, PDF_NAME_LZWDecode); + pdf_dict_put_int(ctx, dp, PDF_NAME_BitsPerComponent, cp->u.lzw.bpc); + pdf_dict_put(ctx, imobj, PDF_NAME_Filter, PDF_NAME_LZWDecode); break; case FZ_IMAGE_RLD: - pdf_dict_put_drop(ctx, imobj, PDF_NAME_Filter, PDF_NAME_RunLengthDecode); + pdf_dict_put(ctx, imobj, PDF_NAME_Filter, PDF_NAME_RunLengthDecode); break; } @@ -454,18 +454,18 @@ raw_or_unknown_compression: } } - pdf_dict_put_drop(ctx, imobj, PDF_NAME_Width, pdf_new_int(ctx, doc, pixmap ? pixmap->w : image->w)); - pdf_dict_put_drop(ctx, imobj, PDF_NAME_Height, pdf_new_int(ctx, doc, pixmap ? pixmap->h : image->h)); + pdf_dict_put_int(ctx, imobj, PDF_NAME_Width, pixmap ? pixmap->w : image->w); + pdf_dict_put_int(ctx, imobj, PDF_NAME_Height, pixmap ? pixmap->h : image->h); if (mask) { - pdf_dict_put_drop(ctx, imobj, PDF_NAME_ImageMask, pdf_new_bool(ctx, doc, 1)); + pdf_dict_put_bool(ctx, imobj, PDF_NAME_ImageMask, 1); } else { fz_colorspace *cs; - pdf_dict_put_drop(ctx, imobj, PDF_NAME_BitsPerComponent, pdf_new_int(ctx, doc, image->bpc)); + pdf_dict_put_int(ctx, imobj, PDF_NAME_BitsPerComponent, image->bpc); cs = pixmap ? pixmap->colorspace : image->colorspace; switch (fz_colorspace_type(ctx, cs)) @@ -484,17 +484,17 @@ raw_or_unknown_compression: pdf_dict_put_drop(ctx, imobj, PDF_NAME_ColorSpace, arr = pdf_new_array(ctx, doc, 4)); - pdf_array_put_drop(ctx, arr, 0, PDF_NAME_Indexed); + pdf_array_push(ctx, arr, PDF_NAME_Indexed); switch (fz_colorspace_type(ctx, basecs)) { case FZ_COLORSPACE_GRAY: - pdf_array_put_drop(ctx, arr, 1, PDF_NAME_DeviceGray); + pdf_array_push(ctx, arr, PDF_NAME_DeviceGray); break; case FZ_COLORSPACE_RGB: - pdf_array_put_drop(ctx, arr, 1, PDF_NAME_DeviceRGB); + pdf_array_push(ctx, arr, PDF_NAME_DeviceRGB); break; case FZ_COLORSPACE_CMYK: - pdf_array_put_drop(ctx, arr, 1, PDF_NAME_DeviceCMYK); + pdf_array_push(ctx, arr, PDF_NAME_DeviceCMYK); break; default: // TODO: convert to RGB! @@ -502,18 +502,18 @@ raw_or_unknown_compression: break; } - pdf_array_put_drop(ctx, arr, 2, pdf_new_int(ctx, doc, high)); - pdf_array_put_drop(ctx, arr, 3, pdf_new_string(ctx, doc, (char *) lookup, basen * (high + 1))); + pdf_array_push_int(ctx, arr, high); + pdf_array_push_string(ctx, arr, (char *) lookup, basen * (high + 1)); } break; case FZ_COLORSPACE_GRAY: - pdf_dict_put_drop(ctx, imobj, PDF_NAME_ColorSpace, PDF_NAME_DeviceGray); + pdf_dict_put(ctx, imobj, PDF_NAME_ColorSpace, PDF_NAME_DeviceGray); break; case FZ_COLORSPACE_RGB: - pdf_dict_put_drop(ctx, imobj, PDF_NAME_ColorSpace, PDF_NAME_DeviceRGB); + pdf_dict_put(ctx, imobj, PDF_NAME_ColorSpace, PDF_NAME_DeviceRGB); break; case FZ_COLORSPACE_CMYK: - pdf_dict_put_drop(ctx, imobj, PDF_NAME_ColorSpace, PDF_NAME_DeviceCMYK); + pdf_dict_put(ctx, imobj, PDF_NAME_ColorSpace, PDF_NAME_DeviceCMYK); break; default: // TODO: convert to RGB! diff --git a/source/pdf/pdf-interpret.c b/source/pdf/pdf-interpret.c index 3aeeeae7..1c781b9e 100644 --- a/source/pdf/pdf-interpret.c +++ b/source/pdf/pdf-interpret.c @@ -848,13 +848,13 @@ pdf_process_stream(fz_context *ctx, pdf_processor *proc, pdf_csi *csi, fz_stream in_text_array = 0; break; case PDF_TOK_REAL: - pdf_array_push_drop(ctx, csi->obj, pdf_new_real(ctx, doc, buf->f)); + pdf_array_push_real(ctx, csi->obj, buf->f); break; case PDF_TOK_INT: - pdf_array_push_drop(ctx, csi->obj, pdf_new_int(ctx, doc, buf->i)); + pdf_array_push_int(ctx, csi->obj, buf->i); break; case PDF_TOK_STRING: - pdf_array_push_drop(ctx, csi->obj, pdf_new_string(ctx, doc, buf->scratch, buf->len)); + pdf_array_push_string(ctx, csi->obj, buf->scratch, buf->len); break; case PDF_TOK_EOF: break; diff --git a/source/pdf/pdf-js.c b/source/pdf/pdf-js.c index 5b1fb670..82018065 100644 --- a/source/pdf/pdf-js.c +++ b/source/pdf/pdf-js.c @@ -228,7 +228,7 @@ static pdf_obj *load_color(pdf_js *js, int idx) c = js_tonumber(J, -1); js_pop(J, 1); - pdf_array_push_drop(ctx, color, pdf_new_real(ctx, doc, c)); + pdf_array_push_real(ctx, color, c); } } fz_catch(ctx) diff --git a/source/pdf/pdf-op-filter.c b/source/pdf/pdf-op-filter.c index 714bb4b7..237287fe 100644 --- a/source/pdf/pdf-op-filter.c +++ b/source/pdf/pdf-op-filter.c @@ -558,12 +558,12 @@ filter_show_string(fz_context *ctx, pdf_filter_processor *p, unsigned char *buf, send_adjustment(ctx, p, skip); } -static pdf_obj * +static float adjustment(fz_context *ctx, pdf_filter_processor *p, fz_point skip) { float skip_dist = p->tos.fontdesc->wmode == 1 ? -skip.y : -skip.x; skip_dist = skip_dist / p->gstate->pending.text.size; - return pdf_new_real(ctx, p->doc, skip_dist * 1000); + return skip_dist * 1000; } @@ -613,10 +613,10 @@ filter_show_text(fz_context *ctx, pdf_filter_processor *p, pdf_obj *text) /* We have *some* chars to send at least */ if (skip.x != 0 || skip.y != 0) { - pdf_array_push_drop(ctx, new_arr, adjustment(ctx, p, skip)); + pdf_array_push_real(ctx, new_arr, adjustment(ctx, p, skip)); skip.x = skip.y = 0; } - pdf_array_push_drop(ctx, new_arr, pdf_new_string(ctx, doc, (char *)buf+start, j-start)); + pdf_array_push_string(ctx, new_arr, (char *)buf+start, j-start); } if (j != len) { @@ -643,7 +643,7 @@ filter_show_text(fz_context *ctx, pdf_filter_processor *p, pdf_obj *text) } } if (skip.x != 0 || skip.y != 0) - pdf_array_push_drop(ctx, new_arr, adjustment(ctx, p, skip)); + pdf_array_push_real(ctx, new_arr, adjustment(ctx, p, skip)); if (p->chain->op_TJ && pdf_array_len(ctx, new_arr)) p->chain->op_TJ(ctx, p->chain, new_arr); } diff --git a/source/pdf/pdf-page.c b/source/pdf/pdf-page.c index 881150b8..9d8a27ec 100644 --- a/source/pdf/pdf-page.c +++ b/source/pdf/pdf-page.c @@ -1138,7 +1138,7 @@ pdf_delete_page(fz_context *ctx, pdf_document *doc, int at) while (parent) { int count = pdf_to_int(ctx, pdf_dict_get(ctx, parent, PDF_NAME_Count)); - pdf_dict_put_drop(ctx, parent, PDF_NAME_Count, pdf_new_int(ctx, doc, count - 1)); + pdf_dict_put_int(ctx, parent, PDF_NAME_Count, count - 1); parent = pdf_dict_get(ctx, parent, PDF_NAME_Parent); } } @@ -1165,9 +1165,9 @@ pdf_add_page(fz_context *ctx, pdf_document *doc, const fz_rect *mediabox, int ro pdf_obj *page_obj = pdf_new_dict(ctx, doc, 5); fz_try(ctx) { - pdf_dict_put_drop(ctx, page_obj, PDF_NAME_Type, PDF_NAME_Page); - pdf_dict_put_drop(ctx, page_obj, PDF_NAME_MediaBox, pdf_new_rect(ctx, doc, mediabox)); - pdf_dict_put_drop(ctx, page_obj, PDF_NAME_Rotate, pdf_new_int(ctx, doc, rotate)); + pdf_dict_put(ctx, page_obj, PDF_NAME_Type, PDF_NAME_Page); + pdf_dict_put_rect(ctx, page_obj, PDF_NAME_MediaBox, mediabox); + pdf_dict_put_int(ctx, page_obj, PDF_NAME_Rotate, rotate); if (pdf_is_indirect(ctx, resources)) pdf_dict_put(ctx, page_obj, PDF_NAME_Resources, resources); @@ -1233,7 +1233,7 @@ pdf_insert_page(fz_context *ctx, pdf_document *doc, int at, pdf_obj *page_ref) while (parent) { count = pdf_to_int(ctx, pdf_dict_get(ctx, parent, PDF_NAME_Count)); - pdf_dict_put_drop(ctx, parent, PDF_NAME_Count, pdf_new_int(ctx, doc, count + 1)); + pdf_dict_put_int(ctx, parent, PDF_NAME_Count, count + 1); parent = pdf_dict_get(ctx, parent, PDF_NAME_Parent); } } diff --git a/source/pdf/pdf-parse.c b/source/pdf/pdf-parse.c index b4783ae8..827fd945 100644 --- a/source/pdf/pdf-parse.c +++ b/source/pdf/pdf-parse.c @@ -379,22 +379,15 @@ pdf_parse_array(fz_context *ctx, pdf_document *doc, fz_stream *file, pdf_lexbuf if (tok != PDF_TOK_INT && tok != PDF_TOK_R) { if (n > 0) - { - obj = pdf_new_int(ctx, doc, a); - pdf_array_push_drop(ctx, ary, obj); - } + pdf_array_push_int(ctx, ary, a); if (n > 1) - { - obj = pdf_new_int(ctx, doc, b); - pdf_array_push_drop(ctx, ary, obj); - } + pdf_array_push_int(ctx, ary, b); n = 0; } if (tok == PDF_TOK_INT && n == 2) { - obj = pdf_new_int(ctx, doc, a); - pdf_array_push_drop(ctx, ary, obj); + pdf_array_push_int(ctx, ary, a); a = b; n --; } @@ -419,8 +412,7 @@ pdf_parse_array(fz_context *ctx, pdf_document *doc, fz_stream *file, pdf_lexbuf case PDF_TOK_R: if (n != 2) fz_throw(ctx, FZ_ERROR_SYNTAX, "cannot parse indirect reference in array"); - obj = pdf_new_indirect(ctx, doc, a, b); - pdf_array_push_drop(ctx, ary, obj); + pdf_array_push_drop(ctx, ary, pdf_new_indirect(ctx, doc, a, b)); n = 0; break; @@ -435,32 +427,26 @@ pdf_parse_array(fz_context *ctx, pdf_document *doc, fz_stream *file, pdf_lexbuf break; case PDF_TOK_NAME: - obj = pdf_new_name(ctx, doc, buf->scratch); - pdf_array_push_drop(ctx, ary, obj); + pdf_array_push_name(ctx, ary, buf->scratch); break; case PDF_TOK_REAL: - obj = pdf_new_real(ctx, doc, buf->f); - pdf_array_push_drop(ctx, ary, obj); + pdf_array_push_real(ctx, ary, buf->f); break; case PDF_TOK_STRING: - obj = pdf_new_string(ctx, doc, buf->scratch, buf->len); - pdf_array_push_drop(ctx, ary, obj); + pdf_array_push_string(ctx, ary, buf->scratch, buf->len); break; case PDF_TOK_TRUE: - obj = pdf_new_bool(ctx, doc, 1); - pdf_array_push_drop(ctx, ary, obj); + pdf_array_push_bool(ctx, ary, 1); break; case PDF_TOK_FALSE: - obj = pdf_new_bool(ctx, doc, 0); - pdf_array_push_drop(ctx, ary, obj); + pdf_array_push_bool(ctx, ary, 0); break; case PDF_TOK_NULL: - obj = pdf_new_null(ctx, doc); - pdf_array_push_drop(ctx, ary, obj); + pdf_array_push(ctx, ary, PDF_OBJ_NULL); break; default: - pdf_array_push_drop(ctx, ary, pdf_new_null(ctx, doc)); + pdf_array_push(ctx, ary, PDF_OBJ_NULL); break; } } diff --git a/source/pdf/pdf-portfolio.c b/source/pdf/pdf-portfolio.c index 08dc1b61..4821e8be 100644 --- a/source/pdf/pdf-portfolio.c +++ b/source/pdf/pdf-portfolio.c @@ -152,7 +152,7 @@ void pdf_reorder_portfolio_schema(fz_context *ctx, pdf_document *doc, int entry, /* Rewrite the underlying orderings */ for (p = doc->portfolio, entry = 0; p; p = p->next, entry++) - pdf_dict_put_drop(ctx, p->val, PDF_NAME_O, pdf_new_int(ctx, doc, entry)); + pdf_dict_put_int(ctx, p->val, PDF_NAME_O, entry); } void pdf_rename_portfolio_schema(fz_context *ctx, pdf_document *doc, int entry, const char *name, int name_len) @@ -325,8 +325,8 @@ void pdf_add_portfolio_schema(fz_context *ctx, pdf_document *doc, int entry, con while (p); sc = pdf_new_dict(ctx, doc, 4); - pdf_dict_put_drop(ctx, sc, PDF_NAME_E, pdf_new_bool(ctx, doc, !!info->editable)); - pdf_dict_put_drop(ctx, sc, PDF_NAME_V, pdf_new_bool(ctx, doc, !!info->visible)); + pdf_dict_put_bool(ctx, sc, PDF_NAME_E, !!info->editable); + pdf_dict_put_bool(ctx, sc, PDF_NAME_V, !!info->visible); pdf_dict_put_drop(ctx, sc, PDF_NAME_N, info->name); pdf_dict_put(ctx, sc, PDF_NAME_Subtype, PDF_NAME_S); @@ -346,7 +346,7 @@ void pdf_add_portfolio_schema(fz_context *ctx, pdf_document *doc, int entry, con /* Renumber the schema entries */ for (num = 0, p = doc->portfolio; p; num++, p = p->next) { - pdf_dict_put_drop(ctx, p->val, PDF_NAME_O, pdf_new_int(ctx, doc, num)); + pdf_dict_put_int(ctx, p->val, PDF_NAME_O, num); p->sort = num; } } @@ -633,16 +633,16 @@ int pdf_add_portfolio_entry(fz_context *ctx, pdf_document *doc, val = pdf_new_dict(ctx, doc, 6); pdf_dict_put_drop(ctx, val, PDF_NAME_CI, pdf_new_dict(ctx, doc, 4)); pdf_dict_put_drop(ctx, val, PDF_NAME_EF, (ef = pdf_new_dict(ctx, doc, 4))); - pdf_dict_put_drop(ctx, val, PDF_NAME_F, pdf_new_string(ctx, doc, filename, filename_len)); - pdf_dict_put_drop(ctx, val, PDF_NAME_UF, pdf_new_string(ctx, doc, unifile, unifile_len)); - pdf_dict_put_drop(ctx, val, PDF_NAME_Desc, pdf_new_string(ctx, doc, desc, desc_len)); - pdf_dict_put_drop(ctx, val, PDF_NAME_Type, PDF_NAME_Filespec); + pdf_dict_put_string(ctx, val, PDF_NAME_F, filename, filename_len); + pdf_dict_put_string(ctx, val, PDF_NAME_UF, unifile, unifile_len); + pdf_dict_put_string(ctx, val, PDF_NAME_Desc, desc, desc_len); + pdf_dict_put(ctx, val, PDF_NAME_Type, PDF_NAME_Filespec); pdf_dict_put_drop(ctx, ef, PDF_NAME_F, (f = pdf_add_stream(ctx, doc, buf, NULL, 0))); len = fz_buffer_storage(ctx, buf, NULL); - pdf_dict_put_drop(ctx, f, PDF_NAME_DL, pdf_new_int(ctx, doc, len)); - pdf_dict_put_drop(ctx, f, PDF_NAME_Length, pdf_new_int(ctx, doc, len)); + pdf_dict_put_int(ctx, f, PDF_NAME_DL, len); + pdf_dict_put_int(ctx, f, PDF_NAME_Length, len); pdf_dict_put_drop(ctx, f, PDF_NAME_Params, (params = pdf_new_dict(ctx, doc, 4))); - pdf_dict_put_drop(ctx, params, PDF_NAME_Size, pdf_new_int(ctx, doc, len)); + pdf_dict_put_int(ctx, params, PDF_NAME_Size, len); s = pdf_dict_getl(ctx, pdf_trailer(ctx, doc), PDF_NAME_Root, PDF_NAME_Collection, NULL); if (s == NULL) diff --git a/source/pdf/pdf-write.c b/source/pdf/pdf-write.c index 28a505f9..a7326a17 100644 --- a/source/pdf/pdf-write.c +++ b/source/pdf/pdf-write.c @@ -620,7 +620,7 @@ static int markobj(fz_context *ctx, pdf_document *doc, pdf_write_state *opts, pd { DEBUGGING_MARKING(indent(); printf("ARRAY[%d/%d]\n", i, n)); if (markobj(ctx, doc, opts, pdf_array_get(ctx, obj, i))) - pdf_array_put_drop(ctx, obj, i, pdf_new_null(ctx, doc)); + pdf_array_put(ctx, obj, i, PDF_OBJ_NULL); } } @@ -1185,7 +1185,7 @@ add_linearization_objs(fz_context *ctx, pdf_document *doc, pdf_write_state *opts opts->renumber_map[params_num] = params_num; opts->rev_renumber_map[params_num] = params_num; opts->gen_list[params_num] = 0; - pdf_dict_put_drop(ctx, params_obj, PDF_NAME_Linearized, pdf_new_real(ctx, doc, 1.0f)); + pdf_dict_put_real(ctx, params_obj, PDF_NAME_Linearized, 1.0f); opts->linear_l = pdf_new_int(ctx, doc, INT_MIN); pdf_dict_put(ctx, params_obj, PDF_NAME_L, opts->linear_l); opts->linear_h0 = pdf_new_int(ctx, doc, INT_MIN); @@ -1212,7 +1212,7 @@ add_linearization_objs(fz_context *ctx, pdf_document *doc, pdf_write_state *opts opts->renumber_map[hint_num] = hint_num; opts->rev_renumber_map[hint_num] = hint_num; opts->gen_list[hint_num] = 0; - pdf_dict_put_drop(ctx, hint_obj, PDF_NAME_P, pdf_new_int(ctx, doc, 0)); + pdf_dict_put_int(ctx, hint_obj, PDF_NAME_P, 0); opts->hints_s = pdf_new_int(ctx, doc, INT_MIN); pdf_dict_put(ctx, hint_obj, PDF_NAME_S, opts->hints_s); /* FIXME: Do we have thumbnails? Do a T entry */ @@ -1223,7 +1223,7 @@ add_linearization_objs(fz_context *ctx, pdf_document *doc, pdf_write_state *opts /* FIXME: Do we have document information? Do an I entry */ /* FIXME: Do we have logical structure hierarchy? Do a C entry */ /* FIXME: Do L, Page Label hint table */ - pdf_dict_put_drop(ctx, hint_obj, PDF_NAME_Filter, PDF_NAME_FlateDecode); + pdf_dict_put(ctx, hint_obj, PDF_NAME_Filter, PDF_NAME_FlateDecode); opts->hints_length = pdf_new_int(ctx, doc, INT_MIN); pdf_dict_put(ctx, hint_obj, PDF_NAME_Length, opts->hints_length); pdf_get_xref_entry(ctx, doc, hint_num)->stm_ofs = -1; @@ -1605,7 +1605,7 @@ static void addhexfilter(fz_context *ctx, pdf_document *doc, pdf_obj *dict) if (pdf_is_dict(ctx, dp)) { newdp = pdf_new_array(ctx, doc, 2); - pdf_array_push_drop(ctx, newdp, pdf_new_null(ctx, doc)); + pdf_array_push(ctx, newdp, PDF_OBJ_NULL); pdf_array_push(ctx, newdp, dp); dp = newdp; } @@ -1723,7 +1723,6 @@ static void copystream(fz_context *ctx, pdf_document *doc, pdf_write_state *opts static void expandstream(fz_context *ctx, pdf_document *doc, pdf_write_state *opts, pdf_obj *obj_orig, int num, int gen, int do_deflate) { fz_buffer *buf, *tmp; - pdf_obj *newlen; pdf_obj *obj; int truncated = 0; size_t len; @@ -1769,8 +1768,7 @@ static void expandstream(fz_context *ctx, pdf_document *doc, pdf_write_state *op addhexfilter(ctx, doc, obj); } - newlen = pdf_new_int(ctx, doc, (int)len); - pdf_dict_put_drop(ctx, obj, PDF_NAME_Length, newlen); + pdf_dict_put_int(ctx, obj, PDF_NAME_Length, len); fz_write_printf(ctx, opts->out, "%d %d obj\n", num, gen); pdf_print_encrypted_obj(ctx, opts->out, obj, opts->do_tight, doc->crypt, num, gen); @@ -2000,8 +1998,8 @@ static void writexref(fz_context *ctx, pdf_document *doc, pdf_write_state *opts, if (opts->do_incremental) { trailer = pdf_keep_obj(ctx, pdf_trailer(ctx, doc)); - pdf_dict_put_drop(ctx, trailer, PDF_NAME_Size, pdf_new_int(ctx, doc, pdf_xref_len(ctx, doc))); - pdf_dict_put_drop(ctx, trailer, PDF_NAME_Prev, pdf_new_int(ctx, doc, doc->startxref)); + pdf_dict_put_int(ctx, trailer, PDF_NAME_Size, pdf_xref_len(ctx, doc)); + pdf_dict_put_int(ctx, trailer, PDF_NAME_Prev, doc->startxref); doc->startxref = startxref; } else @@ -2052,8 +2050,8 @@ static void writexrefstreamsubsect(fz_context *ctx, pdf_document *doc, pdf_write { int num; - pdf_array_push_drop(ctx, index, pdf_new_int(ctx, doc, from)); - pdf_array_push_drop(ctx, index, pdf_new_int(ctx, doc, to - from)); + pdf_array_push_int(ctx, index, from); + pdf_array_push_int(ctx, index, to - from); for (num = from; num < to; num++) { fz_append_byte(ctx, fzbuf, opts->use_list[num] ? 1 : 0); @@ -2109,26 +2107,26 @@ static void writexrefstream(fz_context *ctx, pdf_document *doc, pdf_write_state } } - pdf_dict_put_drop(ctx, dict, PDF_NAME_Size, pdf_new_int(ctx, doc, to)); + pdf_dict_put_int(ctx, dict, PDF_NAME_Size, to); if (opts->do_incremental) { - pdf_dict_put_drop(ctx, dict, PDF_NAME_Prev, pdf_new_int(ctx, doc, doc->startxref)); + pdf_dict_put_int(ctx, dict, PDF_NAME_Prev, doc->startxref); doc->startxref = startxref; } else { if (main_xref_offset != 0) - pdf_dict_put_drop(ctx, dict, PDF_NAME_Prev, pdf_new_int(ctx, doc, main_xref_offset)); + pdf_dict_put_int(ctx, dict, PDF_NAME_Prev, main_xref_offset); } - pdf_dict_put_drop(ctx, dict, PDF_NAME_Type, PDF_NAME_XRef); + pdf_dict_put(ctx, dict, PDF_NAME_Type, PDF_NAME_XRef); w = pdf_new_array(ctx, doc, 3); pdf_dict_put(ctx, dict, PDF_NAME_W, w); - pdf_array_push_drop(ctx, w, pdf_new_int(ctx, doc, 1)); - pdf_array_push_drop(ctx, w, pdf_new_int(ctx, doc, 4)); - pdf_array_push_drop(ctx, w, pdf_new_int(ctx, doc, 1)); + pdf_array_push_int(ctx, w, 1); + pdf_array_push_int(ctx, w, 4); + pdf_array_push_int(ctx, w, 1); index = pdf_new_array(ctx, doc, 2); pdf_dict_put_drop(ctx, dict, PDF_NAME_Index, index); @@ -2616,8 +2614,8 @@ static void presize_unsaved_signature_byteranges(fz_context *ctx, pdf_document * for (i = 0; i < n+1; i++) { - pdf_array_push_drop(ctx, byte_range, pdf_new_int(ctx, doc, INT_MAX)); - pdf_array_push_drop(ctx, byte_range, pdf_new_int(ctx, doc, INT_MAX)); + pdf_array_push_int(ctx, byte_range, INT_MAX); + pdf_array_push_int(ctx, byte_range, INT_MAX); } } } @@ -2678,12 +2676,12 @@ static void complete_signatures(fz_context *ctx, pdf_document *doc, pdf_write_st last_end = 0; for (usig = xref->unsaved_sigs; usig; usig = usig->next) { - pdf_array_push_drop(ctx, byte_range, pdf_new_int(ctx, doc, last_end)); - pdf_array_push_drop(ctx, byte_range, pdf_new_int(ctx, doc, usig->contents_start - last_end)); + pdf_array_push_int(ctx, byte_range, last_end); + pdf_array_push_int(ctx, byte_range, usig->contents_start - last_end); last_end = usig->contents_end; } - pdf_array_push_drop(ctx, byte_range, pdf_new_int(ctx, doc, last_end)); - pdf_array_push_drop(ctx, byte_range, pdf_new_int(ctx, doc, xref->end_ofs - last_end)); + pdf_array_push_int(ctx, byte_range, last_end); + pdf_array_push_int(ctx, byte_range, xref->end_ofs - last_end); /* Copy the new ByteRange to the other unsaved signatures */ for (usig = xref->unsaved_sigs->next; usig; usig = usig->next) @@ -3197,8 +3195,8 @@ make_page_tree_node(fz_context *ctx, pdf_document *doc, int l, int r, pdf_obj *p fz_try(ctx) { me = pdf_new_dict(ctx, doc, 2); - pdf_dict_put_drop(ctx, me, PDF_NAME_Type, PDF_NAME_Pages); - pdf_dict_put_drop(ctx, me, PDF_NAME_Count, pdf_new_int(ctx, doc, r-l)); + pdf_dict_put(ctx, me, PDF_NAME_Type, PDF_NAME_Pages); + pdf_dict_put_int(ctx, me, PDF_NAME_Count, r-l); if (!root) pdf_dict_put(ctx, me, PDF_NAME_Parent, parent_ref); a = pdf_new_array(ctx, doc, KIDS_PER_LEVEL); diff --git a/source/pdf/pdf-xobject.c b/source/pdf/pdf-xobject.c index 38a31c48..bac856fd 100644 --- a/source/pdf/pdf-xobject.c +++ b/source/pdf/pdf-xobject.c @@ -134,10 +134,10 @@ pdf_new_xobject(fz_context *ctx, pdf_document *doc, const fz_rect *bbox, const f fz_try(ctx) { dict = pdf_new_dict(ctx, doc, 0); - pdf_dict_put_drop(ctx, dict, PDF_NAME_BBox, pdf_new_rect(ctx, doc, bbox)); - pdf_dict_put_drop(ctx, dict, PDF_NAME_FormType, pdf_new_int(ctx, doc, 1)); - pdf_dict_put_drop(ctx, dict, PDF_NAME_Length, pdf_new_int(ctx, doc, 0)); - pdf_dict_put_drop(ctx, dict, PDF_NAME_Matrix, pdf_new_matrix(ctx, doc, mat)); + pdf_dict_put_rect(ctx, dict, PDF_NAME_BBox, bbox); + pdf_dict_put_int(ctx, dict, PDF_NAME_FormType, 1); + pdf_dict_put_int(ctx, dict, PDF_NAME_Length, 0); + pdf_dict_put_matrix(ctx, dict, PDF_NAME_Matrix, mat); res = pdf_new_dict(ctx, doc, 0); pdf_dict_put(ctx, dict, PDF_NAME_Resources, res); diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c index cfcd0a21..723b543c 100644 --- a/source/pdf/pdf-xref.c +++ b/source/pdf/pdf-xref.c @@ -2699,14 +2699,14 @@ pdf_document *pdf_create_document(fz_context *ctx) pdf_get_populating_xref_entry(ctx, doc, 0); trailer = pdf_new_dict(ctx, doc, 2); - pdf_dict_put_drop(ctx, trailer, PDF_NAME_Size, pdf_new_int(ctx, doc, 3)); + pdf_dict_put_int(ctx, trailer, PDF_NAME_Size, 3); root = pdf_new_dict(ctx, doc, 2); pdf_dict_put_drop(ctx, trailer, PDF_NAME_Root, pdf_add_object_drop(ctx, doc, root)); - pdf_dict_put_drop(ctx, root, PDF_NAME_Type, PDF_NAME_Catalog); + pdf_dict_put(ctx, root, PDF_NAME_Type, PDF_NAME_Catalog); pages = pdf_new_dict(ctx, doc, 3); pdf_dict_put_drop(ctx, root, PDF_NAME_Pages, pdf_add_object_drop(ctx, doc, pages)); - pdf_dict_put_drop(ctx, pages, PDF_NAME_Type, PDF_NAME_Pages); - pdf_dict_put_drop(ctx, pages, PDF_NAME_Count, pdf_new_int(ctx, doc, 0)); + pdf_dict_put(ctx, pages, PDF_NAME_Type, PDF_NAME_Pages); + pdf_dict_put_int(ctx, pages, PDF_NAME_Count, 0); pdf_dict_put_drop(ctx, pages, PDF_NAME_Kids, pdf_new_array(ctx, doc, 1)); /* Set the trailer of the final xref section. */ diff --git a/source/tools/pdfmerge.c b/source/tools/pdfmerge.c index 14551ecf..86e8a27b 100644 --- a/source/tools/pdfmerge.c +++ b/source/tools/pdfmerge.c @@ -50,7 +50,7 @@ static void page_merge(int page_from, int page_to, pdf_graft_map *graft_map) /* Make a new page object dictionary to hold the items we copy from the source page. */ page_dict = pdf_new_dict(ctx, doc_des, 4); - pdf_dict_put_drop(ctx, page_dict, PDF_NAME_Type, PDF_NAME_Page); + pdf_dict_put(ctx, page_dict, PDF_NAME_Type, PDF_NAME_Page); for (i = 0; i < nelem(copy_list); i++) { diff --git a/source/tools/pdfposter.c b/source/tools/pdfposter.c index 304e6bbb..8f16834d 100644 --- a/source/tools/pdfposter.c +++ b/source/tools/pdfposter.c @@ -47,10 +47,10 @@ intersect_box(fz_context *ctx, pdf_document *doc, pdf_obj *page, pdf_obj *box_na old_rect.y1 = mb->y1; newbox = pdf_new_array(ctx, doc, 4); - pdf_array_push_drop(ctx, newbox, pdf_new_real(ctx, doc, old_rect.x0)); - pdf_array_push_drop(ctx, newbox, pdf_new_real(ctx, doc, old_rect.y0)); - pdf_array_push_drop(ctx, newbox, pdf_new_real(ctx, doc, old_rect.x1)); - pdf_array_push_drop(ctx, newbox, pdf_new_real(ctx, doc, old_rect.y1)); + pdf_array_push_real(ctx, newbox, old_rect.x0); + pdf_array_push_real(ctx, newbox, old_rect.y0); + pdf_array_push_real(ctx, newbox, old_rect.x1); + pdf_array_push_real(ctx, newbox, old_rect.y1); pdf_dict_put_drop(ctx, page, box_name, newbox); } @@ -131,10 +131,10 @@ static void decimatepages(fz_context *ctx, pdf_document *doc) else mb.y1 = mediabox.y0 + (h/yf)*(y+1); - pdf_array_push_drop(ctx, newmediabox, pdf_new_real(ctx, doc, mb.x0)); - pdf_array_push_drop(ctx, newmediabox, pdf_new_real(ctx, doc, mb.y0)); - pdf_array_push_drop(ctx, newmediabox, pdf_new_real(ctx, doc, mb.x1)); - pdf_array_push_drop(ctx, newmediabox, pdf_new_real(ctx, doc, mb.y1)); + pdf_array_push_real(ctx, newmediabox, mb.x0); + pdf_array_push_real(ctx, newmediabox, mb.y0); + pdf_array_push_real(ctx, newmediabox, mb.x1); + pdf_array_push_real(ctx, newmediabox, mb.y1); pdf_dict_put(ctx, newpageobj, PDF_NAME_Parent, pages); pdf_dict_put_drop(ctx, newpageobj, PDF_NAME_MediaBox, newmediabox); @@ -154,7 +154,7 @@ static void decimatepages(fz_context *ctx, pdf_document *doc) } /* Update page count and kids array */ - pdf_dict_put_drop(ctx, pages, PDF_NAME_Count, pdf_new_int(ctx, doc, kidcount)); + pdf_dict_put_int(ctx, pages, PDF_NAME_Count, kidcount); pdf_dict_put_drop(ctx, pages, PDF_NAME_Kids, kids); } |