diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex')
15 files changed, 468 insertions, 76 deletions
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty index 912e4c644fd..b11df8acf71 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty @@ -24,7 +24,7 @@ %% This file has the LPPL maintenance status "maintained". %% \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{color-ltx}[2024-03-26 v0.96g +\ProvidesPackage{color-ltx}[2024-04-09 v0.96h Standard LaTeX Color (patched for l3color, part of pdfmanagement-testphase, original version 2022/01/06 v1.3d) (DPC)] \edef\Gin@codes{% \catcode`\noexpand\^^A\the\catcode`\^^A\relax diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty index a9719de19e3..19d5375f7ef 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty @@ -19,7 +19,7 @@ % % for those people who are interested. \NeedsTeXFormat{LaTeX2e}[2020/10/01] -\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2024-03-26}{0.96g} +\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2024-04-09}{0.96h} {temporay patches to for the colorspace package to test pdfresource management ... UF} % colorspace can define more models, that l3color can't yet handle. diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def index f6720625cd4..cc5d51b9501 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: hyperref-generic.dtx -\ProvidesFile{hgeneric-testphase.def}[2024-03-26 v0.96g % +\ProvidesFile{hgeneric-testphase.def}[2024-04-09 v0.96h % generic Hyperref driver for the LaTeX PDF management testphase bundle] \RequirePackage{etoolbox} %why? diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def index d167a6eb1e4..225bb48d0aa 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def @@ -20,7 +20,7 @@ %% %% File: l3backend-testphase.dtx \ProvidesExplFile - {l3backend-testphase-dvipdfmx.def}{2024-03-26}{} + {l3backend-testphase-dvipdfmx.def}{2024-04-09}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx} \cs_generate_variant:Nn \__kernel_backend_literal:n { e } \cs_generate_variant:Nn \__pdf_backend:n { e } @@ -48,6 +48,7 @@ \tl_new:N \l__pdf_tmpa_tl \box_new:N \l__pdf_backend_tmpa_box \box_new:N \l__pdf_backend_tmpb_box + \int_new:N \g__pdf_backend_resourceid_int \int_new:N \g__pdf_backend_name_int \int_new:N \g__pdf_backend_page_int @@ -145,7 +146,7 @@ %objects are not filled with \pdf_object_write as this is not additive! \__pdf_backend:e { - put~\__pdf_backend_object_ref:n {__pdf/Page/Resources/#1}<</#2~#3>> + put~\pdf_object_ref:n {__pdf/Page/Resources/#1}<</#2~#3>> } } @@ -166,7 +167,7 @@ /Properties~ << /l3pdf\int_use:N\g__pdf_backend_name_int\c_space_tl - \__pdf_backend_object_ref:n { #2 } + \pdf_object_ref:n { #2 } >> >> } @@ -237,7 +238,7 @@ \__kernel_backend_literal:e { pdf:put~@resources~ - <</##1~\__pdf_backend_object_ref:n {__pdf/Page/Resources/##1}>> + <</##1~\pdf_object_ref:n {__pdf/Page/Resources/##1}>> } } } @@ -371,13 +372,21 @@ \tl_new:N \l_pdf_current_structure_destination_tl \cs_new_protected:Npn \pdf_activate_structure_destination: { - \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn - \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn + \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn + \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn + \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw + } +\cs_new_protected:Npn \pdf_activate_indexed_structure_destination: + { + \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_indexed_structure_destination:nn + \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_indexed_structure_destination:nnnn \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw } \cs_set_eq:NN \__pdf_backend_structure_destination:nn \__pdf_backend_destination:nn -\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn +\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn \cs_set_eq:NN \__pdf_backend_link_begin_structure_goto:nnw \__pdf_backend_link_begin_goto:nnw +\cs_set_eq:NN \__pdf_backend_indexed_structure_destination:nn \__pdf_backend_destination:nn +\cs_set_eq:NN \__pdf_backend_indexed_structure_destination:nnnn \__pdf_backend_destination:nnnn \cs_set_protected:Npn \__pdf_backend_structure_destination:nn #1#2 { \__pdf_backend:e @@ -477,6 +486,95 @@ { \__pdf_backend_link_begin:n { #1 /Subtype /Link /A << /S /GoTo /D ( #2 ) /SD~@pdf.SDest.#2 >> } } +\cs_set_protected:Npn \__pdf_backend_indexed_structure_destination:nn #1#2 + { + \__pdf_backend:e + { + dest ~ ( \exp_not:n {#1} ) + [ + @thispage + \str_case:nnF {#2} + { + { xyz } { /XYZ ~ @xpos ~ @ypos ~ null } + { fit } { /Fit } + { fitb } { /FitB } + { fitbh } { /FitBH } + { fitbv } { /FitBV ~ @xpos } + { fith } { /FitH ~ @ypos } + { fitv } { /FitV ~ @xpos } + { fitr } { /Fit } + } + { /XYZ ~ @xpos ~ @ypos ~ \fp_eval:n { (#2) / 100 } } + ] + } + \__pdf_backend:e + { + obj ~ @pdf.SDest.\exp_not:n{#1} + [ + \exp_after:wN \pdf_object_ref_indexed:nn \l_pdf_current_structure_destination_tl + \str_case:nnF {#2} + { + { xyz } { /XYZ ~ @xpos ~ @ypos ~ null } + { fit } { /Fit } + { fitb } { /FitB } + { fitbh } { /FitBH } + { fitbv } { /FitBV ~ @xpos } + { fith } { /FitH ~ @ypos } + { fitv } { /FitV ~ @xpos } + { fitr } { /Fit } + } + { /XYZ ~ @xpos ~ @ypos ~ \fp_eval:n { (#2) / 100 } } + ] + } + } +\cs_new_protected:Npn \__pdf_backend_indexed_structure_destination_aux:nnnn #1#2#3#4 + { + \vbox_to_zero:n + { + \__kernel_kern:n {#4} + \hbox:n + { + \__pdf_backend:n { obj ~ @pdf_ #2 _llx ~ @xpos } + \__pdf_backend:n { obj ~ @pdf_ #2 _lly ~ @ypos } + } + \tex_vss:D + } + \__kernel_kern:n {#1} + \vbox_to_zero:n + { + \__kernel_kern:n { -#3 } + \hbox:n + { + \__pdf_backend:n + { + dest ~ (#2) + [ + @thispage + /FitR ~ + @pdf_ #2 _llx ~ @pdf_ #2 _lly ~ + @xpos ~ @ypos + ] + } + \__pdf_backend:e + { + obj ~ @pdf.SDest.\exp_not:n{#2} + [ + \exp_after:wN \pdf_object_ref_indexed:nn \l_pdf_current_structure_destination_tl + /FitR ~ + @pdf_ #2 _llx ~ @pdf_ #2 _lly ~ + @xpos ~ @ypos + ] + } + } + \tex_vss:D + } + \__kernel_kern:n { -#1 } + } +\cs_set_protected:Npn \__pdf_backend_indexed_structure_destination:nnnn #1#2#3#4 + { + \exp_args:Ne \__pdf_backend_indexed_structure_destination_aux:nnnn + { \dim_eval:n {#2} } {#1} {#3} {#4} + } \cs_new_protected:Npn \__pdf_backend_set_regression_data: { \sys_gset_rand_seed:n{1000} diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def index 5d5c5afd565..ef3e8a4af2e 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def @@ -20,7 +20,7 @@ %% %% File: l3backend-testphase.dtx \ProvidesExplFile - {l3backend-testphase-dvips.def}{2024-03-26}{} + {l3backend-testphase-dvips.def}{2024-04-09}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvips} \cs_generate_variant:Nn \__kernel_backend_postscript:n { e } \cs_generate_variant:Nn \__pdf_backend_pdfmark:n { e } @@ -47,6 +47,7 @@ \tl_new:N \l__pdf_tmpa_tl \box_new:N \l__pdf_backend_tmpa_box \box_new:N \l__pdf_backend_tmpb_box + \int_new:N \g__pdf_backend_resourceid_int \int_new:N \g__pdf_backend_name_int \int_new:N \g__pdf_backend_page_int @@ -145,7 +146,7 @@ \cs_set_protected:Npn \__pdf_backend_bdcobject:nn #1 #2 % #1 eg. Span, #2: object name { - \__pdf_backend_pdfmark:e{/#1~\__pdf_backend_object_ref:n{#2}~/BDC} + \__pdf_backend_pdfmark:e{/#1~\pdf_object_ref:n{#2}~/BDC} } \cs_set_protected:Npn \__pdf_backend_bdcobject:n #1 % #1 eg. Span, { @@ -304,13 +305,21 @@ \tl_new:N \l_pdf_current_structure_destination_tl \cs_new_protected:Npn \pdf_activate_structure_destination: { - \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn - \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn + \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn + \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn + \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw + } +\cs_new_protected:Npn \pdf_activate_indexed_structure_destination: + { + \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_indexed_structure_destination:nn + \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_indexed_structure_destination:nnnn \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw } \cs_set_eq:NN \__pdf_backend_structure_destination:nn \__pdf_backend_destination:nn -\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn +\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn \cs_set_eq:NN \__pdf_backend_link_begin_structure_goto:nnw \__pdf_backend_link_begin_goto:nnw +\cs_set_eq:NN \__pdf_backend_indexed_structure_destination:nn \__pdf_backend_destination:nn +\cs_set_eq:NN \__pdf_backend_indexed_structure_destination:nnnn \__pdf_backend_destination:nnnn \cs_new_protected:Npn \__pdf_backend_set_regression_data: { \sys_gset_rand_seed:n{1000} diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def index 707b7fbfd77..9e4bbea44ac 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def @@ -20,7 +20,7 @@ %% %% File: l3backend-testphase.dtx \ProvidesExplFile - {l3backend-testphase-dvisvgm.def}{2024-03-26}{} + {l3backend-testphase-dvisvgm.def}{2024-04-09}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm} \bool_if:NT \l__pdfmanagement_delayed_shipout_bool { @@ -45,6 +45,7 @@ \tl_new:N \l__pdf_tmpa_tl \box_new:N \l__pdf_backend_tmpa_box \box_new:N \l__pdf_backend_tmpb_box + \int_new:N \g__pdf_backend_resourceid_int \int_new:N \g__pdf_backend_name_int \int_new:N \g__pdf_backend_page_int @@ -143,13 +144,21 @@ \tl_new:N \l_pdf_current_structure_destination_tl \cs_new_protected:Npn \pdf_activate_structure_destination: { - \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn - \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn + \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn + \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn + \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw + } +\cs_new_protected:Npn \pdf_activate_indexed_structure_destination: + { + \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_indexed_structure_destination:nn + \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_indexed_structure_destination:nnnn \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw } \cs_set_eq:NN \__pdf_backend_structure_destination:nn \__pdf_backend_destination:nn -\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn +\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn \cs_set_eq:NN \__pdf_backend_link_begin_structure_goto:nnw \__pdf_backend_link_begin_goto:nnw +\cs_set_eq:NN \__pdf_backend_indexed_structure_destination:nn \__pdf_backend_destination:nn +\cs_set_eq:NN \__pdf_backend_indexed_structure_destination:nnnn \__pdf_backend_destination:nnnn \cs_new_protected:Npn \__pdf_backend_set_regression_data: { \sys_gset_rand_seed:n{1000} diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def index bb2d381ce92..2c7919cdaf0 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def @@ -20,7 +20,7 @@ %% %% File: l3backend-testphase.dtx \ProvidesExplFile - {l3backend-testphase-luatex.def}{2024-03-26}{} + {l3backend-testphase-luatex.def}{2024-04-09}{} {LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)} \cs_generate_variant:Nn \__kernel_backend_literal_page:n { e } \bool_if:NT \l__pdfmanagement_delayed_shipout_bool @@ -56,6 +56,7 @@ \tl_new:N \l__pdf_tmpa_tl \box_new:N \l__pdf_backend_tmpa_box \box_new:N \l__pdf_backend_tmpb_box + \int_new:N \g__pdf_backend_resourceid_int \int_new:N \g__pdf_backend_name_int \int_new:N \g__pdf_backend_page_int @@ -176,7 +177,7 @@ { ltx.__pdf.object["__pdf/Page/Resources/#1"] = - "\__pdf_backend_object_ref:n{__pdf/Page/Resources/#1}" + "\pdf_object_ref:n{__pdf/Page/Resources/#1}" } } } @@ -214,7 +215,7 @@ \pdfdict_gput:nee { g__pdf_Core/Xform/Resources/Properties } { l3pdf\int_use:N\g__pdf_backend_name_int } - { \__pdf_backend_object_ref:n { #2 } } + { \pdf_object_ref:n { #2 } } } { \exp_args:Ne \tex_latelua:D @@ -223,7 +224,7 @@ ( tex.count["g_shipout_readonly_int"], "l3pdf\int_use:N\g__pdf_backend_name_int", - "\__pdf_backend_object_ref:n { #2 }" + "\pdf_object_ref:n { #2 }" ) } } @@ -394,13 +395,21 @@ \tl_new:N \l_pdf_current_structure_destination_tl \cs_new_protected:Npn \pdf_activate_structure_destination: { - \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn - \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn + \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn + \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn + \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw + } +\cs_new_protected:Npn \pdf_activate_indexed_structure_destination: + { + \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_indexed_structure_destination:nn + \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_indexed_structure_destination:nnnn \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw } \cs_set_eq:NN \__pdf_backend_structure_destination:nn \__pdf_backend_destination:nn -\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn +\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn \cs_set_eq:NN \__pdf_backend_link_begin_structure_goto:nnw \__pdf_backend_link_begin_goto:nnw +\cs_set_eq:NN \__pdf_backend_indexed_structure_destination:nn \__pdf_backend_destination:nn +\cs_set_eq:NN \__pdf_backend_indexed_structure_destination:nnnn \__pdf_backend_destination:nnnn \int_compare:nNnT {\directlua{tex.print(status.list()["development_id"])} } > {7468} { \cs_set_protected:Npn \__pdf_backend_structure_destination:nn #1#2 @@ -442,7 +451,7 @@ \scan_stop: } } - \cs_set_protected:Npn \__pdf_backend_destination:nnnn #1#2#3#4 + \cs_set_protected:Npn \__pdf_backend_structure_destination:nnnn #1#2#3#4 { \tex_pdfextension:D dest name {#1} @@ -468,6 +477,65 @@ \__pdf_backend_link_begin:nnnw {#1} { goto~struct~name~{#2}~name } {#2} } } + \int_compare:nNnT {\directlua{tex.print(status.list()["development_id"])} } > {7468} + { + \cs_set_protected:Npn \__pdf_backend_indexed_structure_destination:nn #1#2 + { + \tex_pdfextension:D dest + name {#1} + \str_case:nnF {#2} + { + { xyz } { xyz } + { fit } { fit } + { fitb } { fitb } + { fitbh } { fitbh } + { fitbv } { fitbv } + { fith } { fith } + { fitv } { fitv } + { fitr } { fitr } + } + { xyz ~ zoom \fp_eval:n { #2 * 10 } } + \scan_stop: + \tex_pdfextension:D dest + struct~ + \exp_after:wN \__kernel_pdf_object_id_indexed:nn \l_pdf_current_structure_destination_tl ~ + name {#1} + \str_case:nnF {#2} + { + { xyz } { xyz } + { fit } { fit } + { fitb } { fitb } + { fitbh } { fitbh } + { fitbv } { fitbv } + { fith } { fith } + { fitv } { fitv } + { fitr } { fitr } + } + { xyz ~ zoom \fp_eval:n { #2 * 10 } } + \scan_stop: + } + \cs_set_protected:Npn \__pdf_backend_indexed_structure_destination:nnnn #1#2#3#4 + { + \tex_pdfextension:D dest + name {#1} + fitr ~ + width \dim_eval:n {#2} ~ + height \dim_eval:n {#3} ~ + depth \dim_eval:n {#4} \scan_stop: + \tex_pdfextension:D dest + struct~ + \exp_after:wN \__kernel_pdf_object_id_indexed:nn \l_pdf_current_structure_destination_tl~ + name {#1} + fitr ~ + width \dim_eval:n {#2} ~ + height \dim_eval:n {#3} ~ + depth \dim_eval:n {#4} \scan_stop: + } + \cs_set_protected:Npn \__pdf_backend_link_begin_structure_goto:nnw #1#2 + { + \__pdf_backend_link_begin:nnnw {#1} { goto~struct~name~{#2}~name } {#2} + } + } \cs_new_protected:Npn \__pdf_backend_set_regression_data: { \sys_gset_rand_seed:n{1000} diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def index 478180838c2..792689524c0 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def @@ -20,7 +20,7 @@ %% %% File: l3backend-testphase.dtx \ProvidesExplFile - {l3backend-testphase-pdftex.def}{2024-03-26}{} + {l3backend-testphase-pdftex.def}{2024-04-09}{} {LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)} \cs_generate_variant:Nn \__kernel_backend_literal_page:n { e } \bool_if:NT \l__pdfmanagement_delayed_shipout_bool @@ -56,6 +56,7 @@ \tl_new:N \l__pdf_tmpa_tl \box_new:N \l__pdf_backend_tmpa_box \box_new:N \l__pdf_backend_tmpb_box + \int_new:N \g__pdf_backend_resourceid_int \int_new:N \g__pdf_backend_name_int \int_new:N \g__pdf_backend_page_int @@ -147,7 +148,7 @@ { ltx.__pdf.object["__pdf/Page/Resources/#1"] = - "\__pdf_backend_object_ref:n{__pdf/Page/Resources/#1}" + "\pdf_object_ref:n{__pdf/Page/Resources/#1}" } } } @@ -182,7 +183,7 @@ \pdfdict_gput:nee %no handler needed { g__pdf_Core/Xform/Resources/Properties } { l3pdf\int_use:N\g__pdf_backend_resourceid_int } - { \__pdf_backend_object_ref:n { #2 } } + { \pdf_object_ref:n { #2 } } } { \__pdf_backend_record_abspage:e {l3pdf\int_use:N\g__pdf_backend_resourceid_int} @@ -197,7 +198,7 @@ \pdfdict_gput:nee { g__pdf_Core/backend_Page\l__pdf_tmpa_tl/Resources/Properties } { l3pdf\int_use:N\g__pdf_backend_resourceid_int } - { \__pdf_backend_object_ref:n{#2} } + { \pdf_object_ref:n{#2} } } } \cs_set_protected:Npn \__pdf_backend_bdcobject:n #1% #1 eg. Span @@ -402,13 +403,21 @@ \tl_new:N \l_pdf_current_structure_destination_tl \cs_new_protected:Npn \pdf_activate_structure_destination: { - \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn - \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn + \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn + \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn + \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw + } +\cs_new_protected:Npn \pdf_activate_indexed_structure_destination: + { + \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_indexed_structure_destination:nn + \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_indexed_structure_destination:nnnn \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw } \cs_set_eq:NN \__pdf_backend_structure_destination:nn \__pdf_backend_destination:nn -\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn +\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn \cs_set_eq:NN \__pdf_backend_link_begin_structure_goto:nnw \__pdf_backend_link_begin_goto:nnw +\cs_set_eq:NN \__pdf_backend_indexed_structure_destination:nn \__pdf_backend_destination:nn +\cs_set_eq:NN \__pdf_backend_indexed_structure_destination:nnnn \__pdf_backend_destination:nnnn \bool_lazy_and:nnT { \int_compare_p:nNn {\tex_pdftexversion:D } > {139} } { \int_compare_p:nNn {\tex_pdftexrevision:D } > {23} } @@ -452,7 +461,7 @@ \scan_stop: } } - \cs_set_protected:Npn \__pdf_backend_destination:nnnn #1#2#3#4 + \cs_set_protected:Npn \__pdf_backend_structure_destination:nnnn #1#2#3#4 { \tex_pdfdest:D name {#1} @@ -478,6 +487,63 @@ \__pdf_backend_link_begin:nnnw {#1} { goto~struct~name~{#2}~name } {#2} } } +\bool_lazy_and:nnT + { \int_compare_p:nNn {\tex_pdftexversion:D } > {139} } + { \int_compare_p:nNn {\tex_pdftexrevision:D } > {23} } + { + \cs_set_protected:Npn \__pdf_backend_indexed_structure_destination:nn #1#2 + { + \tex_pdfdest:D + name {#1} + \str_case:nnF {#2} + { + { xyz } { xyz } + { fit } { fit } + { fitb } { fitb } + { fitbh } { fitbh } + { fitbv } { fitbv } + { fith } { fith } + { fitv } { fitv } + { fitr } { fitr } + } + { xyz ~ zoom \fp_eval:n { #2 * 10 } } + \scan_stop: + \tex_pdfdest:D + struct~ + \exp_after:wN \__kernel_pdf_object_id_indexed:nn \l_pdf_current_structure_destination_tl ~ + name {#1} + \str_case:nnF {#2} + { + { xyz } { xyz } + { fit } { fit } + { fitb } { fitb } + { fitbh } { fitbh } + { fitbv } { fitbv } + { fith } { fith } + { fitv } { fitv } + { fitr } { fitr } + } + { xyz ~ zoom \fp_eval:n { #2 * 10 } } + \scan_stop: + } + \cs_set_protected:Npn \__pdf_backend_indexed_structure_destination:nnnn #1#2#3#4 + { + \tex_pdfdest:D + name {#1} + fitr ~ + width \dim_eval:n {#2} ~ + height \dim_eval:n {#3} ~ + depth \dim_eval:n {#4} \scan_stop: + \tex_pdfdest:D + struct~ + \exp_after:wN \__kernel_pdf_object_id_indexed:nn \l_pdf_current_structure_destination_tl ~ + name {#1} + fitr ~ + width \dim_eval:n {#2} ~ + height \dim_eval:n {#3} ~ + depth \dim_eval:n {#4} \scan_stop: + } + } \cs_new_protected:Npn \__pdf_backend_set_regression_data: { \sys_gset_rand_seed:n{1000} diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def index 14e28490a32..cebb2e6fc9e 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def @@ -20,7 +20,7 @@ %% %% File: l3backend-testphase.dtx \ProvidesExplFile - {l3backend-testphase-xetex.def}{2024-03-26}{} + {l3backend-testphase-xetex.def}{2024-04-09}{} {LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX} \cs_generate_variant:Nn \__kernel_backend_literal:n { e } \cs_generate_variant:Nn \__pdf_backend:n { e } @@ -48,6 +48,7 @@ \tl_new:N \l__pdf_tmpa_tl \box_new:N \l__pdf_backend_tmpa_box \box_new:N \l__pdf_backend_tmpb_box + \int_new:N \g__pdf_backend_resourceid_int \int_new:N \g__pdf_backend_name_int \int_new:N \g__pdf_backend_page_int @@ -145,7 +146,7 @@ %objects are not filled with \pdf_object_write as this is not additive! \__pdf_backend:e { - put~\__pdf_backend_object_ref:n {__pdf/Page/Resources/#1}<</#2~#3>> + put~\pdf_object_ref:n {__pdf/Page/Resources/#1}<</#2~#3>> } } @@ -166,7 +167,7 @@ /Properties~ << /l3pdf\int_use:N\g__pdf_backend_name_int\c_space_tl - \__pdf_backend_object_ref:n { #2 } + \pdf_object_ref:n { #2 } >> >> } @@ -237,7 +238,7 @@ \__kernel_backend_literal:e { pdf:put~@resources~ - <</##1~\__pdf_backend_object_ref:n {__pdf/Page/Resources/##1}>> + <</##1~\pdf_object_ref:n {__pdf/Page/Resources/##1}>> } } } @@ -371,13 +372,21 @@ \tl_new:N \l_pdf_current_structure_destination_tl \cs_new_protected:Npn \pdf_activate_structure_destination: { - \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn - \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn + \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn + \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn + \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw + } +\cs_new_protected:Npn \pdf_activate_indexed_structure_destination: + { + \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_indexed_structure_destination:nn + \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_indexed_structure_destination:nnnn \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw } \cs_set_eq:NN \__pdf_backend_structure_destination:nn \__pdf_backend_destination:nn -\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn +\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn \cs_set_eq:NN \__pdf_backend_link_begin_structure_goto:nnw \__pdf_backend_link_begin_goto:nnw +\cs_set_eq:NN \__pdf_backend_indexed_structure_destination:nn \__pdf_backend_destination:nn +\cs_set_eq:NN \__pdf_backend_indexed_structure_destination:nnnn \__pdf_backend_destination:nnnn \cs_set_protected:Npn \__pdf_backend_structure_destination:nn #1#2 { \__pdf_backend:e @@ -477,6 +486,95 @@ { \__pdf_backend_link_begin:n { #1 /Subtype /Link /A << /S /GoTo /D ( #2 ) /SD~@pdf.SDest.#2 >> } } +\cs_set_protected:Npn \__pdf_backend_indexed_structure_destination:nn #1#2 + { + \__pdf_backend:e + { + dest ~ ( \exp_not:n {#1} ) + [ + @thispage + \str_case:nnF {#2} + { + { xyz } { /XYZ ~ @xpos ~ @ypos ~ null } + { fit } { /Fit } + { fitb } { /FitB } + { fitbh } { /FitBH } + { fitbv } { /FitBV ~ @xpos } + { fith } { /FitH ~ @ypos } + { fitv } { /FitV ~ @xpos } + { fitr } { /Fit } + } + { /XYZ ~ @xpos ~ @ypos ~ \fp_eval:n { (#2) / 100 } } + ] + } + \__pdf_backend:e + { + obj ~ @pdf.SDest.\exp_not:n{#1} + [ + \exp_after:wN \pdf_object_ref_indexed:nn \l_pdf_current_structure_destination_tl + \str_case:nnF {#2} + { + { xyz } { /XYZ ~ @xpos ~ @ypos ~ null } + { fit } { /Fit } + { fitb } { /FitB } + { fitbh } { /FitBH } + { fitbv } { /FitBV ~ @xpos } + { fith } { /FitH ~ @ypos } + { fitv } { /FitV ~ @xpos } + { fitr } { /Fit } + } + { /XYZ ~ @xpos ~ @ypos ~ \fp_eval:n { (#2) / 100 } } + ] + } + } +\cs_new_protected:Npn \__pdf_backend_indexed_structure_destination_aux:nnnn #1#2#3#4 + { + \vbox_to_zero:n + { + \__kernel_kern:n {#4} + \hbox:n + { + \__pdf_backend:n { obj ~ @pdf_ #2 _llx ~ @xpos } + \__pdf_backend:n { obj ~ @pdf_ #2 _lly ~ @ypos } + } + \tex_vss:D + } + \__kernel_kern:n {#1} + \vbox_to_zero:n + { + \__kernel_kern:n { -#3 } + \hbox:n + { + \__pdf_backend:n + { + dest ~ (#2) + [ + @thispage + /FitR ~ + @pdf_ #2 _llx ~ @pdf_ #2 _lly ~ + @xpos ~ @ypos + ] + } + \__pdf_backend:e + { + obj ~ @pdf.SDest.\exp_not:n{#2} + [ + \exp_after:wN \pdf_object_ref_indexed:nn \l_pdf_current_structure_destination_tl + /FitR ~ + @pdf_ #2 _llx ~ @pdf_ #2 _lly ~ + @xpos ~ @ypos + ] + } + } + \tex_vss:D + } + \__kernel_kern:n { -#1 } + } +\cs_set_protected:Npn \__pdf_backend_indexed_structure_destination:nnnn #1#2#3#4 + { + \exp_args:Ne \__pdf_backend_indexed_structure_destination_aux:nnnn + { \dim_eval:n {#2} } {#1} {#3} {#4} + } \cs_new_protected:Npn \__pdf_backend_set_regression_data: { \sys_gset_rand_seed:n{1000} diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase.lua b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase.lua index 02de44427b9..988585867c2 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase.lua +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase.lua @@ -23,6 +23,7 @@ + ltx= ltx or {} ltx.__pdf = ltx.__pdf or {} ltx.__pdf.Page = ltx.__pdf.Page or {} diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty index 2268dc7c23b..ce06766b301 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty @@ -27,7 +27,7 @@ %% File: l3pdffield.dtx \NeedsTeXFormat{LaTeX2e} -\ProvidesExplPackage{l3pdffield-testphase}{2024-03-26}{0.96g}% +\ProvidesExplPackage{l3pdffield-testphase}{2024-04-09}{0.96h}% {form fields} \csname HyField@NeedAppearancesfalse\endcsname % suppress NeedAppearances \str_new:N \l__pdffield_tmpa_str @@ -100,9 +100,9 @@ Multiline = 13,%Tx Password = 14, NoToggleToOff = 15,%Btn, radio button - Radio = 16,%Btn: Radio: 15=1, 16=0 - Pushbutton = 17,%Btn: Checkbox: 15=0, 16=0 - %Btn: Pushbutton: 16=1 + Radio = 16,%Btn: Radio: 16=1, 17=0 + Pushbutton = 17,%Btn: Checkbox: 16=0, 17=0 + %Btn: Pushbutton: 17=1 Combo = 18,%Ch: Combo=1 List=0 Edit = 19,%Ch, Combo=1 -> + edit field Sort = 20,%Ch, not relevant for view... diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty index bf5f0ba1dcf..e6315491894 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: pdfmanagement-firstaid.dtx -\ProvidesExplPackage{pdfmanagement-firstaid}{2024-03-26}{0.96g} +\ProvidesExplPackage{pdfmanagement-firstaid}{2024-04-09}{0.96h} {LaTeX PDF management testphase bundle / firstaid-patches} \clist_map_inline:nn diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx index 6251f99557b..13e33141a22 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx @@ -27,7 +27,7 @@ %% and all files in that bundle must be distributed together. %% %% File: pdfmanagement-testphase.dtx -\ProvidesExplFile{pdfmanagement-testphase.ltx}{2024-03-26}{0.96g} +\ProvidesExplFile{pdfmanagement-testphase.ltx}{2024-04-09}{0.96h} {PDF~management~code~(testphase)} \bool_new:N\l__pdfmanagement_delayed_shipout_bool \msg_new:nnn {pdfmanagement}{delayed-shipout} @@ -767,7 +767,7 @@ \__pdf_backend_catalog_gput:nn {AA} { - \__pdf_backend_object_ref:n { __pdfmanagement/Catalog/AA } + \pdf_object_ref:n { __pdfmanagement/Catalog/AA } } } } @@ -783,7 +783,7 @@ \prop_gput:cnn %we have to use \prop here to avoid the handler ... { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm } } { Fields } - { \__pdf_backend_object_ref:n { __pdfmanagement/Catalog/AcroForm/Fields } } + { \pdf_object_ref:n { __pdfmanagement/Catalog/AcroForm/Fields } } } \seq_if_empty:cF { g__pdfmanagement_/Catalog/AcroForm/CO_seq } { @@ -795,7 +795,7 @@ \prop_gput:cnn %we have to use \prop here to avoid the handler ... { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm } } { CO } - { \__pdf_backend_object_ref:n { __pdfmanagement/Catalog/AcroForm/CO } } + { \pdf_object_ref:n { __pdfmanagement/Catalog/AcroForm/CO } } } \prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm/DR/Font}} { @@ -807,7 +807,7 @@ \prop_gput:cnn %we have to use \prop here to avoid the handler ... { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm/DR } } { Font } - { \__pdf_backend_object_ref:n { __pdfmanagement/Catalog/AcroForm/DR/Font } } + { \pdf_object_ref:n { __pdfmanagement/Catalog/AcroForm/DR/Font } } } \prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm/DR}} { @@ -819,7 +819,7 @@ \prop_gput:cnn %we have to use \prop here to avoid the handler ... { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm } } { DR } - { \__pdf_backend_object_ref:n { __pdfmanagement/Catalog/AcroForm/DR } } + { \pdf_object_ref:n { __pdfmanagement/Catalog/AcroForm/DR } } } \prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm} } { @@ -831,7 +831,7 @@ \__pdfmanagement_handler_gput:nnn { Catalog } { AcroForm } - { \__pdf_backend_object_ref:n { __pdfmanagement/Catalog/AcroForm } } + { \pdf_object_ref:n { __pdfmanagement/Catalog/AcroForm } } } } @@ -848,7 +848,7 @@ \__pdf_backend_catalog_gput:nn {AF} { - \__pdf_backend_object_ref:n {__pdfmanagement/Catalog/AF} + \pdf_object_ref:n {__pdfmanagement/Catalog/AF} } } } @@ -865,7 +865,7 @@ \__pdf_backend_catalog_gput:nn {MarkInfo} { - \__pdf_backend_object_ref:n {__pdfmanagement/Catalog/MarkInfo} + \pdf_object_ref:n {__pdfmanagement/Catalog/MarkInfo} } } } @@ -894,7 +894,7 @@ \exp_args:Nne \__pdf_backend_catalog_gput:nn { OCProperties } - { \__pdf_backend_object_ref:n {__pdfmanagement/Catalog/OCProperties} } + { \pdf_object_ref:n {__pdfmanagement/Catalog/OCProperties} } } } \cs_new_protected:cpn { __pdfmanagement_/Catalog/OutputIntents_gpush: } @@ -910,7 +910,7 @@ \__pdf_backend_catalog_gput:nn {OutputIntents} { - \__pdf_backend_object_ref:n {__pdfmanagement/Catalog/OutputIntents} + \pdf_object_ref:n {__pdfmanagement/Catalog/OutputIntents} } } } @@ -927,7 +927,7 @@ \__pdf_backend_catalog_gput:nn {Requirements} { - \__pdf_backend_object_ref:n { __pdfmanagement/Catalog/Requirements } + \pdf_object_ref:n { __pdfmanagement/Catalog/Requirements } } } } @@ -944,7 +944,7 @@ \__pdf_backend_catalog_gput:nn {ViewerPreferences} { - \__pdf_backend_object_ref:n {__pdfmanagement/Catalog/ViewerPreferences} + \pdf_object_ref:n {__pdfmanagement/Catalog/ViewerPreferences} } } } @@ -1585,6 +1585,36 @@ { g__pdfmeta_standard_pdf/A-4_prop }{conformance} \prop_gremove:cn { g__pdfmeta_standard_pdf/A-4_prop }{max_pdf_version} + +\prop_new:c { g__pdfmeta_standard_pdf/A-4F_prop } +\prop_gset_eq:cc + { g__pdfmeta_standard_pdf/A-4F_prop } + { g__pdfmeta_standard_pdf/A-4_prop } +\prop_gput:cnn + { g__pdfmeta_standard_pdf/A-4F_prop }{conformance}{F} +\prop_gput:cnn + { g__pdfmeta_standard_pdf/A-4F_prop }{Catalog_EmbeddedFiles}{} +\AddToHook{begindocument/end} +{ + \pdfmeta_standard_verify:nF{Catalog_EmbeddedFiles} + { + \tl_gput_right:Nn\g__kernel_pdfmanagement_end_run_code_tl + { + \bool_if:NT \g__pdfmanagement_active_bool + { + \pdfdict_if_empty:nT { g__pdf_Core/Catalog/Names/EmbeddedFiles } + { + \group_begin: + \pdfdict_put:nne {l_pdffile/Filespec} {Desc}{(note~about~PDF/A-4F)} + \pdfdict_put:nnn { l_pdffile/Filespec }{AFRelationship} { /Unspecified } + \pdffile_embed_stream:nnN {PDF~standard~A-4F~requires~a~file}{readme.txt}\l__pdfmeta_tmpa_tl + \exp_args:Nne \__pdf_backend_Names_gpush:nn{EmbeddedFiles}{(readme)~\l__pdfmeta_tmpa_tl} + \group_end: + } + } + } + } +} \prop_new:N \g__pdfmeta_outputintents_prop \keys_define:nn { document / metadata } { @@ -1699,13 +1729,19 @@ { \pdfmeta_standard_verify:nTF {outputintent_A} { - \prop_map_inline:Nn \g__pdfmeta_outputintents_prop + \prop_map_inline:Nn \g__pdfmeta_outputintents_prop { - \__pdfmeta_embed_colorprofile:n - {#2} - \__pdfmeta_write_outputintent:nn - {#2} - {#1} + \prop_if_exist:cTF {c__pdfmeta_colorprofile_#2} + { + \__pdfmeta_embed_colorprofile:n + {#2} + \__pdfmeta_write_outputintent:nn + {#2} + {#1} + } + { + \msg_warning:nnn{pdfmeta}{colorprofile-undefined}{#2} + } } } { @@ -1725,14 +1761,20 @@ \g__pdfmeta_outputintents_prop { \pdfmeta_standard_item:n { outputintent_A } } \l__pdfmeta_tmpb_tl - \exp_args:NV \__pdfmeta_embed_colorprofile:n \l__pdfmeta_tmpb_tl - \prop_map_inline:Nn \g__pdfmeta_outputintents_prop - { - \exp_args:NV - \__pdfmeta_write_outputintent:nn - \l__pdfmeta_tmpb_tl - { #1 } - } + \prop_if_exist:cTF {c__pdfmeta_colorprofile_\l__pdfmeta_tmpb_tl} + { + \exp_args:NV \__pdfmeta_embed_colorprofile:n \l__pdfmeta_tmpb_tl + \prop_map_inline:Nn \g__pdfmeta_outputintents_prop + { + \exp_args:NV + \__pdfmeta_write_outputintent:nn + \l__pdfmeta_tmpb_tl + { #1 } + } + } + { + \msg_warning:nne{pdfmeta}{colorprofile-undefined}{\l__pdfmeta_tmpb_tl} + } } } \cs_new_protected:Npn \pdfmeta_set_regression_data: @@ -1825,6 +1867,7 @@ ,debug / xmp-export .default:n = true } \msg_new:nnn{pdfmeta}{namespace-defined}{The~xmlns~namespace~`#1`~is~already~declared} +\msg_new:nnn{pdfmeta}{colorprofile-undefined}{The~colorprofile~`#1`~is~unknown} \bool_lazy_or:nnTF { \sys_if_engine_luatex_p: } { \sys_if_engine_xetex_p: } diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty index bb986b29b77..7b05f004072 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: pdfmanagement-testphase.dtx -\ProvidesExplPackage{pdfmanagement-testphase}{2024-03-26}{0.96g} +\ProvidesExplPackage{pdfmanagement-testphase}{2024-04-09}{0.96h} {LaTeX PDF management testphase bundle} \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} \IfFormatAtLeastTF{2020-10-01}{}{ diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty index 40911ab8d7f..6b553f8519e 100644 --- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty +++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty @@ -1,6 +1,6 @@ %% LaTeX2e file `xcolor-patches-tmp-ltx.sty' %% -\ProvidesPackage{xcolor-patches-tmp-ltx}[2024-03-26 v0.96g patch xcolor for l3color] +\ProvidesPackage{xcolor-patches-tmp-ltx}[2024-04-09 v0.96h patch xcolor for l3color] \@ifundefined{color_set:nn}{\RequirePackage{l3color}}{} \ExplSyntaxOn |