summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-07-31 20:56:25 +0000
committerKarl Berry <karl@freefriends.org>2021-07-31 20:56:25 +0000
commit0f16883734671b9de034bb28b54771c4e509783f (patch)
treed9a699c3a7ab83e6203b18fa618693b922dc9ab9 /Master
parent908d657f38d20fce93644b10ae715d8512f44215 (diff)
pdfmanagement-testphase (31jul21)
git-svn-id: svn://tug.org/texlive/trunk@60127 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/CHANGELOG.md17
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/hyperref-generic.pdfbin949513 -> 948089 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3backend-testphase.pdfbin594809 -> 591169 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfannot.pdfbin577451 -> 577331 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfdict.pdfbin527225 -> 527111 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-action.pdfbin548003 -> 547881 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-checkbox.pdfbin531031 -> 530911 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-choice.pdfbin534245 -> 534125 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-pushbutton.pdfbin526426 -> 526311 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-radiobutton.pdfbin576432 -> 576314 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-textfield.pdfbin505665 -> 505534 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield.pdfbin739384 -> 739256 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffile.pdfbin553454 -> 553330 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmanagement.pdfbin658859 -> 673135 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmeta.pdfbin664002 -> 663896 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdftools.pdfbin518408 -> 518296 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfxform.pdfbin418445 -> 418329 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/ltdocinit.pdfbin537047 -> 536935 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-firstaid.pdfbin421608 -> 421483 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-testphase.pdfbin446478 -> 446355 bytes
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/hyperref-generic.dtx139
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3backend-testphase.dtx116
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfannot.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfdict.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-action.dtx2
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-checkbox.dtx2
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-choice.dtx2
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-pushbutton.dtx2
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-radiobutton.dtx2
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-textfield.dtx2
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffile.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmanagement.dtx254
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmeta.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdftools.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfxform.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/ltdocinit.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-firstaid.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.dtx6
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def132
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def38
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def31
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def24
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def37
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def37
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def38
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase.lua1
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdflscape-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx120
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/transparent-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty20
57 files changed, 588 insertions, 486 deletions
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/CHANGELOG.md b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/CHANGELOG.md
index d22bc201ff8..e9ff54953da 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/CHANGELOG.md
@@ -4,6 +4,23 @@ first release 0.95a, 2021-02-23 will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
this project uses date-based 'snapshot' version identifiers.
+
+
+## [2021-07-31]
+### Added
+ - \IfPDFManagementActiveTF as copy of `\pdfmanagement_if_active:TF
+ - \PDFManagementAdd as copy of `\pdfmanagement_add:xxx`
+ - Support for name trees /AP and /JavaScript in Catalog/Names
+ - Support to add user file names to /EmbeddedFiles (beside the existing
+ way with automatically generated names)
+ - if xcolor is loaded the colors it predefines are now predefined also for l3color
+
+### Changed
+ - Implementation of the /EmbeddedFiles name tree, it is now more in line
+ with the other name trees.
+ - \Form no longer creates xform objects -- this affected spacing and produced
+ empty pages. The xform objects are now only created if fields are used.
+
## [2021-07-21]
### Added
- key `testphase` to \DeclareDocumentMetadata to load testphase packages like
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/README.md b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/README.md
index e521f810db0..fd565a6ea6e 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/README.md
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/README.md
@@ -1,6 +1,6 @@
# LaTeX PDF management testphase bundle
-Version: 0.95g, 2021-07-21
+Version: 0.95h, 2021-07-31
This package is used during a test phase to load the new PDF management code
of LaTeX.
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/hyperref-generic.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/hyperref-generic.pdf
index de4dd81f098..1ec46ba75c1 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/hyperref-generic.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/hyperref-generic.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3backend-testphase.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3backend-testphase.pdf
index 452b140f99e..9addd760c8f 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3backend-testphase.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3backend-testphase.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfannot.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfannot.pdf
index 88bc60c05d8..d2924f459af 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfannot.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfannot.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfdict.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfdict.pdf
index 8df8e77e732..b548db0e6aa 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfdict.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfdict.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-action.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-action.pdf
index e1074881bc8..8ca1a9bf06e 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-action.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-action.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-checkbox.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-checkbox.pdf
index 722ab053e62..6733f3ea399 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-checkbox.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-checkbox.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-choice.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-choice.pdf
index bb9bd4816ef..93a763cc9c1 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-choice.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-choice.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-pushbutton.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
index 599400bd4eb..5397bcb5e31 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-radiobutton.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
index 4543748a379..045af32e84c 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-textfield.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-textfield.pdf
index 168a0729934..1bacb229204 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-textfield.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield-textfield.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield.pdf
index b9d740e9f97..c2716312389 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffield.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffile.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffile.pdf
index faa18ada04a..37cad7dd548 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffile.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdffile.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmanagement.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmanagement.pdf
index f0174712175..5e1cb6535c7 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmanagement.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmanagement.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmeta.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmeta.pdf
index 030b8f17d85..d85623dae64 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmeta.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfmeta.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdftools.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdftools.pdf
index c322f0e976d..ee977c642c2 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdftools.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdftools.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfxform.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfxform.pdf
index 7e6db80d8ab..59336ced8e3 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfxform.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/l3pdfxform.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/ltdocinit.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/ltdocinit.pdf
index ce3ecd37bb0..4d155d2c4c9 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/ltdocinit.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/ltdocinit.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-firstaid.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
index 0aeab401dd0..5206d4027b7 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-testphase.pdf b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-testphase.pdf
index 4928dea1fc9..64f1d65c196 100644
--- a/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-testphase.pdf
+++ b/Master/texmf-dist/doc/latex/pdfmanagement-testphase/pdfmanagement-testphase.pdf
Binary files differ
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 e3d84d6ec63..4e0296c641c 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/hyperref-generic.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/hyperref-generic.dtx
@@ -86,7 +86,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
@@ -906,9 +906,6 @@
%^^A %% \l_@@_para_tmpa_tl
%^^A %% \l_@@_text_tmpa_str
%^^A %% \g_@@_text_tmpa_str
-%^^A %% \l_@@_CheckmarkYes_tl
-%^^A %% \l_@@_CheckmarkOff_tl
-%^^A %% \l_@@_RadioYes_tl
%^^A %% \g_@@_bordercolormodel_tl
%
%^^A %% \l_@@_dest_pdfview_tl
@@ -921,7 +918,7 @@
%<@@=hyp>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesFile{hgeneric-testphase.def}[2021-07-21 v0.95g %
+\ProvidesFile{hgeneric-testphase.def}[2021-07-31 v0.95h %
generic Hyperref driver for the LaTeX PDF management testphase bundle]
\RequirePackage{etoolbox} %why?
@@ -2482,7 +2479,7 @@
% \end{hypkey}
% \begin{hypkey}{colorurl,colorlink,colorrun,colormenu,colorfile}
% \begin{hypkey}{urlcolor,linkcolor,runcolor,menucolor,filecolor}
-% \begin{hypkey}{allcolor}
+% \begin{hypkey}{allcolors}
% \begin{macrocode}
\seq_map_inline:Nn \c_@@_annot_types_seq
{
@@ -4215,14 +4212,9 @@
\ExplSyntaxOff
\ExplSyntaxOn
-\tl_new:N \l_@@_CheckmarkYes_tl
-\tl_set:Nn \l_@@_CheckmarkYes_tl { @@_xform_CheckMarkYes }
-\tl_new:N \l_@@_CheckmarkOff_tl
-\tl_set:Nn \l_@@_CheckmarkOff_tl { @@_xform_CheckMarkOff }
\def\@Form[#1]
{
- \@ifundefined{textcolor}{\let\textcolor\@gobble}{}
\kvsetkeys{Form}{#1}
\pdf@ifdraftmode{}
{
@@ -4240,8 +4232,7 @@
}
\seq_sort:Nn \l_@@_tmpa_seq
{
- \int_compare:nNnTF { \pdf@strcmp{##1}{##2} } > { 0 }
- %\str_compare:nNnTF {##1} > {##2}
+ \str_compare:nNnTF {##1} > {##2}
{ \sort_return_swapped: }
{ \sort_return_same: }
}
@@ -4271,64 +4262,6 @@
\pdfmanagement_remove:nn {Catalog / AcroForm }{NeedAppearances}
}
}
- \MakeFieldObject
- {
- \group_begin:
- \fontfamily{pzd}
- \fontencoding{U}
- \fontseries{m}
- \fontshape{n}
- \selectfont
- \char123
- \group_end:
- }
- {@@_xform_Ding}
- \MakeFieldObject
- {
- \group_begin:
- \fontfamily{pzd}
- \fontencoding{U}
- \fontseries{m}
- \fontshape{n}
- \selectfont
- \phantom{\char123}
- \group_end:
- }
- {@@_xform_DingOff}
- \MakeFieldObject
- {
- \group_begin:
- \fontfamily{pzd}
- \fontencoding{U}
- \fontseries{m}
- \fontshape{n}
- \selectfont
- \char51
- \group_end:
- }
- {@@_xform_CheckMarkYes}
- \MakeFieldObject
- {
- \group_begin:
- \fontfamily{pzd}
- \fontencoding{U}
- \fontseries{m}
- \fontshape{n}
- \selectfont
- \phantom{\char51} %perhaps xetex needs some small glyph ..
- \group_end:
- }
- {@@_xform_CheckMarkOff}
- \MakeFieldObject
- {
- \fbox{\textcolor{yellow}{\textsf{Submit}}} %color?
- }
- {@@_xform_Submit}
- \MakeFieldObject
- {
- \fbox{\textcolor{yellow}{\textsf{SubmitP}}} %color?
- }
- {@@_xform_SubmitP}
}
\ExplSyntaxOff
\let\@endForm\ltx@empty
@@ -4468,8 +4401,7 @@
}%
\endgroup
}
-\tl_new:N \l_@@_RadioYes_tl
-\tl_set:Nn \l_@@_RadioYes_tl { @@_xform_Ding }
+
\def\@@Radio#1{%
\Fld@listcount=0~%
%\show\Fld@default
@@ -4484,7 +4416,21 @@
\leavevmode
\HyAnn@AbsPageLabel
\Hy@escapeform\PDFForm@Radio
- \pdfannot_box:nnnn
+ \pdfxform_if_exist:nF { @@_xform_Ding }
+ {
+ \pdfxform_new:nnn { @@_xform_Ding } {}
+ {
+ \group_begin:
+ \fontfamily{pzd}
+ \fontencoding{U}
+ \fontseries{m}
+ \fontshape{n}
+ \selectfont
+ \char123
+ \group_end:
+ }
+ }
+ \pdfannot_box:nnnx
{\Fld@width}
{\Fld@height}
{0pt} %is this correct?
@@ -4494,7 +4440,7 @@
<<
/N
<<
- /\@currValue\c_space_tl \pdfxform_ref:o {@@_xform_Ding}
+ /\@currValue\c_space_tl \pdfxform_ref:n {@@_xform_Ding}
%/Off \c_space_tl \pdfxform_ref:n {@@_xform_DingOff} %hm
>>
>>
@@ -4582,6 +4528,18 @@
\HyAnn@AbsPageLabel
\Hy@escapeform\PDFForm@Submit
\hbox_set:Nn \l_tmpa_box { \MakeButtonField {#2}}
+ \pdfxform_if_exist:nF
+ { @@_xform_Submit }
+ {
+ \pdfxform_new:nnn { @@_xform_Submit }{}
+ {
+ \fbox{\color_select:n{yellow}\textsf{Submit}}
+ }
+ \pdfxform_new:nnn { @@_xform_SubmitP }{}
+ {
+ \fbox{\color_select:n{yellow}\textsf{SubmitP}}
+ }
+ }
\pdfannot_box:nnnn
{\box_wd:N\l_tmpa_box}
{\box_ht:N\l_tmpa_box}
@@ -4654,6 +4612,33 @@
\mode_leave_vertical:
\HyAnn@AbsPageLabel
\Hy@escapeform\PDFForm@Check
+ \pdfxform_if_exist:nF { @@_xform_CheckMarkYes }
+ {
+ \pdfxform_new:nnn
+ {@@_xform_CheckMarkYes}{}
+ {
+ \group_begin:
+ \fontfamily{pzd}
+ \fontencoding{U}
+ \fontseries{m}
+ \fontshape{n}
+ \selectfont
+ \char51
+ \group_end:
+ }
+ \pdfxform_new:nnn
+ {@@_xform_CheckMarkOff}{}
+ {
+ \group_begin:
+ \fontfamily{pzd}
+ \fontencoding{U}
+ \fontseries{m}
+ \fontshape{n}
+ \selectfont
+ \phantom{\char51} %perhaps xetex needs some small glyph ..
+ \group_end:
+ }
+ }
\pdfannot_box:nnnn
{\Fld@width}
{\Fld@height}
@@ -4874,8 +4859,8 @@
<<
/N
<<
- /Yes~\pdfxform_ref:o{\l_@@_CheckmarkYes_tl}
- /Off~\pdfxform_ref:o{\l_@@_CheckmarkOff_tl}
+ /Yes~\pdfxform_ref:n{@@_xform_CheckMarkYes}
+ /Off~\pdfxform_ref:n{@@_xform_CheckMarkOff}
>>
>>
/MK<<
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 7b4aad8fe6b..0102b1c5742 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.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
%
@@ -56,27 +56,27 @@
% \begin{macrocode}
%<drivers>\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-testphase-dvipdfmx.def}{2021-07-21}{}
+ {l3backend-testphase-dvipdfmx.def}{2021-07-31}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-testphase-dvips.def}{2021-07-21}{}
+ {l3backend-testphase-dvips.def}{2021-07-31}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-testphase-dvisvgm.def}{2021-07-21}{}
+ {l3backend-testphase-dvisvgm.def}{2021-07-31}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-testphase-luatex.def}{2021-07-21}{}
+ {l3backend-testphase-luatex.def}{2021-07-31}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-testphase-pdftex.def}{2021-07-21}{}
+ {l3backend-testphase-pdftex.def}{2021-07-31}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)}
%</pdftex>
%<*xdvipdfmx>
- {l3backend-testphase-xetex.def}{2021-07-21}{}
+ {l3backend-testphase-xetex.def}{2021-07-31}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX}
%</xdvipdfmx>
% \end{macrocode}
@@ -1086,116 +1086,70 @@
% \subsubsection { Special case: the /Names/EmbeddedFiles dictionary }
% Entries to /Names are handled differently, in part (/Desc) it is automatic, for
% other special commands like \cs{pdfnames} must be used. For EmbeddedFiles
-% we need some code to push the tree if files have been added. dvips wants code
-% for every file and then creates the Name tree automatically.
+% dvips wants code for every file and then creates the Name tree automatically.
+% Other name trees are ignored.
+% TODO: Currently the code for EmbeddedFiles is still a bit
+% different but this should be merged, all name trees should be handled with the
+% same code.
% \begin{macrocode}
% pdflatex
%<*pdftex>
-\cs_new_protected:Npn \@@_backend_NamesEmbeddedFiles_gpush:n #1 %array content
+\cs_new_protected:Npn \@@_backend_Names_gpush:nn #1 #2 %#1 name of name tree, #2 array content
{
- \pdf_object_unnamed_write:nn {dict} {/Names [#1] }
- \tex_pdfnames:D {/EmbeddedFiles~\pdf_object_ref_last:}
+ \pdf_object_unnamed_write:nn {dict} {/Names [#2] }
+ \tex_pdfnames:D {/#1~\pdf_object_ref_last:}
}
%</pdftex>
%<*luatex>
-\cs_new_protected:Npn \@@_backend_NamesEmbeddedFiles_gpush:n #1 %array content
+\cs_new_protected:Npn \@@_backend_Names_gpush:nn #1 #2 %#1 name of name tree, #2 array content
{
- \pdf_object_unnamed_write:nn {dict} {/Names [#1] }
- \tex_pdfextension:D~names~{/EmbeddedFiles~\pdf_object_ref_last: }
+ \pdf_object_unnamed_write:nn {dict} {/Names [#2] }
+ \tex_pdfextension:D~names~ {/#1~\pdf_object_ref_last:}
}
%</luatex>
%<*dvipdfmx|xdvipdfmx>
-\cs_new_protected:Npn \@@_backend_NamesEmbeddedFiles_gpush:n #1 %array content
+\cs_new_protected:Npn \@@_backend_Names_gpush:nn #1 #2 %#1 name of name tree, #2 array content
{
- \pdf_object_unnamed_write:nn {dict} { /Names [#1] }
- %n or x?
- \@@_backend:x {put~@names~<</EmbeddedFiles~\pdf_object_ref_last: >>}
+ \pdf_object_unnamed_write:nn {dict} {/Names [#2] }
+ \@@_backend:x {put~@names~<</#1~\pdf_object_ref_last: >>}
}
%</dvipdfmx|xdvipdfmx>
%dvips: noop
%<*dvips>
-\cs_new_protected:Npn \@@_backend_NamesEmbeddedFiles_gpush:n #1 {}
+\cs_new_protected:Npn \@@_backend_Names_gpush:nn #1 #2 {}
%</dvips>
%dvisvgm: noop
%<*dvisvgm>
-\cs_new_protected:Npn \@@_backend_NamesEmbeddedFiles_gpush:n #1 {}
+\cs_new_protected:Npn \@@_backend_Names_gpush:nn #1 #2 {}
%</dvisvgm>
-
-% \end{macrocode}
-% Names in the EmbeddedFiles name tree must sorted alphabetically,
-% so we need commands to create this names. And we need a sequence to store
-% the names and the objects. We use the prefix l3ef, and we assume that at
-% most 9999 files will be used.
-% \begin{variable}{\g_@@_backend_EmbeddedFiles_int}
-% \end{variable}
-% \begin{macro}{\@@_backend_EmbeddedFiles_name:}
-% \begin{macrocode}
-%<*drivers>
-\int_new:N \g_@@_backend_EmbeddedFiles_int
-\cs_new:Npn \@@_backend_EmbeddedFiles_name:
- {
- (
- l3ef
- \int_compare:nNnT {\g_@@_backend_EmbeddedFiles_int} < {10}
- {0}
- \int_compare:nNnT {\g_@@_backend_EmbeddedFiles_int} < {100}
- {0}
- \int_compare:nNnT {\g_@@_backend_EmbeddedFiles_int} < {1000}
- {0}
- \int_use:N \g_@@_backend_EmbeddedFiles_int
- )
- }
-%</drivers>
-% \end{macrocode}
-% \end{macro}
-% \begin{variable}{\g_@@_backend_EmbeddedFiles_seq,\g_@@_backend_EmbeddedFiles_named_prop}
-% The sequence will hold the content of the array that is pushed out at then
-% end (not with dvips), the prop holds the obj names-names relation.
-% \end{variable}
-% \begin{macrocode}
-%<*drivers>
-\seq_new:N \g_@@_backend_EmbeddedFiles_seq
-\prop_new:N \g_@@_backend_EmbeddedFiles_named_prop
-%</drivers>
% \end{macrocode}
-% \begin{macro}{\@@_backend_NamesEmbeddedFiles_add:n}
-% This command saves an object reference of a filespec dictionary in the
-% EmbeddedFiles name tree. We define a prop to store the relation between
-% object name and name in the name tree.
+% EmbeddedFiles is a bit special.
+% For once we need backend commands for dvips.
+% But we want also an option to create the name on the fly.
+% \begin{macro}{\@@_backend_NamesEmbeddedFiles_add:nn}
+% dvips need special backend code to create the name tree.
+% With the other engines it does nothing.
% \begin{macrocode}
%<*pdftex|luatex|dvipdfmx|xdvipdfmx>
-\cs_new_protected:Npn \@@_backend_NamesEmbeddedFiles_add:n #1
- %#1 object ref
- {
- \int_gincr:N \g_@@_backend_EmbeddedFiles_int
- \prop_gput:Nnx \g_@@_backend_EmbeddedFiles_named_prop
- { #1 }
- { \@@_backend_EmbeddedFiles_name: }
- \seq_gput_right:Nx \g_@@_backend_EmbeddedFiles_seq
- { \@@_backend_EmbeddedFiles_name: \c_space_tl #1 }
- }
-
+\cs_new_protected:Npn \@@_backend_NamesEmbeddedFiles_add:nn #1 #2 {}
%</pdftex|luatex|dvipdfmx|xdvipdfmx>
%<*dvips>
-\cs_new_protected:Npn \@@_backend_NamesEmbeddedFiles_add:n #1
+\cs_new_protected:Npn \@@_backend_NamesEmbeddedFiles_add:nn #1 #2
{
- \int_gincr:N \g_@@_backend_EmbeddedFiles_int
- \prop_gput:Nnx \g_@@_backend_EmbeddedFiles_named_prop
- { #1 }
- { \@@_backend_EmbeddedFiles_name: }
\@@_backend_pdfmark:x
{
- /Name~\@@_backend_EmbeddedFiles_name:~
- /FS~#1~
+ /Name~#1~
+ /FS~#2~
/EMBED
}
}
%</dvips>
%<*dvisvgm>
%no op. Or is there any sensible use for it?
-\cs_new_protected:Npn \@@_backend_NamesEmbeddedFiles_add:n #1
+\cs_new_protected:Npn \@@_backend_NamesEmbeddedFiles_add:nn #1 #2
{}
+
%</dvisvgm>
% \end{macrocode}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfannot.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfannot.dtx
index 4f4778699a9..8bd41b49c8d 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfannot.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfannot.dtx
@@ -52,7 +52,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
@@ -424,7 +424,7 @@
% \begin{macrocode}
%<@@=pdfannot>
%<*header>
-\ProvidesExplPackage{l3pdfannot}{2021-07-21}{0.95g}
+\ProvidesExplPackage{l3pdfannot}{2021-07-31}{0.95h}
{PDF-annotations}
\RequirePackage{l3pdfdict}
%</header>
diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfdict.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfdict.dtx
index ef283dd6640..e80d6097cbb 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfdict.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfdict.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
@@ -212,7 +212,7 @@
% \begin{macrocode}
%<@@=pdfdict>
%<*header>
-\ProvidesExplPackage{l3pdfdict}{2021-07-21}{0.95g}
+\ProvidesExplPackage{l3pdfdict}{2021-07-31}{0.95h}
{Tools for PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
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 146214c7f15..77bf53bd856 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-action.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-action.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
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 32f2f76ffe3..a1386fcc086 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-checkbox.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-checkbox.dtx
@@ -68,7 +68,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
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 f247ef51425..de162d3ab7f 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-choice.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-choice.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
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 3d6ee2c6c2f..02889ec5e3e 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
@@ -59,7 +59,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
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 3a451bceadc..b25b7ead14d 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
@@ -87,7 +87,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
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 81330a65201..1289d54de9e 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-textfield.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-textfield.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield.dtx
index 36e4415eef0..5a1d17809ec 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield.dtx
@@ -73,7 +73,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
@@ -970,7 +970,7 @@
%<*package>
%<@@=pdffield>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{l3pdffield-testphase}{2021-07-21}{0.95g}%
+\ProvidesExplPackage{l3pdffield-testphase}{2021-07-31}{0.95h}%
{form fields}
% \end{macrocode}
% \subsection{hyperref specific command}
diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffile.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffile.dtx
index 0fadfbe46f6..56e927b41df 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffile.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffile.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
@@ -400,7 +400,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdffile}{2021-07-21}{0.95g}
+\ProvidesExplPackage{l3pdffile}{2021-07-31}{0.95h}
{embedding and referencing files in PDF---LaTeX PDF management testphase bundle}
\RequirePackage{l3pdftools} %temporarly!!
%</header>
diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmanagement.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmanagement.dtx
index 0390980da5b..c3de57b74c5 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmanagement.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmanagement.dtx
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
@@ -137,9 +137,14 @@
% {\pdfmanagement_if_active:}
% This conditional tests if the resource management code is active.
% \end{function}
-%
-% \begin{function}[added = 2020-04-06]
-% {\pdfmanagement_add:nnn,\pdfmanagement_add:nnx,\pdfmanagement_add:nxx}
+% \begin{function}[added=2021-07-23]
+% {\IfPDFManagementActiveTF}
+% This is a LaTeX2e version of the conditional
+% \end{function}
+
+% \begin{function}[added = 2020-04-06,updated=2021-07-23]
+% {\pdfmanagement_add:nnn,\pdfmanagement_add:nnx,\pdfmanagement_add:nxx,\pdfmanagement_add:xxx,
+% \PDFManagementAdd}
% \begin{syntax}
% \cs{pdfmanagement_add:nnn} \Arg{resource path} \Arg{name} \Arg{value}
% \end{syntax}
@@ -152,7 +157,8 @@
% 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.
+% target dictionary. |\PDFManagementAdd| is a copy of |\pdfmanagement_add:xxx|
+% and so expands all its arguments.
%
%
% The code works with all major engines but not necessarily
@@ -166,6 +172,10 @@
% backends. Some engines have to use labels and the aux-file to setup
% the dictionaries and so need at least two compilations to put everything
% in place.
+% \item dvips doesn't support everything. It is for example not possible
+% to add manually or through side effects
+% a name tree like /AP or /JavaScript, pdfmark doesn't provide a handler
+% here---at least I didn't find anything suitable.
% \end{itemize}
% \end{function}
%
@@ -549,6 +559,61 @@
% attach the file to the file panel.
% \end{tabularx}
%
+% \paragraph{Catalog entries for name trees}
+%
+% \emph{Not supported in the dvips backend, pdfmark doesn't have an interface here}.
+%
+% In various places the PDF format allows to reference objects by name instead
+% of by object reference. The relationship between a name and the object reference
+% are store in so-called \emph{name trees}, which are stored in the
+% Catalog/Names dictionary. The |/Dests| and the |/EmbeddedFiles| name trees are
+% handled implicitly if destinations or files are added. Names to the other
+% name trees can be added with |\pdfmanagement_add:nnn|, e.g. to add an value to
+% the AP names (for appearance streams) use
+%
+% \begin{verbatim}
+% \pdfmanagement_add:nnx { Catalog / Names / AP } {myAPname} {\pdf_object_ref_last:}
+% \end{verbatim}
+%
+% Remarks:
+% \begin{itemize}
+% \item The name |myAPname| is processed through |\pdf_string_from_unicode:nnN{utf8/string}|
+% and parentheses are added automatically. Ensure that the use of the name
+% handles it in the same way.
+% \item It is currently not possible to test if a name has already been used
+% by another package or previous code,
+% so use names where you can be confident that they are unique.
+% (It would be possible to split up the first part and test, but it would slow
+% down the compilation and I'm not sure if it is worth the trouble)
+% \item The value is not preprocessed, it is up-to-you to ensure that it does the
+% right thing.
+% \item Currently the structure of the name tree is flat, it doesn't use
+% Kids. But this can be changed if the need arise.
+% \end{itemize}
+%
+% The following name trees can be filled with this method. Currently only the
+% first three are activated. For the first, |EmbeddedFiles| there are two methods
+% to add a value:\\
+% |\pdfmanagement_add:nnn{Catalog/Names/EmbeddedFiles}{name}{reference}|
+% and
+% |\pdfmanagement_add:nnn{Catalog/Names}{EmbeddedFiles}{reference}|.
+% This is intended, the second methods creates a name on the fly (with the prefix l3ef)
+%
+% \medskip
+% \noindent
+% \begin{tabularx}{\linewidth}{ll>{\raggedright\arraybackslash}X}
+% Catalog/Names/EmbeddedFiles & A name tree mapping name strings to file
+% specifications for embedded file streams. The value should be a reference to a filespec
+% dictionary\\
+% Catalog/Names/AP & A name tree mapping name strings to annotation appearance streams\\
+% Catalog/Names/JavaScript & A name tree mapping name strings to documentlevel ECMAScript actions\\
+% (inactive) Catalog/Names/Pages & A name tree mapping name strings to visible pages for use in interactive forms\\
+% (inactive) Catalog/Names/Templates & A name tree mapping name strings to invisible pages for use in interactive forms\\
+% (inactive) Catalog/Names/IDS & A name tree mapping digital identifiers to Web.Capture content sets\\
+% (inactive) Catalog/Names/URLS & A name tree mapping name strings to documentlevel ECMAScript actions\\
+% (inactive) Catalog/Names/Renditions & A name tree mapping name strings (which shall have Unicode encoding) to rendition objects
+% (it is not quite clear yet, what unicode encoding means here. Perhaps this string will need special handling)\\
+% \end{tabularx}
% \end{documentation}
%
% \begin{implementation}
@@ -557,7 +622,7 @@
%<@@=pdfmanagement>
%<*header>
%
-\ProvidesExplPackage{l3pdfmanagement}{2021-07-21}{0.95g}
+\ProvidesExplPackage{l3pdfmanagement}{2021-07-31}{0.95h}
{Management of core PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
@@ -576,6 +641,9 @@
\msg_new:nnn { pdfmanagement } { no-show }
{ It~is~not~possible~to~show~the~content~of~'#1'.}
+\msg_new:nnn { pdfmanagement } { name-exist }
+ { The~name~'#1'~has~already~been~used~for~name~tree~'#2'.}
+
\msg_new:nnn { pdfmanagement } { show-dict }
{
The~PDF~resource~'#1'~
@@ -593,6 +661,16 @@
command~'#1'~ignored.
}
% \end{macrocode}
+%
+% \begin{variable}{\l_@@_tmpa_tl,\l_@@_tmpb_tl,\l_@@_tmpa_seq}
+% Some temp variables
+% \begin{macrocode}
+\tl_new:N \l_@@_tmpa_tl
+\tl_new:N \l_@@_tmpb_tl
+\seq_new:N \l_@@_tmpa_seq
+% \end{macrocode}
+% \end{variable}
+
% \begin{variable}{\g_@@_active_bool}
% This boolean will control the activation of the management code.
% It is used in the hooks, and in some backend files.
@@ -612,6 +690,7 @@
\prg_set_eq_conditional:NNn
\pdfmanagement_if_active: \@@_if_active: { p , T , F , TF }
+\cs_set_eq:NN \IfPDFManagementActiveTF\pdfmanagement_if_active:TF
% \end{macrocode}
% We use a hook, to collect value added before the backend is ready.
% \begin{macrocode}
@@ -639,7 +718,8 @@
}
}
-\cs_generate_variant:Nn \pdfmanagement_add:nnn {nnx,nxx}
+\cs_generate_variant:Nn \pdfmanagement_add:nnn {nnx,nxx,xxx}
+\cs_set_eq:NN \PDFManagementAdd \pdfmanagement_add:xxx
% \end{macrocode}
% \subsection{Hooks -- shipout and end of run code}
% Code is executed in three places: At shipout of every page,
@@ -1006,6 +1086,7 @@
% \end{variable}
% \begin{macro}{ \@@_catalog_XX_gput:n }
% Various commands to handle subentries and special cases.
+% At first we set up a few lists of the various types.
% \begin{macrocode}
\pdfdict_new:n { g__pdf_Core/Catalog}
@@ -1059,8 +1140,24 @@
AcroForm/CO
}
-
-
+% \end{macrocode}
+% Names trees in Catalog/Names. We prepare the full list
+% but activate only AP and JavaScript for now.
+% /EmbeddedFiles has special code and so is not in the name list.
+% \begin{macrocode}
+\clist_const:Nn \c_@@_Catalog_nametree_clist
+ {
+ AP,
+ JavaScript,
+% Pages,
+% Templates,
+% IDS,
+% URLS,
+% Renditions
+ }
+% \end{macrocode}
+% now we create the handler. The entries in the seq-list store in a seq
+% \begin{macrocode}
\clist_map_inline:Nn \c_@@_Catalog_seq_clist
{
\seq_new:c { g_@@_/Catalog/#1_seq } % new name later
@@ -1070,6 +1167,10 @@
}
}
+% \end{macrocode}
+% OCProperties/D is special: it handles a default. This is done by adding to
+% the left of the seq
+% \begin{macrocode}
\cs_new_protected:cpn { @@_handler/Catalog/OCProperties/D_gput:n } #1
{
\seq_gput_left:cn
@@ -1077,6 +1178,58 @@
{ #1 }
}
% \end{macrocode}
+% The name tree keys store in a property and check for duplicates. This is done
+% with an auxiliary.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_nametree_add_aux:nnn #1 #2 #3
+ %#1 name tree, #2 sanitized name #3 value
+ {
+ \prop_get:coNTF
+ { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/Names/#1 }}
+ { #2 }
+ \l_@@_tmpb_tl
+ {
+ \msg_error:nnnn{pdfmanagement}{name-exist}{#2}{#1}
+ }
+ {
+ \prop_gput:con
+ { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/Names/#1 }}
+ { #2 }
+ { #3 }
+ }
+ }
+% \end{macrocode}
+% This is the standard handler for most names trees:
+% \begin{macrocode}
+\clist_map_inline:Nn \c_@@_Catalog_nametree_clist
+ {
+ \pdfdict_new:n { g__pdf_Core/Catalog/Names/#1}
+ \cs_new_protected:cpn { @@_handler/Catalog/Names/#1/?_gput:nn } ##1 ##2
+ {
+ \pdf_string_from_unicode:nnN {utf8/string}{##1}\l_@@_tmpa_tl
+ \exp_args:Nno
+ \@@_nametree_add_aux:nnn {#1}{\l_@@_tmpa_tl}{##2}
+ }
+ }
+% \end{macrocode}
+% EmbeddedFiles is a bit special. For once there is special backend code
+% needed by dvips. Beside this we also want the option to create the file name
+% on the fly, so they are actually two access methods:
+% |\pdfmanagement_add:nnn{Catalog/Names/EmbeddedFiles}{name}{reference}|
+% and
+% |\pdfmanagement_add:nnn{Catalog/Names}{EmbeddedFiles}{reference}|
+% \begin{macrocode}
+\pdfdict_new:n { g__pdf_Core/Catalog/Names/EmbeddedFiles}
+\cs_new_protected:cpn { @@_handler/Catalog/Names/EmbeddedFiles/?_gput:nn } #1 #2
+ {
+ \pdf_string_from_unicode:nnN {utf8/string}{#1}\l_@@_tmpa_tl
+ \exp_args:Nno
+ \@@_nametree_add_aux:nnn
+ {EmbeddedFiles}{\l_@@_tmpa_tl}{#2}
+ \exp_args:No
+ \__pdf_backend_NamesEmbeddedFiles_add:nn {\l_@@_tmpa_tl}{#2}
+ }
+% \end{macrocode}
% \end{macro}
% % \paragraph {Building the catalog: Push order}
% \begin{macro}{\@@_Catalog_gpush:}
@@ -1099,7 +1252,11 @@
{ \__kernel_pdfdict_name:n { g__pdf_Core/Catalog} }
\__pdf_backend_catalog_gput:nn
% output names tree:
- \use:c { @@_/Catalog/Names/EmbeddedFiles_gpush: }
+ \use:c{ @@_/Catalog/Names_gpush:n } {EmbeddedFiles}
+ \clist_map_inline:Nn \c_@@_Catalog_nametree_clist
+ {
+ \use:c{ @@_/Catalog/Names_gpush:n } {##1}
+ }
}
% \end{macrocode}
% \end{macro}
@@ -1283,12 +1440,12 @@
{ 0 }
{
\__pdf_backend_object_new:nn { @@/Catalog/OCProperties } { dict }
- \seq_gpop_left:cN { g_@@_/Catalog/OCProperties/Configs_seq} \l_tmpa_tl
+ \seq_gpop_left:cN { g_@@_/Catalog/OCProperties/Configs_seq} \l_@@_tmpa_tl
\exp_args:Nnx
\__pdf_backend_object_write:nn {@@/Catalog/OCProperties}
{
/OCGs~[ \seq_use:cn { g_@@_/Catalog/OCProperties/OCGs_seq } {~} ]
- /D~\l_tmpa_tl~
+ /D~\l_@@_tmpa_tl~
\seq_if_empty:cF { g_@@_/Catalog/OCProperties/Configs_seq }
{
/Configs~
@@ -1382,6 +1539,30 @@
% \begin{NOTE}{UF}
% TODO access function for the name in the name tree
% \end{NOTE}
+% \begin{variable}{\g_@@_EmbeddedFiles_int}
+% We want to create names for files on the fly. For this we use an int.
+% \begin{macrocode}
+\int_new:N \g_@@_EmbeddedFiles_int
+% \end{macrocode}
+% \end{variable}
+% \begin{macro}{\@@_EmbeddedFiles_name:}
+% We use the prefix l3ef, and pad numbers below 9999.
+% \begin{macrocode}
+\cs_new:Npn \@@_EmbeddedFiles_name:
+ {
+ (
+ l3ef
+ \int_compare:nNnT {\g_@@_EmbeddedFiles_int} < {10}
+ {0}
+ \int_compare:nNnT {\g_@@_EmbeddedFiles_int} < {100}
+ {0}
+ \int_compare:nNnT {\g_@@_EmbeddedFiles_int} < {1000}
+ {0}
+ \int_use:N \g_@@_EmbeddedFiles_int
+ )
+ }
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{ Handler}
% EmbeddedFiles is an array and needs a special handler to add values.
% \begin{macrocode}
@@ -1389,25 +1570,44 @@
\cs_new_protected:cpn { @@_handler/Catalog/Names/EmbeddedFiles_gput:n } #1
{
- \__pdf_backend_NamesEmbeddedFiles_add:n { #1 }
+ \int_gincr:N \g_@@_EmbeddedFiles_int
+ \exp_args:Nnx
+ \prop_gput:cnn
+ { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/Names/EmbeddedFiles }}
+ { \@@_EmbeddedFiles_name: }
+ { #1 }
+ \exp_args:Nx
+ \__pdf_backend_NamesEmbeddedFiles_add:nn {\@@_EmbeddedFiles_name:} { #1 }
}
% \end{macrocode}
% \end{macro}
-% The entry should only be added if there are actually embedded files.
-% This can be tested by checking the names_seq
-% \begin{macro}{\@@_/Catalog/Names/EmbeddedFiles_gpush:}
+% This pushes out the other names trees (but not with dvips).
+% TODO: currently it simply write in the root of the name tree.
+% That is the fastest.
+% If they get longer we perhaps need to build something with Kids and Limits.
+% \begin{macro}{\@@_/Catalog/Names/?_gpush:}
% \begin{macrocode}
-%
-\cs_new_protected:cpn { @@_/Catalog/Names/EmbeddedFiles_gpush: }
- {
- \seq_if_empty:NF \g__pdf_backend_EmbeddedFiles_seq
- {
- \exp_args:Nx \__pdf_backend_NamesEmbeddedFiles_gpush:n
- {
- \seq_use:Nn \g__pdf_backend_EmbeddedFiles_seq {~}
- }
- }
- }
+\cs_new_protected:cpn { @@_/Catalog/Names_gpush:n } #1 %#1 name of name tree
+ {
+ \pdfdict_if_empty:nF { g__pdf_Core/Catalog/Names/#1 }
+ {
+ \seq_clear:N \l_@@_tmpa_seq
+ \prop_map_inline:cn
+ {\__kernel_pdfdict_name:n { g__pdf_Core/Catalog/Names/#1 }}
+ { \seq_put_right:Nn \l_@@_tmpa_seq {##1~##2}}
+ \seq_sort:Nn \l_@@_tmpa_seq
+ {
+ \str_compare:nNnTF {##1} > {##2}
+ { \sort_return_swapped: }
+ { \sort_return_same: }
+ }
+ \exp_args:Nnx \__pdf_backend_Names_gpush:nn
+ {#1}
+ {
+ \seq_use:Nn \l_@@_tmpa_seq {~}
+ }
+ }
+ }
% \end{macrocode}
% \end{macro}
% \begin{macro}{@@_handler/Catalog/?_show:}
diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmeta.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmeta.dtx
index f590a2b8973..3ca574f02ad 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmeta.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmeta.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
@@ -343,7 +343,7 @@
% \begin{macrocode}
%<@@=pdfmeta>
%<*header>
-\ProvidesExplPackage{l3pdfmeta}{2021-07-21}{0.95g}
+\ProvidesExplPackage{l3pdfmeta}{2021-07-31}{0.95h}
{PDF-Standards---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdftools.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdftools.dtx
index 2df7203e0f8..efed778e785 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdftools.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdftools.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
@@ -215,7 +215,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdftools}{2021-07-21}{0.95g}
+\ProvidesExplPackage{l3pdftools}{2021-07-31}{0.95h}
{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 eef4ae7ee00..0591756bf0f 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfxform.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfxform.dtx
@@ -52,7 +52,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
@@ -136,7 +136,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*header>
-\ProvidesExplPackage{l3pdfxform}{2021-07-21}{0.95g}
+\ProvidesExplPackage{l3pdfxform}{2021-07-31}{0.95h}
{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 0679203098f..4e7eecc1abf 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/ltdocinit.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/ltdocinit.dtx
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
@@ -182,7 +182,7 @@
% \begin{macrocode}
%<@@=pdfmanagement>
%<*header>
-\ProvidesExplPackage{ltdocinit}{2021-07-21}{0.95g}
+\ProvidesExplPackage{ltdocinit}{2021-07-31}{0.95h}
{Initialize document metadata}
%</header>
% \end{macrocode}
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 364304de2ca..1295c4b6bf3 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
@@ -67,7 +67,7 @@
% |firstaidoff={name1,name2,...}|.
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{pdfmanagement-firstaid}{2021-07-21}{0.95g}
+\ProvidesExplPackage{pdfmanagement-firstaid}{2021-07-31}{0.95h}
{LaTeX PDF management testphase bundle / firstaid-patches}
%<@@=pdfmanagement>
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 7d0b20ee023..37dc11f65b1 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.dtx
+++ b/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.dtx
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Version 0.95g, released 2021-07-21}
+% \date{Version 0.95h, released 2021-07-31}
%
% \maketitle
% \begin{documentation}
@@ -384,7 +384,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*package>
-\ProvidesExplPackage{pdfmanagement-testphase}{2021-07-21}{0.95g}
+\ProvidesExplPackage{pdfmanagement-testphase}{2021-07-31}{0.95h}
{LaTeX PDF management testphase bundle}
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2020-10-01}{}{
@@ -411,7 +411,7 @@
% to allow to set it in the document.
% \begin{macrocode}
%<*header>
-\ProvidesExplFile{pdfmanagement-testphase.ltx}{2021-07-21}{0.95g}
+\ProvidesExplFile{pdfmanagement-testphase.ltx}{2021-07-31}{0.95h}
{PDF~management~code~(testphase)}
%</header>
%<*package>
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty
index b7765e97ed6..fca7c1c3ac5 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty
@@ -22,7 +22,7 @@
%% This file has the LPPL maintenance status "maintained".
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{color-ltx}[2021-07-21 v0.95g
+\ProvidesPackage{color-ltx}[2021-07-31 v0.95h
Standard LaTeX Color (patched for l3color, part of pdfmanagement-testphase, original version 2021/03/07 v1.2e) (DPC)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def
index 4003c62cc7d..fd3ad3b4cb0 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: hyperref-generic.dtx
-\ProvidesFile{hgeneric-testphase.def}[2021-07-21 v0.95g %
+\ProvidesFile{hgeneric-testphase.def}[2021-07-31 v0.95h %
generic Hyperref driver for the LaTeX PDF management testphase bundle]
\RequirePackage{etoolbox} %why?
@@ -2464,14 +2464,9 @@
\ExplSyntaxOff
\ExplSyntaxOn
-\tl_new:N \l__hyp_CheckmarkYes_tl
-\tl_set:Nn \l__hyp_CheckmarkYes_tl { __hyp_xform_CheckMarkYes }
-\tl_new:N \l__hyp_CheckmarkOff_tl
-\tl_set:Nn \l__hyp_CheckmarkOff_tl { __hyp_xform_CheckMarkOff }
\def\@Form[#1]
{
- \@ifundefined{textcolor}{\let\textcolor\@gobble}{}
\kvsetkeys{Form}{#1}
\pdf@ifdraftmode{}
{
@@ -2489,8 +2484,7 @@
}
\seq_sort:Nn \l__hyp_tmpa_seq
{
- \int_compare:nNnTF { \pdf@strcmp{##1}{##2} } > { 0 }
- %\str_compare:nNnTF {##1} > {##2}
+ \str_compare:nNnTF {##1} > {##2}
{ \sort_return_swapped: }
{ \sort_return_same: }
}
@@ -2520,64 +2514,6 @@
\pdfmanagement_remove:nn {Catalog / AcroForm }{NeedAppearances}
}
}
- \MakeFieldObject
- {
- \group_begin:
- \fontfamily{pzd}
- \fontencoding{U}
- \fontseries{m}
- \fontshape{n}
- \selectfont
- \char123
- \group_end:
- }
- {__hyp_xform_Ding}
- \MakeFieldObject
- {
- \group_begin:
- \fontfamily{pzd}
- \fontencoding{U}
- \fontseries{m}
- \fontshape{n}
- \selectfont
- \phantom{\char123}
- \group_end:
- }
- {__hyp_xform_DingOff}
- \MakeFieldObject
- {
- \group_begin:
- \fontfamily{pzd}
- \fontencoding{U}
- \fontseries{m}
- \fontshape{n}
- \selectfont
- \char51
- \group_end:
- }
- {__hyp_xform_CheckMarkYes}
- \MakeFieldObject
- {
- \group_begin:
- \fontfamily{pzd}
- \fontencoding{U}
- \fontseries{m}
- \fontshape{n}
- \selectfont
- \phantom{\char51} %perhaps xetex needs some small glyph ..
- \group_end:
- }
- {__hyp_xform_CheckMarkOff}
- \MakeFieldObject
- {
- \fbox{\textcolor{yellow}{\textsf{Submit}}} %color?
- }
- {__hyp_xform_Submit}
- \MakeFieldObject
- {
- \fbox{\textcolor{yellow}{\textsf{SubmitP}}} %color?
- }
- {__hyp_xform_SubmitP}
}
\ExplSyntaxOff
\let\@endForm\ltx@empty
@@ -2717,8 +2653,7 @@
}%
\endgroup
}
-\tl_new:N \l__hyp_RadioYes_tl
-\tl_set:Nn \l__hyp_RadioYes_tl { __hyp_xform_Ding }
+
\def\__hypRadio#1{%
\Fld@listcount=0~%
%\show\Fld@default
@@ -2733,7 +2668,21 @@
\leavevmode
\HyAnn@AbsPageLabel
\Hy@escapeform\PDFForm@Radio
- \pdfannot_box:nnnn
+ \pdfxform_if_exist:nF { __hyp_xform_Ding }
+ {
+ \pdfxform_new:nnn { __hyp_xform_Ding } {}
+ {
+ \group_begin:
+ \fontfamily{pzd}
+ \fontencoding{U}
+ \fontseries{m}
+ \fontshape{n}
+ \selectfont
+ \char123
+ \group_end:
+ }
+ }
+ \pdfannot_box:nnnx
{\Fld@width}
{\Fld@height}
{0pt} %is this correct?
@@ -2743,7 +2692,7 @@
<<
/N
<<
- /\@currValue\c_space_tl \pdfxform_ref:o {__hyp_xform_Ding}
+ /\@currValue\c_space_tl \pdfxform_ref:n {__hyp_xform_Ding}
%/Off \c_space_tl \pdfxform_ref:n {__hyp_xform_DingOff} %hm
>>
>>
@@ -2830,6 +2779,18 @@
\HyAnn@AbsPageLabel
\Hy@escapeform\PDFForm@Submit
\hbox_set:Nn \l_tmpa_box { \MakeButtonField {#2}}
+ \pdfxform_if_exist:nF
+ { __hyp_xform_Submit }
+ {
+ \pdfxform_new:nnn { __hyp_xform_Submit }{}
+ {
+ \fbox{\color_select:n{yellow}\textsf{Submit}}
+ }
+ \pdfxform_new:nnn { __hyp_xform_SubmitP }{}
+ {
+ \fbox{\color_select:n{yellow}\textsf{SubmitP}}
+ }
+ }
\pdfannot_box:nnnn
{\box_wd:N\l_tmpa_box}
{\box_ht:N\l_tmpa_box}
@@ -2902,6 +2863,33 @@
\mode_leave_vertical:
\HyAnn@AbsPageLabel
\Hy@escapeform\PDFForm@Check
+ \pdfxform_if_exist:nF { __hyp_xform_CheckMarkYes }
+ {
+ \pdfxform_new:nnn
+ {__hyp_xform_CheckMarkYes}{}
+ {
+ \group_begin:
+ \fontfamily{pzd}
+ \fontencoding{U}
+ \fontseries{m}
+ \fontshape{n}
+ \selectfont
+ \char51
+ \group_end:
+ }
+ \pdfxform_new:nnn
+ {__hyp_xform_CheckMarkOff}{}
+ {
+ \group_begin:
+ \fontfamily{pzd}
+ \fontencoding{U}
+ \fontseries{m}
+ \fontshape{n}
+ \selectfont
+ \phantom{\char51} %perhaps xetex needs some small glyph ..
+ \group_end:
+ }
+ }
\pdfannot_box:nnnn
{\Fld@width}
{\Fld@height}
@@ -3121,8 +3109,8 @@
<<
/N
<<
- /Yes~\pdfxform_ref:o{\l__hyp_CheckmarkYes_tl}
- /Off~\pdfxform_ref:o{\l__hyp_CheckmarkOff_tl}
+ /Yes~\pdfxform_ref:n{__hyp_xform_CheckMarkYes}
+ /Off~\pdfxform_ref:n{__hyp_xform_CheckMarkOff}
>>
>>
/MK<<
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
index 96e9d086a67..f948928f94e 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
@@ -19,7 +19,7 @@
%
% for those people who are interested.
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesExplPackage{hyperxmp-patches-tmp-ltx}{2021-07-21}{0.95g}
+\ProvidesExplPackage{hyperxmp-patches-tmp-ltx}{2021-07-31}{0.95h}
{Store hyperref metadata in XMP format / temporay patches to test pdfresource management ... UF}
\cs_if_exist:NT \pdfmanagement_add:nnn
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def
index 00c28edb532..89c47d1a1d4 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-dvipdfmx.def}{2021-07-21}{}
+ {l3backend-testphase-dvipdfmx.def}{2021-07-31}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx}
\RequirePackage{l3ref-tmp}
\cs_generate_variant:Nn \ref_label:nn {en}
@@ -224,41 +224,13 @@
}
}
}
-\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_gpush:n #1 %array content
+\cs_new_protected:Npn \__pdf_backend_Names_gpush:nn #1 #2 %#1 name of name tree, #2 array content
{
- \pdf_object_unnamed_write:nn {dict} { /Names [#1] }
- %n or x?
- \__pdf_backend:x {put~@names~<</EmbeddedFiles~\pdf_object_ref_last: >>}
+ \pdf_object_unnamed_write:nn {dict} {/Names [#2] }
+ \__pdf_backend:x {put~@names~<</#1~\pdf_object_ref_last: >>}
}
-
-\int_new:N \g__pdf_backend_EmbeddedFiles_int
-\cs_new:Npn \__pdf_backend_EmbeddedFiles_name:
- {
- (
- l3ef
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {10}
- {0}
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {100}
- {0}
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {1000}
- {0}
- \int_use:N \g__pdf_backend_EmbeddedFiles_int
- )
- }
-\seq_new:N \g__pdf_backend_EmbeddedFiles_seq
-\prop_new:N \g__pdf_backend_EmbeddedFiles_named_prop
-\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_add:n #1
- %#1 object ref
- {
- \int_gincr:N \g__pdf_backend_EmbeddedFiles_int
- \prop_gput:Nnx \g__pdf_backend_EmbeddedFiles_named_prop
- { #1 }
- { \__pdf_backend_EmbeddedFiles_name: }
- \seq_gput_right:Nx \g__pdf_backend_EmbeddedFiles_seq
- { \__pdf_backend_EmbeddedFiles_name: \c_space_tl #1 }
- }
-
+\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_add:nn #1 #2 {}
% it needs a bit testing if it really works to set the box to 0 before the special ...
% does it disturb viewing the xobject?
% what happens with the resources (bdc)? (should work as they are specials too)
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def
index c0950a361a9..66229a56112 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-dvips.def}{2021-07-21}{}
+ {l3backend-testphase-dvips.def}{2021-07-31}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvips}
\RequirePackage{l3ref-tmp}
\cs_generate_variant:Nn \ref_label:nn {en}
@@ -146,34 +146,13 @@
-\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_gpush:n #1 {}
-
-\int_new:N \g__pdf_backend_EmbeddedFiles_int
-\cs_new:Npn \__pdf_backend_EmbeddedFiles_name:
- {
- (
- l3ef
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {10}
- {0}
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {100}
- {0}
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {1000}
- {0}
- \int_use:N \g__pdf_backend_EmbeddedFiles_int
- )
- }
-\seq_new:N \g__pdf_backend_EmbeddedFiles_seq
-\prop_new:N \g__pdf_backend_EmbeddedFiles_named_prop
-\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_add:n #1
+\cs_new_protected:Npn \__pdf_backend_Names_gpush:nn #1 #2 {}
+\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_add:nn #1 #2
{
- \int_gincr:N \g__pdf_backend_EmbeddedFiles_int
- \prop_gput:Nnx \g__pdf_backend_EmbeddedFiles_named_prop
- { #1 }
- { \__pdf_backend_EmbeddedFiles_name: }
\__pdf_backend_pdfmark:x
{
- /Name~\__pdf_backend_EmbeddedFiles_name:~
- /FS~#1~
+ /Name~#1~
+ /FS~#2~
/EMBED
}
}
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def
index 34ac07b1393..a5efc0b2cfe 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-dvisvgm.def}{2021-07-21}{}
+ {l3backend-testphase-dvisvgm.def}{2021-07-31}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm}
\RequirePackage{l3ref-tmp}
\cs_generate_variant:Nn \ref_label:nn {en}
@@ -112,26 +112,10 @@
-\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_gpush:n #1 {}
-
-\int_new:N \g__pdf_backend_EmbeddedFiles_int
-\cs_new:Npn \__pdf_backend_EmbeddedFiles_name:
- {
- (
- l3ef
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {10}
- {0}
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {100}
- {0}
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {1000}
- {0}
- \int_use:N \g__pdf_backend_EmbeddedFiles_int
- )
- }
-\seq_new:N \g__pdf_backend_EmbeddedFiles_seq
-\prop_new:N \g__pdf_backend_EmbeddedFiles_named_prop
-\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_add:n #1
+\cs_new_protected:Npn \__pdf_backend_Names_gpush:nn #1 #2 {}
+\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_add:nn #1 #2
{}
+
\cs_new_protected:Npn \__pdf_backend_xform_new:nnnn #1 #2 #3 #4 {}
\cs_new_protected:Npn \__pdf_backend_xform_use:n #1 {}
\cs_new:Npn \__pdf_backend_xform_ref:n {}
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def
index fa60269d932..4dfc258997a 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-luatex.def}{2021-07-21}{}
+ {l3backend-testphase-luatex.def}{2021-07-31}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)}
\RequirePackage{l3ref-tmp}
\cs_generate_variant:Nn \ref_label:nn {en}
@@ -262,40 +262,13 @@
}
\cs_new_protected:Npn \__pdf_backend_PageResources_gpush:n #1 {}
-\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_gpush:n #1 %array content
+\cs_new_protected:Npn \__pdf_backend_Names_gpush:nn #1 #2 %#1 name of name tree, #2 array content
{
- \pdf_object_unnamed_write:nn {dict} {/Names [#1] }
- \tex_pdfextension:D~names~{/EmbeddedFiles~\pdf_object_ref_last: }
+ \pdf_object_unnamed_write:nn {dict} {/Names [#2] }
+ \tex_pdfextension:D~names~ {/#1~\pdf_object_ref_last:}
}
-
-\int_new:N \g__pdf_backend_EmbeddedFiles_int
-\cs_new:Npn \__pdf_backend_EmbeddedFiles_name:
- {
- (
- l3ef
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {10}
- {0}
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {100}
- {0}
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {1000}
- {0}
- \int_use:N \g__pdf_backend_EmbeddedFiles_int
- )
- }
-\seq_new:N \g__pdf_backend_EmbeddedFiles_seq
-\prop_new:N \g__pdf_backend_EmbeddedFiles_named_prop
-\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_add:n #1
- %#1 object ref
- {
- \int_gincr:N \g__pdf_backend_EmbeddedFiles_int
- \prop_gput:Nnx \g__pdf_backend_EmbeddedFiles_named_prop
- { #1 }
- { \__pdf_backend_EmbeddedFiles_name: }
- \seq_gput_right:Nx \g__pdf_backend_EmbeddedFiles_seq
- { \__pdf_backend_EmbeddedFiles_name: \c_space_tl #1 }
- }
-
+\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_add:nn #1 #2 {}
\cs_new_protected:Npn \__pdf_backend_xform_new:nnnn #1 #2 #3 #4
{
\hbox_set:Nn \l__pdf_backend_tmpa_box
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def
index d8563623fe5..ecf670257fe 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-pdftex.def}{2021-07-21}{}
+ {l3backend-testphase-pdftex.def}{2021-07-31}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)}
\RequirePackage{l3ref-tmp}
\cs_generate_variant:Nn \ref_label:nn {en}
@@ -280,40 +280,13 @@
}
}
-\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_gpush:n #1 %array content
+\cs_new_protected:Npn \__pdf_backend_Names_gpush:nn #1 #2 %#1 name of name tree, #2 array content
{
- \pdf_object_unnamed_write:nn {dict} {/Names [#1] }
- \tex_pdfnames:D {/EmbeddedFiles~\pdf_object_ref_last:}
+ \pdf_object_unnamed_write:nn {dict} {/Names [#2] }
+ \tex_pdfnames:D {/#1~\pdf_object_ref_last:}
}
-
-\int_new:N \g__pdf_backend_EmbeddedFiles_int
-\cs_new:Npn \__pdf_backend_EmbeddedFiles_name:
- {
- (
- l3ef
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {10}
- {0}
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {100}
- {0}
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {1000}
- {0}
- \int_use:N \g__pdf_backend_EmbeddedFiles_int
- )
- }
-\seq_new:N \g__pdf_backend_EmbeddedFiles_seq
-\prop_new:N \g__pdf_backend_EmbeddedFiles_named_prop
-\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_add:n #1
- %#1 object ref
- {
- \int_gincr:N \g__pdf_backend_EmbeddedFiles_int
- \prop_gput:Nnx \g__pdf_backend_EmbeddedFiles_named_prop
- { #1 }
- { \__pdf_backend_EmbeddedFiles_name: }
- \seq_gput_right:Nx \g__pdf_backend_EmbeddedFiles_seq
- { \__pdf_backend_EmbeddedFiles_name: \c_space_tl #1 }
- }
-
+\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_add:nn #1 #2 {}
\cs_new_protected:Npn \__pdf_backend_xform_new:nnnn #1 #2 #3 #4
{
\hbox_set:Nn \l__pdf_backend_tmpa_box
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def
index cdbb435a46e..42ee1e7fdf3 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-xetex.def}{2021-07-21}{}
+ {l3backend-testphase-xetex.def}{2021-07-31}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX}
\RequirePackage{l3ref-tmp}
\cs_generate_variant:Nn \ref_label:nn {en}
@@ -224,41 +224,13 @@
}
}
}
-\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_gpush:n #1 %array content
+\cs_new_protected:Npn \__pdf_backend_Names_gpush:nn #1 #2 %#1 name of name tree, #2 array content
{
- \pdf_object_unnamed_write:nn {dict} { /Names [#1] }
- %n or x?
- \__pdf_backend:x {put~@names~<</EmbeddedFiles~\pdf_object_ref_last: >>}
+ \pdf_object_unnamed_write:nn {dict} {/Names [#2] }
+ \__pdf_backend:x {put~@names~<</#1~\pdf_object_ref_last: >>}
}
-
-\int_new:N \g__pdf_backend_EmbeddedFiles_int
-\cs_new:Npn \__pdf_backend_EmbeddedFiles_name:
- {
- (
- l3ef
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {10}
- {0}
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {100}
- {0}
- \int_compare:nNnT {\g__pdf_backend_EmbeddedFiles_int} < {1000}
- {0}
- \int_use:N \g__pdf_backend_EmbeddedFiles_int
- )
- }
-\seq_new:N \g__pdf_backend_EmbeddedFiles_seq
-\prop_new:N \g__pdf_backend_EmbeddedFiles_named_prop
-\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_add:n #1
- %#1 object ref
- {
- \int_gincr:N \g__pdf_backend_EmbeddedFiles_int
- \prop_gput:Nnx \g__pdf_backend_EmbeddedFiles_named_prop
- { #1 }
- { \__pdf_backend_EmbeddedFiles_name: }
- \seq_gput_right:Nx \g__pdf_backend_EmbeddedFiles_seq
- { \__pdf_backend_EmbeddedFiles_name: \c_space_tl #1 }
- }
-
+\cs_new_protected:Npn \__pdf_backend_NamesEmbeddedFiles_add:nn #1 #2 {}
% it needs a bit testing if it really works to set the box to 0 before the special ...
% does it disturb viewing the xobject?
% what happens with the resources (bdc)? (should work as they are specials too)
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase.lua b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase.lua
index 8d8f5e3c635..f7702b51c0c 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase.lua
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase.lua
@@ -21,7 +21,6 @@
-- File: l3backend-testphase.dtx
-
ltx= ltx or {}
ltx.__pdf = ltx.__pdf or {}
ltx.__pdf.Page = ltx.__pdf.Page or {}
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty
index 6741b15587f..d65b52ee8be 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty
@@ -27,7 +27,7 @@
%% File: l3pdffield.dtx
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{l3pdffield-testphase}{2021-07-21}{0.95g}%
+\ProvidesExplPackage{l3pdffield-testphase}{2021-07-31}{0.95h}%
{form fields}
\csname HyField@NeedAppearancesfalse\endcsname % suppress NeedAppearances
\str_new:N \l__pdffield_tmpa_str
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdflscape-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdflscape-ltx.sty
index d123a701152..fdfe7b4279d 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdflscape-ltx.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdflscape-ltx.sty
@@ -22,7 +22,7 @@
%% This work consists of the main source file pdflscape-ltx.sty
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{pdflscape-ltx}{2021-07-21}{0.95g}
+\ProvidesExplPackage{pdflscape-ltx}{2021-07-31}{0.95h}
{Display of landscape pages in PDF - adaption of pdflscape to the PDFmanagement bundle (testphase)}
\DeclareOption*{\PassOptionsToPackage\CurrentOption{graphics}}
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty
index b413c730ba1..040738df443 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: pdfmanagement-firstaid.dtx
-\ProvidesExplPackage{pdfmanagement-firstaid}{2021-07-21}{0.95g}
+\ProvidesExplPackage{pdfmanagement-firstaid}{2021-07-31}{0.95h}
{LaTeX PDF management testphase bundle / firstaid-patches}
\clist_map_inline:nn {pgf,transparent,hyperxmp,pdflscape,xcolor,color,beamer}
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx
index 094041b27d7..ecfa1e60a1b 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx
@@ -27,7 +27,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: pdfmanagement-testphase.dtx
-\ProvidesExplFile{pdfmanagement-testphase.ltx}{2021-07-21}{0.95g}
+\ProvidesExplFile{pdfmanagement-testphase.ltx}{2021-07-31}{0.95h}
{PDF~management~code~(testphase)}
%% File: l3pdfdict.dtx
\cs_new:Npn \__pdfdict_get_type:n #1
@@ -270,6 +270,7 @@
\cs_set_eq:NN \pdfdict_use:n \__pdfdict_use:n
%% File: l3pdfmanagement.dtx
+
\msg_new:nnn { pdfmanagement } { unknown-dict }
{ The~PDF~management~resource~'#1'~is~unknown. }
@@ -282,6 +283,9 @@
\msg_new:nnn { pdfmanagement } { no-show }
{ It~is~not~possible~to~show~the~content~of~'#1'.}
+\msg_new:nnn { pdfmanagement } { name-exist }
+ { The~name~'#1'~has~already~been~used~for~name~tree~'#2'.}
+
\msg_new:nnn { pdfmanagement } { show-dict }
{
The~PDF~resource~'#1'~
@@ -298,6 +302,10 @@
The~PDF~resources~management~is~not~active\\
command~'#1'~ignored.
}
+\tl_new:N \l__pdfmanagement_tmpa_tl
+\tl_new:N \l__pdfmanagement_tmpb_tl
+\seq_new:N \l__pdfmanagement_tmpa_seq
+
\bool_new:N \g__pdfmanagement_active_bool
\prg_new_conditional:Npnn \__pdfmanagement_if_active: { p , T , F , TF }
{
@@ -308,6 +316,7 @@
\prg_set_eq_conditional:NNn
\pdfmanagement_if_active: \__pdfmanagement_if_active: { p , T , F , TF }
+\cs_set_eq:NN \IfPDFManagementActiveTF\pdfmanagement_if_active:TF
\hook_new:n {pdfmanagement/add}
\cs_new_protected:Npn \pdfmanagement_add:nnn #1 #2 #3
{
@@ -332,7 +341,8 @@
}
}
-\cs_generate_variant:Nn \pdfmanagement_add:nnn {nnx,nxx}
+\cs_generate_variant:Nn \pdfmanagement_add:nnn {nnx,nxx,xxx}
+\cs_set_eq:NN \PDFManagementAdd \pdfmanagement_add:xxx
\tl_new:N \g__kernel_pdfmanagement_thispage_shipout_code_tl
\tl_new:N \g__kernel_pdfmanagement_lastpage_shipout_code_tl
\tl_new:N \g__kernel_pdfmanagement_end_run_code_tl
@@ -622,6 +632,11 @@
AcroForm/CO
}
+\clist_const:Nn \c__pdfmanagement_Catalog_nametree_clist
+ {
+ AP,
+ JavaScript,
+ }
\clist_map_inline:Nn \c__pdfmanagement_Catalog_seq_clist
{
\seq_new:c { g__pdfmanagement_/Catalog/#1_seq } % new name later
@@ -637,6 +652,43 @@
{ g__pdfmanagement_/Catalog/OCProperties/Configs_seq }
{ #1 }
}
+\cs_new_protected:Npn \__pdfmanagement_nametree_add_aux:nnn #1 #2 #3
+ %#1 name tree, #2 sanitized name #3 value
+ {
+ \prop_get:coNTF
+ { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/Names/#1 }}
+ { #2 }
+ \l__pdfmanagement_tmpb_tl
+ {
+ \msg_error:nnnn{pdfmanagement}{name-exist}{#2}{#1}
+ }
+ {
+ \prop_gput:con
+ { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/Names/#1 }}
+ { #2 }
+ { #3 }
+ }
+ }
+\clist_map_inline:Nn \c__pdfmanagement_Catalog_nametree_clist
+ {
+ \pdfdict_new:n { g__pdf_Core/Catalog/Names/#1}
+ \cs_new_protected:cpn { __pdfmanagement_handler/Catalog/Names/#1/?_gput:nn } ##1 ##2
+ {
+ \pdf_string_from_unicode:nnN {utf8/string}{##1}\l__pdfmanagement_tmpa_tl
+ \exp_args:Nno
+ \__pdfmanagement_nametree_add_aux:nnn {#1}{\l__pdfmanagement_tmpa_tl}{##2}
+ }
+ }
+\pdfdict_new:n { g__pdf_Core/Catalog/Names/EmbeddedFiles}
+\cs_new_protected:cpn { __pdfmanagement_handler/Catalog/Names/EmbeddedFiles/?_gput:nn } #1 #2
+ {
+ \pdf_string_from_unicode:nnN {utf8/string}{#1}\l__pdfmanagement_tmpa_tl
+ \exp_args:Nno
+ \__pdfmanagement_nametree_add_aux:nnn
+ {EmbeddedFiles}{\l__pdfmanagement_tmpa_tl}{#2}
+ \exp_args:No
+ \__pdf_backend_NamesEmbeddedFiles_add:nn {\l__pdfmanagement_tmpa_tl}{#2}
+ }
\cs_new_protected:Npn \__pdfmanagement_Catalog_gpush:
{
\use:c { __pdfmanagement_/Catalog/AA_gpush: }
@@ -655,7 +707,11 @@
{ \__kernel_pdfdict_name:n { g__pdf_Core/Catalog} }
\__pdf_backend_catalog_gput:nn
% output names tree:
- \use:c { __pdfmanagement_/Catalog/Names/EmbeddedFiles_gpush: }
+ \use:c{ __pdfmanagement_/Catalog/Names_gpush:n } {EmbeddedFiles}
+ \clist_map_inline:Nn \c__pdfmanagement_Catalog_nametree_clist
+ {
+ \use:c{ __pdfmanagement_/Catalog/Names_gpush:n } {##1}
+ }
}
\cs_new_protected:cpn { __pdfmanagement_/Catalog/AA_gpush: }
{
@@ -789,12 +845,12 @@
{ 0 }
{
\__pdf_backend_object_new:nn { __pdfmanagement/Catalog/OCProperties } { dict }
- \seq_gpop_left:cN { g__pdfmanagement_/Catalog/OCProperties/Configs_seq} \l_tmpa_tl
+ \seq_gpop_left:cN { g__pdfmanagement_/Catalog/OCProperties/Configs_seq} \l__pdfmanagement_tmpa_tl
\exp_args:Nnx
\__pdf_backend_object_write:nn {__pdfmanagement/Catalog/OCProperties}
{
/OCGs~[ \seq_use:cn { g__pdfmanagement_/Catalog/OCProperties/OCGs_seq } {~} ]
- /D~\l_tmpa_tl~
+ /D~\l__pdfmanagement_tmpa_tl~
\seq_if_empty:cF { g__pdfmanagement_/Catalog/OCProperties/Configs_seq }
{
/Configs~
@@ -861,22 +917,54 @@
}
}
}
+\int_new:N \g__pdfmanagement_EmbeddedFiles_int
+\cs_new:Npn \__pdfmanagement_EmbeddedFiles_name:
+ {
+ (
+ l3ef
+ \int_compare:nNnT {\g__pdfmanagement_EmbeddedFiles_int} < {10}
+ {0}
+ \int_compare:nNnT {\g__pdfmanagement_EmbeddedFiles_int} < {100}
+ {0}
+ \int_compare:nNnT {\g__pdfmanagement_EmbeddedFiles_int} < {1000}
+ {0}
+ \int_use:N \g__pdfmanagement_EmbeddedFiles_int
+ )
+ }
\pdfdict_new:n { g__pdf_Core/Catalog/Names }
\cs_new_protected:cpn { __pdfmanagement_handler/Catalog/Names/EmbeddedFiles_gput:n } #1
{
- \__pdf_backend_NamesEmbeddedFiles_add:n { #1 }
- }
-\cs_new_protected:cpn { __pdfmanagement_/Catalog/Names/EmbeddedFiles_gpush: }
- {
- \seq_if_empty:NF \g__pdf_backend_EmbeddedFiles_seq
- {
- \exp_args:Nx \__pdf_backend_NamesEmbeddedFiles_gpush:n
- {
- \seq_use:Nn \g__pdf_backend_EmbeddedFiles_seq {~}
- }
- }
+ \int_gincr:N \g__pdfmanagement_EmbeddedFiles_int
+ \exp_args:Nnx
+ \prop_gput:cnn
+ { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/Names/EmbeddedFiles }}
+ { \__pdfmanagement_EmbeddedFiles_name: }
+ { #1 }
+ \exp_args:Nx
+ \__pdf_backend_NamesEmbeddedFiles_add:nn {\__pdfmanagement_EmbeddedFiles_name:} { #1 }
}
+\cs_new_protected:cpn { __pdfmanagement_/Catalog/Names_gpush:n } #1 %#1 name of name tree
+ {
+ \pdfdict_if_empty:nF { g__pdf_Core/Catalog/Names/#1 }
+ {
+ \seq_clear:N \l__pdfmanagement_tmpa_seq
+ \prop_map_inline:cn
+ {\__kernel_pdfdict_name:n { g__pdf_Core/Catalog/Names/#1 }}
+ { \seq_put_right:Nn \l__pdfmanagement_tmpa_seq {##1~##2}}
+ \seq_sort:Nn \l__pdfmanagement_tmpa_seq
+ {
+ \str_compare:nNnTF {##1} > {##2}
+ { \sort_return_swapped: }
+ { \sort_return_same: }
+ }
+ \exp_args:Nnx \__pdf_backend_Names_gpush:nn
+ {#1}
+ {
+ \seq_use:Nn \l__pdfmanagement_tmpa_seq {~}
+ }
+ }
+ }
\cs_new_protected:cpn {__pdfmanagement_handler/Catalog/?_show:}
{
\iow_term:x
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty
index 5337c62f0c8..54cce745475 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: pdfmanagement-testphase.dtx
-\ProvidesExplPackage{pdfmanagement-testphase}{2021-07-21}{0.95g}
+\ProvidesExplPackage{pdfmanagement-testphase}{2021-07-31}{0.95h}
{LaTeX PDF management testphase bundle}
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2020-10-01}{}{
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/transparent-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/transparent-ltx.sty
index 5151ea4ff95..e7cf7c36e56 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/transparent-ltx.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/transparent-ltx.sty
@@ -3,7 +3,7 @@
%% a replacement for transparent sty from Heiko Oberdiek
%%
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesExplPackage{transparent-ltx}{2021-07-21}{0.95g}
+\ProvidesExplPackage{transparent-ltx}{2021-07-31}{0.95h}
{Transparency with color stacks (replacement for transparent.sty from Heiko Oberdiek)}%
\RequirePackage{l3opacity}
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
index 0861462d6bb..12c87fdd33a 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
@@ -1,6 +1,6 @@
%% LaTeX2e file `xcolor-patches.sty'
%%
-\ProvidesPackage{xcolor-patches-tmp-ltx}[2021-07-21 v0.95g patch xcolor for l3color]
+\ProvidesPackage{xcolor-patches-tmp-ltx}[2021-07-31 v0.95h patch xcolor for l3color]
\@ifundefined{color_set:nn}{\RequirePackage{l3color}}{}
\ExplSyntaxOn
@@ -116,3 +116,21 @@
{\noexpand\xcolor@{\@@cls}{\the\toks@}{\@@mod}{\@@clr}}}%
\fi}%
\expandafter\endgroup\@@tmp\xglobal@stop}
+
+%re-predefine the colors
+\definecolorset{rgb/hsb/cmyk/gray}{}{}%
+ {brown,.75,.5,.25/.083333,.66667,.75/0,.25,.5,.25/.5475;%
+ lime,.75,1,0/.20833,1,1/.25,0,1,0/.815;%
+ orange,1,.5,0/.083333,1,1/0,.5,1,0/.595;%
+ pink,1,.75,.75/0,.25,1/0,.25,.25,0/.825;%
+ purple,.75,0,.25/.94444,1,.75/0,.75,.5,.25/.2525;%
+ teal,0,.5,.5/.5,1,.5/.5,0,0,.5/.35;%
+ violet,.5,0,.5/.83333,1,.5/0,.5,0,.5/.205}%
+\definecolorset{cmyk/rgb/hsb/gray}{}{}%
+ {olive,0,0,1,.5/.5,.5,0/.16667,1,.5/.39}
+\definecolorset{gray/rgb/hsb/cmyk}{}{}%
+ {darkgray,.25/.25,.25,.25/0,0,.25/0,0,0,.75;%
+ gray,.5/.5,.5,.5/0,0,.5/0,0,0,.5;%
+ lightgray,.75/.75,.75,.75/0,0,.75/0,0,0,.25}
+
+\endinput