summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-12-09 21:35:39 +0000
committerKarl Berry <karl@freefriends.org>2023-12-09 21:35:39 +0000
commit20c6018246c73a328973845b3e80fd3f5fbf3812 (patch)
treea72bd1144d9b4a8cd06cd3bebc038df5bf0b164b /Master/texmf-dist/tex/latex
parentb4bcc97df99ad245fdeddd21f3ebac1a20da006e (diff)
pdfmanagement-testphase (9dec23)
git-svn-id: svn://tug.org/texlive/trunk@69078 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.def455
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty2
-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.ltx125
-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
14 files changed, 399 insertions, 205 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 6b86bc4c172..fb44b9e7265 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}[2023-11-17 v0.96c
+\ProvidesPackage{color-ltx}[2023-12-09 v0.96d
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 c6f186877a6..21609d988b0 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}{2023-11-17}{0.96c}
+\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2023-12-09}{0.96d}
{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 58d59f604ef..ac3e3307f94 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}[2023-11-17 v0.96c %
+\ProvidesFile{hgeneric-testphase.def}[2023-12-09 v0.96d %
generic Hyperref driver for the LaTeX PDF management testphase bundle]
\RequirePackage{etoolbox} %why?
@@ -195,17 +195,17 @@
\cs_set_protected:Npn \hypersetup #1
{
%\kvsetkeys{Hyp} {#1}
- \keys_set:nn { hyp / setup }{ #1 }
+ \keys_set:nn { hyp }{ #1 }
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
unknown .code:n =
{
\msg_warning:nneee { hyp } { unknown-key }
- { hyp~/~setup }{ \l_keys_key_str } { #1 }
+ { hyp }{ \l_keys_key_str } { #1 }
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
next-anchor .code:n =
{
@@ -230,7 +230,7 @@
,destination .tl_set:N = \l__hyp_href_pdf_destination_tl
,pdfremotestartview .code:n =
{
- \keys_set:nn { hyp / setup }
+ \keys_set:nn { hyp }
{ pdfremotestartview = #1 }
}
,page .code:n =
@@ -249,7 +249,7 @@
{
\pdfdict_put:nnn{l_hyp/annot/A}{Next}{#1}
\tl_set:Nn \Hy@href@nextactionraw {/Next~#1}
- \keys_set:nn {hyp / setup }{ pdfnewwindow = true}
+ \keys_set:nn {hyp }{ pdfnewwindow = true}
}
}
,afrelationship .code:n =
@@ -260,7 +260,7 @@
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,href / urlencode .bool_set:N = \l__hyp_href_url_encode_bool
,href / urlencode .default:n = {true}
@@ -401,7 +401,7 @@
}
\cs_generate_variant:Nn \__hyp_store_metadata:nn {en,ne,ee}
\hook_new:n{hyp/link/cite}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,citecolor .code:n = {\__hyp_color_set:ne {hyp/color/cite}{#1}\__hyp_citecolor_hook_init:}
,citebordercolor
@@ -411,7 +411,7 @@
{
\hook_gput_code:nnn { hyp/link/cite }{hyp/cite}
{
- \keys_set:nn { hyp / setup }
+ \keys_set:nn { hyp }
{
linkcolor = hyp/color/cite
}
@@ -422,7 +422,7 @@
{
\hook_gput_code:nnn { hyp/link/cite }{hyp/citeborder}
{
- \keys_set:nn { hyp / setup }
+ \keys_set:nn { hyp }
{
linkbordercolor = hyp/color/citeborder
}
@@ -589,6 +589,27 @@
\__hyp_PageLabels_gpush:
}
}
+\int_new:N \g__hyp_linknestlevel_int
+\prg_new_conditional:Npnn \__hyp_if_outer_link: {TF}
+ {
+ \int_compare:nNnTF { \g__hyp_linknestlevel_int } > {1}
+ { \prg_return_false: }
+ { \prg_return_true: }
+ }
+
+\cs_new:Npn \__hyp_check_link_nesting:TF #1 #2
+ {
+ \use_i:nn {#1}{#2}
+ }
+\keys_define:nn { hyp }
+ {
+ nested-links .choice:,
+ nested-links / true .code:n =
+ { \cs_set_eq:NN \__hyp_check_link_nesting:TF \use_i:nn },
+ nested-links / false .code:n =
+ { \cs_set_eq:NN \__hyp_check_link_nesting:TF \__hyp_if_outer_link:TF },
+ nested-links .default:n = {true}
+ }
\Hy@WrapperDef \__hyp_destination:nn #1 #2
{
\mode_if_horizontal:T { \@savsf\spacefactor }
@@ -670,27 +691,41 @@
{
\bool_if:NTF \l__hyp_annot_GoTo_bool
{
- \Hy@VerboseLinkStart{#1}{#2}
- \group_begin:
- \tl_set:Nn \l_hyp_current_dest_name_tl {#2}
- \hook_use:n {hyp/link/#1}
- \__hyp_link_goto_begin:nw {#2}#3\Hy@xspace@end
- \__hyp_link_goto_end:
- \group_end:
- \Hy@VerboseLinkStop
+ \int_gincr:N\g__hyp_linknestlevel_int
+ \__hyp_check_link_nesting:TF
+ {
+ \Hy@VerboseLinkStart{#1}{#2}
+ \group_begin:
+ \tl_set:Nn \l_hyp_current_dest_name_tl {#2}
+ \hook_use:n {hyp/link/#1}
+ \__hyp_link_goto_begin:nw {#2}#3\Hy@xspace@end
+ \__hyp_link_goto_end:
+ \group_end:
+ \Hy@VerboseLinkStop
+ }
+ {
+ \group_begin: #3\group_end:
+ }
+ \int_gdecr:N\g__hyp_linknestlevel_int
}
{{\let\protect\relax#3}}
}
-
\cs_new_protected:Npn \hyper@linkstart #1 #2 %#1 context, #2=destination name
{
\bool_if:NT \l__hyp_annot_GoTo_bool
{
- \Hy@VerboseLinkStart{#1}{#2}% only for debug
- \group_begin:
- \tl_set:Nn \l_hyp_current_dest_name_tl {#2}
- \hook_use:n {hyp/link/#1}
- \__hyp_link_goto_begin:nw {#2}
+ \int_gincr:N\g__hyp_linknestlevel_int
+ \__hyp_check_link_nesting:TF
+ {
+ \Hy@VerboseLinkStart{#1}{#2}% only for debug
+ \group_begin:
+ \tl_set:Nn \l_hyp_current_dest_name_tl {#2}
+ \hook_use:n {hyp/link/#1}
+ \__hyp_link_goto_begin:nw {#2}
+ }
+ {
+ \group_begin:
+ }
}
}
@@ -698,9 +733,16 @@
{
\bool_if:NT \l__hyp_annot_GoTo_bool
{
- \__hyp_link_goto_end:
- \group_end:
- \Hy@VerboseLinkStop
+ \__hyp_check_link_nesting:TF
+ {
+ \__hyp_link_goto_end:
+ \group_end:
+ \Hy@VerboseLinkStop
+ }
+ {
+ \group_end:
+ }
+ \int_gdecr:N\g__hyp_linknestlevel_int
}
}
\pdfdict_new:n {l_hyp/annot/A/URI}
@@ -711,31 +753,39 @@
{
\bool_if:NTF \l__hyp_annot_URI_bool
{
- \group_begin:
- \__hyp_text_pdfstring:eoN
- { #2}
- { \l__hyp_text_enc_uri_print_tl }
- \l__hyp_uri_tmpa_tl
- \pdfdict_put:nno{l_hyp/annot/A/URI}{URI}{\l__hyp_uri_tmpa_tl}
- \bool_if:NT \l__hyp_href_url_ismap_bool
- {
- \pdfdict_put:nnn{l_hyp/annot/A/URI}{IsMap}{true}
- }
- \cs_set_eq:NN \# \c_hash_str
- \cs_set_eq:NN \% \c_percent_str
- \Hy@safe@activestrue
- \mode_leave_vertical:
- \pdfannot_dict_put:nne {link/URI}{A}{<<\pdfdict_use:n {l_hyp/annot/A/URI}>>}
- \pdfannot_link:nen { URI }
- {
+ \int_gincr:N\g__hyp_linknestlevel_int
+ \__hyp_check_link_nesting:TF
+ {
+ \group_begin:
+ \__hyp_text_pdfstring:eoN
+ { #2}
+ { \l__hyp_text_enc_uri_print_tl }
+ \l__hyp_uri_tmpa_tl
+ \pdfdict_put:nno{l_hyp/annot/A/URI}{URI}{\l__hyp_uri_tmpa_tl}
+ \bool_if:NT \l__hyp_href_url_ismap_bool
+ {
+ \pdfdict_put:nnn{l_hyp/annot/A/URI}{IsMap}{true}
+ }
+ \cs_set_eq:NN \# \c_hash_str
+ \cs_set_eq:NN \% \c_percent_str
+ \Hy@safe@activestrue
+ \mode_leave_vertical:
+ \pdfannot_dict_put:nne {link/URI}{A}{<<\pdfdict_use:n {l_hyp/annot/A/URI}>>}
+ \pdfannot_link:nen { URI }
+ {
+ }
+ {
+ \let\protect\relax
+ #1
+ \Hy@xspace@end
+ \Hy@VerboseLinkStop %where is the start??
+ }
+ \group_end:
}
{
- \let\protect\relax
- #1
- \Hy@xspace@end
- \Hy@VerboseLinkStop %where is the start??
+ \group_begin: #1 \group_end:
}
- \group_end:
+ \int_gdecr:N\g__hyp_linknestlevel_int
}
{{\let\protect\relax#1}}
}
@@ -749,52 +799,60 @@
{
\bool_if:NTF \l__hyp_annot_GoToR_bool
{
- \group_begin:
- \tl_set:Ne \l__hyp_filename_tmpa_tl { \text_expand:n { #2 } }
- \exp_args:Ne
- \pdf_object_if_exist:nF { __hyp_file_\tl_to_str:N \l__hyp_filename_tmpa_tl }
- {
- \pdfdict_put:nne { l_pdffile/Filespec}{Subtype}{\pdf_name_from_unicode_e:n {application/pdf}}
- \pdffile_embed_file:noe
- {}
- {\l__hyp_filename_tmpa_tl }
- {__hyp_file_\tl_to_str:N \l__hyp_filename_tmpa_tl }
- }
- \pdfdict_put:nne
- {l_hyp/annot/A/GoToR}
- {F}
- {\pdf_object_ref:e {__hyp_file_\tl_to_str:N \l__hyp_filename_tmpa_tl}}
- \__hyp_text_pdfstring:nnN
- { #3 }
- { \l__hyp_text_enc_dest_print_tl }
- \l__hyp_dest_name_tmpa_tl
- \tl_if_blank:eTF {#3}
+ \int_gincr:N\g__hyp_linknestlevel_int
+ \__hyp_check_link_nesting:TF
{
- \pdfdict_put:nne {l_hyp/annot/A/GoToR}{D}
+ \group_begin:
+ \tl_set:Ne \l__hyp_filename_tmpa_tl { \text_expand:n { #2 } }
+ \exp_args:Ne
+ \pdf_object_if_exist:nF { __hyp_file_\tl_to_str:N \l__hyp_filename_tmpa_tl }
+ {
+ \pdfdict_put:nne { l_pdffile/Filespec}{Subtype}{\pdf_name_from_unicode_e:n {application/pdf}}
+ \pdffile_embed_file:noe
+ {}
+ {\l__hyp_filename_tmpa_tl }
+ {__hyp_file_\tl_to_str:N \l__hyp_filename_tmpa_tl }
+ }
+ \pdfdict_put:nne
+ {l_hyp/annot/A/GoToR}
+ {F}
+ {\pdf_object_ref:e {__hyp_file_\tl_to_str:N \l__hyp_filename_tmpa_tl}}
+ \__hyp_text_pdfstring:nnN
+ { #3 }
+ { \l__hyp_text_enc_dest_print_tl }
+ \l__hyp_dest_name_tmpa_tl
+ \tl_if_blank:eTF {#3}
{
- [
- \int_eval:n
- { \int_max:nn {0}{ 0\l__hyp_href_pdf_page_tl - 1 }}
- /\l__hyp_dest_pdfremotestartview_tl
- ]
+ \pdfdict_put:nne {l_hyp/annot/A/GoToR}{D}
+ {
+ [
+ \int_eval:n
+ { \int_max:nn {0}{ 0\l__hyp_href_pdf_page_tl - 1 }}
+ /\l__hyp_dest_pdfremotestartview_tl
+ ]
+ }
}
+ {
+ \pdfdict_put:nno {l_hyp/annot/A/GoToR}{D}{\l__hyp_dest_name_tmpa_tl}
+ }
+ \mode_leave_vertical:
+ \pdf_object_unnamed_write:ne{dict}{\pdfdict_use:n {l_hyp/annot/A/GoToR}}
+ \pdfannot_dict_put:nne {link/GoToR}{A}{\pdf_object_ref_last:}
+ \pdfannot_link:nnn %expansion??
+ { GoToR }
+ {
+ }
+ {
+ \let\protect\relax
+ #1\Hy@xspace@end
+ \Hy@VerboseLinkStop %where is the start??
+ }
+ \group_end:
}
{
- \pdfdict_put:nno {l_hyp/annot/A/GoToR}{D}{\l__hyp_dest_name_tmpa_tl}
- }
- \mode_leave_vertical:
- \pdf_object_unnamed_write:ne{dict}{\pdfdict_use:n {l_hyp/annot/A/GoToR}}
- \pdfannot_dict_put:nne {link/GoToR}{A}{\pdf_object_ref_last:}
- \pdfannot_link:nnn %expansion??
- { GoToR }
- {
- }
- {
- \let\protect\relax
- #1\Hy@xspace@end
- \Hy@VerboseLinkStop %where is the start??
+ \group_begin: #1 \group_end:
}
- \group_end:
+ \int_gdecr:N\g__hyp_linknestlevel_int
}
{{\let\protect\relax#1}}
}
@@ -806,44 +864,53 @@
{
\bool_if:NTF \l__hyp_annot_Launch_bool
{
- \group_begin:
- \__hyp_text_pdfstring:nnN
- { #1 }
- { \l__hyp_text_enc_file_print_tl }
- \l__hyp_filename_tmpa_tl
- \pdfdict_put:nno {l_hyp/annot/A/Launch}{F}{\l__hyp_filename_tmpa_tl}
- \__hyp_text_pdfstring:noN
- { #3 }
- { \l__hyp_text_enc_para_print_tl }
- \l__hyp_para_tmpa_tl
- \bool_if:nTF
- {
- \str_if_eq_p:Vn \l__hyp_para_tmpa_tl {()}
- ||
- \pdf_version_compare_p:Nn > {1.9}
- }
- {
- \pdfdict_remove:nn {l_hyp/annot/A/Launch}{Win}
- }
- {
- \pdfdict_put:nne
- {l_hyp/annot/A/Launch}
- {Win}
- {<</P \l__hyp_para_tmpa_tl /F \l__hyp_filename_tmpa_tl >>}
- }
- \mode_leave_vertical:
- \pdfannot_dict_put:nne {link/Launch}{A}{<<\pdfdict_use:n {l_hyp/annot/A/Launch}>>}
- \pdfannot_link:nen
- { Launch }
- {
- % /A
- }
- {
- \let\protect\relax
- #2\Hy@xspace@end
- \Hy@VerboseLinkStop %where is the start??
- }
- \group_end:
+ \int_gincr:N\g__hyp_linknestlevel_int
+ \__hyp_check_link_nesting:TF
+ {
+ \group_begin:
+ \__hyp_text_pdfstring:nnN
+ { #1 }
+ { \l__hyp_text_enc_file_print_tl }
+ \l__hyp_filename_tmpa_tl
+ \pdfdict_put:nno {l_hyp/annot/A/Launch}{F}{\l__hyp_filename_tmpa_tl}
+ \__hyp_text_pdfstring:noN
+ { #3 }
+ { \l__hyp_text_enc_para_print_tl }
+ \l__hyp_para_tmpa_tl
+ \bool_if:nTF
+ {
+ \str_if_eq_p:Vn \l__hyp_para_tmpa_tl {()}
+ ||
+ \pdf_version_compare_p:Nn > {1.9}
+ }
+ {
+ \pdfdict_remove:nn {l_hyp/annot/A/Launch}{Win}
+ }
+ {
+ \pdfdict_put:nne
+ {l_hyp/annot/A/Launch}
+ {Win}
+ {<</P \l__hyp_para_tmpa_tl /F \l__hyp_filename_tmpa_tl >>}
+ }
+ \mode_leave_vertical:
+ \pdfannot_dict_put:nne {link/Launch}{A}{<<\pdfdict_use:n {l_hyp/annot/A/Launch}>>}
+ \pdfannot_link:nen
+ { Launch }
+ {
+ % /A
+ % <<
+ % \pdfdict_use:n {l_hyp/annot/A/Launch}
+ % >>
+ }
+ {
+ \let\protect\relax
+ #2\Hy@xspace@end
+ \Hy@VerboseLinkStop %where is the start??
+ }
+ \group_end:
+ }
+ { \group_begin: #2 \group_end: }
+ \int_gdecr:N\g__hyp_linknestlevel_int
}
{{\let\protect\relax#2}}
}
@@ -862,27 +929,37 @@
{
\bool_if:NTF \l__hyp_annot_Named_bool
{
- \group_begin:
- \pdfmeta_standard_verify:nnTF {named_actions}{#1}
- {
- \mode_leave_vertical:
- \pdfdict_put:nne {l_hyp/annot/A/Named}{N}
- {\pdf_name_from_unicode_e:n{#1}}
- \pdfannot_dict_put:nne {link/Named}{A}{<<\pdfdict_use:n {l_hyp/annot/A/Named}>>}
- \pdfannot_link:nnn { Named }
+ \int_gincr:N\g__hyp_linknestlevel_int
+ \__hyp_check_link_nesting:TF
+ {
+ \group_begin:
+ \pdfmeta_standard_verify:nnTF {named_actions}{#1}
{
+ \mode_leave_vertical:
+ \pdfdict_put:nne {l_hyp/annot/A/Named}{N}
+ {\pdf_name_from_unicode_e:n{#1}}
+ \pdfannot_dict_put:nne {link/Named}{A}{<<\pdfdict_use:n {l_hyp/annot/A/Named}>>}
+ \pdfannot_link:nnn { Named }
+ {
+ % /A
+ % <<
+ % \pdfdict_use:n { l_hyp/annot/A/Named }
+ % >>
+ }
+ {
+ #2
+ \Hy@xspace@end
+ \Hy@VerboseLinkStop
+ }
}
{
+ \msg_warning:nnn { hyp } { pdfa-no-named-action }{#1}
#2
- \Hy@xspace@end
- \Hy@VerboseLinkStop
}
- }
- {
- \msg_warning:nnn { hyp } { pdfa-no-named-action }{#1}
- #2
- }
- \group_end:
+ \group_end:
+ }
+ { \group_begin: #2 \group_end: }
+ \int_gdecr:N\g__hyp_linknestlevel_int
}
{{\let\protect\relax#2}}
}
@@ -944,7 +1021,7 @@
}
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,colorlinks .meta:n =
{
@@ -960,14 +1037,14 @@
}
\seq_map_inline:Nn \c__hyp_annot_types_seq
{
- \keys_define:nn { hyp / setup }
+ \keys_define:nn { hyp }
{
,color#1 .bool_set:c = { l_hyp_annot_color#1_bool }
,#1color .code:n = { \__hyp_color_set:ne {hyp/color/#1}{##1} }
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,allcolors .meta:n =
{
@@ -979,7 +1056,7 @@
}
,allcolors .value_required:n = true
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,bordercolormodel .choices:nn =
{rgb,cmyk}
@@ -988,7 +1065,7 @@
}
\prop_map_inline:Nn \c__hyp_map_hyp_annot_prop
{
- \keys_define:nn { hyp / setup }
+ \keys_define:nn { hyp }
{
#1bordercolor .code:n =
{
@@ -1013,7 +1090,7 @@
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,allbordercolors .meta:n =
{
@@ -1028,7 +1105,7 @@
\prop_map_inline:Nn \c__hyp_map_hyp_annot_prop
{
- \keys_define:nn { hyp / setup }
+ \keys_define:nn { hyp }
{
#1border .code:n =
{
@@ -1047,7 +1124,7 @@
}
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,pdfborder .code:n =
{
@@ -1074,7 +1151,7 @@
}
\prop_map_inline:Nn \c__hyp_map_hyp_annot_prop
{
- \keys_define:nn { hyp / setup }
+ \keys_define:nn { hyp }
{
#1borderstyle .code:n =
{
@@ -1093,7 +1170,7 @@
}
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,pdfborderstyle .code:n =
{
@@ -1216,7 +1293,7 @@
{ \pdf_version_compare_p:Nn > {1.4} }
{ \str_if_eq_p:ee{\pdf_version_major:}{-1} }
{
- \keys_define:nn { hyp / setup }
+ \keys_define:nn { hyp }
{
,_ocgcolorlinks .meta:n =
{
@@ -1230,7 +1307,7 @@
}
}
{
- \keys_define:nn { hyp / setup }
+ \keys_define:nn { hyp }
{
,_ocgcolorlinks .code:n =
{
@@ -1242,7 +1319,7 @@
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,ocgcolorlinks .choice:
,ocgcolorlinks / true .meta:n =
@@ -1265,13 +1342,13 @@
{ \pdf_version_compare_p:Nn > {1.4} }
{ \str_if_eq_p:ee{\pdf_version_major:}{-1} }
{
- \keys_define:nn { hyp / setup }
+ \keys_define:nn { hyp }
{
,ocgcolor#1 .bool_set:c = { l_hyp_annot_ocgcolor#1_bool }
}
}
{
- \keys_define:nn { hyp / setup }
+ \keys_define:nn { hyp }
{
,ocgcolor#1 .code:n=
{
@@ -1286,7 +1363,7 @@
}
\prop_map_inline:Nn \c__hyp_map_hyp_annot_prop
{
- \keys_define:nn { hyp / setup }
+ \keys_define:nn { hyp }
{
,#1highlight .choices:nn =
{ /I, /N, /O, /P}
@@ -1314,7 +1391,7 @@
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,pdfhighlight .choices:nn =
{ /I, /N, /O, /P}
@@ -1345,7 +1422,7 @@
{ \exp_not:n {#1} }
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
hidelinks .meta:n =
{
@@ -1358,7 +1435,7 @@
\seq_map_inline:Nn \c__hyp_annot_types_seq
{
- \keys_define:nn { hyp / setup }
+ \keys_define:nn { hyp }
{
hide#1 .meta:n =
{
@@ -1369,21 +1446,21 @@
}
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
colorscheme .code:n =
{
\prop_map_inline:cn { c__hyp_colorscheme_#1_prop }
{
- \keys_set:nn { hyp /setup }
+ \keys_set:nn { hyp }
{
##1 = ##2
}
}
}
}
-\keys_set:nn { hyp / setup } {colorscheme=phelype}
-\keys_define:nn { hyp / setup }
+\keys_set:nn { hyp } {colorscheme=phelype}
+\keys_define:nn { hyp }
{
,unicode .code:n = {}
,pdfencoding .code:n = {}
@@ -1392,12 +1469,12 @@
\msg_warning:nn { hyp }{ pdfversion-disabled }
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,verbose .legacy_if_set:n = {Hy@verbose}
,debug .legacy_if_set:n = {Hy@verbose}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,draft .code:n =
{
@@ -1410,7 +1487,7 @@
\PassOptionsToPackage{final}{bookmark}
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,extension .tl_set:N = \XR@ext
,extension .initial:n= pdf
@@ -1422,7 +1499,7 @@
,plainpages .legacy_if_set:n = {Hy@plainpages}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,linktoc .choices:nn = { none, section, all, page }
{
@@ -1443,12 +1520,12 @@
\prop_map_inline:Nn \c__hyp_map_hyp_annot_prop
{
- \keys_define:nn { hyp / setup }
+ \keys_define:nn { hyp }
{
,#1 .bool_set:c = {l__hyp_annot_#2_bool}
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,baseurl .code:n =
{
@@ -2001,7 +2078,7 @@
}
,pdfwindowui .default:n = true
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,pdfview .code:n =
{
@@ -2083,7 +2160,7 @@
}
,pdfview .initial:n = {xyz}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,pdflang .code:n =
{
@@ -2098,7 +2175,7 @@
\regex_set:Nn\l__hyp_optlang_regex {\A\[([A-Za-z\-]+)\](.*)}
\cs_new_protected:Npn \__hyp_setup_info_key:nn #1 #2
{
- \keys_define:nn { hyp / setup }
+ \keys_define:nn { hyp }
{
pdf#1 .code:n =
{
@@ -2178,7 +2255,7 @@
\__hyp_setup_info_key:nn {keywords} {Keywords}
\cs_new_protected:Npn \__hyp_setup_info_date_key:nn #1 #2
{
- \keys_define:nn { hyp / setup }
+ \keys_define:nn { hyp }
{
pdf#1 .code:n =
{
@@ -2211,16 +2288,16 @@
\__hyp_setup_info_date_key:nn {creationdate} {CreationDate}
\__hyp_setup_info_date_key:nn {moddate} {ModDate}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
pdfmetadate .code:n = { \__hyp_store_metadata:nn {pdfmetadate}{#1} }
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
,pdftrapped .code:n =
{
\exp_args:Nne
- \keys_set:nn { hyp / setup } { _pdftrapped = \str_uppercase:n { #1 } }
+ \keys_set:nn { hyp } { _pdftrapped = \str_uppercase:n { #1 } }
}
,_pdftrapped .choices:nn = {TRUE,FALSE,UNKNOWN}
{
@@ -2243,17 +2320,17 @@
{ \exp_not:n {#1} }
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
pdfinfo .code:n =
{
\keys_set:nn { hyp / info } { #1 }
}
}
-\keys_set:nn { hyp / setup} {pdfcreator = LaTeX~with~hyperref}
-\keys_set:nn { hyp / setup} {pdfauthor = }
-\keys_set:nn { hyp / setup} {pdftitle = }
-\keys_set:nn { hyp / setup} {pdfsubject = }
+\keys_set:nn { hyp} {pdfcreator = LaTeX~with~hyperref}
+\keys_set:nn { hyp} {pdfauthor = }
+\keys_set:nn { hyp} {pdftitle = }
+\keys_set:nn { hyp} {pdfsubject = }
\clist_map_inline:nn
{
,pdfcopyright
@@ -2295,13 +2372,13 @@
,pdfdate
}
{
- \keys_define:nn { hyp / setup }
+ \keys_define:nn { hyp }
{
#1 .code:n= { \__hyp_store_metadata:nn {#1}{##1}}
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
pdfpageduration .code:n =
{
@@ -2314,7 +2391,7 @@
}
}
}
-\keys_define:nn { hyp / setup }
+\keys_define:nn { hyp }
{
pdfpagetransition .code:n =
{
@@ -2402,7 +2479,7 @@
\exp_args:Nne\keys_set:nn {hyp/trans}{ style=\l_keys_key_str }
}
}
-\keys_set_known:nv{hyp/setup}{opt@hyperref.sty}
+\keys_set_known:nv{ hyp }{opt@hyperref.sty}
%% Form field code
\NewDocumentCommand \MakeFieldObject { m m }
{
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 8cf0f6fa6a7..665968106f3 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}{2023-11-17}{}
+ {l3backend-testphase-dvipdfmx.def}{2023-12-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 }
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 435bcfbd146..775cb2026c3 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}{2023-11-17}{}
+ {l3backend-testphase-dvips.def}{2023-12-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 }
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 0a2a47841ed..beaf28f8d70 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}{2023-11-17}{}
+ {l3backend-testphase-dvisvgm.def}{2023-12-09}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm}
\bool_if:NT \l__pdfmanagement_delayed_shipout_bool
{
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 13b00642c16..97a3d770744 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}{2023-11-17}{}
+ {l3backend-testphase-luatex.def}{2023-12-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
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 77e53bb2307..7d1b4888f74 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}{2023-11-17}{}
+ {l3backend-testphase-pdftex.def}{2023-12-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
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 ff3d9ad81d1..818dedfe55f 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}{2023-11-17}{}
+ {l3backend-testphase-xetex.def}{2023-12-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 }
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 e9292fec3d9..8a3b62301df 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}{2023-11-17}{0.96c}%
+\ProvidesExplPackage{l3pdffield-testphase}{2023-12-09}{0.96d}%
{form fields}
\csname HyField@NeedAppearancesfalse\endcsname % suppress NeedAppearances
\str_new:N \l__pdffield_tmpa_str
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 4121a88af3e..7667a00eaf9 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}{2023-11-17}{0.96c}
+\ProvidesExplPackage{pdfmanagement-firstaid}{2023-12-09}{0.96d}
{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 00c59f51e7a..97502aef565 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}{2023-11-17}{0.96c}
+\ProvidesExplFile{pdfmanagement-testphase.ltx}{2023-12-09}{0.96d}
{PDF~management~code~(testphase)}
\bool_new:N\l__pdfmanagement_delayed_shipout_bool
\msg_new:nnn {pdfmanagement}{delayed-shipout}
@@ -1081,7 +1081,8 @@
}
}
%% File: l3pdfannot.dtx
-\RequirePackage{l3bitset}
+\cs_if_exist:NF \bitset_new:Nn
+ { \RequirePackage { l3bitset } }
\bitset_new:Nn \l_pdfannot_F_bitset
{
Invisible = 1,
@@ -1764,7 +1765,7 @@
{\AddToDocumentProperties [document]{pdfstandard-X}{PDF/X-6p}},
_pdfstandard / UA-1 .code:n =
{
- \AddToDocumentProperties [document]{pdfstandard-UA}{{1}{2016}}
+ \AddToDocumentProperties [document]{pdfstandard-UA}{{1}{}}
},
_pdfstandard / UA-2 .code:n =
{\AddToDocumentProperties [document]{pdfstandard-UA}{{2}{2023}}},
@@ -2076,6 +2077,7 @@
\__pdfmeta_xmp_build_pdf:
\__pdfmeta_xmp_build_xmpRights:
\__pdfmeta_xmp_build_standards: %pdfaid,pdfxid,pdfuaid
+ \__pdfmeta_xmp_build_pdfd:
\__pdfmeta_xmp_build_dc:
\__pdfmeta_xmp_build_photoshop:
\__pdfmeta_xmp_build_xmp:
@@ -2358,6 +2360,64 @@
\__pdfmeta_xmp_add_packet_close:nn{rdf}{Seq}
\__pdfmeta_xmp_add_packet_close:nn{pdfaSchema}{valueType}
}
+\cs_new_protected:Npn \__pdfmeta_xmp_schema_enable_pdfd:
+ {
+ \__pdfmeta_xmp_xmlns_new:ne {pdfd}{http://pdfa.org/declarations/}
+ \__pdfmeta_xmp_schema_new:nnn
+ {PDF~Declarations~Schema}
+ {pdfd}
+ {http://pdfa.org/declarations/}
+ \__pdfmeta_xmp_property_new:nnnnn
+ {pdfd}
+ {declarations}
+ {Bag~declaration}
+ {external}
+ {An~unordered~array~of~PDF~Declaration~entries,~where~each~PDF~Declaration~representing~a~statement~of~conformance~with~ an~identified~external~standard~or~profile,~along~with~optional~information~identifying~the~nature~of~the~claim.}
+ \cs_new_protected:cpn { __pdfmeta_xmp_schema_pdfd_additions: }
+ {
+ \__pdfmeta_xmp_add_packet_open:nn{pdfaSchema}{valueType}
+ \__pdfmeta_xmp_add_packet_open:nn{rdf}{Seq}
+ \__pdfmeta_xmp_add_packet_open_attr:nnn{rdf}{li}{rdf:parseType="Resource"}
+ \__pdfmeta_xmp_add_packet_line:nnn{pdfaType}{type}{claim}
+ \__pdfmeta_xmp_add_packet_line:nnn{pdfaType}{namespaceURI}
+ {http://pdfa.org/declarations/}
+ \__pdfmeta_xmp_add_packet_line:nnn{pdfaType}{prefix}{pdfd}
+ \__pdfmeta_xmp_add_packet_line:nnn{pdfaType}{description}
+ {A~structure~describing~properties~of~an~individual claim.}
+ \__pdfmeta_xmp_add_packet_open:nn{pdfaType}{field}
+ \__pdfmeta_xmp_add_packet_open:nn{rdf}{Seq}
+ \__pdfmeta_xmp_add_packet_field:nnn{claimReport}{Text}
+ {A~URL~to~a~report~containing~details~of~the~specific~conformance~claim.}
+ \__pdfmeta_xmp_add_packet_field:nnn{claimCredentials}{Text}
+ {The~claimant's~credentials.}
+ \__pdfmeta_xmp_add_packet_field:nnn{claimDate}{Text}
+ {A~date~identifying~when~the~claim~was~made.}
+ \__pdfmeta_xmp_add_packet_field:nnn{claimBy}{Text}
+ {The~name~of~the~organization~and/or~individual~and/or~software~making~the~claim.}
+ \__pdfmeta_xmp_add_packet_close:nn{rdf}{Seq}
+ \__pdfmeta_xmp_add_packet_close:nn{pdfaType}{field}
+ \__pdfmeta_xmp_add_packet_close:nn{rdf}{li}
+ \__pdfmeta_xmp_add_packet_open_attr:nnn{rdf}{li}{rdf:parseType="Resource"}
+ \__pdfmeta_xmp_add_packet_line:nnn{pdfaType}{type}{declaration}
+ \__pdfmeta_xmp_add_packet_line:nnn{pdfaType}{namespaceURI}
+ {http://pdfa.org/declarations/}
+ \__pdfmeta_xmp_add_packet_line:nnn{pdfaType}{prefix}{pdfd}
+ \__pdfmeta_xmp_add_packet_line:nnn{pdfaType}{description}
+ {A~structure~describing~a~single~PDF~ Declaration~asserting~conformance~with~ an~externally-identified~standard~or~ profile.}
+ \__pdfmeta_xmp_add_packet_open:nn{pdfaType}{field}
+ \__pdfmeta_xmp_add_packet_open:nn{rdf}{Seq}
+ \__pdfmeta_xmp_add_packet_field:nnn{conformsTo}{Text}
+ {A~property~containing~a~URI~specifying~the~standard~or~profile~by~the~PDF~Declaration.~This~property~is~ intended~to~mirror~the~Dublin~Core~property~dc:conformsTo.}
+ \__pdfmeta_xmp_add_packet_field:nnn{claimData}{Bag~claim}
+ {An~unordered~array~of~claim~data,~where~each~claim~identifies~the~nature~of~the~claim.}
+ \__pdfmeta_xmp_add_packet_close:nn{rdf}{Seq}
+ \__pdfmeta_xmp_add_packet_close:nn{pdfaType}{field}
+ \__pdfmeta_xmp_add_packet_close:nn{rdf}{li}
+ \__pdfmeta_xmp_add_packet_close:nn{rdf}{Seq}
+ \__pdfmeta_xmp_add_packet_close:nn{pdfaSchema}{valueType}
+ }
+ \cs_gset_eq:NN \__pdfmeta_xmp_schema_enable_pdfd: \prg_do_nothing:
+ }
\cs_new_protected:Npn \__pdfmeta_xmp_build_pdf:
{
@@ -2406,7 +2466,35 @@
{pdfuaid}{rev}{\exp_last_unbraced:No\use_ii:nn \l__pdfmeta_tmpa_tl}
}
}
-
+\prop_new:N \g__pdfmeta_xmp_pdfd_data_prop
+\cs_new_protected:Npn \__pdfmeta_xmp_build_pdfd:
+ {
+ \prop_if_empty:NF\g__pdfmeta_xmp_pdfd_data_prop
+ {
+ \__pdfmeta_xmp_add_packet_open:nn{pdfd}{declarations}
+ \__pdfmeta_xmp_add_packet_open:nn{rdf}{Bag}
+ \prop_map_inline:Nn \g__pdfmeta_xmp_pdfd_data_prop
+ {
+ \__pdfmeta_xmp_build_pdfd_claim:nn{##1}{##2}
+ }
+ \__pdfmeta_xmp_add_packet_close:nn{rdf}{Bag}
+ \__pdfmeta_xmp_add_packet_close:nn{pdfd}{declarations}
+ }
+ }
+\cs_new_protected:Npn \__pdfmeta_xmp_build_pdfd_claim:nn #1#2
+ {
+ \__pdfmeta_xmp_add_packet_open_attr:nnn{rdf}{li}{rdf:parseType="Resource"}
+ \__pdfmeta_xmp_add_packet_line:nnn{pdfd}{conformsTo}{#1}
+ \tl_if_empty:nF {#2}
+ {
+ \__pdfmeta_xmp_add_packet_open:nn{pdfd}{claimData}
+ \__pdfmeta_xmp_add_packet_open:nn{rdf}{Bag}
+ #2
+ \__pdfmeta_xmp_add_packet_close:nn{rdf}{Bag}
+ \__pdfmeta_xmp_add_packet_close:nn{pdfd}{claimData}
+ }
+ \__pdfmeta_xmp_add_packet_close:nn{rdf}{li}
+ }
\cs_new_protected:Npn \__pdfmeta_xmp_build_photoshop:
{
\__pdfmeta_xmp_add_packet_line:nne{photoshop}{AuthorsPosition}
@@ -2630,6 +2718,35 @@
{\msg_warning:nnn{pdfmeta}{namespace-defined}{#1}}
{\__pdfmeta_xmp_xmlns_new:nn {#1}{#2}}
}
+\cs_new_protected:Npn \pdfmeta_xmp_add_declaration:n #1 %conformsTo uri
+ {
+ \__pdfmeta_xmp_schema_enable_pdfd:
+ \prop_gput:Nnn\g__pdfmeta_xmp_pdfd_data_prop{#1}{}
+ }
+\cs_generate_variant:Nn \pdfmeta_xmp_add_declaration:n {e}
+\cs_new_protected:Npn \pdfmeta_xmp_add_declaration:nnnnn #1#2#3#4#5
+ %#1=conformsTo uri, #2 claimBy, #3 claimDate #4 claimCredentials #4 claimReport
+ {
+ \__pdfmeta_xmp_schema_enable_pdfd:
+ \tl_set:Nn \l__pdfmeta_tmpa_tl
+ {
+ \__pdfmeta_xmp_add_packet_open_attr:nnn{rdf}{li}{rdf:parseType="Resource"}
+ \__pdfmeta_xmp_add_packet_line:nnn{pdfd}{claimBy}{#2}
+ \__pdfmeta_xmp_add_packet_line:nnn{pdfd}{claimDate}{#3}
+ \__pdfmeta_xmp_add_packet_line:nnn{pdfd}{claimCredentials}{#4}
+ \__pdfmeta_xmp_add_packet_line:nnn{pdfd}{claimReport}{#5}
+ \__pdfmeta_xmp_add_packet_close:nn{rdf}{li}
+ }
+ \prop_get:NnNT \g__pdfmeta_xmp_pdfd_data_prop {#1}\l__pdfmeta_tmpb_tl
+ {
+ \tl_concat:NNN \l__pdfmeta_tmpa_tl \l__pdfmeta_tmpa_tl \l__pdfmeta_tmpb_tl
+ }
+ \prop_gput:Nno\g__pdfmeta_xmp_pdfd_data_prop{#1}
+ {
+ \l__pdfmeta_tmpa_tl
+ }
+ }
+\cs_generate_variant:Nn\pdfmeta_xmp_add_declaration:nnnnn {e}
%% File: l3pdftools.dtx
\cs_generate_variant:Nn \str_convert_pdfname:n { e }
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 76775214b77..f8ba15a2e6a 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}{2023-11-17}{0.96c}
+\ProvidesExplPackage{pdfmanagement-testphase}{2023-12-09}{0.96d}
{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 98d5aaf4e91..a444924dfd5 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}[2023-11-17 v0.96c patch xcolor for l3color]
+\ProvidesPackage{xcolor-patches-tmp-ltx}[2023-12-09 v0.96d patch xcolor for l3color]
\@ifundefined{color_set:nn}{\RequirePackage{l3color}}{}
\ExplSyntaxOn