Skip to content
This repository was archived by the owner on Mar 6, 2023. It is now read-only.

Commit 96bc795

Browse files
committed
omitinfodict added: \pdfvariable omitinfodict 1 omit Info dicttionary (H.Hagen)
git-svn-id: https://serveur-svn.lri.fr/svn/modhel/luatex/trunk@7538 0b2b3880-5936-4365-a048-eb17d2e5a6bf
1 parent eaa95ce commit 96bc795

11 files changed

+43
-12
lines changed

manual/luatex-backend.tex

+7-5
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,8 @@
124124

125125
\stopsubsection
126126

127-
\startsubsection[title={\type {[set|get]suppressoptionalinfo}, \type {[set|get]trailerid}
128-
and \type {[set|get]omitcidset}}]
127+
\startsubsection[title={\type {[set|get]suppressoptionalinfo}, \type {[set|get]trailerid},
128+
\type {[set|get]omitcidset} and \type {[set|get]omitinfodict}}]
129129

130130
\topicindex{\PDF+options}
131131
\topicindex{\PDF+trailer}
@@ -134,16 +134,17 @@
134134
\libindex{gettrailerid} \libindex{settrailerid}
135135
\libindex{getomitcidset} \libindex{setomitcidset}
136136
\libindex{getomitcharset} \libindex{setomitcharset}
137+
\libindex{getomitinfodict} \libindex{setomitinfodict}
137138

138139
The optional info bitset (a number) determines what kind of info gets flushed.
139140
By default we flush all. See \in {section} [sec:pdfextensions] for more details.
140141

141142
You can set your own trailer id. This has to be string containing valid \PDF\
142143
array content with checksums.
143144

144-
The cidset and charset flags (numbers) disables inclusion of a so called \type
145-
{CIDSet} and \type {CharSet} entries, which can be handy when aiming at some of
146-
the many \PDF\ substandards.
145+
The cidset, charset and info flags (numbers) disables inclusion of a so called
146+
\type {CIDSet} and \type {CharSet} entries, which can be handy when aiming at
147+
some of the many \PDF\ substandards.
147148

148149
\stopsubsection
149150

@@ -639,6 +640,7 @@
639640
\libindex {getversion}
640641
\libindex {getnofobjects}
641642
\libindex {getnofpages}
643+
\libindex {getmemoryusage}
642644

643645
A successfully opened document can provide some information:
644646

manual/luatex-math.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
% language=us engine=luatex runpath=texruns:manuals/luatex
1+
% language=uk engine=luatex runpath=texruns:manuals/luatex
22

33
\environment luatex-style
44

manual/luatex-modifications.tex

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
% language=us engine=luatex runpath=texruns:manuals/luatex
1+
% language=uk engine=luatex runpath=texruns:manuals/luatex
22

33
\environment luatex-style
44

@@ -666,6 +666,7 @@
666666
\edef\pdfgentounicode {\pdfvariable gentounicode}
667667
\edef\pdfomitcidset {\pdfvariable omitcidset}
668668
\edef\pdfomitcharset {\pdfvariable omitcharset}
669+
\edef\pdfomitinfodict {\pdfvariable omitinfodict}
669670
\edef\pdfpagebox {\pdfvariable pagebox}
670671
\edef\pdfminorversion {\pdfvariable minorversion}
671672
\edef\pdfuniqueresname {\pdfvariable uniqueresname}
@@ -915,6 +916,7 @@
915916
\pdfgentounicode 0
916917
\pdfomitcidset 0
917918
\pdfomitcharset 0
919+
\pdfomitinfodict 0
918920
\pdfpagebox 0
919921
\pdfminorversion 4
920922
\pdfuniqueresname 0

manual/luatex.pdf

256 Bytes
Binary file not shown.

source/texk/web2c/luatexdir/ChangeLog

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
2022-08-16 Luigi Scarso <[email protected]>
22
* Accent 0xFFFD but still error on invalid utf (compatible) (H.Hagen)
3+
* omitinfodict added: \pdfvariable omitinfodict 1 omit Info dicttionary (H.Hagen)
34

45
2022-08-05 Luigi Scarso <[email protected]>
56
* Fixed a missed lua_settop in lua_appendtovlist_callback() (thanks to Hironori KITAGAWA)

source/texk/web2c/luatexdir/lua/lpdflib.c

+16
Original file line numberDiff line numberDiff line change
@@ -814,6 +814,12 @@ static int getpdfomitcharset(lua_State * L)
814814
return 1 ;
815815
}
816816

817+
static int getpdfomitinfodict(lua_State * L)
818+
{
819+
lua_pushinteger(L, (pdf_omit_infodict));
820+
return 1 ;
821+
}
822+
817823
static int setpdfgentounicode(lua_State * L)
818824
{
819825
if (lua_type(L, 1) == LUA_TNUMBER) {
@@ -838,6 +844,14 @@ static int setpdfomitcharset(lua_State * L)
838844
return 0 ;
839845
}
840846

847+
static int setpdfomitinfodict(lua_State * L)
848+
{
849+
if (lua_type(L, 1) == LUA_TNUMBER) {
850+
set_pdf_omit_infodict(lua_tointeger(L, 1));
851+
}
852+
return 0 ;
853+
}
854+
841855
/* for tracing purposes when no pages are flushed */
842856

843857
static int setforcefile(lua_State * L)
@@ -1350,11 +1364,13 @@ static const struct luaL_Reg pdflib[] = {
13501364
{ "getgentounicode", getpdfgentounicode },
13511365
{ "getomitcidset", getpdfomitcidset },
13521366
{ "getomitcharset", getpdfomitcharset },
1367+
{ "getomitinfo", getpdfomitinfodict },
13531368
{ "setinclusionerrorlevel", setpdfinclusionerrorlevel },
13541369
{ "setignoreunknownimages", setpdfignoreunknownimages },
13551370
{ "setgentounicode", setpdfgentounicode },
13561371
{ "setomitcidset", setpdfomitcidset },
13571372
{ "setomitcharset", setpdfomitcharset },
1373+
{ "setomitinfo", setpdfomitinfodict },
13581374
{ "setforcefile", setforcefile },
13591375
{ "mapfile", l_mapfile },
13601376
{ "mapline", l_mapline },
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#ifndef luatex_svn_revision_h
22
#define luatex_svn_revision_h
3-
#define luatex_svn_revision 7537
3+
#define luatex_svn_revision 7538
44
#endif

source/texk/web2c/luatexdir/pdf/pdfgen.c

+9-4
Original file line numberDiff line numberDiff line change
@@ -2227,7 +2227,8 @@ void pdf_finish_file(PDF pdf, int fatal_error) {
22272227
print_err(" ==> Fatal error occurred, no output PDF file produced!");
22282228
} else {
22292229
int i, j, k;
2230-
int root, info;
2230+
int root = 0;
2231+
int info = 0;
22312232
int xref_stm = 0;
22322233
int outlines = 0;
22332234
int threads = 0;
@@ -2268,6 +2269,7 @@ void pdf_finish_file(PDF pdf, int fatal_error) {
22682269
pdf->gen_tounicode = pdf_gen_tounicode;
22692270
pdf->omit_cidset = pdf_omit_cidset;
22702271
pdf->omit_charset = pdf_omit_charset;
2272+
pdf->omit_infodict = pdf_omit_infodict;
22712273
/*tex
22722274
The first pass over the list will flag the slots that are
22732275
used so that we can do a preroll for type 3 fonts.
@@ -2384,7 +2386,8 @@ void pdf_finish_file(PDF pdf, int fatal_error) {
23842386
print_pdf_table_string(pdf, "catalog");
23852387
pdf_end_dict(pdf);
23862388
pdf_end_obj(pdf);
2387-
info = pdf_print_info(pdf, luatexversion, luatexrevision);
2389+
if (! pdf->omit_infodict)
2390+
info = pdf_print_info(pdf, luatexversion, luatexrevision);
23882391
if (pdf->os_enable) {
23892392
pdf_buffer_select(pdf, OBJSTM_BUF);
23902393
pdf_os_write_objstream(pdf);
@@ -2418,7 +2421,8 @@ void pdf_finish_file(PDF pdf, int fatal_error) {
24182421
pdf_add_int(pdf, 1);
24192422
pdf_end_array(pdf);
24202423
pdf_dict_add_ref(pdf, "Root", root);
2421-
pdf_dict_add_ref(pdf, "Info", info);
2424+
if (! pdf->omit_infodict)
2425+
pdf_dict_add_ref(pdf, "Info", info);
24222426
if (pdf_trailer_toks != null) {
24232427
pdf_print_toks(pdf, pdf_trailer_toks);
24242428
delete_token_ref(pdf_trailer_toks);
@@ -2476,7 +2480,8 @@ void pdf_finish_file(PDF pdf, int fatal_error) {
24762480
pdf_begin_dict(pdf);
24772481
pdf_dict_add_int(pdf, "Size", pdf->obj_ptr + 1);
24782482
pdf_dict_add_ref(pdf, "Root", root);
2479-
pdf_dict_add_ref(pdf, "Info", info);
2483+
if (! pdf->omit_infodict)
2484+
pdf_dict_add_ref(pdf, "Info", info);
24802485
if (pdf_trailer_toks != null) {
24812486
pdf_print_toks(pdf, pdf_trailer_toks);
24822487
delete_token_ref(pdf_trailer_toks);

source/texk/web2c/luatexdir/pdf/pdftables.h

+3
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ typedef enum {
141141
c_pdf_omit_cidset,
142142
c_pdf_recompress,
143143
c_pdf_omit_charset,
144+
c_pdf_omit_infodict,
144145
} pdf_backend_counters ;
145146

146147
typedef enum {
@@ -190,6 +191,7 @@ extern int pdf_cur_form;
190191
# define pdf_suppress_optional_info get_tex_extension_count_register(c_pdf_suppress_optional_info)
191192
# define pdf_omit_cidset get_tex_extension_count_register(c_pdf_omit_cidset)
192193
# define pdf_omit_charset get_tex_extension_count_register(c_pdf_omit_charset)
194+
# define pdf_omit_infodict get_tex_extension_count_register(c_pdf_omit_infodict)
193195
# define pdf_recompress get_tex_extension_count_register(c_pdf_recompress)
194196

195197
# define pdf_h_origin get_tex_extension_dimen_register(d_pdf_h_origin)
@@ -213,6 +215,7 @@ extern int pdf_cur_form;
213215
# define set_pdf_obj_compress_level(i) set_tex_extension_count_register(c_pdf_obj_compress_level,i)
214216
# define set_pdf_omit_cidset(i) set_tex_extension_count_register(c_pdf_omit_cidset,i)
215217
# define set_pdf_omit_charset(i) set_tex_extension_count_register(c_pdf_omit_charset,i)
218+
# define set_pdf_omit_infodict(i) set_tex_extension_count_register(c_pdf_omit_infodict,i)
216219
# define set_pdf_gen_tounicode(i) set_tex_extension_count_register(c_pdf_gen_tounicode,i)
217220
# define set_pdf_recompress(i) set_tex_extension_count_register(c_pdf_recompress,i)
218221

source/texk/web2c/luatexdir/pdf/pdftypes.h

+1
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,7 @@ typedef struct pdf_output_file_ {
295295
int gen_tounicode;
296296
int omit_cidset;
297297
int omit_charset;
298+
int omit_infodict;
298299
int inclusion_copy_font;
299300
int major_version; /* fixed major part of the PDF version */
300301
int minor_version; /* fixed minor part of the PDF version */

source/texk/web2c/luatexdir/tex/textoken.c

+1
Original file line numberDiff line numberDiff line change
@@ -2620,6 +2620,7 @@ static int do_variable_pdf(halfword c)
26202620
else if (scan_keyword("suppressoptionalinfo")) { do_variable_backend_int(c_pdf_suppress_optional_info); }
26212621
else if (scan_keyword("omitcidset")) { do_variable_backend_int(c_pdf_omit_cidset); }
26222622
else if (scan_keyword("omitcharset")) { do_variable_backend_int(c_pdf_omit_charset); }
2623+
else if (scan_keyword("omitinfodict")) { do_variable_backend_int(c_pdf_omit_infodict); }
26232624
else if (scan_keyword("recompress")) { do_variable_backend_int(c_pdf_recompress); }
26242625

26252626
else if (scan_keyword("horigin")) { do_variable_backend_dimen(d_pdf_h_origin); }

0 commit comments

Comments
 (0)