summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-12-21 23:48:41 +0000
committerKarl Berry <karl@freefriends.org>2022-12-21 23:48:41 +0000
commitedafb4ee88270173ce0d02a3a108b064e22ede12 (patch)
treea683eded026f76a61e2a0742256d40fa38339f92
parent4a70bcc95cf896cb3944114f853db07f690645ca (diff)
push \pdfomitprocset change from pdftex r886
git-svn-id: svn://tug.org/texlive/trunk@65327 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/web2c/pdftexdir/ChangeLog13
-rw-r--r--Build/source/texk/web2c/pdftexdir/NEWS3
-rw-r--r--Build/source/texk/web2c/pdftexdir/pdftex.web36
3 files changed, 38 insertions, 14 deletions
diff --git a/Build/source/texk/web2c/pdftexdir/ChangeLog b/Build/source/texk/web2c/pdftexdir/ChangeLog
index a5ece929bfd..ff765b02004 100644
--- a/Build/source/texk/web2c/pdftexdir/ChangeLog
+++ b/Build/source/texk/web2c/pdftexdir/ChangeLog
@@ -1,3 +1,14 @@
+2022-12-21 Thanh Han The <hanthethanh@gmail.com>
+
+ * pdftex.web (pdf_omit_info_procset_code),
+ (pdf_omit_procset): new parameter \pdfomitprocset.
+ (Put each...): add it.
+ (Generate ProcSet if desired): rename from <Generate ProcSet>;
+ output /ProcSet if the parameter is negative,
+ or if the parameter is zero and we are generating PDF 1.x (not 2.x).
+ Request by Ross,
+ https://tug.org/pipermail/pdftex/2022-December/009310.html
+
2022-11-30 Thanh Han The <hanthethanh@gmail.com>
* pdftex.web (Finish the PDF file): omit call to pdf_print_info
@@ -15,7 +26,7 @@
2022-04-17 Thanh Han The <hanthethanh@gmail.com>
* pdftex.web (pdf_omit_info_dict_code),
- (pdf_omit_info_dict):new parameter.
+ (pdf_omit_info_dict): new parameter \pdfomitinfodict.
(Put each...): add it.
(Output the cross-reference stream dictionary),
(Output the trailer): omit /Info if parameter is nonzero.
diff --git a/Build/source/texk/web2c/pdftexdir/NEWS b/Build/source/texk/web2c/pdftexdir/NEWS
index c2383fc29e6..13608964df2 100644
--- a/Build/source/texk/web2c/pdftexdir/NEWS
+++ b/Build/source/texk/web2c/pdftexdir/NEWS
@@ -1,6 +1,9 @@
pdfTeX 3.141592653-2.6-1.40.25
- changes:
- new primitive \pdfomitinfodict to omit /Info dictionary completely.
+ - new primitive \pdfomitprocset to control omitting /ProcSet array;
+ /ProcSet is included if this parameter is negative, or if this
+ parameter is zero and pdftex is generating PDF 1.x output.
- bugfixes:
- finish omission of /Info dict when \pdfomitinfodict is not 0.
diff --git a/Build/source/texk/web2c/pdftexdir/pdftex.web b/Build/source/texk/web2c/pdftexdir/pdftex.web
index 37037b1c4e8..b29fe75dda3 100644
--- a/Build/source/texk/web2c/pdftexdir/pdftex.web
+++ b/Build/source/texk/web2c/pdftexdir/pdftex.web
@@ -5706,7 +5706,8 @@ that will be defined later.
@d pdf_suppress_ptex_info_code = pdftex_first_integer_code + 32 {suppress /PTEX.* entries in PDF dictionaries}
@d pdf_omit_charset_code = pdftex_first_integer_code + 33 {suppress /PTEX.* entries in PDF dictionaries}
@d pdf_omit_info_dict_code = pdftex_first_integer_code + 34 {suppress /PTEX.* entries in PDF dictionaries}
-@d pdf_int_pars=pdftex_first_integer_code + 35 {total number of \pdfTeX's integer parameters}
+@d pdf_omit_procset_code = pdftex_first_integer_code + 35 {suppress /PTEX.* entries in PDF dictionaries}
+@d pdf_int_pars=pdftex_first_integer_code + 36 {total number of \pdfTeX's integer parameters}
@#
@d etex_int_base=pdf_int_pars {base for \eTeX's integer parameters}
@d tracing_assigns_code=etex_int_base {show assignments}
@@ -5820,6 +5821,7 @@ that will be defined later.
@d pdf_suppress_ptex_info == int_par(pdf_suppress_ptex_info_code)
@d pdf_omit_charset == int_par(pdf_omit_charset_code)
@d pdf_omit_info_dict == int_par(pdf_omit_info_dict_code)
+@d pdf_omit_procset == int_par(pdf_omit_procset_code)
@#
@d tracing_assigns==int_par(tracing_assigns_code)
@d tracing_groups==int_par(tracing_groups_code)
@@ -5930,6 +5932,7 @@ pdf_info_omit_date_code:print_esc("pdfinfoomitdate");
pdf_suppress_ptex_info_code: print_esc("pdfsuppressptexinfo");
pdf_omit_charset_code: print_esc("pdfomitcharset");
pdf_omit_info_dict_code: print_esc("pdfomitinfodict");
+pdf_omit_procset_code: print_esc("pdfomitprocset");
@/@<Cases for |print_param|@>@/
othercases print("[unknown integer parameter!]")
endcases;
@@ -6131,6 +6134,9 @@ primitive("pdfomitcharset",assign_int,int_base+pdf_omit_charset_code);@/
primitive("pdfomitinfodict",assign_int,int_base+pdf_omit_info_dict_code);@/
@!@:pdf_omit_info_dict}{\.{\\pdfomitinfodict} primitive@>
+primitive("pdfomitprocset",assign_int,int_base+pdf_omit_procset_code);@/
+@!@:pdf_omit_procset}{\.{\\pdfomitprocset} primitive@>
+
@ @<Cases of |print_cmd_chr|...@>=
assign_int: if chr_code<count_base then print_param(chr_code-int_base)
else begin print_esc("count"); print_int(chr_code-count_base);
@@ -19186,7 +19192,7 @@ pdf_begin_dict(pdf_last_resources, 1);
@<Print additional resources@>;
@<Generate font resources@>;
@<Generate XObject resources@>;
-@<Generate ProcSet@>;
+@<Generate ProcSet if desired@>;
pdf_end_dict
@ @<Print additional resources@>=
@@ -19263,17 +19269,21 @@ if (pdf_xform_list <> null) or (pdf_ximage_list <> null) then begin
pdf_print_ln(">>");
end
-@ @<Generate ProcSet@>=
-pdf_print("/ProcSet [ /PDF");
-if pdf_text_procset then
- pdf_print(" /Text");
-if check_image_b(pdf_image_procset) then
- pdf_print(" /ImageB");
-if check_image_c(pdf_image_procset) then
- pdf_print(" /ImageC");
-if check_image_i(pdf_image_procset) then
- pdf_print(" /ImageI");
-pdf_print_ln(" ]")
+@ @<Generate ProcSet if desired@>=
+if (pdf_omit_procset < 0) or
+ ((pdf_omit_procset = 0) and (pdf_major_version < 2)) then
+begin
+ pdf_print("/ProcSet [ /PDF");
+ if pdf_text_procset then
+ pdf_print(" /Text");
+ if check_image_b(pdf_image_procset) then
+ pdf_print(" /ImageB");
+ if check_image_c(pdf_image_procset) then
+ pdf_print(" /ImageC");
+ if check_image_i(pdf_image_procset) then
+ pdf_print(" /ImageI");
+ pdf_print_ln(" ]")
+end
@ @<Write out page object@>=
pdf_begin_dict(pdf_last_page, 1);