diff options
author | Karl Berry <karl@freefriends.org> | 2023-11-09 22:16:24 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-11-09 22:16:24 +0000 |
commit | 2309549b980656b7728281278ed9c8505fe84060 (patch) | |
tree | 4f02d527bf0ccfe5f0a762e668c32bf50143553d /Master/texmf-dist/source | |
parent | ec0674326edd8d006124b683e8feecda5384a691 (diff) |
pdfmanagement-testphase (6nov23)
git-svn-id: svn://tug.org/texlive/trunk@68774 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
19 files changed, 545 insertions, 479 deletions
diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/hyperref-generic.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/hyperref-generic.dtx index dc722effbef..47b957c2ece 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/hyperref-generic.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/hyperref-generic.dtx @@ -82,7 +82,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -956,7 +956,7 @@ %<@@=hyp> % \end{macrocode} % \begin{macrocode} -\ProvidesFile{hgeneric-testphase.def}[2023-10-09 v0.96a % +\ProvidesFile{hgeneric-testphase.def}[2023-11-05 v0.96b % generic Hyperref driver for the LaTeX PDF management testphase bundle] \RequirePackage{etoolbox} %why? @@ -1213,7 +1213,7 @@ % \begin{macrocode} % TODO should go at some time ... % \kv@set@family@handler{Hyp} -% { \msg_warning:nnx {hyp}{unknown-key-to-Hyp}{#1} } +% { \msg_warning:nne {hyp}{unknown-key-to-Hyp}{#1} } \cs_set_protected:Npn \hypersetup #1 { %\kvsetkeys{Hyp} {#1} @@ -1224,7 +1224,7 @@ { unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-key } + \msg_warning:nneee { hyp } { unknown-key } { hyp~/~setup }{ \l_keys_key_str } { #1 } } } @@ -1294,7 +1294,7 @@ } ,afrelationship .code:n = { - \pdfdict_put:nnx + \pdfdict_put:nne { l_pdffile/Filespec}{AFRelationship}{ \pdf_name_from_unicode_e:n {#1}} } @@ -1454,7 +1454,7 @@ %\tl_set:cn {@#1}{#2} \AddToDocumentProperties[hyperref]{#1}{#2} } -\cs_generate_variant:Nn \@@_store_metadata:nn {xn,nx,xx} +\cs_generate_variant:Nn \@@_store_metadata:nn {en,ne,ee} % \end{macrocode} % \subsection{citecolor} % cite is a link context. So we define a hook, and the keys in terms of this hook. @@ -1878,7 +1878,7 @@ % \begin{macrocode} \cs_new_protected:Npn \@@_text_purify:nN #1 #2 %#1 input, #2 str command { - \str_set:Nx #2 {\text_purify:n { #1 } } + \str_set:Ne #2 {\text_purify:n { #1 } } } % \end{macrocode} % \end{macro} @@ -1936,7 +1936,7 @@ \group_end: \str_set_eq:NN #3 \g_@@_text_tmpa_str } -\cs_generate_variant:Nn \@@_text_pdfstring:nnN {xnN,onN,xoN,ooN,noN} +\cs_generate_variant:Nn \@@_text_pdfstring:nnN {enN,onN,eoN,ooN,noN} % \end{macrocode} % \end{macro} % !!! temporary until all instances are gone @@ -1947,7 +1947,7 @@ %^^A \char_set_catcode_active:N \~ % \begin{macrocode} \cs_new_protected:Npn\Hy@pstringdef #1 #2 - { \@@_text_pdfstring:xnN {#2} {utf8/string-raw}#1 } + { \@@_text_pdfstring:enN {#2} {utf8/string-raw}#1 } % \end{macrocode} % % This is a special version for info keys: @@ -2009,7 +2009,7 @@ % \begin{macrocode} \cs_new_protected:Npn\@@_PageLabels_gpush: { - \pdfmanagement_add:nnx {Catalog} {PageLabels}{<</Nums[\HyPL@Labels]>>} + \pdfmanagement_add:nne {Catalog} {PageLabels}{<</Nums[\HyPL@Labels]>>} } \def\Hy@PutCatalog #1 {} @@ -2019,7 +2019,7 @@ { \cs_set_protected:Npn \HyPL@StorePageLabel #1 { - \tl_gput_right:Nx \HyPL@Labels { \the\Hy@abspage<<#1>> } + \tl_gput_right:Ne \HyPL@Labels { \the\Hy@abspage<<#1>> } \@@_PageLabels_gpush: } } @@ -2062,7 +2062,7 @@ \mode_if_horizontal:T { \@savsf\spacefactor } \Hy@SaveLastskip %defined in hyperref \Hy@VerboseAnchor{#1} %defined in hyperref, for debugging - \@@_text_pdfstring:xoN + \@@_text_pdfstring:eoN { \HyperDestNameFilter{#1} } { \l_@@_text_enc_dest_tl } \l_@@_tmpa_tl @@ -2144,14 +2144,14 @@ \protected@edef \l_@@_dest_name_tmpa_tl { #1 } \tl_if_empty:NTF \l_@@_dest_name_tmpa_tl { - \msg_warning:nnx + \msg_warning:nne { hyp } { empty-destination-name } { \c_@@_dest_undefined_tl } \tl_set_eq:NN \l_@@_dest_name_tmpa_tl \c_@@_dest_undefined_tl } { - \@@_text_pdfstring:xoN + \@@_text_pdfstring:eoN { \exp_args:No \HyperDestNameFilter { \l_@@_dest_name_tmpa_tl } } { \l_@@_text_enc_dest_tl } \l_@@_dest_name_tmpa_tl @@ -2257,7 +2257,7 @@ \bool_if:NTF \l_@@_annot_URI_bool { \group_begin: - \@@_text_pdfstring:xoN + \@@_text_pdfstring:eoN { #2} { \l_@@_text_enc_uri_print_tl } \l_@@_uri_tmpa_tl @@ -2270,8 +2270,8 @@ \cs_set_eq:NN \% \c_percent_str \Hy@safe@activestrue \mode_leave_vertical: - \pdfannot_dict_put:nnx {link/URI}{A}{<<\pdfdict_use:n {l_hyp/annot/A/URI}>>} - \pdfannot_link:nxn { URI } + \pdfannot_dict_put:nne {link/URI}{A}{<<\pdfdict_use:n {l_hyp/annot/A/URI}>>} + \pdfannot_link:nen { URI } { } { @@ -2292,24 +2292,23 @@ \pdfdict_put:nnn {l_hyp/annot/A/GoToR}{Type}{/Action} \pdfdict_put:nnn {l_hyp/annot/A/GoToR}{S}{/GoToR} - +\cs_generate_variant:Nn \pdffile_embed_file:nnn {noe} \cs_new_protected:Npn \hyper@linkfile #1 #2 #3 % link text, filename, destname { \bool_if:NTF \l_@@_annot_GoToR_bool { \group_begin: - \tl_set:Nx \l_@@_filename_tmpa_tl { \text_expand:n { #2 } } - \exp_args:Nx + \tl_set:Ne \l_@@_filename_tmpa_tl { \text_expand:n { #2 } } + \exp_args:Ne \pdf_object_if_exist:nF { @@_file_\tl_to_str:N \l_@@_filename_tmpa_tl } { - \pdfdict_put:nnx { l_pdffile/Filespec}{Subtype}{\pdf_name_from_unicode_e:n {application/pdf}} - \exp_args:Nnox - \pdffile_embed_file:nnn + \pdfdict_put:nne { l_pdffile/Filespec}{Subtype}{\pdf_name_from_unicode_e:n {application/pdf}} + \pdffile_embed_file:noe {} {\l_@@_filename_tmpa_tl } {@@_file_\tl_to_str:N \l_@@_filename_tmpa_tl } } - \pdfdict_put:nnx + \pdfdict_put:nne {l_hyp/annot/A/GoToR} {F} {\pdf_object_ref:e {@@_file_\tl_to_str:N \l_@@_filename_tmpa_tl}} @@ -2319,7 +2318,7 @@ \l_@@_dest_name_tmpa_tl \tl_if_blank:eTF {#3} { - \pdfdict_put:nnx {l_hyp/annot/A/GoToR}{D} + \pdfdict_put:nne {l_hyp/annot/A/GoToR}{D} { [ \int_eval:n @@ -2337,9 +2336,9 @@ % object reference in the dict % \url{https://chat.stackexchange.com/transcript/message/57361080#57361080} % \begin{macrocode} - \pdf_object_unnamed_write:nx{dict}{\pdfdict_use:n {l_hyp/annot/A/GoToR}} - \pdfannot_dict_put:nnx {link/GoToR}{A}{\pdf_object_ref_last:} - \pdfannot_link:nxn %expansion?? + \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 } { } @@ -2386,12 +2385,14 @@ \pdfdict_remove:nn {l_hyp/annot/A/Launch}{Win} } { - \pdfdict_put:nnx {l_hyp/annot/A/Launch}{Win} + \pdfdict_put:nne + {l_hyp/annot/A/Launch} + {Win} {<</P \l_@@_para_tmpa_tl /F \l_@@_filename_tmpa_tl >>} } \mode_leave_vertical: - \pdfannot_dict_put:nnx {link/Launch}{A}{<<\pdfdict_use:n {l_hyp/annot/A/Launch}>>} - \pdfannot_link:nxn + \pdfannot_dict_put:nne {link/Launch}{A}{<<\pdfdict_use:n {l_hyp/annot/A/Launch}>>} + \pdfannot_link:nen { Launch } { % /A @@ -2412,9 +2413,9 @@ % The actually command used by \pkg{hyperref} is \cs{@hyper@launch} which uses a delimited % argument, because of the color the definition is a bit convoluted. % \begin{macrocode} -\use:x +\use:e { % filename, anchor text, linkname - \cs_set_protected:Npn \exp_not:N \@hyper@launch run \c_colon_str ##1 \exp_not:N \\ ##2 ##3 + \cs_set_protected:Npn \exp_not:N \@hyper@launch run \c_colon_str #1 \exp_not:N \\ #2 #3 } { \hyper@linklaunch {#1}{#2}{#3} @@ -2436,10 +2437,10 @@ \pdfmeta_standard_verify:nnTF {named_actions}{#1} { \mode_leave_vertical: - \pdfdict_put:nnx {l_hyp/annot/A/Named}{N} + \pdfdict_put:nne {l_hyp/annot/A/Named}{N} {\pdf_name_from_unicode_e:n{#1}} - \pdfannot_dict_put:nnx {link/Named}{A}{<<\pdfdict_use:n {l_hyp/annot/A/Named}>>} - \pdfannot_link:nxn { Named } + \pdfannot_dict_put:nne {link/Named}{A}{<<\pdfdict_use:n {l_hyp/annot/A/Named}>>} + \pdfannot_link:nnn { Named } { % /A % << @@ -2648,7 +2649,7 @@ {hyp/color/#1border} \g_@@_bordercolormodel_str \l_@@_tmpa_tl - \pdfannot_dict_put:nnx + \pdfannot_dict_put:nne {link/#2} { C } { [\l_@@_tmpa_tl] } @@ -2791,7 +2792,7 @@ \pdf_object_new:n { @@/OCG/Print } \pdf_object_new:n { @@/OCG/config } \pdf_object_new:n { @@/OCG/refarray } - \pdf_object_write:nnx { @@/OCG/refarray } { array } + \pdf_object_write:nne { @@/OCG/refarray } { array } { \pdf_object_ref:n { @@/OCG/View } \c_space_tl @@ -2817,9 +2818,9 @@ /View <</ViewState/OFF>>~ >> } - \pdfmanagement_add:nnx { Catalog / OCProperties }{OCGs }{ \pdf_object_ref:n {@@/OCG/View} } - \pdfmanagement_add:nnx { Catalog / OCProperties }{OCGs }{ \pdf_object_ref:n {@@/OCG/Print} } - \pdf_object_write:nnx { @@/OCG/config } { dict } + \pdfmanagement_add:nne { Catalog / OCProperties }{OCGs }{ \pdf_object_ref:n {@@/OCG/View} } + \pdfmanagement_add:nne { Catalog / OCProperties }{OCGs }{ \pdf_object_ref:n {@@/OCG/Print} } + \pdf_object_write:nne { @@/OCG/config } { dict } { /OFF[\pdf_object_ref:n { @@/OCG/Print }] /AS[ @@ -2840,7 +2841,7 @@ >> ] } - \pdfmanagement_add:nnx { Catalog / OCProperties }{ D }{ \pdf_object_ref:n { @@/OCG/config} } + \pdfmanagement_add:nne { Catalog / OCProperties }{ D }{ \pdf_object_ref:n { @@/OCG/config} } \cs_gset:Npn \@@_ocg_init: {} } % \end{macrocode} @@ -2920,7 +2921,7 @@ { ,_ocgcolorlinks .code:n = { - \msg_warning:nnxx + \msg_warning:nnee { hyp } { ignore-deprecated-or-unknown-option-in-pdf-version } { ocgcolorlinks } { \pdf_version_major:.\pdf_version_minor: } @@ -2961,7 +2962,7 @@ { ,ocgcolor#1 .code:n= { - \msg_warning:nnxx + \msg_warning:nnee { hyp } { ignore-deprecated-or-unknown-option-in-pdf-version } { ocgcolor#1 } @@ -2997,7 +2998,7 @@ } ,#1highlight / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice+empty } + \msg_warning:nneee { hyp } { unknown-choice+empty } { pdfhighlight } { /I~(inverse), /N~(no effect), /O~(outline), /P~(inset) } { \exp_not:n {##1} } @@ -3031,7 +3032,7 @@ ,pdfhighlight .initial:n = {/I}, ,pdfhighlight / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice+empty } + \msg_warning:nneee { hyp } { unknown-choice+empty } { pdfhighlight } { /I~(inverse), /N~(no effect), /O~(outline), /P~(inset) } { \exp_not:n {#1} } @@ -3158,7 +3159,7 @@ } ,linktoc / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice } + \msg_warning:nneee { hyp } { unknown-choice } { linktoc } { none, section, all, page } { \exp_not:n {#1} } @@ -3195,7 +3196,7 @@ \pdfmanagement_remove:nn {Catalog} { URI } } { - \pdfmanagement_add:nnx {Catalog} { URI }{ <</Base \l_@@_tmpa_tl>> } + \pdfmanagement_add:nne {Catalog} { URI }{ <</Base \l_@@_tmpa_tl>> } } \@@_store_metadata:nn {baseurl}{#1} } @@ -3223,7 +3224,7 @@ } ,pdfcenterwindow / unknown .code:n = { - \msg_warning:nnxx { hyp } { no-bool } + \msg_warning:nnee { hyp } { no-bool } { pdfcenterwindow } { \exp_not:n {#1} } } @@ -3243,7 +3244,7 @@ } ,pdfdirection / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice+empty } + \msg_warning:nneee { hyp } { unknown-choice+empty } { pdfdirection } { L2R , R2L } { \exp_not:n {#1} } @@ -3267,7 +3268,7 @@ { PrintDuplex } { /#1 } } { - \msg_warning:nnxx + \msg_warning:nnee {hyp} {ignore-deprecated-or-unknown-option-in-pdf-version} {pdfduplex} @@ -3280,7 +3281,7 @@ } ,pdfduplex / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice+empty } + \msg_warning:nneee { hyp } { unknown-choice+empty } { pdfduplex } { Simplex, DuplexFlipShortEdge, DuplexFlipLongEdge } { \exp_not:n {#1} } @@ -3301,7 +3302,7 @@ ,pdffitwindow .default:n = true ,pdffitwindow / unknown .code:n = { - \msg_warning:nnxx { hyp } { no-bool } + \msg_warning:nnee { hyp } { no-bool } { pdffitwindow } { \exp_not:n {#1} } } @@ -3324,7 +3325,7 @@ ,pdfmenubar .default:n = true ,pdfmenubar / unknown .code:n = { - \msg_warning:nnxx { hyp } { no-bool } + \msg_warning:nnee { hyp } { no-bool } { pdfmenubar } { \exp_not:n {#1} } } @@ -3347,7 +3348,7 @@ ,pdfnonfullscreenpagemode .choices:nn = { UseNone, UseOutlines, UseThumbs, FullScreen, UseOC } %pdf 1.5 { - \pdfmanagement_add:nnx {Catalog / ViewerPreferences } + \pdfmanagement_add:nne {Catalog / ViewerPreferences } { NonFullScreenPageMode} {/#1} } ,pdfnonfullscreenpagemode / UseAttachments .code:n = @@ -3357,7 +3358,7 @@ %message } { - \pdfmanagement_add:nnx {Catalog / ViewerPreferences } + \pdfmanagement_add:nne {Catalog / ViewerPreferences } {NonFullScreenPageMode}{/UseAttachments} } } @@ -3367,7 +3368,7 @@ } ,pdfnonfullscreenpagemode / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice+empty } + \msg_warning:nneee { hyp } { unknown-choice+empty } { pdfnonfullscreenpagemode } { UseNone, UseOutlines, UseThumbs, FullScreen, UseOC, UseAttachments (PDF 1.6) } { \exp_not:n {#1} } @@ -3381,12 +3382,12 @@ \pdfmanagement_remove:nn {Catalog / ViewerPreferences } { NumCopies } } { - \pdfmanagement_add:nnx {Catalog / ViewerPreferences } + \pdfmanagement_add:nne {Catalog / ViewerPreferences } {NumCopies}{#1} } } { - \msg_warning:nnxx + \msg_warning:nnee {hyp} {ignore-deprecated-or-unknown-option-in-pdf-version} {pdfnumcopies} @@ -3395,27 +3396,27 @@ } ,pdfpagelayout .choices:nn = { SinglePage, OneColumn, TwoColumnLeft, TwoColumnRight, TwoPageLeft, TwoPageRight} - { \pdfmanagement_add:nnx {Catalog} { PageLayout }{ /#1 } } + { \pdfmanagement_add:nne {Catalog} { PageLayout }{ /#1 } } ,pdfpagelayout / .code:n = { \pdfmanagement_remove:nn {Catalog} { PageLayout } } ,pdfpagelayout / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice+empty } + \msg_warning:nneee { hyp } { unknown-choice+empty } { pdfpagelayout } { SinglePage, OneColumn, TwoColumnLeft, TwoColumnRight, TwoPageLeft, TwoPageRight } { \exp_not:n {#1} } } ,pdfpagemode .choices:nn = { UseNone, UseOutlines, UseThumbs, FullScreen, UseOC } %pdf 1.5 - { \pdfmanagement_add:nnx {Catalog} { PageMode }{ /#1 } } + { \pdfmanagement_add:nne {Catalog} { PageMode }{ /#1 } } ,pdfpagemode / UseAttachments .code:n = { \pdf_version_compare:NnTF > {1.5} { - \pdfmanagement_add:nnx {Catalog} { PageMode }{ /UseAttachments } + \pdfmanagement_add:nne {Catalog} { PageMode }{ /UseAttachments } } { - \msg_warning:nnxx + \msg_warning:nnee {hyp} {ignore-deprecated-or-unknown-value-in-pdf-version} {UseAttachments} @@ -3425,7 +3426,7 @@ ,pdfpagemode .initial:n = { UseOutlines } %for now ... ,pdfpagemode / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice+empty } + \msg_warning:nneee { hyp } { unknown-choice+empty } { pdfpagemode } { UseNone, UseOutlines, UseThumbs, FullScreen, UseOC, UseAttachments (PDF 1.6) } { \exp_not:n {#1} } @@ -3437,7 +3438,7 @@ \pdfmanagement_remove:nn {Pages} { CropBox } } { - \pdfmanagement_add:nnx {Pages} { CropBox } { [#1] } + \pdfmanagement_add:nne {Pages} { CropBox } { [#1] } } } ,pdfpicktraybypdfsize .choice: @@ -3449,7 +3450,7 @@ { PickTrayByPDFSize } { true } } { - \msg_warning:nnxx + \msg_warning:nnee {hyp} {ignore-deprecated-or-unknown-option-in-pdf-version} {pdfpicktraybypdfsize} @@ -3464,7 +3465,7 @@ { PickTrayByPDFSize } { false } } { - \msg_warning:nnxx + \msg_warning:nnee {hyp} {ignore-deprecated-or-unknown-option-in-pdf-version} {pdfpicktraybypdfsize} @@ -3477,7 +3478,7 @@ } ,pdfpicktraybypdfsize / unknown .code:n = { - \msg_warning:nnxx { hyp } { no-bool } + \msg_warning:nnee { hyp } { no-bool } { picktraybypdfsize } { \exp_not:n {#1} } } @@ -3486,11 +3487,11 @@ { \pdf_version_compare:NnTF < {2.0} { - \pdfmanagement_add:nnx {Catalog / ViewerPreferences } + \pdfmanagement_add:nne {Catalog / ViewerPreferences } { PrintArea } { /#1 } } { - \msg_warning:nnxx + \msg_warning:nnee {hyp} {ignore-deprecated-or-unknown-option-in-pdf-version} {pdfprintarea} @@ -3501,7 +3502,7 @@ { \pdfmanagement_remove:nn {Catalog / ViewerPreferences } { PrintArea } } ,pdfprintarea / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice+empty } + \msg_warning:nneee { hyp } { unknown-choice+empty } { pdfprintarea } { MediaBox, CropBox, BleedBox, TrimBox, ArtBox } { \exp_not:n {#1} } @@ -3511,11 +3512,11 @@ { \pdf_version_compare:NnTF < {2.0} { - \pdfmanagement_add:nnx {Catalog / ViewerPreferences } + \pdfmanagement_add:nne {Catalog / ViewerPreferences } { PrintClip } { /#1 } } { - \msg_warning:nnxx + \msg_warning:nnee {hyp} {ignore-deprecated-or-unknown-option-in-pdf-version} {pdfprintclip} @@ -3528,7 +3529,9 @@ } ,pdfprintclip / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice+empty } + \msg_warning:nneee + { hyp } + { unknown-choice+empty } { pdfprintclip } { MediaBox, CropBox, BleedBox, TrimBox, ArtBox } { \exp_not:n {#1} } @@ -3543,12 +3546,12 @@ { PrintPageRange } } { - \pdfmanagement_add:nnx {Catalog / ViewerPreferences } + \pdfmanagement_add:nne {Catalog / ViewerPreferences } {PrintPageRange}{[#1]} } } { - \msg_warning:nnxx + \msg_warning:nnee {hyp} {ignore-deprecated-or-unknown-option-in-pdf-version} {pdfprintpagerange} @@ -3560,11 +3563,11 @@ { \pdf_version_compare:NnTF > {1.5} { - \pdfmanagement_add:nnx {Catalog / ViewerPreferences } + \pdfmanagement_add:nne {Catalog / ViewerPreferences } { PrintScaling } { /#1 } } { - \msg_warning:nnxx + \msg_warning:nnee {hyp} {ignore-deprecated-or-unknown-option-in-pdf-version} {pdfprintscaling} @@ -3577,18 +3580,18 @@ } ,pdfprintscaling / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice+empty } + \msg_warning:nneee { hyp } { unknown-choice+empty } { pdfprintarea } { None, AppDefault } { \exp_not:n {#1} } } ,pdfremotestartview .code:n = { - \tl_set:Nx \l_@@_tmpa_tl {#1~null~null~null~} + \tl_set:Ne \l_@@_tmpa_tl {#1~null~null~null~} \exp_args:NNV \regex_extract_once:NnNTF \c_@@_dest_startview_regex \l_@@_tmpa_tl \l_@@_tmpa_seq { - \tl_set:Nx \l_@@_dest_pdfremotestartview_tl {\seq_item:Nn \l_@@_tmpa_seq {1}} + \tl_set:Ne \l_@@_dest_pdfremotestartview_tl {\seq_item:Nn \l_@@_tmpa_seq {1}} } { \msg_warning:nnnn {hyp}{invalid-destination-value}{#1}{pdfremotestartview} @@ -3599,14 +3602,14 @@ % pdfstartpage is special as it shares code with pdfstartview ,pdfstartpage .code:n = { - \tl_gset:Nx \g_@@_dest_pdfstartpage_tl { #1 } + \tl_gset:Ne \g_@@_dest_pdfstartpage_tl { #1 } \bool_if:nTF { \tl_if_empty_p:N \g_@@_dest_pdfstartpage_tl || \tl_if_empty_p:N \g_@@_dest_pdfstartview_tl } { \pdfmanagement_remove:nn {Catalog} { OpenAction } } { - \pdfmanagement_add:nnx {Catalog} { OpenAction } + \pdfmanagement_add:nne {Catalog} { OpenAction } { [\pdf_pageobject_ref:n {\g_@@_dest_pdfstartpage_tl}~/\g_@@_dest_pdfstartview_tl] } @@ -3615,11 +3618,11 @@ ,pdfstartpage .initial:n =1 ,pdfstartview .code:n = { - \tl_set:Nx \l_@@_tmpa_tl {#1~null~null~null~} + \tl_set:Ne \l_@@_tmpa_tl {#1~null~null~null~} \exp_args:NNV \regex_extract_once:NnNTF \c_@@_dest_startview_regex \l_@@_tmpa_tl \l_@@_tmpa_seq { - \tl_gset:Nx \g_@@_dest_pdfstartview_tl {\seq_item:Nn \l_@@_tmpa_seq {1}} + \tl_gset:Ne \g_@@_dest_pdfstartview_tl {\seq_item:Nn \l_@@_tmpa_seq {1}} } { \msg_warning:nnnn {hyp}{invalid-destination-value}{#1}{pdfstartview} @@ -3631,7 +3634,7 @@ \pdfmanagement_remove:nn {Catalog} { OpenAction } } { - \pdfmanagement_add:nnx {Catalog} { OpenAction } + \pdfmanagement_add:nne {Catalog} { OpenAction } { [\pdf_pageobject_ref:n {\g_@@_dest_pdfstartpage_tl}~/\g_@@_dest_pdfstartview_tl] } @@ -3655,7 +3658,7 @@ ,pdftoolbar .default:n = true ,pdftoolbar / unknown .code:n = { - \msg_warning:nnxx { hyp } { no-bool } + \msg_warning:nnee { hyp } { no-bool } { pdftoolbar } { \exp_not:n {#1} } } @@ -3669,7 +3672,7 @@ { ViewArea } { /#1 } } { - \msg_warning:nnxx + \msg_warning:nnee {hyp} {ignore-deprecated-or-unknown-option-in-pdf-version} {pdfviewarea} @@ -3682,7 +3685,7 @@ } ,pdfviewarea / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice+empty } + \msg_warning:nneee { hyp } { unknown-choice+empty } { pdfviewarea } { MediaBox, CropBox, BleedBox, TrimBox, ArtBox } { \exp_not:n {#1} } @@ -3696,7 +3699,7 @@ { ViewClip } { /#1 } } { - \msg_warning:nnxx + \msg_warning:nnee {hyp} {ignore-deprecated-or-unknown-option-in-pdf-version} {pdfviewclip} @@ -3709,7 +3712,7 @@ } ,pdfviewclip / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice+empty } + \msg_warning:nneee { hyp } { unknown-choice+empty } { pdfviewclip } { MediaBox, CropBox, BleedBox, TrimBox, ArtBox } { \exp_not:n {#1} } @@ -3730,7 +3733,7 @@ } ,pdfwindowui / unknown .code:n = { - \msg_warning:nnxx { hyp } { no-bool } + \msg_warning:nnee { hyp } { no-bool } { pdfwindowui } { \exp_not:n {#1} } } @@ -3758,7 +3761,7 @@ \tl_set:Nn \l_@@_dest_pdfview_tl {xyz} } { - \tl_set:Nx \l_@@_dest_pdfview_tl + \tl_set:Ne \l_@@_dest_pdfview_tl { \fp_eval:n { \l_@@_tmpa_tl * 100 } } @@ -3837,7 +3840,7 @@ { \tl_if_empty:nF { #1 } { - \pdfmanagement_add:nnx {Catalog} { Lang } { (#1) } + \pdfmanagement_add:nne {Catalog} { Lang } { (#1) } \AddToDocumentProperties[document]{lang}{#1} } } @@ -3868,12 +3871,12 @@ {creator} { \msg_info:nnn { hyp }{ empty-info-value } { pdfcreator } - \pdfmanagement_add:nnx {Info}{Creator}{()} + \pdfmanagement_add:nne {Info}{Creator}{()} } {producer} { \msg_info:nnn { hyp }{ empty-info-value } { pdfproducer } - \pdfmanagement_add:nnx {Info}{Producer}{()} + \pdfmanagement_add:nne {Info}{Producer}{()} } } { @@ -3881,7 +3884,7 @@ } } { - \tl_set:Nx\l_@@_tmpa_tl {\clist_item:nn{##1}{1}} + \tl_set:Ne\l_@@_tmpa_tl {\clist_item:nn{##1}{1}} \exp_args:NNV \regex_extract_once:NnN \l_@@_optlang_regex \l_@@_tmpa_tl\l_@@_tmpa_seq \seq_if_empty:NTF\l_@@_tmpa_seq @@ -3889,12 +3892,12 @@ \@@_text_pdfstring_info:nN {##1}\l_@@_tmpa_str } { - \exp_args:Nx + \exp_args:Ne \@@_text_pdfstring_info:nN {\seq_item:Nn \l_@@_tmpa_seq{3}}\l_@@_tmpa_str } \str_if_eq:VnF\l_@@_tmpa_str{<FEFF>} { - \pdfmanagement_add:nnx {Info}{#2}{\l_@@_tmpa_str} + \pdfmanagement_add:nne {Info}{#2}{\l_@@_tmpa_str} } } \@@_store_metadata:nn {pdf#1}{##1} @@ -3912,10 +3915,10 @@ \@@_text_pdfstring_info:nN {##1}\l_@@_tmpa_str \str_if_eq:VnF\l_@@_tmpa_str{<FEFF>} { - \pdfmanagement_add:nnx {Info}{#2}{\l_@@_tmpa_str} + \pdfmanagement_add:nne {Info}{#2}{\l_@@_tmpa_str} } } - \exp_args:Nx \@@_store_metadata:nn {pdf\str_lowercase:n{#1}}{##1} + \exp_args:Ne \@@_store_metadata:nn {pdf\str_lowercase:n{#1}}{##1} } ,unknown .code:n = { @@ -3923,7 +3926,7 @@ \str_if_eq:VnF\l_@@_tmpa_str{<FEFF>} { \exp_args:Nno - \pdfmanagement_add:nnx {Info} + \pdfmanagement_add:nne {Info} { \l_keys_key_str } {\l_@@_tmpa_str} } } @@ -3953,7 +3956,7 @@ \pdfmanagement_remove:nn {Info}{#2} } { - \pdfmanagement_add:nnx {Info}{#2}{(##1)} + \pdfmanagement_add:nne {Info}{#2}{(##1)} } \@@_store_metadata:nn {pdf#1}{##1} \AddToDocumentProperties[document]{#1}{##1} @@ -3968,9 +3971,9 @@ \pdfmanagement_remove:nn {Info}{#2} } { - \pdfmanagement_add:nnx {Info}{#2}{(##1)} + \pdfmanagement_add:nne {Info}{#2}{(##1)} } - \exp_args:Nx \@@_store_metadata:nn {pdf\str_lowercase:n{#1}}{##1} + \exp_args:Ne \@@_store_metadata:nn {pdf\str_lowercase:n{#1}}{##1} } } } @@ -3995,12 +3998,12 @@ } ,_pdftrapped .choices:nn = {TRUE,FALSE,UNKNOWN} { - \pdfmanagement_add:nnx {Info}{Trapped} + \pdfmanagement_add:nne {Info}{Trapped} {/ \str_uppercase:f { \str_head:n { #1 } } \str_lowercase:f { \str_tail:n { #1 } } } - \@@_store_metadata:nx {pdftrapped} + \@@_store_metadata:ne {pdftrapped} { \str_uppercase:f { \str_head:n { #1 } } \str_lowercase:f { \str_tail:n { #1 } } @@ -4008,7 +4011,7 @@ } ,_pdftrapped / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice } + \msg_warning:nneee { hyp } { unknown-choice } { pdftrapped } { true~(case~insensitive), false~(case~insensitive), unknown~(case~insensitive) } { \exp_not:n {#1} } @@ -4149,11 +4152,11 @@ { \group_begin: \keys_set:nn { hyp / trans }{style=R,#1} - \pdf_object_unnamed_write:nx { dict } + \pdf_object_unnamed_write:ne { dict } { \pdfdict_use:n {l_@@_page/Trans} } - \pdfmanagement_add:nnx {Page}{Trans}{\pdf_object_ref_last:} + \pdfmanagement_add:nne {Page}{Trans}{\pdf_object_ref_last:} \group_end: } } @@ -4165,7 +4168,7 @@ { \pdfdict_put:nnn {l_@@_page/Trans}{ S }{/#1} } ,style / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice } + \msg_warning:nneee { hyp } { unknown-choice } { trans / style } { Split,Blinds,Box,Wipe,Dissolve,Glitter,R,Fly,Push,Cover,Uncover,Fade } { \exp_not:n {#1} } @@ -4184,7 +4187,7 @@ { \pdfdict_put:nnn {l_@@_page/Trans}{ Di }{ /None } } ,direction / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice } + \msg_warning:nneee { hyp } { unknown-choice } { trans / direction } { H~(horizontal,~only~Split,~Blinds), @@ -4203,7 +4206,7 @@ { \pdfdict_put:nnn {l_@@_page/Trans}{ M }{/#1} } ,motion / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice } + \msg_warning:nneee { hyp } { unknown-choice } { trans / motion } { I~(inwards) , O~(outwards) } { \exp_not:n {#1} } @@ -4214,7 +4217,7 @@ { \pdfdict_put:nnn { l_@@_page/Trans }{ B } { #1} } ,opaque / unknown .code:n = { - \msg_warning:nnxxx { hyp } { unknown-choice } + \msg_warning:nneee { hyp } { unknown-choice } { trans / B } { true~(opaque~back,~only~Fly), false~(opaque~back,~only~Fly) } { \exp_not:n {#1} } @@ -4223,7 +4226,7 @@ ,unknown .code:n = { % warning ... - \exp_args:Nnx\keys_set:nn {hyp/trans}{ style=\l_keys_key_str } + \exp_args:Nne\keys_set:nn {hyp/trans}{ style=\l_keys_key_str } } } % \end{macrocode} @@ -4281,7 +4284,7 @@ \def\HyField@AddToFields { - \exp_args:Nx\HyField@@AddToFields + \exp_args:Ne\HyField@@AddToFields { \pdfannot_box_ref_last: } @@ -4329,7 +4332,7 @@ \Hy@FormObjects \prop_map_inline:Nn \g_@@_AcroForm_Fields_prop { - \pdfmanagement_add:nnx { Catalog / AcroForm } { Fields }{##1} + \pdfmanagement_add:nne { Catalog / AcroForm } { Fields }{##1} %\pdfmanagement_show:n { Catalog / AcroForm } } \prop_if_empty:NF \g_@@_AcroForm_CoFields_prop @@ -4346,18 +4349,18 @@ } \seq_map_inline:Nn \l_@@_tmpa_seq { - \pdfmanagement_add:nnx { Catalog / AcroForm } + \pdfmanagement_add:nne { Catalog / AcroForm } { CO } { \prop_item:Nn \g_@@_AcroForm_CoFields_prop {##1} } } } - \pdfmanagement_add:nnx {Catalog / AcroForm/DR/Font } + \pdfmanagement_add:nne {Catalog / AcroForm/DR/Font } {ZaDb} {\pdf_object_ref:n {@@/Font/ZaDb} } - \pdfmanagement_add:nnx {Catalog / AcroForm/DR/Font } + \pdfmanagement_add:nne {Catalog / AcroForm/DR/Font } {Helv} {\pdf_object_ref:n {@@/Font/Helv} } - \pdfmanagement_add:nnx {Catalog /AcroForm} + \pdfmanagement_add:nne {Catalog /AcroForm} {DA}{(/Helv~10~Tf~0~g)} \pdfmeta_standard_verify:nTF {form_no_NeedAppearance} { @@ -4538,7 +4541,7 @@ \group_end: } } - \pdfannot_box:nnnx + \pdfannot_box:nnne {\Fld@width} {\Fld@height} {0pt} %is this correct? @@ -4765,7 +4768,7 @@ \pdf_object_new:n {@@/Encoding/pdfdoc } \pdf_object_new:n {@@/Font/ZaDb } \pdf_object_new:n {@@/Font/Helv } - \pdf_object_write:nnx {@@/Encoding/pdfdoc } { dict } + \pdf_object_write:nne {@@/Encoding/pdfdoc } { dict } { /Type/Encoding /Differences[ @@ -4814,7 +4817,7 @@ /Name/ZaDb /BaseFont/ZapfDingbats } - \pdf_object_write:nnx {@@/Font/Helv } { dict } + \pdf_object_write:nne {@@/Font/Helv } { dict } { /Type/Font /Subtype/Type1 diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3backend-testphase.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3backend-testphase.dtx index e378716818e..4d557d276b5 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3backend-testphase.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3backend-testphase.dtx @@ -45,7 +45,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % @@ -56,27 +56,27 @@ % \begin{macrocode} %<drivers>\ProvidesExplFile %<*dvipdfmx> - {l3backend-testphase-dvipdfmx.def}{2023-10-09}{} + {l3backend-testphase-dvipdfmx.def}{2023-11-05}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx} %</dvipdfmx> %<*dvips> - {l3backend-testphase-dvips.def}{2023-10-09}{} + {l3backend-testphase-dvips.def}{2023-11-05}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvips} %</dvips> %<*dvisvgm> - {l3backend-testphase-dvisvgm.def}{2023-10-09}{} + {l3backend-testphase-dvisvgm.def}{2023-11-05}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm} %</dvisvgm> %<*luatex> - {l3backend-testphase-luatex.def}{2023-10-09}{} + {l3backend-testphase-luatex.def}{2023-11-05}{} {LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)} %</luatex> %<*pdftex> - {l3backend-testphase-pdftex.def}{2023-10-09}{} + {l3backend-testphase-pdftex.def}{2023-11-05}{} {LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)} %</pdftex> %<*xdvipdfmx> - {l3backend-testphase-xetex.def}{2023-10-09}{} + {l3backend-testphase-xetex.def}{2023-11-05}{} {LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX} %</xdvipdfmx> % \end{macrocode} @@ -446,7 +446,7 @@ %we need to know the page the resource should be added too. \int_gincr:N\g_@@_backend_resourceid_int \@@_backend_record_abspage:e { l3pdf\int_use:N\g_@@_backend_resourceid_int } - \tl_set:Nx \l_@@_tmpa_tl + \tl_set:Ne \l_@@_tmpa_tl { \@@_backend_ref_abspage:e {l3pdf\int_use:N\g_@@_backend_resourceid_int} } @@ -734,7 +734,7 @@ \prop_if_empty:cF { \__kernel_pdfdict_name:n { g_@@_Core/Page/Resources/##1} } { - \pdf_object_write:nnx + \pdf_object_write:nne { @@/Page/Resources/##1 } { dict } { \pdfdict_use:n { g_@@_Core/Page/Resources/##1} } } @@ -1101,7 +1101,7 @@ } { \@@_backend_record_abspage:e {l3pdf\int_use:N\g_@@_backend_resourceid_int} - \tl_set:Nx \l_@@_tmpa_tl + \tl_set:Ne \l_@@_tmpa_tl { \@@_backend_ref_abspage:e{l3pdf\int_use:N\g_@@_backend_resourceid_int} } @@ -1131,7 +1131,7 @@ } { \@@_backend_record_abspage:e{l3pdf\int_use:N\g_@@_backend_resourceid_int} - \tl_set:Nx \l_@@_tmpa_tl + \tl_set:Ne \l_@@_tmpa_tl { \@@_backend_ref_abspage:e{l3pdf\int_use:N\g_@@_backend_resourceid_int} } @@ -1358,13 +1358,13 @@ #4 } %store the dimensions - \tl_const:cx + \tl_const:ce { c_@@_backend_xform_wd_ \tl_to_str:n {#1} _tl } { \tex_the:D \box_wd:N \l_@@_backend_tmpa_box } - \tl_const:cx + \tl_const:ce { c_@@_backend_xform_ht_ \tl_to_str:n {#1} _tl } { \tex_the:D \box_ht:N \l_@@_backend_tmpa_box } - \tl_const:cx + \tl_const:ce { c_@@_backend_xform_dp_ \tl_to_str:n {#1} _tl } { \tex_the:D \box_dp:N \l_@@_backend_tmpa_box } %% do we need to test if #2 and #3 are empty?? @@ -1439,13 +1439,13 @@ \prop_gclear:c { \__kernel_pdfdict_name:n { g_@@_Core/Xform/Resources/Properties } } #4 } - \tl_const:cx + \tl_const:ce { c_@@_backend_xform_wd_ \tl_to_str:n {#1} _tl } { \tex_the:D \box_wd:N \l_@@_backend_tmpa_box } - \tl_const:cx + \tl_const:ce { c_@@_backend_xform_ht_ \tl_to_str:n {#1} _tl } { \tex_the:D \box_ht:N \l_@@_backend_tmpa_box } - \tl_const:cx + \tl_const:ce { c_@@_backend_xform_dp_ \tl_to_str:n {#1} _tl } { \tex_the:D \box_dp:N \l_@@_backend_tmpa_box } %% do we need to test if #2 and #3 are empty?? @@ -1531,13 +1531,13 @@ \bool_set_true:N \l_@@_backend_xform_bool #4 } - \tl_const:cx + \tl_const:ce { c_@@_backend_xform_wd_ \tl_to_str:n {#1} _tl } { \tex_the:D \box_wd:c { g_@@_backend_xform_#1_box } } - \tl_const:cx + \tl_const:ce { c_@@_backend_xform_ht_ \tl_to_str:n {#1} _tl } { \tex_the:D \box_ht:c { g_@@_backend_xform_#1_box } } - \tl_const:cx + \tl_const:ce { c_@@_backend_xform_dp_ \tl_to_str:n {#1} _tl } { \tex_the:D \box_dp:c { g_@@_backend_xform_#1_box } } \box_set_dp:cn { g_@@_backend_xform_#1_box } { \c_zero_dim } @@ -1644,27 +1644,27 @@ #4 } %store the dimensions - \tl_const:cx + \tl_const:ce { c_@@_backend_xform_wd_ \tl_to_str:n {#1} _tl } { \tex_the:D \box_wd:N \l_@@_backend_tmpa_box } - \tl_const:cx + \tl_const:ce { c_@@_backend_xform_ht_ \tl_to_str:n {#1} _tl } { \tex_the:D \box_ht:N \l_@@_backend_tmpa_box } - \tl_const:cx + \tl_const:ce { c_@@_backend_xform_dp_ \tl_to_str:n {#1} _tl } { \tex_the:D \box_dp:N \l_@@_backend_tmpa_box } %store content dimensions in DPI units (Dots) (code from issue 25) - \tl_set:Nx\l_@@_backend_xform_tmpwd_tl + \tl_set:Ne\l_@@_backend_xform_tmpwd_tl { \dim_to_decimal_in_sp:n{ \box_wd:N \l_@@_backend_tmpa_box }~ 65536~div~72.27~div~DVImag~mul~Resolution~mul~ } - \tl_set:Nx\l_@@_backend_xform_tmpht_tl + \tl_set:Ne\l_@@_backend_xform_tmpht_tl { \dim_to_decimal_in_sp:n{ \box_ht:N \l_@@_backend_tmpa_box }~ 65536~div~72.27~div~DVImag~mul~VResolution~mul~ } - \tl_set:Nx\l_@@_backend_xform_tmpdp_tl + \tl_set:Ne\l_@@_backend_xform_tmpdp_tl { \dim_to_decimal_in_sp:n{ \box_dp:N \l_@@_backend_tmpa_box }~ 65536~div~72.27~div~DVImag~mul~VResolution~mul~ @@ -2125,8 +2125,8 @@ \__kernel_backend_literal:e{!~<</InstanceUUID~(InstanceUUID)>>~setpagedevice} \str_if_exist:NTF\c_sys_timestamp_str { - \pdfmanagement_add:nnx{Info}{CreationDate}{(\c_sys_timestamp_str)} - \pdfmanagement_add:nnx{Info}{ModDate}{(\c_sys_timestamp_str)} + \pdfmanagement_add:nne{Info}{CreationDate}{(\c_sys_timestamp_str)} + \pdfmanagement_add:nne{Info}{ModDate}{(\c_sys_timestamp_str)} } { \pdfmanagement_add:nnn{Info}{CreationDate}{(D:20010101205959-00'00')} diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfannot.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfannot.dtx index a6384c182c9..73b309615c4 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfannot.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfannot.dtx @@ -48,7 +48,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -93,7 +93,7 @@ % \subsection{General annotation commands} % % \begin{function}[added = 2019-09-05, updated = 2020-04-14] -% { \pdfannot_box:nnnn,\pdfannot_box:nnnx } +% { \pdfannot_box:nnnn,\pdfannot_box:nnne } % \begin{syntax} % \cs{pdfannot_box:nnnn} \Arg{width} \Arg{height} \Arg{depth} \Arg{annot spec} % \end{syntax} @@ -123,7 +123,7 @@ % \pdfdict_new:n {l_my_annot} % \pdfdict_put:nnn{l_my_annot}{Subtype}{/Link} % \pdfdict_put:nnn{l_my_annot}{Border}{[0~0~1]} -% \pdfannot_box:nnnx{1cm}{1cm}{0cm}{\pdfdict_use:n{l_my_annot}} +% \pdfannot_box:nnne{1cm}{1cm}{0cm}{\pdfdict_use:n{l_my_annot}} % \end{verbatim} % % The second method is clearly slower and more to type. But it has the advantage @@ -187,7 +187,7 @@ % by the commands \cs{pdfannot_dict_put:nnn} and friends described below. % \end{variable} % \begin{function}[added = 2020-03-12, updated = 2020-12-06] -% { \pdfannot_link:nnn,\pdfannot_link:nxn } +% { \pdfannot_link:nnn,\pdfannot_link:nen } % \begin{syntax} % \cs{pdfannot_link:nnn} \Arg{type} \Arg{user action spec} \Arg{link text} % \end{syntax} @@ -237,7 +237,7 @@ % \pdfannot_dict_put:nnn % {link/URI} { C } {[1~0~0]} %red border % -% \pdfannot_link:nxn { URI } +% \pdfannot_link:nen { URI } % { % /A <<\pdfdict_use:n{l_my_action_dict}>> % } @@ -260,7 +260,7 @@ % {link/URI} { C } {[1~0~0]} %red border % % \group_begin: -% \pdfannot_dict_put:nnx {link/GoTo}{A}{<<\pdfdict_use:n{l_my_action_dict}>>} +% \pdfannot_dict_put:nne {link/GoTo}{A}{<<\pdfdict_use:n{l_my_action_dict}>>} % \pdfannot_link:nnn { URI }{}{ link text } % \group_end: % \end{verbatim} @@ -381,7 +381,7 @@ % This outputs the property list of the dictionary as a list of % |/key value| pairs. % This can be used e.g. when writing a dictionary object with -% \cs{pdf_object_write:nnx} +% \cs{pdf_object_write:nne} % \end{function} % % \begin{variable}[added = 2020-12-28]{\l_pdfannot_F_bitset} @@ -390,7 +390,7 @@ % It can be used for example like this: % \begin{verbatim} % \bitset_set_true:Nn \l_pdfannot_F_bitset {Print} -% \pdfannot_dict_put:nnx {link/URI} {F} +% \pdfannot_dict_put:nne {link/URI} {F} % { \bitset_to_arabic:N \l_pdfannot_F_bitset } % \end{verbatim} % The known keys for the bitset are |Invisible|, |Hidden|, @@ -432,7 +432,7 @@ % \begin{macrocode} %<@@=pdfannot> %<*header> -\ProvidesExplPackage{l3pdfannot}{2023-10-09}{0.96a} +\ProvidesExplPackage{l3pdfannot}{2023-11-05}{0.96b} {PDF-annotations} \RequirePackage{l3pdfdict} %</header> @@ -481,14 +481,14 @@ % type or not type? Syntax for type? % should there be a version without type? % \end{NOTE} -% \begin{macro}{\pdfannot_box:nnnn,\pdfannot_box:nnnx,\pdfannot_box_ref_last:} +% \begin{macro}{\pdfannot_box:nnnn,\pdfannot_box:nnne,\pdfannot_box_ref_last:} % \begin{macrocode} \cs_new_protected:Npn \pdfannot_box:nnnn #1 #2 #3 #4 { \__pdf_backend_annotation:nnnn {#1}{#2}{#3}{#4} \bool_gset_false:N\g_@@_use_lastlink_bool } -\cs_generate_variant:Nn \pdfannot_box:nnnn {nnnx} +\cs_generate_variant:Nn \pdfannot_box:nnnn {nnne,nnnx} \cs_new:Npn \pdfannot_box_ref_last: { \__pdf_backend_annotation_last: @@ -520,34 +520,34 @@ { \pdfdict_if_empty:nF { l_@@/widget/AA } { - \pdf_object_unnamed_write:nx {dict}{\pdfdict_use:n{l_@@/widget/AA}} - \pdfdict_put:nnx { l_@@/widget } + \pdf_object_unnamed_write:ne {dict}{\pdfdict_use:n{l_@@/widget/AA}} + \pdfdict_put:nne { l_@@/widget } {AA} {\pdf_object_ref_last:} } } \pdfdict_if_empty:nF { l_@@/widget/AP } { - \pdf_object_unnamed_write:nx {dict}{\pdfdict_use:n{l_@@/widget/AP}} - \pdfdict_put:nnx { l_@@/widget } + \pdf_object_unnamed_write:ne {dict}{\pdfdict_use:n{l_@@/widget/AP}} + \pdfdict_put:nne { l_@@/widget } {AP} {\pdf_object_ref_last:} } \pdfdict_if_empty:nF { l_@@/widget/MK } { - \pdf_object_unnamed_write:nx {dict}{\pdfdict_use:n{l_@@/widget/MK}} - \pdfdict_put:nnx { l_@@/widget } + \pdf_object_unnamed_write:ne {dict}{\pdfdict_use:n{l_@@/widget/MK}} + \pdfdict_put:nne { l_@@/widget } {MK} {\pdf_object_ref_last:} } \pdfdict_if_empty:nF { l_@@/widget/BS } { - \pdf_object_unnamed_write:nx {dict}{\pdfdict_use:n{l_@@/widget/BS}} - \pdfdict_put:nnx { l_@@/widget } + \pdf_object_unnamed_write:ne {dict}{\pdfdict_use:n{l_@@/widget/BS}} + \pdfdict_put:nne { l_@@/widget } {BS} {\pdf_object_ref_last:} } - \pdfannot_box:nnnx {#1}{#2}{#3} + \pdfannot_box:nnne {#1}{#2}{#3} { \pdfdict_use:n { l_@@/widget} } @@ -618,14 +618,14 @@ % % \subsubsection{Annotations, subtype Link /management} % -% \begin{macro}{\pdfannot_link:nnn,\pdfannot_link:nxn} +% \begin{macro}{\pdfannot_link:nnn,\pdfannot_link:nen} % \begin{macrocode} \cs_new_protected:Nn \pdfannot_link:nnn %#1 type (URI, GoTo etc), %#2 action spec, #3 link text { \hook_use:n { pdfannot/link/#1/before} \mode_leave_vertical: - \exp_args:Nxx %xetex needs expansion + \exp_args:Nee %xetex needs expansion \__pdf_backend_link_begin_user:nnw { \pdfdict_if_exist:nT { l_@@/link/#1 } @@ -644,19 +644,19 @@ \bool_gset_true:N \g_@@_use_lastlink_bool \hook_use:n { pdfannot/link/#1/after} } -\cs_generate_variant:Nn \pdfannot_link:nnn {nxn} +\cs_generate_variant:Nn \pdfannot_link:nnn {nen,nxn} % \end{macrocode} % \end{macro} % \begin{macro}{ % \pdfannot_link_begin:nnw, -% \pdfannot_link_begin:nxw, +% \pdfannot_link_begin:new, % \pdfannot_link_end:n } % \begin{macrocode} \cs_new_protected:Npn \pdfannot_link_begin:nnw #1 #2 %#1 type, #2 action spec { \hook_use:n { pdfannot/link/#1/before} \mode_leave_vertical: - \exp_args:Nxx %xetex needs expansion + \exp_args:Nee %xetex needs expansion \__pdf_backend_link_begin_user:nnw { \pdfdict_if_exist:nT { l_@@/link/#1 } @@ -676,7 +676,7 @@ \bool_gset_true:N \g_@@_use_lastlink_bool \hook_use:n { pdfannot/link/#1/after} } -\cs_generate_variant:Nn \pdfannot_link_begin:nnw {nxw} +\cs_generate_variant:Nn \pdfannot_link_begin:nnw {new,nxw} % \end{macrocode} % \end{macro} % \begin{macro}{\pdfannot_link_goto_begin:nw, \pdfannot_link_goto_end:} @@ -686,7 +686,7 @@ \pdfdict_remove:nn { l_@@/link/GoTo} {Subtype} \hook_use:n { pdfannot/link/GoTo/before} %the backend add it too \mode_leave_vertical: - \exp_args:Nxx %xetex needs expansion + \exp_args:Nee %xetex needs expansion \__pdf_backend_link_begin_goto:nnw { \pdfdict_use:n { l_@@/link/GoTo} @@ -734,7 +734,7 @@ % \begin{macro} % { % \pdfannot_dict_put:nnn, -% \pdfannot_dict_put:nnx, +% \pdfannot_dict_put:nne, % \pdfannot_dict_remove:nn, % \pdfannot_dict_show:n % \pdfannot_dict_use:n @@ -744,7 +744,7 @@ { \pdfdict_put:nnn { l_@@/#1 } { #2 }{ #3 } } -\cs_generate_variant:Nn \pdfannot_dict_put:nnn {nnx} +\cs_generate_variant:Nn \pdfannot_dict_put:nnn {nne,nnx} % \end{macrocode} % \begin{macrocode} \cs_new_protected:Npn \pdfannot_dict_remove:nn #1 #2 diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfdict.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfdict.dtx index d95382ad91f..88f6f1bd1cf 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfdict.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfdict.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -144,7 +144,7 @@ % This outputs the property list of the dictionary as a list of % |/key value| pairs. % This can be used e.g. when writing a dictionary object with -% \cs{pdf_object_write:nnx} +% \cs{pdf_object_write:nne} % \end{function} % % \begin{function}[updated = 2020-12-03] @@ -208,7 +208,7 @@ % \begin{macrocode} %<@@=pdfdict> %<*header> -\ProvidesExplPackage{l3pdfdict}{2023-10-09}{0.96a} +\ProvidesExplPackage{l3pdfdict}{2023-11-05}{0.96b} {Tools for PDF dictionaries (LaTeX PDF management testphase bundle)} %</header> % \end{macrocode} @@ -285,7 +285,7 @@ { \@@_if_exist:nTF { #1 } { - \msg_error:nnxx + \msg_error:nnee { pdfdict } { dict-already-defined } { \tl_to_str:n {#1} } @@ -306,7 +306,7 @@ } } { - \msg_error:nnx{pdfdict}{invalid-name}{\tl_to_str:n{#1}} + \msg_error:nne{pdfdict}{invalid-name}{\tl_to_str:n{#1}} } } } @@ -419,7 +419,7 @@ { \@@_if_exist:nTF { #1 } { - \exp_args:Nnx \prop_put:cnn + \exp_args:Nne \prop_put:cnn { \@@_name:n { #1 } }{ \str_convert_pdfname:n { #2 } } { #3 } } { @@ -429,7 +429,7 @@ } \cs_set_eq:NN \pdfdict_put:nnn \@@_put:nnn -\cs_generate_variant:Nn \pdfdict_put:nnn {nnx,nno,nee} +\cs_generate_variant:Nn \pdfdict_put:nnn {nne,nno,nee,nnx} \cs_new_protected:Npn \@@_gput:nnn #1 #2 #3 %#1 global dict, #2 name, #3 value { @@ -440,7 +440,7 @@ { \@@_if_exist:nTF { #1 } { - \exp_args:Nnx \prop_gput:cnn + \exp_args:Nne \prop_gput:cnn { \@@_name:n { #1 } }{ \str_convert_pdfname:n { #2 } } { #3 } } { @@ -450,7 +450,7 @@ } \cs_set_eq:NN \pdfdict_gput:nnn \@@_gput:nnn -\cs_generate_variant:Nn \pdfdict_gput:nnn {nnx,nno,nee} +\cs_generate_variant:Nn \pdfdict_gput:nnn {nne,nno,nee,nnx} % \end{macrocode} % \end{macro} % @@ -464,7 +464,7 @@ { \@@_if_exist:nTF { #1 } { - \exp_args:Nnx \prop_get:cnN + \exp_args:Nne \prop_get:cnN { \@@_name:n { #1 } } { \str_convert_pdfname:n { #2 } } #3 } @@ -489,7 +489,7 @@ { \@@_if_exist:nTF { #1 } { - \exp_args:Nnx \prop_remove:cn + \exp_args:Nne \prop_remove:cn { \@@_name:n { #1 } }{ \str_convert_pdfname:n { #2 } } } { @@ -502,7 +502,7 @@ { \@@_if_exist:nTF { #1 } { - \exp_args:Nnx \prop_gremove:cn + \exp_args:Nne \prop_gremove:cn { \@@_name:n { #1 } }{ \str_convert_pdfname:n { #2 } } } { @@ -537,7 +537,7 @@ } \cs_new_protected:Npn \pdfdict_show:n #1 { - \@@_show:Nn \msg_show:nnxxxx {#1} + \@@_show:Nn \msg_show:nneeee {#1} } % \end{macrocode} % \end{macro} diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-action.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-action.dtx index 09489fc8a1c..3948784b336 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-action.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-action.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -92,7 +92,7 @@ % % \begin{verbatim} % Netto~\pdffield_textfield:n{name=netto}~ -% \pdf_object_unnamed_write:nx{stream} +% \pdf_object_unnamed_write:ne{stream} % { % {} % { @@ -100,7 +100,7 @@ % event.value = 1.19*f_netto.value; % } % } -% \tl_set:Nx\l_tmpa_tl{\pdf_object_ref_last:} +% \tl_set:Ne\l_tmpa_tl{\pdf_object_ref_last:} % Brutto~\pdffield_textfield:n{name=brutto,AA/C={\l_tmpa_tl}} % \end{verbatim} % @@ -388,8 +388,8 @@ % ,\dim_set:N % ,\endcsname % ,\exp_args:Ne -% ,\exp_args:Nnx -% ,\exp_args:Nx +% ,\exp_args:Nne +% ,\exp_args:Ne % ,\fboxsep % ,\group_begin: % ,\group_end: @@ -422,12 +422,12 @@ % ,\pdf_object_ref:n % ,\pdf_object_ref_last: % ,\pdf_object_unnamed_write:nn -% ,\pdf_object_unnamed_write:nx +% ,\pdf_object_unnamed_write:ne % ,\pdf_object_write:nnn % ,\pdf_string_from_unicode:nnN % ,\pdfannot_box_ref_last: % ,\pdfannot_dict_put:nnn -% ,\pdfannot_dict_put:nnx +% ,\pdfannot_dict_put:nne % ,\pdfannot_dict_remove:nn % ,\pdfannot_widget_box:nnn % ,\pdfdict_if_empty:nTF @@ -436,7 +436,7 @@ % ,\pdfdict_put:nnn % ,\pdfdict_remove:nn % ,\pdfdict_use:n -% ,\pdfdict_put:nnx +% ,\pdfdict_put:nne % ,\pdfmanagement_add:nnn % ,\pdfmeta_standard_verify:nTF % ,\pdfxform_if_exist:nTF @@ -608,7 +608,7 @@ \cs_if_exist:cTF { @@_action_reset_#1: } { \use:c { @@_action_reset_#1: } - \pdfannot_dict_put:nnx{widget} + \pdfannot_dict_put:nne{widget} {A} {\tl_use:c { c_@@_action_reset_#1_tl } } } @@ -626,7 +626,7 @@ \cs_if_exist:cTF { @@_action_submit_#1: } { \use:c { @@_action_submit_#1: } - \pdfannot_dict_put:nnx{widget} + \pdfannot_dict_put:nne{widget} {A} {\tl_use:c { c_@@_action_submit_#1_tl } } } @@ -641,8 +641,8 @@ import .code:n = { \pdf_string_from_unicode:nnN {utf8/string}{#1}\l_@@_tmpa_str - \pdf_object_unnamed_write:nx {dict}{/Type/Action/S/ImportData/F\l_@@_tmpa_str} - \pdfannot_dict_put:nnx{widget} + \pdf_object_unnamed_write:ne {dict}{/Type/Action/S/ImportData/F\l_@@_tmpa_str} + \pdfannot_dict_put:nne{widget} {A} {\pdf_object_ref_last: } } @@ -714,25 +714,25 @@ \group_begin: \seq_clear:N \l_@@_action_Fields_seq \keys_set:nn { pdffield / action }{ #2 } - \pdf_object_unnamed_write:nx + \pdf_object_unnamed_write:ne { array } { \seq_use:Nn \l_@@_action_Fields_seq {~} } \tl_if_empty:NF \l_@@_action_next_tl { - \pdfdict_put:nnx {l_@@/ResetForm}{Next}{\l_@@_action_next_tl} + \pdfdict_put:nne {l_@@/ResetForm}{Next}{\l_@@_action_next_tl} } - \pdfdict_put:nnx + \pdfdict_put:nne { l_@@/ResetForm } { Fields } { \pdf_object_ref_last: } - \pdfdict_put:nnx + \pdfdict_put:nne { l_@@/ResetForm } { Flags } { \bitset_item:Nn\l_@@_Flags_bitset{Include/Exclude} } - \pdf_object_unnamed_write:nx + \pdf_object_unnamed_write:ne { dict } { \pdfdict_use:n{l_@@/ResetForm} } - \tl_const:cx { c_@@_action_reset_#1_tl } { \pdf_object_ref_last: } + \tl_const:ce { c_@@_action_reset_#1_tl } { \pdf_object_ref_last: } \cs_gset_eq:cN {@@_action_reset_#1:} \prg_do_nothing: \group_end: } @@ -764,30 +764,30 @@ \bitset_clear:N \l_@@_Flags_bitset \keys_set:nn {pdffield/action}{#2} \use:c{ @@_action_flags_\l_@@_action_export_tl :} - \pdfdict_put:nnx + \pdfdict_put:nne { l_@@/SubmitForm } { Flags } { \bitset_to_arabic:N \l_@@_Flags_bitset } \tl_if_empty:NF \l_@@_action_next_tl { - \pdfdict_put:nnx {l_@@/SubmitForm}{Next}{\l_@@_action_next_tl} + \pdfdict_put:nne {l_@@/SubmitForm}{Next}{\l_@@_action_next_tl} } \bool_if:NTF \l_@@_url_encode_bool { \pdf_string_from_unicode:nnN { utf8/URI } {#3}\l_@@_tmpa_str } { \pdf_string_from_unicode:nnN { utf8/string }{#3}\l_@@_tmpa_str } - \pdf_object_unnamed_write:nx {dict} + \pdf_object_unnamed_write:ne {dict} { /FS/URL /F \l_@@_tmpa_str } - \pdfdict_put:nnx + \pdfdict_put:nne { l_@@/SubmitForm } { F } { \pdf_object_ref_last: } - \pdf_object_unnamed_write:nx + \pdf_object_unnamed_write:ne { dict } { \pdfdict_use:n{ l_@@/SubmitForm } } - \tl_const:cx { c_@@_action_submit_#1_tl } { \pdf_object_ref_last: } + \tl_const:ce { c_@@_action_submit_#1_tl } { \pdf_object_ref_last: } \cs_gset_eq:cN { @@_action_submit_#1: } \prg_do_nothing: \group_end: } diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-checkbox.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-checkbox.dtx index 1a053e71808..cb16c8f00d4 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-checkbox.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-checkbox.dtx @@ -64,7 +64,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -486,14 +486,14 @@ ,checked .choice: ,checked / false .code:n = { - \pdfdict_put:nnx { l_@@/field }{V} { /Off } - \pdfdict_put:nnx { l_@@/field }{DV}{ /Off } + \pdfdict_put:nne { l_@@/field }{V} { /Off } + \pdfdict_put:nne { l_@@/field }{DV}{ /Off } \pdfannot_dict_put:nnn {widget}{AS}{ /Off } } ,checked / true .code:n = { - \pdfdict_put:nnx { l_@@/field }{V} { /Yes } - \pdfdict_put:nnx { l_@@/field }{DV}{ /Yes } + \pdfdict_put:nne { l_@@/field }{V} { /Yes } + \pdfdict_put:nne { l_@@/field }{DV}{ /Yes } \pdfannot_dict_put:nnn {widget}{AS}{ /Yes } } ,checked .default:n = {true} @@ -504,14 +504,14 @@ ,__value .choice: ,__value / Off .code:n = { - \pdfdict_put:nnx { l_@@/field }{V} { /Off } - \pdfdict_put:nnx { l_@@/field }{DV}{ /Off } + \pdfdict_put:nne { l_@@/field }{V} { /Off } + \pdfdict_put:nne { l_@@/field }{DV}{ /Off } \pdfannot_dict_put:nnn {widget}{AS}{ /Off } } ,__value / Yes .code:n = { - \pdfdict_put:nnx { l_@@/field }{V} { /Yes } - \pdfdict_put:nnx { l_@@/field }{DV}{ /Yes } + \pdfdict_put:nne { l_@@/field }{V} { /Yes } + \pdfdict_put:nne { l_@@/field }{DV}{ /Yes } \pdfannot_dict_put:nnn {widget}{AS}{ /Yes } } } @@ -542,14 +542,14 @@ \pdf_object_if_exist:nF {@@/checkbox/AP/#1} { \pdf_object_new:n {@@/checkbox/AP/#1} - \pdf_object_write:nnx + \pdf_object_write:nne {@@/checkbox/AP/#1} { dict } { /Yes ~ \pdfxform_ref:n { #1/Yes} /Off ~ \pdfxform_ref:n { #1/Off} } } - \pdfannot_dict_put:nnx {widget/AP}{#2}{\pdf_object_ref:n{@@/checkbox/AP/#1}} + \pdfannot_dict_put:nne {widget/AP}{#2}{\pdf_object_ref:n{@@/checkbox/AP/#1}} } { \msg_error:nnnn{pdffield}{appearance-missing}{#1}{#3} diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-choice.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-choice.dtx index 5b9993158fe..23d142d0895 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-choice.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-choice.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -369,14 +369,14 @@ % ,\pdf_object_ref:n % ,\pdf_object_ref_last: % ,\pdf_object_unnamed_write:nn -% ,\pdf_object_unnamed_write:nx -% ,\pdf_object_write:nnx +% ,\pdf_object_unnamed_write:ne +% ,\pdf_object_write:nne % ,\pdf_object_write:nnn % ,\pdf_string_from_unicode:nnN % ,\pdfannot_box_ref_last: % ,\pdfannot_dict_put:nnn -% ,\pdfannot_dict_put:nnx -% ,\pdfdict_put:nnx +% ,\pdfannot_dict_put:nne +% ,\pdfdict_put:nne % ,\pdfannot_dict_remove:nn % ,\pdfannot_widget_box:nnn % ,\pdfdict_if_empty:nTF @@ -470,7 +470,7 @@ \seq_map_indexed_inline:Nn \l_@@_choice_values_seq { \pdf_string_from_unicode:nnN{utf16/hex}{##2}\l_@@_tmpa_str - \tl_set:Nx \l_@@_tmpa_tl {\seq_item:Nn \l_@@_choice_displayvalues_seq {##1} } + \tl_set:Ne \l_@@_tmpa_tl {\seq_item:Nn \l_@@_choice_displayvalues_seq {##1} } \tl_if_empty:NTF \l_@@_tmpa_tl { \seq_put_right:NV \l_@@_choice_opt_seq \l_@@_tmpa_str @@ -478,12 +478,12 @@ { \exp_args:NnV \pdf_string_from_unicode:nnN{utf16/hex}\l_@@_tmpa_tl\l_@@_tmpb_str - \seq_put_right:Nx \l_@@_choice_opt_seq + \seq_put_right:Ne \l_@@_choice_opt_seq { [ \l_@@_tmpa_str\c_space_tl\l_@@_tmpb_str] } } } - \pdf_object_unnamed_write:nx {array}{\seq_use:Nn\l_@@_choice_opt_seq {~}} - \pdfdict_put:nnx { l_@@/field }{Opt} { \pdf_object_ref_last: } + \pdf_object_unnamed_write:ne {array}{\seq_use:Nn\l_@@_choice_opt_seq {~}} + \pdfdict_put:nne { l_@@/field }{Opt} { \pdf_object_ref_last: } % \end{macrocode} % Now we handle the V value. If MultiSelect is set, we use the full % displayvalues seq, if not only the first value. @@ -495,14 +495,14 @@ { \pdf_string_from_unicode:nnN{utf16/hex}{##1}\l_@@_tmpa_str \tl_put_right:NV \l_@@_tmpa_tl \l_@@_tmpa_str - \pdfdict_put:nnx { l_@@/field }{V} { [ \l_@@_tmpa_tl ] } + \pdfdict_put:nne { l_@@/field }{V} { [ \l_@@_tmpa_tl ] } } } { - \tl_set:Nx \l_@@_tmpa_tl {\seq_item:Nn \l_@@_choice_defaultvalues_seq {1} } + \tl_set:Ne \l_@@_tmpa_tl {\seq_item:Nn \l_@@_choice_defaultvalues_seq {1} } \exp_args:NnV \pdf_string_from_unicode:nnN{utf16/hex}\l_@@_tmpa_tl\l_@@_tmpb_str - \pdfdict_put:nnx { l_@@/field }{V} { \l_@@_tmpb_str } + \pdfdict_put:nne { l_@@/field }{V} { \l_@@_tmpb_str } } % \end{macrocode} % now we create the field and set it as parent for the following annotation. @@ -605,7 +605,7 @@ } ,top-index .code:n = { - \pdfdict_put:nnx {l_@@/field}{TI}{\int_eval:n{#1-1}} + \pdfdict_put:nne {l_@@/field}{TI}{\int_eval:n{#1-1}} } } % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-pushbutton.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-pushbutton.dtx index 7471de15f82..38f3b91b125 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-pushbutton.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-pushbutton.dtx @@ -55,7 +55,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -82,8 +82,8 @@ % \group_begin: % \tl_set:Nn\l_tmpa_tl{app.alert('Hello!~I\'m~Bär!',3,0);} % \regex_replace_once:nnN{ä}{\x5Cu00E4}\l_tmpa_tl{} -% \pdf_object_unnamed_write:nx{stream}{{}{\exp_not:o{\l_tmpa_tl}}} -% \pdfannot_dict_put:nnx{widget}{A}{<</S/JavaScript /JS~\pdf_object_ref_last:>>} +% \pdf_object_unnamed_write:ne{stream}{{}{\exp_not:o{\l_tmpa_tl}}} +% \pdfannot_dict_put:nne{widget}{A}{<</S/JavaScript /JS~\pdf_object_ref_last:>>} % \pdffield_pushbutton:n{name=bear,appearance=pdffield/bear,width=23pt,height=30pt,depth=10pt} % \group_end: % \ExplSyntaxOff @@ -93,9 +93,9 @@ %^^A \group_begin: %^^A \tl_set:Nn\l_tmpa_tl{app.alert('Hello!~Im~Bär!',3,0);} %^^A \regex_replace_once:nnN{ä}{\x5Cu00E4}\l_tmpa_tl{} -%^^A \pdf_object_unnamed_write:nx{stream}{{}{\exp_not:o{\l_tmpa_tl}}} -%^^A \pdf_object_unnamed_write:nx{dict}{/S/JavaScript /JS~\pdf_object_ref_last:} -%^^A \pdfannot_dict_put:nnx{widget}{A}{\pdf_object_ref_last:} +%^^A \pdf_object_unnamed_write:ne{stream}{{}{\exp_not:o{\l_tmpa_tl}}} +%^^A \pdf_object_unnamed_write:ne{dict}{/S/JavaScript /JS~\pdf_object_ref_last:} +%^^A \pdfannot_dict_put:nne{widget}{A}{\pdf_object_ref_last:} %^^A \pdffield_pushbutton:n{name=bear,appearance=pdffield/bear,width=23pt,height=30pt,depth=10pt} %^^A \group_end:% % \bigskip @@ -318,8 +318,8 @@ % ,\dim_set:N % ,\endcsname % ,\exp_args:Ne -% ,\exp_args:Nnx -% ,\exp_args:Nx +% ,\exp_args:Nne +% ,\exp_args:Ne % ,\fboxsep % ,\group_begin: % ,\group_end: @@ -355,7 +355,7 @@ % ,\pdf_string_from_unicode:nnN % ,\pdfannot_box_ref_last: % ,\pdfannot_dict_put:nnn -% ,\pdfannot_dict_put:nnx +% ,\pdfannot_dict_put:nne % ,\pdfannot_dict_remove:nn % ,\pdfannot_widget_box:nnn % ,\pdfdict_if_empty:nTF @@ -442,7 +442,7 @@ \cs_new_protected:Npn \@@_pushbutton_default_appearances: { \int_gincr:N \g_@@_pushbutton_cnt_int - \exp_args:Nx + \exp_args:Ne \pdffield_appearance:nn {pdffield/pushbutton/default-\int_use:N \g_@@_pushbutton_cnt_int} { \draw_begin: @@ -517,7 +517,7 @@ \draw_box_use:N \l_tmpa_box \draw_end: } - \exp_args:Nx + \exp_args:Ne \pdffield_appearance:nn {pdffield/pushbutton/defaultrollover-\int_use:N \g_@@_pushbutton_cnt_int} { \draw_begin: @@ -591,7 +591,7 @@ \draw_box_use:N \l_tmpa_box \draw_end: } - \exp_args:Nx + \exp_args:Ne \pdffield_appearance:nn {pdffield/pushbutton/defaultdown-\int_use:N \g_@@_pushbutton_cnt_int} { \draw_begin: @@ -723,7 +723,7 @@ \tl_if_empty:NT\l_@@_pushbutton_appearance_code_tl { \@@_pushbutton_default_appearances: - \exp_args:Nnx + \exp_args:Nne \keys_set:nn {pdffield} { appearance = pdffield/pushbutton/default-\int_eval:n{ \g_@@_pushbutton_cnt_int}, @@ -751,7 +751,7 @@ { \pdfxform_if_exist:nTF { #1 } { - \pdfannot_dict_put:nnx {widget/AP}{#2}{\pdfxform_ref:n{#1}} + \pdfannot_dict_put:nne {widget/AP}{#2}{\pdfxform_ref:n{#1}} } { \msg_error:nnnn{pdffield}{appearance-missing}{#1}{#3} diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-radiobutton.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-radiobutton.dtx index 8098d4684c6..3c82cdde974 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-radiobutton.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-radiobutton.dtx @@ -83,7 +83,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -519,14 +519,14 @@ % ,\pdf_object_ref:n % ,\pdf_object_ref_last: % ,\pdf_object_unnamed_write:nn -% ,\pdf_object_unnamed_write:nx -% ,\pdf_object_write:nnx +% ,\pdf_object_unnamed_write:ne +% ,\pdf_object_write:nne % ,\pdf_object_write:nnn % ,\pdf_string_from_unicode:nnN % ,\pdfannot_box_ref_last: % ,\pdfannot_dict_put:nnn -% ,\pdfannot_dict_put:nnx -% ,\pdfdict_put:nnx +% ,\pdfannot_dict_put:nne +% ,\pdfdict_put:nne % ,\pdfannot_dict_remove:nn % ,\pdfannot_widget_box:nnn % ,\pdfdict_if_empty:nTF @@ -708,19 +708,19 @@ % The object is written at the end of the document. % \begin{macrocode} \pdf_object_new:n {@@/field/@@/radio-Opt/#1} - \pdfdict_put:nnx { l_@@/field }{Opt} { \pdf_object_ref:n {@@/field/@@/radio-Opt/#1} } + \pdfdict_put:nne { l_@@/field }{Opt} { \pdf_object_ref:n {@@/field/@@/radio-Opt/#1} } \seq_new:c { g_@@_radio_opt_#1_seq } \hook_gput_code:nnn {shipout/lastpage}{pdffield/radio} { - \pdf_object_write:nnx + \pdf_object_write:nne {@@/field/@@/radio-Opt/#1} { array } {\seq_use:cn {g_@@_radio_opt_#1_seq}{~}} } % \end{macrocode} % The default value is retrieved through a label: % \begin{macrocode} - \pdfdict_put:nnx { l_@@/field }{V} { /\@@_property_ref:nn{#1}{pdfradioindex} } - \pdfdict_put:nnx { l_@@/field }{DV} { /\@@_property_ref:nn{#1}{pdfradioindex} } + \pdfdict_put:nne { l_@@/field }{V} { /\@@_property_ref:nn{#1}{pdfradioindex} } + \pdfdict_put:nne { l_@@/field }{DV} { /\@@_property_ref:nn{#1}{pdfradioindex} } % \end{macrocode} % now we create the field and set it as parent for the following annotation. % \begin{macrocode} @@ -828,8 +828,8 @@ { \@@_property_ref:Vn\l_@@_fieldID_tl{pdfradioindex} } - { \pdfannot_dict_put:nnx {widget}{AS}{/\@@_property_ref:Vn\l_@@_fieldID_tl{pdfradioindex}} } - { \pdfannot_dict_put:nnx {widget}{AS}{/Off} } + { \pdfannot_dict_put:nne {widget}{AS}{/\@@_property_ref:Vn\l_@@_fieldID_tl{pdfradioindex}} } + { \pdfannot_dict_put:nne {widget}{AS}{/Off} } % \end{macrocode} % Now we set the appearances, if no key has been use we take the default. % \begin{macrocode} @@ -906,14 +906,14 @@ { \pdfxform_if_exist:nTF { #1 / Yes } { - \pdf_object_unnamed_write:nx + \pdf_object_unnamed_write:ne {dict} { /\int_use:N \l_@@_radio_value_num_int \c_space_tl \pdfxform_ref:n { #1/Yes} /Off ~ \pdfxform_ref:n { #1/Off} } - \pdfannot_dict_put:nnx {widget/AP}{#2}{\pdf_object_ref_last:} + \pdfannot_dict_put:nne {widget/AP}{#2}{\pdf_object_ref_last:} } { \msg_error:nnnn{pdffield}{appearance-missing}{#1}{#3} diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-textfield.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-textfield.dtx index 4ab1db01f85..df091d3e602 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-textfield.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-textfield.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -135,7 +135,7 @@ % to use should be active) % \begin{verbatim} % \pdffield_textfield:n {name=text,font=F\pdffeedback~fontname\font} -% \pdfmanagement_add:nxx{Catalog/AcroForm/DR/Font} +% \pdfmanagement_add:nee{Catalog/AcroForm/DR/Font} % {F\pdffeedback~fontname\font} % {\pdffeedback~fontobjnum\font \c_space_tl 0 \c_space_tl R} % \end{verbatim} diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield.dtx index 1e1eb23f1e2..9261078e98d 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield.dtx @@ -69,7 +69,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -287,7 +287,7 @@ % % % \begin{verbatim} -% \pdfmanagement_add:nnx{Catalog/AcroForm}{Fields}{<obj ref>} +% \pdfmanagement_add:nne{Catalog/AcroForm}{Fields}{<obj ref>} % \end{verbatim} % % \end{function} @@ -897,7 +897,7 @@ % ,\dim_new:N % ,\endcsname % ,\exp_args:Ne -% ,\exp_args:Nnx +% ,\exp_args:Nne % ,\exp_args:NV % ,\group_begin: % ,\group_end: @@ -910,7 +910,7 @@ % ,\keys_set:nn % ,\mode_leave_vertical: % ,\msg_error:nnnn -% ,\msg_error:nnx +% ,\msg_error:nne % ,\msg_new:nnn % ,\msg_warning:nn % ,\msg_warning:nnn @@ -922,23 +922,23 @@ % ,\pdf_object_new:n % ,\pdf_object_ref:n % ,\pdf_object_ref_last: -% ,\pdf_object_unnamed_write:nx -% ,\pdf_object_write:nnx +% ,\pdf_object_unnamed_write:ne +% ,\pdf_object_write:nne % ,\pdf_string_from_unicode:nnN % ,\pdfannot_box_ref_last: % ,\pdfannot_dict_put:nnn -% ,\pdfannot_dict_put:nnx +% ,\pdfannot_dict_put:nne % ,\pdfannot_dict_remove:nn % ,\pdfannot_widget_box:nnn % ,\pdfdict_if_empty:nTF % ,\pdfdict_if_empty:nF % ,\pdfdict_new:n % ,\pdfdict_put:nnn -% ,\pdfdict_put:nnx +% ,\pdfdict_put:nne % ,\pdfdict_remove:nn % ,\pdfdict_use:n % ,\pdfmanagement_add:nnn -% ,\pdfmanagement_add:nnx +% ,\pdfmanagement_add:nne % ,\pdfmeta_standard_verify:nTF % ,\pdfmeta_standard_verify:nT % ,\pdfmeta_standard_verify:nF @@ -948,7 +948,7 @@ % ,\ProvidesExplPackage % ,\rule % ,\seq_gput_right:Nn -% ,\seq_gput_right:cx +% ,\seq_gput_right:ce % ,\seq_if_exist:NTF % ,\seq_if_exist:cTF % ,\seq_new:N @@ -972,7 +972,7 @@ %<*package> %<@@=pdffield> \NeedsTeXFormat{LaTeX2e} -\ProvidesExplPackage{l3pdffield-testphase}{2023-10-09}{0.96a}% +\ProvidesExplPackage{l3pdffield-testphase}{2023-11-05}{0.96b}% {form fields} % \end{macrocode} % \subsection{hyperref specific command} @@ -1169,7 +1169,7 @@ \pdf_object_new:n {@@/field/Kids/#1} \tl_if_empty:NTF \l_@@_currentparent_tl { - \pdfmanagement_add:nnx + \pdfmanagement_add:nne { Catalog / AcroForm } { Fields } {\pdf_object_ref:n {@@/field/#1} } @@ -1178,22 +1178,22 @@ \exp_args:Ne \pdf_object_if_exist:nTF {@@/field/\l_@@_currentparent_tl} { - \pdfdict_put:nnx { l_@@/field }{Parent} + \pdfdict_put:nne { l_@@/field }{Parent} {\exp_args:Ne \pdf_object_ref:n{@@/field/\l_@@_currentparent_tl}} - \seq_gput_right:cx {g_@@_field/Kids/\l_@@_currentparent_tl _seq} + \seq_gput_right:ce {g_@@_field/Kids/\l_@@_currentparent_tl _seq} { \exp_args:Ne \pdf_object_ref:n{@@/field/#1}} } { - \msg_error:nnx {pdffield}{parent-field-missing}{\l_@@_currentparent_tl} + \msg_error:nne {pdffield}{parent-field-missing}{\l_@@_currentparent_tl} } } \seq_new:c {g_@@_field/Kids/#1_seq} - \pdfdict_put:nnx {l_@@/field} + \pdfdict_put:nne {l_@@/field} {Kids} { \pdf_object_ref:n {@@/field/Kids/#1} } - \pdfdict_put:nnx {l_@@/field} + \pdfdict_put:nne {l_@@/field} {Ff} {\bitset_to_arabic:N \l_@@_Ff_bitset } \pdfdict_if_empty:nF{l_@@/field/AA} @@ -1201,29 +1201,29 @@ \pdfmeta_standard_verify:nT {annot_widget_no_AA} { - \pdf_object_unnamed_write:nx {dict}{\pdfdict_use:n {l_@@/field/AA}} - \pdfdict_put:nnx + \pdf_object_unnamed_write:ne {dict}{\pdfdict_use:n {l_@@/field/AA}} + \pdfdict_put:nne {l_@@/field} {AA} {\pdf_object_ref_last:} \pdfdict_get:nnN {l_@@/field/AA}{C}\l_@@_tmpa_tl \quark_if_no_value:NF \l_@@_tmpa_tl { - \prop_gput:Nxx\g_@@_CO_sortkeys_prop + \prop_gput:Nee\g_@@_CO_sortkeys_prop { \pdf_object_ref:n {@@/field/#1} }{ \l_@@_CO_sortkey_str } - \seq_gput_right:Nx\g_@@_CO_sortkeys_seq + \seq_gput_right:Ne\g_@@_CO_sortkeys_seq { \pdf_object_ref:n {@@/field/#1} } } } } \hook_gput_code:nnn {shipout/lastpage}{pdffield} %xetex needs this ... { - \pdf_object_write:nnx {@@/field/Kids/#1} { array } + \pdf_object_write:nne {@@/field/Kids/#1} { array } { \seq_use:cn{g_@@_field/Kids/#1_seq}{~} } } - \pdf_object_write:nnx {@@/field/#1} { dict } { \pdfdict_use:n {l_@@/field} } + \pdf_object_write:nne {@@/field/#1} { dict } { \pdfdict_use:n {l_@@/field} } } \hook_gput_code:nnn {shipout/lastpage}{pdffield} @@ -1239,7 +1239,7 @@ { \sort_return_swapped: } { \sort_return_same: } } - \pdfmanagement_add:nnx + \pdfmanagement_add:nne { Catalog / AcroForm } { CO } { \seq_use:Nn \g_@@_CO_sortkeys_seq{~} } @@ -1274,21 +1274,21 @@ \bitset_set_false:Nn \l_@@_F_bitset {Invisible} \bitset_set_false:Nn \l_@@_F_bitset {NoView} } - \pdfannot_dict_put:nnx {widget}{F}{ \bitset_to_arabic:N \l_@@_F_bitset } + \pdfannot_dict_put:nne {widget}{F}{ \bitset_to_arabic:N \l_@@_F_bitset } \@@_tag_add_struct_parent: \tl_if_empty:NF \l_@@_currentparent_tl { \exp_args:Ne \pdf_object_if_exist:nTF { @@/field/\l_@@_currentparent_tl } { - \pdfannot_dict_put:nnx {widget}{Parent} + \pdfannot_dict_put:nne {widget}{Parent} { \exp_args:Ne \pdf_object_ref:n{@@/field/\l_@@_currentparent_tl} } } { - \msg_error:nnx { pdffield }{parent-field-missing}{\l_@@_currentparent_tl} + \msg_error:nne { pdffield }{parent-field-missing}{\l_@@_currentparent_tl} } } \mode_leave_vertical: @@ -1303,19 +1303,19 @@ { \l_@@_annot_dp_dim } \hfill } - \tl_gset:Nx \g_@@_annot_ref_last_tl { \pdfannot_box_ref_last: } + \tl_gset:Ne \g_@@_annot_ref_last_tl { \pdfannot_box_ref_last: } \exp_args:NV \@@_tag_add_objr:n \g_@@_annot_ref_last_tl \@@_tag_struct_end: \tl_if_empty:NF \l_@@_currentparent_tl { \seq_if_exist:cTF {g_@@_field/Kids/\l_@@_currentparent_tl _seq} { - \seq_gput_right:cx + \seq_gput_right:ce {g_@@_field/Kids/\l_@@_currentparent_tl _seq} { \g_@@_annot_ref_last_tl } } { - \msg_error:nnx { pdffield}{parent-field-missing}{\l_@@_currentparent_tl} + \msg_error:nne { pdffield}{parent-field-missing}{\l_@@_currentparent_tl} } } } @@ -1357,14 +1357,14 @@ { \bool_if:NT \l_@@_tag_bool { - \pdfannot_dict_put:nnx {widget}{StructParent}{ \tag_struct_parent_int: } + \pdfannot_dict_put:nne {widget}{StructParent}{ \tag_struct_parent_int: } } } \cs_set_protected:Npn \@@_tag_add_objr:n #1 { \bool_if:NT \l_@@_tag_bool { - \exp_args:Nnx + \exp_args:Nne \tag_struct_insert_annot:nn {#1}{ \tag_struct_parent_int: } } } @@ -1437,7 +1437,7 @@ \pdf_string_from_unicode:nnN {utf8/string-raw}{#1}\l_@@_tmpa_str \str_if_in:NnT \l_@@_tmpa_str {.} { - \msg_error:nnx {pdffield}{no-period}{\l_@@_tmpa_str} + \msg_error:nne {pdffield}{no-period}{\l_@@_tmpa_str} } \str_if_empty:NTF\l_@@_tmpa_str { @@ -1445,7 +1445,7 @@ \pdfdict_remove:nn { l_@@/field }{T} } { - \pdfdict_put:nnx { l_@@/field }{T}{(\l_@@_tmpa_str)} + \pdfdict_put:nne { l_@@/field }{T}{(\l_@@_tmpa_str)} } } ,T .value_required:n = true @@ -1462,7 +1462,7 @@ } { \pdf_string_from_unicode:nnN {utf16/hex}{#1}\l_@@_tmpa_str - \pdfdict_put:nnx { l_@@/field }{TU}{\l_@@_tmpa_str} + \pdfdict_put:nne { l_@@/field }{TU}{\l_@@_tmpa_str} } } ,TU .groups:n = {field} @@ -1476,7 +1476,7 @@ } { \pdf_string_from_unicode:nnN {utf16/hex}{#1}\l_@@_tmpa_str - \pdfdict_put:nnx { l_@@/field }{TM}{\l_@@_tmpa_str} + \pdfdict_put:nne { l_@@/field }{TM}{\l_@@_tmpa_str} } } ,TM .groups:n = {field} @@ -1515,7 +1515,7 @@ } { \@@_V_handler:nN{#1}\l_@@_tmpa_str - \pdfdict_put:nnx { l_@@/field }{V}{ \l_@@_tmpa_str } + \pdfdict_put:nne { l_@@/field }{V}{ \l_@@_tmpa_str } } } ,V .groups:n = {field} @@ -1527,7 +1527,7 @@ } { \@@_V_handler:nN{#1}\l_@@_tmpa_str - \pdfdict_put:nnx { l_@@/field }{DV}{ \l_@@_tmpa_str } + \pdfdict_put:nne { l_@@/field }{DV}{ \l_@@_tmpa_str } } } ,DV .groups:n = {field} @@ -1538,7 +1538,7 @@ \pdfdict_remove:nn { l_@@/field }{MaxLen} } { - \pdfdict_put:nnx { l_@@/field }{MaxLen}{ #1 } + \pdfdict_put:nne { l_@@/field }{MaxLen}{ #1 } } } ,MaxLen .groups:n = {field} @@ -1549,7 +1549,7 @@ \pdfdict_remove:nn { l_@@/field }{Lock} } { - \pdfdict_put:nnx { l_@@/field }{Lock}{ \pdf_object_ref:n{#1} } + \pdfdict_put:nne { l_@@/field }{Lock}{ \pdf_object_ref:n{#1} } } } ,Lock .groups:n = {field} @@ -1560,7 +1560,7 @@ \pdfdict_remove:nn { l_@@/field }{SV} } { - \pdfdict_put:nnx { l_@@/field }{SV}{ \pdf_object_ref:n{#1} } + \pdfdict_put:nne { l_@@/field }{SV}{ \pdf_object_ref:n{#1} } } } ,SV .groups:n = {field} @@ -1571,7 +1571,7 @@ \pdfdict_remove:nn { l_@@/field }{Opt} } { - \pdfdict_put:nnx { l_@@/field }{Opt}{ \pdf_object_ref:n{#1} } + \pdfdict_put:nne { l_@@/field }{Opt}{ \pdf_object_ref:n{#1} } } } ,Opt .groups:n = {field} @@ -1582,7 +1582,7 @@ \pdfdict_remove:nn { l_@@/field }{TI} } { - \pdfdict_put:nnx { l_@@/field }{TI}{ #1 } + \pdfdict_put:nne { l_@@/field }{TI}{ #1 } } } ,TI .groups:n = {field} @@ -1593,7 +1593,7 @@ \pdfdict_remove:nn { l_@@/field }{I} } { - \pdfdict_put:nnx { l_@@/field }{I}{ \pdf_object_ref:n{#1} } + \pdfdict_put:nne { l_@@/field }{I}{ \pdf_object_ref:n{#1} } } } ,I .groups:n = {field} @@ -1648,7 +1648,7 @@ \pdfdict_remove:nn {l_@@/field/AA}{#1} } { - \pdfdict_put:nnx {l_@@/field/AA} + \pdfdict_put:nne {l_@@/field/AA} {#1} {<</S/JavaScript/JS\c_space_tl ##1>>} } @@ -1675,7 +1675,7 @@ \keys_define:nn {pdffield} { - sortkey .code:n = {\str_set:Nx \l_@@_CO_sortkey_str {\tl_to_str:n{#1}}} + sortkey .code:n = {\str_set:Ne \l_@@_CO_sortkey_str {\tl_to_str:n{#1}}} } % \end{macrocode} % \end{macro} @@ -1692,13 +1692,13 @@ \pdfdict_remove:nn { l_@@/field }{DA} } { - \pdfdict_put:nnx { l_@@/field }{DA}{ (#1) } + \pdfdict_put:nne { l_@@/field }{DA}{ (#1) } } } ,DA .groups:n = {field} ,Q .choices:nn = {left,center,right} { - \pdfdict_put:nnx { l_@@/field }{Q}{ \int_eval:n{\l_keys_choice_int-1} } + \pdfdict_put:nne { l_@@/field }{Q}{ \int_eval:n{\l_keys_choice_int-1} } } ,Q / .code:n = { \pdfdict_remove:nn { l_@@/field }{Q} } ,Q .groups:n = {field} @@ -1761,7 +1761,7 @@ { \pdfxform_if_exist:nTF { #1 } { - \pdfannot_dict_put:nnx {widget/AP}{#2} + \pdfannot_dict_put:nne {widget/AP}{#2} { \pdfxform_ref:n {#1} } @@ -1785,7 +1785,7 @@ \pdfannot_dict_remove:nn { widget }{AS} } { - \pdfannot_dict_put:nnx {widget}{AS}{\pdf_name_from_unicode_e:n{#1}} + \pdfannot_dict_put:nne {widget}{AS}{\pdf_name_from_unicode_e:n{#1}} } } ,AS .groups:n = annot @@ -1847,7 +1847,7 @@ { MK/R .choices:nn = {0,90,180,270} { - \pdfannot_dict_put:nnx {widget/MK}{R}{#1} + \pdfannot_dict_put:nne {widget/MK}{R}{#1} } ,MK/R / .code:n = { @@ -1868,7 +1868,7 @@ { \@@_color_set:nn {@@/tmp}{#1} \color_export:nnN{@@/tmp}{space-sep-rgb}\l_@@_tmpa_tl - \pdfannot_dict_put:nnx {widget/MK}{BC}{[\l_@@_tmpa_tl]} + \pdfannot_dict_put:nne {widget/MK}{BC}{[\l_@@_tmpa_tl]} } } ,MK/BC .groups:n = annot @@ -1886,7 +1886,7 @@ { \@@_color_set:nn {@@/tmp}{#1} \color_export:nnN{@@/tmp}{space-sep-rgb}\l_@@_tmpa_tl - \pdfannot_dict_put:nnx {widget/MK}{BG}{[\l_@@_tmpa_tl]} + \pdfannot_dict_put:nne {widget/MK}{BG}{[\l_@@_tmpa_tl]} } } ,MK/BG .groups:n = annot @@ -1905,7 +1905,7 @@ } { \pdf_string_from_unicode:nnN {utf8/string}{#1}\l_@@_tmpa_str - \pdfannot_dict_put:nnx {widget/MK}{CA}{\l_@@_tmpa_str} + \pdfannot_dict_put:nne {widget/MK}{CA}{\l_@@_tmpa_str} } } ,MK/CA .groups:n = annot @@ -1923,7 +1923,7 @@ } { \pdf_string_from_unicode:nnN {utf8/string}{#1}\l_@@_tmpa_str - \pdfannot_dict_put:nnx {widget/MK}{RC}{\l_@@_tmpa_str} + \pdfannot_dict_put:nne {widget/MK}{RC}{\l_@@_tmpa_str} } } ,MK/RC .groups:n = annot @@ -1941,7 +1941,7 @@ } { \pdf_string_from_unicode:nnN {utf8/string}{#1}\l_@@_tmpa_str - \pdfannot_dict_put:nnx {widget/MK}{AC}{\l_@@_tmpa_str} + \pdfannot_dict_put:nne {widget/MK}{AC}{\l_@@_tmpa_str} } } ,MK/AC .groups:n = annot @@ -1966,7 +1966,7 @@ \pdfannot_dict_remove:nn { widget/MK }{#1} } { - \pdfannot_dict_put:nnx {widget/MK}{#1}{##1} + \pdfannot_dict_put:nne {widget/MK}{#1}{##1} } } ,MK/#1 .groups:n = annot @@ -2030,7 +2030,7 @@ \pdfannot_dict_remove:nn {widget/AA}{#1} } { - \pdfannot_dict_put:nnx {widget/AA} + \pdfannot_dict_put:nne {widget/AA} {#1} {<</S/JavaScript/JS\c_space_tl##1>>} } diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffile.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffile.dtx index a98883d5c1e..08ec26e76f6 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffile.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffile.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -182,7 +182,7 @@ % in the |/Filespec| dictionary. % % \begin{verbatim} -% \pdf_object_unnamed_write:nx {fstream} +% \pdf_object_unnamed_write:ne {fstream} % { % { % /Type /EmbeddedFile @@ -196,7 +196,7 @@ % } % {example-image.eps} % } -% \tl_set:Nx \l_my_fileobj_tl {\pdf_object_ref_last:} +% \tl_set:Ne \l_my_fileobj_tl {\pdf_object_ref_last:} % \end{verbatim} % % \begin{itemize} @@ -226,7 +226,7 @@ % This name tree is a global resource and uncoordinated access can lead to % clashes and files that are not visible or inaccessible. % The access here is managed by the \pkg{l3pdfmanagement} module:\\[\smallskipamount]% -% |\pdfmanagement_add:nnx{Catalog/Names}{EmbeddedFiles}{|\meta{objref}|}| +% |\pdfmanagement_add:nne{Catalog/Names}{EmbeddedFiles}{|\meta{objref}|}| % % \subsection{Commands and tools of these module} % \begin{function}{file, file/Params, file/streamParams,file/Filespec} @@ -323,7 +323,7 @@ % The stream should not be too long, at least PS imposes a size limit for strings. % \end{function} % -% \begin{function}{\pdffile_filespec:nnn,\pdffile_filespec:nnx} +% \begin{function}{\pdffile_filespec:nnn,\pdffile_filespec:nne} % \begin{syntax} % \cs{ pdffile_filespec:nnn }\Arg{object name}\Arg{file name}{stream object reference} % \end{syntax} @@ -380,11 +380,11 @@ % \pdf_string_from_unicode:nnN {utf16/string} % {this~is~an~odd~description~with~öäü} % \l_tmpa_str -% \pdfdict_put:nnx {l_pdffile/Filespec} {Desc}{\l_tmpa_str} +% \pdfdict_put:nne {l_pdffile/Filespec} {Desc}{\l_tmpa_str} % %embeds testinput.txt and calls it grüße.txt % \pdffile_embed_file:nnn {testinput.txt}{grüße.txt}{mymodule/example1} % %reference it in the panel -% \pdfmanagement_add:nnx +% \pdfmanagement_add:nne % {Catalog/Names} % {EmbeddedFiles} % {\pdf_object_ref:n{mymodule/example1}} @@ -398,7 +398,7 @@ % % \begin{macrocode} %<*header> -\ProvidesExplPackage{l3pdffile}{2023-10-09}{0.96a} +\ProvidesExplPackage{l3pdffile}{2023-11-05}{0.96b} {embedding and referencing files in PDF---LaTeX PDF management testphase bundle} \RequirePackage{l3pdftools} %temporarly!! %</header> @@ -538,7 +538,7 @@ % \begin{macrocode} \cs_new_protected:Npn \pdffile_embed_show: { - \msg_show:nnx + \msg_show:nne {pdffile}{show-files} { \prop_map_function:NN {\g_pdffile_embed_prop} \msg_show_item:nn @@ -573,10 +573,10 @@ \l_@@_ext_str \l_@@_tmpb_tl { - \tl_set:Nx #2 {/Subtype~\pdf_name_from_unicode_e:V \l_@@_tmpb_tl} + \tl_set:Ne #2 {/Subtype~\pdf_name_from_unicode_e:V \l_@@_tmpb_tl} } { - \msg_warning:nnx { pdffile }{ mimetype-missing} {#1} + \msg_warning:nne { pdffile }{ mimetype-missing} {#1} \tl_clear:N #2 } } @@ -589,7 +589,7 @@ % e.g. result from \@@_mimetype_set:NN \cs_new_protected:Npn \@@_fstream_write:nN #1 #2 { - \pdf_object_unnamed_write:nx { fstream } + \pdf_object_unnamed_write:ne { fstream } { { #2 @@ -614,7 +614,7 @@ % e.g. result from \@@_mimetype_set:NN \cs_new_protected:Npn \@@_stream_write:nN #1 #2 { - \pdf_object_unnamed_write:nx { stream } + \pdf_object_unnamed_write:ne { stream } { { #2 @@ -646,9 +646,9 @@ { \group_begin: \@@_filename_convert_to_print:nN { #2 } \l_@@_tmpa_str - \pdfdict_put:nnx {l_pdffile/Filespec}{F} { \l_@@_tmpa_str } - \pdfdict_put:nnx {l_pdffile/Filespec}{UF}{ \l_@@_tmpa_str } - \pdf_object_write:nnx { #1 } { dict } + \pdfdict_put:nne {l_pdffile/Filespec}{F} { \l_@@_tmpa_str } + \pdfdict_put:nne {l_pdffile/Filespec}{UF}{ \l_@@_tmpa_str } + \pdf_object_write:nne { #1 } { dict } { \pdfdict_use:n { l_pdffile/Filespec} \tl_if_empty:nF { #3 } @@ -670,9 +670,9 @@ { \group_begin: \@@_filename_convert_to_print:nN { #1 } \l_@@_tmpa_str - \pdfdict_put:nnx {l_pdffile/Filespec}{F} { \l_@@_tmpa_str } - \pdfdict_put:nnx {l_pdffile/Filespec}{UF}{ \l_@@_tmpa_str } - \pdf_object_unnamed_write:nx {dict} + \pdfdict_put:nne {l_pdffile/Filespec}{F} { \l_@@_tmpa_str } + \pdfdict_put:nne {l_pdffile/Filespec}{UF}{ \l_@@_tmpa_str } + \pdf_object_unnamed_write:ne {dict} { \pdfdict_use:n { l_pdffile/Filespec} \tl_if_empty:nF { #2 } @@ -680,14 +680,14 @@ /EF <</F~#2 /UF~#2>> } } - \tl_gset:Nx\g_@@_tmpa_tl{\pdf_object_ref_last:} + \tl_gset:Ne\g_@@_tmpa_tl{\pdf_object_ref_last:} \group_end: \tl_set_eq:NN#3\g_@@_tmpa_tl } } \cs_set_eq:NN \pdffile_filespec:nnn \@@_filespec_write:nnn -\cs_generate_variant:Nn \pdffile_filespec:nnn {nnx} +\cs_generate_variant:Nn \pdffile_filespec:nnn {nne,nnx} %#1 {source filename} %#2 {target filename} %#3 { filespec object name } (will internally get a prefix! ??) @@ -712,14 +712,14 @@ \@@_fstream_write:VN \l_pdffile_source_name_str \l_@@_automimetype_tl - \tl_set:Nx \l_@@_embed_ref_tl { \pdf_object_ref_last: } + \tl_set:Ne \l_@@_embed_ref_tl { \pdf_object_ref_last: } } { \msg_error:nnn { pdffile }{ file-not-found }{ #1 } } } - \prop_gput:Nnx + \prop_gput:Nne \g_pdffile_embed_prop { #3 } { @@ -734,7 +734,7 @@ \tl_if_blank:nTF { #2 } { \pdf_object_new:n { #3 } - \exp_args:Nnnx + \exp_args:Nnne \@@_filespec_write:nnn %#1 dict, #2 target file name, #3 object ref { #3 } @@ -743,7 +743,7 @@ } { \pdf_object_new:n { #3 } - \exp_args:Nnnx + \exp_args:Nnne \@@_filespec_write:nnn %#1 dict, #2 target file name, #3 object ref { #3 } @@ -765,7 +765,7 @@ \msg_error:nnn { pdffile }{ object-exists } { #3 } } { - \prop_gput:Nnx + \prop_gput:Nne \g_pdffile_embed_prop { #3 } {{stream}{}{\tl_if_blank:nTF {#2}{stream.txt}{\exp_not:n{#2}}}} @@ -775,9 +775,9 @@ \@@_stream_write:nN { #1 } \l_@@_automimetype_tl - \tl_set:Nx \l_@@_embed_ref_tl { \pdf_object_ref_last: } + \tl_set:Ne \l_@@_embed_ref_tl { \pdf_object_ref_last: } \pdf_object_new:n { #3 } - \exp_args:Nnxx + \exp_args:Nnee \@@_filespec_write:nnn %#1 dict, #2 target file name, #3 object ref { #3 } @@ -794,14 +794,14 @@ \@@_stream_write:nN { #1 } \l_@@_automimetype_tl - \tl_set:Nx \l_@@_embed_ref_tl { \pdf_object_ref_last: } - \exp_args:Nxx + \tl_set:Ne \l_@@_embed_ref_tl { \pdf_object_ref_last: } + \exp_args:Nee \@@_filespec_write:nnN %#1 target file name, #2 object ref of stream, #3 object ref of filespec { \tl_if_blank:nTF {#2}{stream.txt}{\exp_not:n{#2}} } {\l_@@_embed_ref_tl} #3 - \prop_gput:Nxx + \prop_gput:Nee \g_pdffile_embed_prop { #3 } {{stream}{}{\tl_if_blank:nTF {#2}{stream.txt}{\exp_not:n{#2}}}} diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmanagement.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmanagement.dtx index 6081864cb64..cdedd54040e 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmanagement.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmanagement.dtx @@ -57,7 +57,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -139,7 +139,7 @@ % \end{function} % \begin{function}[added = 2020-04-06,updated=2021-07-23] -% {\pdfmanagement_add:nnn,\pdfmanagement_add:nnx,\pdfmanagement_add:nxx,\pdfmanagement_add:xxx, +% {\pdfmanagement_add:nnn,\pdfmanagement_add:nne,\pdfmanagement_add:nee,\pdfmanagement_add:eee, % \PDFManagementAdd} % \begin{syntax} % \cs{pdfmanagement_add:nnn} \Arg{resource path} \Arg{name} \Arg{value} @@ -153,7 +153,7 @@ % keys used in PDF dictionaries (see the l3pdfdict module) the name is escaped % with \cs{str_convert_pdfname:n} when stored. % \Arg{value} should be a valid PDF value for this Name in the -% target dictionary. |\PDFManagementAdd| is a copy of |\pdfmanagement_add:xxx| +% target dictionary. |\PDFManagementAdd| is a copy of |\pdfmanagement_add:eee| % and so expands all its arguments. % % @@ -250,7 +250,7 @@ % normally sensible: % \begin{verbatim} % \str_set_convert:Nnnn \l_tmpa_str { Grüße }{ default } {utf16/string} -% \pdfmanagement_add:nnx {Info} {Title}{(\l_tmpa_str)} +% \pdfmanagement_add:nne {Info} {Title}{(\l_tmpa_str)} % \end{verbatim} % \end{function} % @@ -539,13 +539,13 @@ % \begin{verbatim} % \pdf_object_new:n {module/intent} % \pdf_object_write:nnn {module/intent}{dict}{...} -% \pdfmanagement_add:nnx {Catalog} {OutputIntents}{\pdf_object_ref:n {module/intent}} +% \pdfmanagement_add:nne {Catalog} {OutputIntents}{\pdf_object_ref:n {module/intent}} % \end{verbatim} % % or % \begin{verbatim} % \pdf_object_unnamed_write:nn {dict} { ... } -% \pdfmanagement_add:nnx {Catalog} {OutputIntents}{\pdf_object_ref_last:} +% \pdfmanagement_add:nne {Catalog} {OutputIntents}{\pdf_object_ref_last:} % \end{verbatim} % % @@ -582,7 +582,7 @@ % the AP names (for appearance streams) use % % \begin{verbatim} -% \pdfmanagement_add:nnx { Catalog / Names / AP } {myAPname} {\pdf_object_ref_last:} +% \pdfmanagement_add:nne { Catalog / Names / AP } {myAPname} {\pdf_object_ref_last:} % \end{verbatim} % % Remarks: @@ -632,7 +632,7 @@ %<@@=pdfmanagement> %<*header> % -\ProvidesExplPackage{l3pdfmanagement}{2023-10-09}{0.96a} +\ProvidesExplPackage{l3pdfmanagement}{2023-11-05}{0.96b} {Management of core PDF dictionaries (LaTeX PDF management testphase bundle)} %</header> % \end{macrocode} @@ -723,13 +723,13 @@ } } { - \msg_warning:nnx {pdfmanagement}{inactive} + \msg_warning:nne {pdfmanagement}{inactive} {\tl_to_str:n {\pdfmanagement_add:nnn}} } } -\cs_generate_variant:Nn \pdfmanagement_add:nnn {nnx,nxx,xxx} -\cs_set_eq:NN \PDFManagementAdd \pdfmanagement_add:xxx +\cs_generate_variant:Nn \pdfmanagement_add:nnn {nne,nee,eee,nnx,nxx,xxx} +\cs_set_eq:NN \PDFManagementAdd \pdfmanagement_add:eee % \end{macrocode} % \subsection{Hooks -- shipout and end of run code} % Code is executed in three places: At shipout of every page, @@ -831,7 +831,7 @@ { @@_handler/#1/#2_gput:n } { \use:c {@@_handler/#1/#2_gput:n} {#3} } %special handler { - \exp_args:Nnx + \exp_args:Nne \prop_gput:cnn { \__kernel_pdfdict_name:n { g__pdf_Core/#1 } } { \str_convert_pdfname:n { #2 } } @@ -846,11 +846,11 @@ } -\cs_generate_variant:Nn \@@_handler_gput:nnn {nxx} +\cs_generate_variant:Nn \@@_handler_gput:nnn {nee} \cs_new_protected:Npn \@@_get:nnN #1 #2 #3 %path,key,macro { - \exp_args:Nnx + \exp_args:Nne \prop_get:cnN { \__kernel_pdfdict_name:n { g__pdf_Core/#1 } } { \str_convert_pdfname:n {#2} } #3 @@ -869,7 +869,7 @@ { @@_handler/#1/#2_gremove: } { \use:c {@@_handler/#1/#2_gremove:} } %special handler { - \exp_args:Nnx + \exp_args:Nne \prop_gremove:cn { \__kernel_pdfdict_name:n { g__pdf_Core/#1 } } { \str_convert_pdfname:n {#2} } @@ -885,7 +885,7 @@ { \pdfdict_if_exist:nTF { g__pdf_Core/#1 } { - \exp_args:Nnx + \exp_args:Nne \prop_gremove:cn { \__kernel_pdfdict_name:n { g__pdf_Core/#1 } } { \str_convert_pdfname:n{#2} } @@ -931,7 +931,7 @@ % \begin{macrocode} \cs_new_protected:Npn \pdfmanagement_show:n #1 { - \@@_show:Nn \msg_show:nnxxxx {#1} + \@@_show:Nn \msg_show:nneeee {#1} } % \end{macrocode} % \begin{macrocode} @@ -999,7 +999,7 @@ { \pdfdict_if_empty:nF { g__pdf_Core/Pages} { - \exp_args:Nx \__pdf_backend_Pages_primitive:n + \exp_args:Ne \__pdf_backend_Pages_primitive:n { \pdfdict_use:n { g__pdf_Core/Pages} } @@ -1279,10 +1279,10 @@ { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AA } } { \pdf_object_new:n { @@/Catalog/AA } - \pdf_object_write:nnx + \pdf_object_write:nne { @@/Catalog/AA }{ dict } { \pdfdict_use:n { g__pdf_Core/Catalog/AA } } - \exp_args:Nnx + \exp_args:Nne \__pdf_backend_catalog_gput:nn {AA} { @@ -1309,10 +1309,10 @@ \seq_if_empty:cF { g_@@_/Catalog/AcroForm/Fields_seq } { \pdf_object_new:n { @@/Catalog/AcroForm/Fields } - \pdf_object_write:nnx + \pdf_object_write:nne { @@/Catalog/AcroForm/Fields } { array } { \seq_use:cn { g_@@_/Catalog/AcroForm/Fields_seq } {~} } - \exp_args:Nnnx + \exp_args:Nnne \prop_gput:cnn %we have to use \prop here to avoid the handler ... { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm } } { Fields } @@ -1321,10 +1321,10 @@ \seq_if_empty:cF { g_@@_/Catalog/AcroForm/CO_seq } { \pdf_object_new:n { @@/Catalog/AcroForm/CO } - \pdf_object_write:nnx + \pdf_object_write:nne { @@/Catalog/AcroForm/CO } { array } { \seq_use:cn { g_@@_/Catalog/AcroForm/CO_seq } {~} } - \exp_args:Nnnx + \exp_args:Nnne \prop_gput:cnn %we have to use \prop here to avoid the handler ... { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm } } { CO } @@ -1333,10 +1333,10 @@ \prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm/DR/Font}} { \pdf_object_new:n { @@/Catalog/AcroForm/DR/Font } - \pdf_object_write:nnx + \pdf_object_write:nne { @@/Catalog/AcroForm/DR/Font } { dict } { \pdfdict_use:n { g__pdf_Core/Catalog/AcroForm/DR/Font } } - \exp_args:Nnnx + \exp_args:Nnne \prop_gput:cnn %we have to use \prop here to avoid the handler ... { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm/DR } } { Font } @@ -1345,10 +1345,10 @@ \prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm/DR}} { \pdf_object_new:n { @@/Catalog/AcroForm/DR } - \pdf_object_write:nnx + \pdf_object_write:nne { @@/Catalog/AcroForm/DR } { dict } { \pdfdict_use:n { g__pdf_Core/Catalog/AcroForm/DR } } - \exp_args:Nnnx + \exp_args:Nnne \prop_gput:cnn %we have to use \prop here to avoid the handler ... { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm } } { DR } @@ -1357,10 +1357,10 @@ \prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm} } { \pdf_object_new:n { @@/Catalog/AcroForm } - \pdf_object_write:nnx + \pdf_object_write:nne { @@/Catalog/AcroForm } { dict } { \pdfdict_use:n { g__pdf_Core/Catalog/AcroForm } } - \exp_args:Nnnx + \exp_args:Nnne \@@_handler_gput:nnn { Catalog } { AcroForm } @@ -1381,10 +1381,10 @@ { g_@@_/Catalog/AF_seq } { \pdf_object_new:n { @@/Catalog/AF } - \pdf_object_write:nnx + \pdf_object_write:nne { @@/Catalog/AF } { array } { \seq_use:cn { g_@@_/Catalog/AF_seq } {~} } - \exp_args:Nnx + \exp_args:Nne \__pdf_backend_catalog_gput:nn {AF} { @@ -1404,10 +1404,10 @@ { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/MarkInfo } } { \pdf_object_new:n { @@/Catalog/MarkInfo } - \pdf_object_write:nnx + \pdf_object_write:nne { @@/Catalog/MarkInfo } { dict } { \pdfdict_use:n { g__pdf_Core/Catalog/MarkInfo } } - \exp_args:Nnx + \exp_args:Nne \__pdf_backend_catalog_gput:nn {MarkInfo} { @@ -1445,7 +1445,7 @@ { \pdf_object_new:n { @@/Catalog/OCProperties } \seq_gpop_left:cN { g_@@_/Catalog/OCProperties/Configs_seq} \l_@@_tmpa_tl - \pdf_object_write:nnx {@@/Catalog/OCProperties} {dict} + \pdf_object_write:nne {@@/Catalog/OCProperties} {dict} { /OCGs~[ \seq_use:cn { g_@@_/Catalog/OCProperties/OCGs_seq } {~} ] /D~\l_@@_tmpa_tl~ @@ -1455,7 +1455,7 @@ [ \seq_use:cn { g_@@_/Catalog/OCProperties/Configs_seq} {~} ] } } - \exp_args:Nnx + \exp_args:Nne \__pdf_backend_catalog_gput:nn { OCProperties } { \__pdf_backend_object_ref:n {@@/Catalog/OCProperties} } @@ -1474,10 +1474,10 @@ { g_@@_/Catalog/OutputIntents_seq } { \pdf_object_new:n { @@/Catalog/OutputIntents } - \pdf_object_write:nnx + \pdf_object_write:nne { @@/Catalog/OutputIntents } { array } { \seq_use:cn { g_@@_/Catalog/OutputIntents_seq } {~} } - \exp_args:Nnx + \exp_args:Nne \__pdf_backend_catalog_gput:nn {OutputIntents} { @@ -1498,10 +1498,10 @@ { g_@@_/Catalog/Requirements_seq } { \pdf_object_new:n { @@/Catalog/Requirements } - \pdf_object_write:nnx + \pdf_object_write:nne { @@/Catalog/Requirements } { array } { \seq_use:cn { g_@@_/Catalog/Requirements_seq } {~} } - \exp_args:Nnx + \exp_args:Nne \__pdf_backend_catalog_gput:nn {Requirements} { @@ -1522,10 +1522,10 @@ { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/ViewerPreferences } } { \pdf_object_new:n { @@/Catalog/ViewerPreferences } - \pdf_object_write:nnx + \pdf_object_write:nne { @@/Catalog/ViewerPreferences } { dict } { \pdfdict_use:n { g__pdf_Core/Catalog/ViewerPreferences } } - \exp_args:Nnx + \exp_args:Nne \__pdf_backend_catalog_gput:nn {ViewerPreferences} { @@ -1571,12 +1571,12 @@ \cs_new_protected:cpn { @@_handler/Catalog/Names/EmbeddedFiles_gput:n } #1 { \int_gincr:N \g_@@_EmbeddedFiles_int - \exp_args:Nnx + \exp_args:Nne \prop_gput:cnn { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/Names/EmbeddedFiles }} { \@@_EmbeddedFiles_name: } { #1 } - \exp_args:Nx + \exp_args:Ne \__pdf_backend_NamesEmbeddedFiles_add:nn {\@@_EmbeddedFiles_name:} { #1 } } % \end{macrocode} @@ -1601,7 +1601,7 @@ { \sort_return_swapped: } { \sort_return_same: } } - \exp_args:Nnx \__pdf_backend_Names_gpush:nn + \exp_args:Nne \__pdf_backend_Names_gpush:nn {#1} { \seq_use:Nn \l_@@_tmpa_seq {~} @@ -1615,7 +1615,7 @@ % \begin{macrocode} \cs_new_protected:cpn {@@_handler/Catalog/?_show:} { - \iow_term:x + \iow_term:e { \iow_newline: The~Catalog~contains~in~the~top~level~the~single~value~entries @@ -1627,7 +1627,7 @@ { \seq_if_empty:cF { g_@@_/Catalog/##1_seq } { - \iow_term:x + \iow_term:e { The~'##1'~array~contains~the~entries \seq_map_function:cN { g_@@_/Catalog/##1_seq } \msg_show_item:n @@ -1638,7 +1638,7 @@ { \prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/##1 } } { - \iow_term:x + \iow_term:e { The~Catalog~subdirectory~'##1'~contains~the~single~value~entries \prop_map_function:cN @@ -1647,7 +1647,7 @@ } } } - \tl_show:x {\tl_to_str:n{\pdfmanagement_show:n{Catalog}}} + \tl_show:e {\tl_to_str:n{\pdfmanagement_show:n{Catalog}}} } % \end{macrocode} % \end{macro} diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmeta.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmeta.dtx index 1f30c5badf4..0a55e2b9d77 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmeta.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmeta.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -566,7 +566,7 @@ % \begin{macrocode} %<@@=pdfmeta> %<*header> -\ProvidesExplPackage{l3pdfmeta}{2023-10-09}{0.96a} +\ProvidesExplPackage{l3pdfmeta}{2023-11-05}{0.96b} {PDF-Standards---LaTeX PDF management testphase bundle} %</header> % \end{macrocode} @@ -644,7 +644,7 @@ { \cs_if_exist:cTF {@@_standard_verify_handler_#1:nn} { - \exp_args:Nnnx + \exp_args:Nnne \use:c {@@_standard_verify_handler_#1:nn} { #2 } @@ -756,7 +756,7 @@ { \__pdf_backend_omit_charset:n {1} } \pdfmeta_standard_verify:nnF { min_pdf_version } { \pdf_version: } - { \msg_warning:nnxxx {pdf}{wrong-pdfversion} + { \msg_warning:nneee {pdf}{wrong-pdfversion} {\pdf_version:}{low} { \pdfmeta_standard_item:n{type} @@ -766,7 +766,7 @@ } \pdfmeta_standard_verify:nnF { max_pdf_version } { \pdf_version: } - { \msg_warning:nnxxx {pdf}{wrong-pdfversion} + { \msg_warning:nneee {pdf}{wrong-pdfversion} {\pdf_version:}{high} { \pdfmeta_standard_item:n{type} @@ -970,7 +970,7 @@ % \end{verbatim} % \item Write a |/OutputIntent| dictionary for this % \begin{verbatim} -% \pdf_object_unnamed_write:nx {dict} +% \pdf_object_unnamed_write:ne {dict} % { % /Type /OutputIntent % /S /GTS_PDFA1 % or GTS_PDFX or ISO_PDFE1 or ... @@ -981,7 +981,7 @@ % \end{verbatim} % \item Reference the dictionary in the catalog: % \begin{verbatim} -% \pdfmanagement_add:nnx {Catalog}{OutputIntents}{\pdf_object_ref_last:} +% \pdfmanagement_add:nne {Catalog}{OutputIntents}{\pdf_object_ref_last:} % \end{verbatim} % \end{enumerate} % But we need to do a bit more work, to get the interface right. @@ -1085,7 +1085,7 @@ \pdf_object_if_exist:nF { __color_icc_ #1 } { \pdf_object_new:n { __color_icc_ #1 } - \pdf_object_write:nnx { __color_icc_ #1 } { fstream } + \pdf_object_write:nne { __color_icc_ #1 } { fstream } { {/N\c_space_tl \prop_item:cn{c_@@_colorprofile_#1}{N} @@ -1098,8 +1098,8 @@ \cs_new_protected:Npn \@@_write_outputintent:nn #1 #2 %#1 file name, #2 subtype { \group_begin: - \pdfdict_put:nnx {l_pdfmeta/outputintent}{S}{/\str_convert_pdfname:n{#2}} - \pdfdict_put:nnx {l_pdfmeta/outputintent} + \pdfdict_put:nne {l_pdfmeta/outputintent}{S}{/\str_convert_pdfname:n{#2}} + \pdfdict_put:nne {l_pdfmeta/outputintent} {DestOutputProfile} {\pdf_object_ref:n{ __color_icc_ #1 }} \clist_map_inline:nn { OutputConditionIdentifier, Info, RegistryName } @@ -1110,12 +1110,12 @@ \l_@@_tmpa_tl { \pdf_string_from_unicode:nVN {utf8/string}\l_@@_tmpa_tl\l_@@_tmpa_str - \pdfdict_put:nnx + \pdfdict_put:nne {l_pdfmeta/outputintent}{##1}{\l_@@_tmpa_str} } } - \pdf_object_unnamed_write:nx {dict}{\pdfdict_use:n {l_pdfmeta/outputintent} } - \pdfmanagement_add:nnx {Catalog}{OutputIntents}{\pdf_object_ref_last:} + \pdf_object_unnamed_write:ne {dict}{\pdfdict_use:n {l_pdfmeta/outputintent} } + \pdfmanagement_add:nne {Catalog}{OutputIntents}{\pdf_object_ref_last:} \group_end: } % \end{macrocode} @@ -1143,18 +1143,18 @@ % Then we loop but take always the same profile. % \begin{macrocode} { - \exp_args:NNx + \exp_args:NNe \prop_if_in:NnF \g_@@_outputintents_prop { \pdfmeta_standard_item:n { outputintent_A } } { - \exp_args:NNx + \exp_args:NNe \prop_gput:Nnn \g_@@_outputintents_prop { \pdfmeta_standard_item:n { outputintent_A } } { sRGB.icc } } - \exp_args:NNx + \exp_args:NNe \prop_get:NnN \g_@@_outputintents_prop { \pdfmeta_standard_item:n { outputintent_A } } @@ -1191,8 +1191,8 @@ % \begin{macrocode} \hook_gput_code:nnn{pdfmanagement/add}{pdfmanagement} { - \pdfmanagement_add:nnx {Info}{Producer}{(\c_sys_engine_exec_str-\c_sys_engine_version_str)} - \pdfmanagement_add:nnx {Info}{Creator}{(LaTeX)} + \pdfmanagement_add:nne {Info}{Producer}{(\c_sys_engine_exec_str-\c_sys_engine_version_str)} + \pdfmanagement_add:nne {Info}{Creator}{(LaTeX)} } % \end{macrocode} % \subsection{New document keys} @@ -1390,7 +1390,7 @@ \cs_new_protected:Npn \@@_xmp_date_get:nNN #1 #2 #3 %#1 property, #2 tl var with PDF date, #3 seq for splitted date { - \tl_set:Nx #2 { \GetDocumentProperties{#1} } + \tl_set:Ne #2 { \GetDocumentProperties{#1} } \tl_if_blank:VTF #2 { \seq_set_eq:NN #3 \l_@@_xmp_currentdate_seq @@ -1408,8 +1408,8 @@ % \begin{macrocode} \cs_new_protected:Npn \@@_xmp_create_uuid:nN #1 #2 { - \str_set:Nx#2 {\str_lowercase:f{\tex_mdfivesum:D{#1}}} - \str_set:Nx#2 + \str_set:Ne#2 {\str_lowercase:f{\tex_mdfivesum:D{#1}}} + \str_set:Ne#2 { uuid: \str_range:Nnn #2{1}{8} -\str_range:Nnn#2{9}{12} @@ -1433,8 +1433,8 @@ \group_begin: \text_declare_purify_equivalent:Nn \& {\tl_to_str:N & } \text_declare_purify_equivalent:Nn \texttilde {\c_tilde_str} - \tl_set:Nx \l_@@_tmpa_tl { \text_purify:n {#1} } - \str_gset:Nx \g_@@_tmpa_str { \tl_to_str:N \l_@@_tmpa_tl } + \tl_set:Ne \l_@@_tmpa_tl { \text_purify:n {#1} } + \str_gset:Ne \g_@@_tmpa_str { \tl_to_str:N \l_@@_tmpa_tl } \str_greplace_all:Nnn\g_@@_tmpa_str {&}{&} \str_greplace_all:Nnn\g_@@_tmpa_str {<}{<} \str_greplace_all:Nnn\g_@@_tmpa_str {>}{>} @@ -1478,8 +1478,8 @@ \tl_set:Nn #3 {#1} } { - \tl_set:Nx #2 {\seq_item:Nn\l_@@_tmpa_seq{2}} - \tl_set:Nx #3 {\seq_item:Nn\l_@@_tmpa_seq{3}} + \tl_set:Ne #2 {\seq_item:Nn\l_@@_tmpa_seq{2}} + \tl_set:Ne #3 {\seq_item:Nn\l_@@_tmpa_seq{3}} } } \cs_generate_variant:Nn \@@_xmp_lang_get:nNN {eNN,VNN} @@ -1503,7 +1503,7 @@ % \begin{macrocode} \cs_new_protected:Npn \@@_xmp_add_packet_chunk:n #1 { - \tl_gput_right:Nx\g_@@_xmp_packet_tl + \tl_gput_right:Ne\g_@@_xmp_packet_tl { \@@_xmp_indent: \exp_not:n{#1} } @@ -1518,7 +1518,7 @@ % \begin{macrocode} \cs_new_protected:Npn \@@_xmp_add_packet_chunk:nN #1 #2 { - \tl_put_right:Nx#2 + \tl_put_right:Ne#2 { \@@_xmp_indent: \exp_not:n{#1} } @@ -1690,8 +1690,8 @@ % think if an error is needed for empty lang. % \end{NOTE} % \begin{macrocode} - \tl_set:Nx \l_@@_xmp_doclang_tl {\GetDocumentProperties{document/lang}} - \tl_set:Nx \l_@@_xmp_metalang_tl {\GetDocumentProperties{hyperref/pdfmetalang}} + \tl_set:Ne \l_@@_xmp_doclang_tl {\GetDocumentProperties{document/lang}} + \tl_set:Ne \l_@@_xmp_metalang_tl {\GetDocumentProperties{hyperref/pdfmetalang}} \tl_if_blank:VT \l_@@_xmp_metalang_tl { \cs_set_eq:NN \l_@@_xmp_metalang_tl\l_@@_xmp_doclang_tl} % \end{macrocode} @@ -1768,17 +1768,17 @@ \prop_new:N \g_@@_xmp_xmlns_prop % \end{macrocode} % \end{variable} -% \begin{macro}{\@@_xmp_xmlns_new:nn,\@@_xmp_xmlns_new:nx} +% \begin{macro}{\@@_xmp_xmlns_new:nn,\@@_xmp_xmlns_new:ne} % \begin{macrocode} \cs_new_protected:Npn \@@_xmp_xmlns_new:nn #1 #2 { \prop_gput:Nnn \g_@@_xmp_xmlns_prop {#1}{#2} - \tl_gput_right:Nx \g_@@_xmp_xmlns_tl + \tl_gput_right:Ne \g_@@_xmp_xmlns_tl { \@@_xmp_indent:n{4} xmlns:\exp_not:n{#1="#2"} } } -\cs_generate_variant:Nn \@@_xmp_xmlns_new:nn {nx} +\cs_generate_variant:Nn \@@_xmp_xmlns_new:nn {ne} % \end{macrocode} % \end{macro} % Now we fill the data. The list is more or less the same as in hyperxmp @@ -1789,7 +1789,7 @@ \@@_xmp_xmlns_new:nn {photoshop}{http://ns.adobe.com/photoshop/1.0/} \@@_xmp_xmlns_new:nn {xmp} {http://ns.adobe.com/xap/1.0/} \@@_xmp_xmlns_new:nn {xmpMM} {http://ns.adobe.com/xap/1.0/mm/} -\@@_xmp_xmlns_new:nx {stEvt} +\@@_xmp_xmlns_new:ne {stEvt} {http://ns.adobe.com/xap/1.0/sType/ResourceEvent\c_hash_str} \@@_xmp_xmlns_new:nn {pdfaid} {http://www.aiim.org/pdfa/ns/id/} \@@_xmp_xmlns_new:nn {pdfuaid} {http://www.aiim.org/pdfua/ns/id/} @@ -1798,13 +1798,13 @@ \@@_xmp_xmlns_new:nn {prism} {http://prismstandard.org/namespaces/basic/3.0/} %\@@_xmp_xmlns_new:nn {jav} {http://www.niso.org/schemas/jav/1.0/} %\@@_xmp_xmlns_new:nn {xmpTPg} {http://ns.adobe.com/xap/1.0/t/pg/} -\@@_xmp_xmlns_new:nx {stFnt} {http://ns.adobe.com/xap/1.0/sType/Font\c_hash_str} +\@@_xmp_xmlns_new:ne {stFnt} {http://ns.adobe.com/xap/1.0/sType/Font\c_hash_str} \@@_xmp_xmlns_new:nn {Iptc4xmpCore}{http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/} \@@_xmp_xmlns_new:nn {pdfaExtension}{http://www.aiim.org/pdfa/ns/extension/} -\@@_xmp_xmlns_new:nx {pdfaSchema}{http://www.aiim.org/pdfa/ns/schema\c_hash_str} -\@@_xmp_xmlns_new:nx {pdfaProperty}{http://www.aiim.org/pdfa/ns/property\c_hash_str} -\@@_xmp_xmlns_new:nx {pdfaType} {http://www.aiim.org/pdfa/ns/type\c_hash_str} -\@@_xmp_xmlns_new:nx {pdfaField}{http://www.aiim.org/pdfa/ns/field\c_hash_str} +\@@_xmp_xmlns_new:ne {pdfaSchema}{http://www.aiim.org/pdfa/ns/schema\c_hash_str} +\@@_xmp_xmlns_new:ne {pdfaProperty}{http://www.aiim.org/pdfa/ns/property\c_hash_str} +\@@_xmp_xmlns_new:ne {pdfaType} {http://www.aiim.org/pdfa/ns/type\c_hash_str} +\@@_xmp_xmlns_new:ne {pdfaField}{http://www.aiim.org/pdfa/ns/field\c_hash_str} % \end{macrocode} % \subsection{Building the chunks: Extensions} @@ -2191,14 +2191,14 @@ \@@_xmp_date_get:nNN {document/creationdate}\l_@@_tmpa_tl\l_@@_tmpa_seq \@@_xmp_add_packet_line:nne{xmp}{CreateDate}{\@@_xmp_print_date:N\l_@@_tmpa_seq} - \pdfmanagement_add:nnx{Info}{CreationDate}{(\l_@@_tmpa_tl)} + \pdfmanagement_add:nne{Info}{CreationDate}{(\l_@@_tmpa_tl)} % \end{macrocode} % ModifyDate % \begin{macrocode} \@@_xmp_date_get:nNN {document/moddate}\l_@@_tmpa_tl\l_@@_tmpa_seq \@@_xmp_add_packet_line:nne{xmp}{ModifyDate}{\@@_xmp_print_date:N\l_@@_tmpa_seq} - \pdfmanagement_add:nnx{Info}{ModDate}{(\l_@@_tmpa_tl)} + \pdfmanagement_add:nne{Info}{ModDate}{(\l_@@_tmpa_tl)} % \end{macrocode} % MetadataDate % \begin{macrocode} @@ -2273,7 +2273,7 @@ % \end{macrocode} % pdfdocumentid / xmpMM:DocumentID % \begin{macrocode} - \str_set:Nx\l_@@_tmpa_str {\GetDocumentProperties{hyperref/pdfdocumentid}} + \str_set:Ne\l_@@_tmpa_str {\GetDocumentProperties{hyperref/pdfdocumentid}} \str_if_empty:NT \l_@@_tmpa_str { \@@_xmp_create_uuid:nN @@ -2285,7 +2285,7 @@ % \end{macrocode} % pdfinstanceid / xmpMM:InstanceID % \begin{macrocode} - \str_set:Nx\l_@@_tmpa_str {\GetDocumentProperties{hyperref/pdfinstanceid}} + \str_set:Ne\l_@@_tmpa_str {\GetDocumentProperties{hyperref/pdfinstanceid}} \str_if_empty:NT \l_@@_tmpa_str { \@@_xmp_create_uuid:nN @@ -2473,7 +2473,7 @@ { \@@_xmp_add_packet_open_attr:nnn {Iptc4xmpCore}{CreatorContactInfo}{rdf:parseType="Resource"} - \tl_gput_right:Nx\g_@@_xmp_packet_tl { \l_@@_xmp_iptc_data_tl } + \tl_gput_right:Ne\g_@@_xmp_packet_tl { \l_@@_xmp_iptc_data_tl } \@@_xmp_add_packet_close:nn {Iptc4xmpCore}{CreatorContactInfo} } @@ -2552,7 +2552,7 @@ % The page count is take from the previous run or from % pdfnumpages. % \begin{macrocode} - \tl_set:Nx \l_@@_tmpa_tl { \GetDocumentProperties{hyperref/pdfnumpages} } + \tl_set:Ne \l_@@_tmpa_tl { \GetDocumentProperties{hyperref/pdfnumpages} } \@@_xmp_add_packet_line:nne {prism}{pageCount} {\tl_if_blank:VTF \l_@@_tmpa_tl {\PreviousTotalPages}{\l_@@_tmpa_tl}} @@ -2599,7 +2599,7 @@ \@@_xmp_build_packet: \exp_args:No \__pdf_backend_metadata_stream:n {\g_@@_xmp_packet_tl} - \pdfmanagement_add:nnx {Catalog} {Metadata}{\pdf_object_ref_last:} + \pdfmanagement_add:nne {Catalog} {Metadata}{\pdf_object_ref_last:} \bool_if:NT \g_@@_xmp_export_bool { \iow_open:Nn\g_tmpa_iow{\g_@@_xmp_export_str.xmpi} diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdftools.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdftools.dtx index 6906727952a..ce9958a9bb0 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdftools.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdftools.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -231,7 +231,7 @@ % % \begin{macrocode} %<*header> -\ProvidesExplPackage{l3pdftools}{2023-10-09}{0.96a} +\ProvidesExplPackage{l3pdftools}{2023-11-05}{0.96b} {candidate commands for l3pdf---LaTeX PDF management testphase bundle} %</header> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfxform.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfxform.dtx index 4df838e625d..bb25497b41b 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfxform.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfxform.dtx @@ -48,7 +48,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -132,7 +132,7 @@ % \begin{macrocode} %<@@=pdf> %<*header> -\ProvidesExplPackage{l3pdfxform}{2023-10-09}{0.96a} +\ProvidesExplPackage{l3pdfxform}{2023-11-05}{0.96b} {command to create xforms (beta)---LaTeX PDF management testphase bundle} %</header> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/ltdocinit.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/ltdocinit.dtx index 96da24d6482..6501ef67150 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/ltdocinit.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/ltdocinit.dtx @@ -47,7 +47,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -220,7 +220,7 @@ % \begin{macrocode} %<@@=pdfmanagement> %<*header> -\ProvidesExplPackage{ltdocinit}{2023-10-09}{0.96a} +\ProvidesExplPackage{ltdocinit}{2023-11-05}{0.96b} {Initialize document metadata} %</header> % \end{macrocode} @@ -280,7 +280,7 @@ % \begin{macrocode} \NewDocumentCommand\AddToDocumentProperties{O{\@currname}mm} { - \exp_args:NNx + \exp_args:NNe \prop_gput:Nnn \g_@@_documentproperties_prop { \tl_if_blank:eTF {#1}{top-level/}{#1/} #2 @@ -333,7 +333,7 @@ } \NewDocumentCommand\ShowDocumentProperties {} { - \msg_show:nnx {pdfmanagement}{show-properties} + \msg_show:nne {pdfmanagement}{show-properties} { \prop_map_function:NN \g_@@_documentproperties_prop \msg_show_item:nn } diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-firstaid.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-firstaid.dtx index 29fcf8bafa5..3835be9ef2b 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-firstaid.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-firstaid.dtx @@ -47,7 +47,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -63,7 +63,7 @@ % |debug={firstaidoff={name1,name2,...},...}|. % \begin{macrocode} %<*package> -\ProvidesExplPackage{pdfmanagement-firstaid}{2023-10-09}{0.96a} +\ProvidesExplPackage{pdfmanagement-firstaid}{2023-11-05}{0.96b} {LaTeX PDF management testphase bundle / firstaid-patches} %<@@=pdfmanagement> @@ -103,15 +103,78 @@ { \bool_if:NT \g_@@_firstaid_fontspec_bool { - \@ifpackagelater{fontspec}{2023-03-10} + \AddToHook{package/fontspec/after} { - \__fontspec_keys_define_code:nnn {fontspec} {Color} - { - \tl_set:Nn \l__fontspec_hexcol_tl {#1} - } - }{} + \@ifpackagelater{fontspec}{2023-11-05} + {\typeout{PDF~Management:~fontspec~firstaid~ignored}} + { + \def\c__fontspec_opacity_tl{} + \__fontspec_keys_define_code:nnn {fontspec} {Color} + { + \color_if_exist:nTF {#1} + { + \tl_set:Nn \l__fontspec_hexcol_tl {#1} + } + { + \cs_if_exist:cTF { \token_to_str:N \color@ #1 } + { + \convertcolorspec{named}{#1}{HTML}\l__fontspec_hexcol_tl + } + { + \int_compare:nTF { \tl_count:n {#1} == 6 } + { \tl_set:Nn \l__fontspec_hexcol_tl {#1} } + { + \int_compare:nTF { \tl_count:n {#1} == 8 } + { \fontspec_parse_colour:viii #1 } + { + \bool_if:NF \l__fontspec_firsttime_bool + { \__fontspec_warning:nx {bad-colour} {#1} } + } + } + } + } + } +% \end{macrocode} +% add a comma +% \begin{macrocode} + \__fontspec_keys_define_code:nnn {fontspec} {Opacity} + { + \int_set:Nn \l__fontspec_tmp_int {255} + \__fontspec_int_mult_truncate:Nn \l__fontspec_tmp_int { #1 } + \tl_if_eq:NNF \l__fontspec_opacity_tl \c__fontspec_opacity_tl + { + \bool_if:NF \l__fontspec_firsttime_bool + { \__fontspec_warning:nx {opa-twice} {#1} } + } + \tl_set:Nx \l__fontspec_opacity_tl + { + , + \int_compare:nT { \l__fontspec_tmp_int <= "F } {0} % zero pad + \int_to_hex:n { \l__fontspec_tmp_int } + } + } +% \end{macrocode} +% and a brace +% \begin{macrocode} + \cs_set:Nn \__fontspec_get_features:n + { + \__fontspec_init_fontface: + \__fontspec_keys_set_known:nxN {fontspec-renderer} {\l__fontspec_fontfeat_clist,#1} + \l__fontspec_keys_leftover_clist + \__fontspec_keys_set_known:nxN {fontspec} {\l__fontspec_keys_leftover_clist} \l__fontspec_keys_leftover_clist + \keys_set:nV {fontspec-opentype} \l__fontspec_keys_leftover_clist + + \tl_if_empty:NF \l__fontspec_mapping_tl + { \__fontspec_update_featstr:n { mapping = \l__fontspec_mapping_tl } } + + \str_if_eq:eeF { \l__fontspec_hexcol_tl \l__fontspec_opacity_tl } + { \c__fontspec_hexcol_tl \c__fontspec_opacity_tl } + { \__fontspec_update_featstr:n { color = {\l__fontspec_hexcol_tl\l__fontspec_opacity_tl } } } + } + } } } + } % \end{macrocode} % \subsection{\pkg{beamer}} @@ -314,21 +377,21 @@ } \cs_generate_variant:Nn \tl_trim_spaces:n{V} -\cs_generate_variant:Nn \pdfmanagement_add:nnn {nex} +\cs_generate_variant:Nn \pdfmanagement_add:nnn {nee} \cs_new:Npn \@@_patch_pgfextgs:w #1/#2<<#3>>#4\q_stop { - \tl_set:Nx\l_tmpa_tl{#2} - \pdfmanagement_add:nex + \tl_set:Ne\l_tmpa_tl{#2} + \pdfmanagement_add:nee {Page/Resources/ExtGState}{\tl_trim_spaces:V\l_tmpa_tl}{<<#3 #4>>} } \cs_new:Npn \@@_patch_pgfpatterns:w #1/#2\space#3\q_stop { - \pdfmanagement_add:nex + \pdfmanagement_add:nee {Page/Resources/Pattern}{\tl_trim_spaces:n{#2}}{#3} } \cs_new:Npn \@@_patch_pgfcolorspaces:w #1/#2[#3]#4\q_stop { - \pdfmanagement_add:nex + \pdfmanagement_add:nee {Page/Resources/ColorSpace}{\tl_trim_spaces:n{#2}}{[#3]} } diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.dtx index 0fa1b2130b0..bb6140dd31e 100644 --- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.dtx +++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.dtx @@ -47,7 +47,7 @@ % }^^A % } % -% \date{Version 0.96a, released 2023-10-09} +% \date{Version 0.96b, released 2023-11-05} % % \maketitle % \begin{documentation} @@ -395,7 +395,7 @@ % \begin{macrocode} %<@@=pdf> %<*package> -\ProvidesExplPackage{pdfmanagement-testphase}{2023-10-09}{0.96a} +\ProvidesExplPackage{pdfmanagement-testphase}{2023-11-05}{0.96b} {LaTeX PDF management testphase bundle} \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} \IfFormatAtLeastTF{2020-10-01}{}{ @@ -423,7 +423,7 @@ % to allow to set it in the document. % \begin{macrocode} %<*header> -\ProvidesExplFile{pdfmanagement-testphase.ltx}{2023-10-09}{0.96a} +\ProvidesExplFile{pdfmanagement-testphase.ltx}{2023-11-05}{0.96b} {PDF~management~code~(testphase)} % \end{macrocode} % We define a boolean for the new delayed shipout. This is temporary. At some |