summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-04-10 20:21:36 +0000
committerKarl Berry <karl@freefriends.org>2024-04-10 20:21:36 +0000
commitfdea68d1bec6e8047ce0277d826a5b695ac7de78 (patch)
tree22d1de166edb8fc22a13c1715df4468c4cdc047f /Master/texmf-dist/tex/latex
parent8d902558d89c24660ff18e655ab3f91770b16948 (diff)
pdfmanagement-testphase (10apr24)
git-svn-id: svn://tug.org/texlive/trunk@70907 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def112
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def19
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def17
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def84
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def82
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def112
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase.lua1
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty8
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx97
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty2
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