[latex3-commits] [git/LaTeX3-latex3-pdfresources] renamedict77: split user command in local/global, is cleaner (a1c9eb9)
Ulrike Fischer
fischer at troubleshooting-tex.de
Mon Apr 20 00:30:51 CEST 2020
Repository : https://github.com/latex3/pdfresources
On branch : renamedict77
Link : https://github.com/latex3/pdfresources/commit/a1c9eb90a775fa070504815a9c3426fb1c88eaeb
>---------------------------------------------------------------
commit a1c9eb90a775fa070504815a9c3426fb1c88eaeb
Author: Ulrike Fischer <fischer at troubleshooting-tex.de>
Date: Mon Apr 20 00:30:51 2020 +0200
split user command in local/global, is cleaner
>---------------------------------------------------------------
a1c9eb90a775fa070504815a9c3426fb1c88eaeb
hgeneric-experimental.def | 154 +++++++++++++--------------
newpackages/new-transparent.sty | 6 +-
pdfresources.dtx | 164 ++++++++++++++++++++++-------
testfiles-dvips/annot.pvt | 6 +-
testfiles-dvips/catalogAF.pvt | 10 +-
testfiles-dvips/ismap.pvt | 6 +-
testfiles-dvips/linkhook.pvt | 6 +-
testfiles-dvips/pagelabels.pvt | 6 +-
testfiles-dvips/pdffilelink.pvt | 6 +-
testfiles-noxetex/extgstate-patches.pvt | 2 +-
testfiles-noxetex/metadata.pvt | 2 +-
testfiles-noxetex/test-new-transparent.pvt | 2 +-
testfiles/catalog-remove.lvt | 22 ++--
testfiles/catalogAF.pvt | 4 +-
testfiles/infodict.pvt | 4 +-
testfiles/mixpageattr.pvt | 4 +-
testfiles/ocproperties.pvt | 6 +-
testfiles/pageattr.pvt | 14 +--
testfiles/pagesattr.pvt | 8 +-
testfiles/thispageattr.pvt | 4 +-
testfiles/xform.pvt | 2 +-
21 files changed, 261 insertions(+), 177 deletions(-)
diff --git a/hgeneric-experimental.def b/hgeneric-experimental.def
index e278030..d633a6a 100644
--- a/hgeneric-experimental.def
+++ b/hgeneric-experimental.def
@@ -349,7 +349,7 @@
% we simply hard code this for now until hyperref.sty itself can be adapted ...
\cs_new_protected:Npn\__hyp_PageLabels_gpush:
{
- \pdfdict_put:nnx {Catalog} {PageLabels}{<</Nums[\HyPL at Labels]>>}
+ \pdfdict_gput:nnx {Catalog} {PageLabels}{<</Nums[\HyPL at Labels]>>}
}
@@ -519,8 +519,8 @@
/View <</ViewState/OFF>>~
>>
}
- \pdfdict_put:nnx { Catalog / OCProperties }{OCGs }{ \pdf_object_ref:n {l__hyp_ocg_view_dict_obj} }
- \pdfdict_put:nnx { Catalog / OCProperties }{OCGs }{ \pdf_object_ref:n {l__hyp_ocg_print_dict_obj} }
+ \pdfdict_gput:nnx { Catalog / OCProperties }{OCGs }{ \pdf_object_ref:n {l__hyp_ocg_view_dict_obj} }
+ \pdfdict_gput:nnx { Catalog / OCProperties }{OCGs }{ \pdf_object_ref:n {l__hyp_ocg_print_dict_obj} }
\pdf_object_write:nx { l__hyp_ocg_config_dict_obj }
{
/OFF[\pdf_object_ref:n { l__hyp_ocg_print_dict_obj }]
@@ -542,7 +542,7 @@
>>
]
}
- \pdfdict_put:nnx { Catalog / OCProperties }{ D }{ \pdf_object_ref:n { l__hyp_ocg_config_dict_obj} }
+ \pdfdict_gput:nnx { Catalog / OCProperties }{ D }{ \pdf_object_ref:n { l__hyp_ocg_config_dict_obj} }
}
\Hy at AtBeginDocument
{
@@ -829,24 +829,24 @@
\__hyp_pstringdef:No \l__hyp_tmpa_tl {#1}%
\tl_if_empty:NTF \l__hyp_tmpa_tl
{
- \pdfdict_remove:nn {Catalog} { URI }
+ \pdfdict_gremove:nn {Catalog} { URI }
}
{
- \pdfdict_put:nnx {Catalog} { URI }{ <</Base ( \l__hyp_tmpa_tl )>> }
+ \pdfdict_gput:nnx {Catalog} { URI }{ <</Base ( \l__hyp_tmpa_tl )>> }
}
}
,pdfcenterwindow .choice:
,pdfcenterwindow / false .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences }{ CenterWindow }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences }{ CenterWindow }
}
,pdfcenterwindow / true .code:n =
{
- \pdfdict_put:nnn {Catalog / ViewerPreferences } { CenterWindow }{ true }
+ \pdfdict_gput:nnn {Catalog / ViewerPreferences } { CenterWindow }{ true }
}
,pdfcenterwindow / .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences }{ CenterWindow }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences }{ CenterWindow }
}
,pdfcenterwindow / unknown .code:n =
{
@@ -858,15 +858,15 @@
,pdfdirection .choice:
,pdfdirection / L2R .code:n =
{
- \pdfdict_put:nnn {Catalog / ViewerPreferences } { Direction }{ /L2R }
+ \pdfdict_gput:nnn {Catalog / ViewerPreferences } { Direction }{ /L2R }
}
,pdfdirection / R2L .code:n =
{
- \pdfdict_put:nnn {Catalog / ViewerPreferences } { Direction }{ /R2L }
+ \pdfdict_gput:nnn {Catalog / ViewerPreferences } { Direction }{ /R2L }
}
,pdfdirection / .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { Direction }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { Direction }
}
,pdfdirection / unknown .code:n =
{
@@ -878,11 +878,11 @@
,pdfdisplaydoctitle .choice:
,pdfdisplaydoctitle / false .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { DisplayDocTitle }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { DisplayDocTitle }
}
,pdfdisplaydoctitle / true .code:n =
{
- \pdfdict_put:nnn {Catalog / ViewerPreferences } { DisplayDocTitle } { true }
+ \pdfdict_gput:nnn {Catalog / ViewerPreferences } { DisplayDocTitle } { true }
}
,pdfdisplaydoctitle .default:n = true
,pdfduplex .choices:nn =
@@ -890,7 +890,7 @@
{
\pdf_version_compare:NnTF > {1.6}
{
- \pdfdict_put:nnn {Catalog / ViewerPreferences }
+ \pdfdict_gput:nnn {Catalog / ViewerPreferences }
{ PrintDuplex } { /#1 }
}
{
@@ -903,7 +903,7 @@
}%
,pdfduplex / .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { PrintDuplex }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { PrintDuplex }
}
,pdfduplex / unknown .code:n =
{
@@ -915,15 +915,15 @@
,pdffitwindow .choice:
,pdffitwindow / false .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { FitWindow }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { FitWindow }
}
,pdffitwindow / true .code:n =
{
- \pdfdict_put:nnn {Catalog / ViewerPreferences } { FitWindow } { true }
+ \pdfdict_gput:nnn {Catalog / ViewerPreferences } { FitWindow } { true }
}
,pdffitwindow / .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { FitWindow }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { FitWindow }
}
,pdffitwindow .default:n = true
,pdffitwindow / unknown .code:n =
@@ -936,25 +936,25 @@
{
\tl_if_empty:nTF { #1 }
{
- \pdfdict_remove:nn {Catalog} { Lang }
+ \pdfdict_gremove:nn {Catalog} { Lang }
}
{
- \pdfdict_put:nnx {Catalog} { Lang } { (#1) }
+ \pdfdict_gput:nnx {Catalog} { Lang } { (#1) }
}
}
,pdfmenubar .choice:
,pdfmenubar / true .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { HideMenubar }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { HideMenubar }
}
,pdfmenubar / false .code:n =
{
- \pdfdict_put:nn {Catalog / ViewerPreferences }
+ \pdfdict_gput:nn {Catalog / ViewerPreferences }
{ HideMenubar } { true }
}
,pdfmenubar / .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { HideMenubar }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { HideMenubar }
}
,pdfmenubar .default:n = true
,pdfmenubar / unknown .code:n =
@@ -966,7 +966,7 @@
,pdfnonfullscreenpagemode .choices:nn =
{ UseNone, UseOutlines, UseThumbs, FullScreen, UseOC } %pdf 1.5
{
- \pdfdict_put:nnx {Catalog / ViewerPreferences }
+ \pdfdict_gput:nnx {Catalog / ViewerPreferences }
{ NonFullScreenPageMode} {/#1}
}
,pdfnonfullscreenpagemode / UseAttachments .code:n =
@@ -976,13 +976,13 @@
%message
}
{
- \pdfdict_put:nnx {Catalog / ViewerPreferences }
+ \pdfdict_gput:nnx {Catalog / ViewerPreferences }
{NonFullScreenPageMode}{/UseAttachments}
}
}
,pdfnonfullscreenpagemode / .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { NonFullScreenPageMode }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { NonFullScreenPageMode }
}
,pdfnonfullscreenpagemode / unknown .code:n =
{
@@ -997,10 +997,10 @@
{
\tl_empty:nTF
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { NumCopies }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { NumCopies }
}
{
- \pdfdict_put:nnx {Catalog / ViewerPreferences }
+ \pdfdict_gput:nnx {Catalog / ViewerPreferences }
{NumCopies}{#1}
}
}
@@ -1014,9 +1014,9 @@
}
,pdfpagelayout .choices:nn =
{ SinglePage, OneColumn, TwoColumnLeft, TwoColumnRight, TwoPageLeft, TwoPageRight}
- { \pdfdict_put:nnx {Catalog} { PageLayout }{ /#1 } }
+ { \pdfdict_gput:nnx {Catalog} { PageLayout }{ /#1 } }
,pdfpagelayout / .code:n =
- { \pdfdict_remove:nn {Catalog} { PageLayout } }
+ { \pdfdict_gremove:nn {Catalog} { PageLayout } }
,pdfpagelayout / unknown .code:n =
{
\msg_warning:nnxxx { hyp } { unknown-choice }
@@ -1026,12 +1026,12 @@
}
,pdfpagemode .choices:nn =
{ UseNone, UseOutlines, UseThumbs, FullScreen, UseOC } %pdf 1.5
- { \pdfdict_put:nnx {Catalog} { PageMode }{ /#1 } }
+ { \pdfdict_gput:nnx {Catalog} { PageMode }{ /#1 } }
,pdfpagemode / UseAttachments .code:n =
{
\pdf_version_compare:NnTF > {1.5}
{
- \pdfdict_put:nnx {Catalog} { PageMode }{ /UseAttachments }
+ \pdfdict_gput:nnx {Catalog} { PageMode }{ /UseAttachments }
}
{
\msg_warning:nnxx
@@ -1053,10 +1053,10 @@
{
\tl_if_empty:nTF %or blank?
{
- \pdfdict_remove:nn {Pages} { CropBox }
+ \pdfdict_gremove:nn {Pages} { CropBox }
}
{
- \pdfdict_put:nnx {Pages} { CropBox } { [#1] }
+ \pdfdict_gput:nnx {Pages} { CropBox } { [#1] }
}
}
,pdfpicktraybypdfsize .choice:
@@ -1064,7 +1064,7 @@
{
\pdf_version_compare:NnTF > {1.6}
{
- \pdfdict_put:nnn {Catalog / ViewerPreferences }
+ \pdfdict_gput:nnn {Catalog / ViewerPreferences }
{ PickTrayByPDFSize } { true }
}
{
@@ -1079,7 +1079,7 @@
{
\pdf_version_compare:NnTF > {1.6}
{
- \pdfdict_put:nnn {Catalog / ViewerPreferences }
+ \pdfdict_gput:nnn {Catalog / ViewerPreferences }
{ PickTrayByPDFSize } { false }
}
{
@@ -1092,7 +1092,7 @@
}
,pdfpicktraybypdfsize / .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { PickTrayByPDFSize }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { PickTrayByPDFSize }
}
,pdfpicktraybypdfsize / unknown .code:n =
{
@@ -1105,7 +1105,7 @@
{
\pdf_version_compare:NnTF < {2.0}
{
- \pdfdict_put:nnx {Catalog / ViewerPreferences }
+ \pdfdict_gput:nnx {Catalog / ViewerPreferences }
{ PrintArea } { /#1 }
}
{
@@ -1117,7 +1117,7 @@
}
}%
,pdfprintarea / .code:n =
- { \pdfdict_remove:nn {Catalog / ViewerPreferences } { PrintArea } }
+ { \pdfdict_gremove:nn {Catalog / ViewerPreferences } { PrintArea } }
,pdfprintarea / unknown .code:n =
{
\msg_warning:nnxxx { hyp } { unknown-choice }
@@ -1130,7 +1130,7 @@
{
\pdf_version_compare:NnTF < {2.0}
{
- \pdfdict_put:nnx {Catalog / ViewerPreferences }
+ \pdfdict_gput:nnx {Catalog / ViewerPreferences }
{ PrintClip } { /#1 }
}
{
@@ -1143,7 +1143,7 @@
}%
,pdfprintclip / .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { PrintClip }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { PrintClip }
}
,pdfprintclip / unknown .code:n =
{
@@ -1158,11 +1158,11 @@
{
\tl_if_empty:nTF { #1}
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences }
{ PrintPageRange }
}
{
- \pdfdict_put:nnx {Catalog / ViewerPreferences }
+ \pdfdict_gput:nnx {Catalog / ViewerPreferences }
{PrintPageRange}{[#1]}
}
}
@@ -1179,7 +1179,7 @@
{
\pdf_version_compare:NnTF > {1.5}
{
- \pdfdict_put:nnx {Catalog / ViewerPreferences }
+ \pdfdict_gput:nnx {Catalog / ViewerPreferences }
{ PrintScaling } { /#1 }
}
{
@@ -1192,7 +1192,7 @@
}%
,pdfprintscaling / .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } {PrintScaling }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } {PrintScaling }
}
,pdfprintscaling / unknown .code:n =
{
@@ -1208,10 +1208,10 @@
\bool_if:nTF
{ \tl_if_empty_p:N \g__hyp_pdfstartpage_tl || \tl_if_empty_p:N \g__hyp_pdfstartview_tl }
{
- \pdfdict_remove:nn {Catalog} { OpenAction }
+ \pdfdict_gremove:nn {Catalog} { OpenAction }
}
{
- \pdfdict_put:nnx {Catalog} { OpenAction }
+ \pdfdict_gput:nnx {Catalog} { OpenAction }
{
[\pdf_pageobject_ref:n {\g__hyp_pdfstartpage_tl}~/\g__hyp_pdfstartview_tl]
}
@@ -1224,10 +1224,10 @@
\bool_if:nTF
{ \tl_if_empty_p:N \g__hyp_pdfstartpage_tl || \tl_if_empty_p:N \g__hyp_pdfstartview_tl }
{
- \pdfdict_remove:nn {Catalog} { OpenAction }
+ \pdfdict_gremove:nn {Catalog} { OpenAction }
}
{
- \pdfdict_put:nnx {Catalog} { OpenAction }
+ \pdfdict_gput:nnx {Catalog} { OpenAction }
{
[\pdf_pageobject_ref:n {\g__hyp_pdfstartpage_tl}~/\g__hyp_pdfstartview_tl]
}
@@ -1237,16 +1237,16 @@
,pdftoolbar .choice:
,pdftoolbar / true .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { HideToolbar }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { HideToolbar }
}
,pdftoolbar / false .code:n =
{
- \pdfdict_put:nnn {Catalog / ViewerPreferences }
+ \pdfdict_gput:nnn {Catalog / ViewerPreferences }
{ HideToolbar } { true }
}
,pdftoolbar / true .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { HideToolbar }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { HideToolbar }
}
,pdftoolbar .default:n = true
,pdftoolbar / unknown .code:n =
@@ -1260,7 +1260,7 @@
{
\pdf_version_compare:NnTF < {2.0}
{
- \pdfdict_put:nnn {Catalog / ViewerPreferences }
+ \pdfdict_gput:nnn {Catalog / ViewerPreferences }
{ ViewArea } { /#1 }
}
{
@@ -1273,7 +1273,7 @@
}%
,pdfviewarea / .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { ViewArea }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { ViewArea }
}
,pdfviewarea / unknown .code:n =
{
@@ -1287,7 +1287,7 @@
{
\pdf_version_compare:NnTF < {2.0}
{
- \pdfdict_put:nnn {Catalog / ViewerPreferences }
+ \pdfdict_gput:nnn {Catalog / ViewerPreferences }
{ ViewClip } { /#1 }
}
{
@@ -1300,7 +1300,7 @@
}%
,pdfviewclip / .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { ViewClip }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { ViewClip }
}
,pdfviewclip / unknown .code:n =
{
@@ -1312,16 +1312,16 @@
,pdfwindowui .choice:
,pdfwindowui / true .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } { HideWindowUI }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } { HideWindowUI }
}
,pdfwindowui / false .code:n =
{
- \pdfdict_put:nnn {Catalog / ViewerPreferences }
+ \pdfdict_gput:nnn {Catalog / ViewerPreferences }
{ HideWindowUI } { true }
}
,pdfwindowui / .code:n =
{
- \pdfdict_remove:nn {Catalog / ViewerPreferences } {HideWindowUI }
+ \pdfdict_gremove:nn {Catalog / ViewerPreferences } {HideWindowUI }
}
,pdfwindowui / unknown .code:n =
{
@@ -1383,29 +1383,29 @@
\pdf at ifdraftmode{}{
\Hy at UseMaketitleInfos %get Title/Author from \title if pdfusetitle is true
\__hyp_info_generate_addons:
- \pdfdict_put:nnx {Info}
+ \pdfdict_gput:nnx {Info}
{Author} {(\@pdfauthor)}
- \pdfdict_put:nnx {Info}
+ \pdfdict_gput:nnx {Info}
{Title} {(\@pdftitle)}
- \pdfdict_put:nnx {Info}
+ \pdfdict_gput:nnx {Info}
{Subject}{(\@pdfsubject)}
- \pdfdict_put:nnx {Info}
+ \pdfdict_gput:nnx {Info}
{Creator}{(\@pdfcreator)}
- \pdfdict_put:nnx {Info}
+ \pdfdict_gput:nnx {Info}
{CreationDate}{(\@pdfcreationdate)}
- \pdfdict_put:nnx {Info}
+ \pdfdict_gput:nnx {Info}
{ModDate}{(\@pdfmoddate)}
\tl_if_exist:NT \@pdfproducer %special, as \relax is default
{
- \pdfdict_put:nnx {Info}
+ \pdfdict_gput:nnx {Info}
{Producer}{(\@pdfproducer)}
}
- \pdfdict_put:nnx {Info}
+ \pdfdict_gput:nnx {Info}
{Keywords}{(\@pdfkeywords)}
\tl_if_empty:NF
\@pdftrapped
{
- \pdfdict_put:nnx {Info}
+ \pdfdict_gput:nnx {Info}
{Trapped}{/\@pdftrapped}
}
}
@@ -1427,7 +1427,7 @@
\pdf_pageattr_gremove:n {Trans}
\tl_if_empty:NF \@pdfpagetransition
{
- \pdfdict_put:nnx {Page} {Trans}{<< /S /\@pdfpagetransition\space >>}
+ \pdfdict_gput:nnx {Page} {Trans}{<< /S /\@pdfpagetransition\space >>}
}
\fi
}
@@ -1438,7 +1438,7 @@
\pdf_pageattr_gremove:n {Dur}
\tl_if_empty:NF \@pdfpageduration
{
- \pdfdict_put:nnx {Page} {Dur}{\@pdfpageduration\space}
+ \pdfdict_gput:nnx {Page} {Dur}{\@pdfpageduration\space}
}
\fi
}
@@ -1578,7 +1578,7 @@
\Hy at FormObjects
\prop_map_inline:Nn \g__hyp_AcroForm_Fields_prop
{
- \pdfdict_put:nnx { Catalog / AcroForm } { Fields }{##1}
+ \pdfdict_gput:nnx { Catalog / AcroForm } { Fields }{##1}
%\pdfdict_show:n { Catalog / AcroForm }
%\seq_show:c { g__pdf_/Catalog/AcroForm/Fields_seq} %!!!!!
}
@@ -1597,24 +1597,24 @@
}
\seq_map_inline:Nn \l__hyp_tmpa_seq
{
- \pdfdict_put:nnx { Catalog / AcroForm }
+ \pdfdict_gput:nnx { Catalog / AcroForm }
{ CO }
{
\prop_item:Nn \g__hyp_AcroForm_CoFields_prop {##1}
}
}
}
- \pdfdict_put:nnx {Catalog / AcroForm/DR/Font }
+ \pdfdict_gput:nnx {Catalog / AcroForm/DR/Font }
{ZaDb} {\pdf_object_ref:n {l__hyp_font_zapfdingbats_obj} }
- \pdfdict_put:nnx {Catalog / AcroForm/DR/Font }
+ \pdfdict_gput:nnx {Catalog / AcroForm/DR/Font }
{Helv} {\pdf_object_ref:n {l__hyp_font_helvetica_obj} }
- \pdfdict_put:nnx {Catalog /AcroForm}
+ \pdfdict_gput:nnx {Catalog /AcroForm}
{DA}{(/Helv~10~Tf~0~g)}
\legacy_if:nF { Hy at pdfa } %?????? Standards?
{
\legacy_if:nT { HyField at NeedAppearances }
{
- \pdfdict_put:nnx {Catalog / AcroForm }{NeedAppearances}{true}
+ \pdfdict_gput:nnx {Catalog / AcroForm }{NeedAppearances}{true}
}
}
}
diff --git a/newpackages/new-transparent.sty b/newpackages/new-transparent.sty
index 31f9efa..0928efd 100644
--- a/newpackages/new-transparent.sty
+++ b/newpackages/new-transparent.sty
@@ -53,7 +53,7 @@
\protected\edef\TRP at pdfpageresources {\pdfvariable pageresources}
\protected\def\TRP at pdfcolorstack {\pdfextension colorstack}
\fi
-\ifcsname pdfdict_put:nnn\endcsname
+\ifcsname pdfdict_gput:nnn\endcsname
\else
\PackageWarningNoLine{new-transparent}{%
Loading aborted, because pdf resource management code not found%
@@ -62,12 +62,12 @@
\fi
\ExplSyntaxOn
-\pdfdict_put:nnn{Page/Resources/ExtGState}{TRP1}{<</ca~1/CA~1>>}
+\pdfdict_gput:nnn{Page/Resources/ExtGState}{TRP1}{<</ca~1/CA~1>>}
\cs_new_protected:Npn \__transparent_use:n #1
{
\tl_if_exist:cF { c__transparent_TRP#1_tl }
{
- \pdfdict_put:nnn{Page/Resources/ExtGState}{TRP#1}{<</ca~#1/CA~#1>>}
+ \pdfdict_gput:nnn{Page/Resources/ExtGState}{TRP#1}{<</ca~#1/CA~#1>>}
\tl_const:cn { c__transparent_TRP#1_tl }{ /TRP#1~gs }
}
}
diff --git a/pdfresources.dtx b/pdfresources.dtx
index 83f0f9f..62b92c0 100644
--- a/pdfresources.dtx
+++ b/pdfresources.dtx
@@ -128,7 +128,7 @@
\msg_new:nnn { pdf } { catalog-special }
{
values~to~the~catalog~entry~#1~should~be~added~with~
- \token_to_str:N\pdfdict_put:nnn
+ \token_to_str:N\pdfdict_gput:nnn
}
\msg_new:nnn { pdf } { catalog-unknown }
{
@@ -146,6 +146,11 @@
{
The~dictionary~'#1'~is~not~declared.
}
+\msg_new:nnn { pdfdict } { wrong-or-unknown-dict }
+ {
+ The~dictionary~'#1'~is~either~not~a~#2~dictionary\\
+ or~is~not~declared.
+ }
\msg_new:nnn { pdfdict } { dict-already-defined }
{
The~dictionary~'#1'~is~already~defined.
@@ -413,19 +418,40 @@
% registers \cs{pdfcatalog}, \cs{pdfpagesattr}, \cs{pdfinfo} and similar commands
% of the other backends in a backend independant way.
%
+% There are two distinct types of dictionaries
+% \begin{description}
+% \item[Global dictionaries] These are dictionaries which are inserted only
+% once in a PDF or only once per page. Examples are the Catalog dictionary,
+% the Info dictionary, the page resources. For these dictionaries it is necessary
+% that all package which want to write to them uses the interface provided
+% by this module to avoid clashes and incompabilities. Values to these
+% dictionaries are always added globally and written by the code
+% at a suitable time to the PDF.
+% Global dictionaries are set and manipulated with the global commands, e.g.
+% \cs{pdf_dict_gput:nnn}.
+%
+% \item[Local dictionaries ] These are dictionaries which are used in varying number
+% with varying content. Examples are attributes of links, filespec dictionaries,
+% xform dictionaries. The main purpose of the code here is to give packages and users
+% a better interface to add or change values of such objects.
+%
+% Local dictionaries are set and manipulated with the local commands, e.g.
+% \cs{pdf_dict_put:nnn}
+% \end{description}
+%
% The following tabular summarize the dictionaries and which pdftex primitive they
% replace:
% \begin{tabular}{lll}
-% Info & \cs{pdfinfo} \\
-% Catalog \& various subdictionaries & \cs{pdfcatalog}\\
-% Pages & \cs{pdfpagesattr}\\
-% Page, ThisPage & \cs{pdfpageattr}\\
-% Page/Resources/ExtGState & \cs{pdfpageresources}\\
-% Page/Resources/Shading & \cs{pdfpageresources}\\
-% Page/Resources/Pattern & \cs{pdfpageresources}\\
-% Page/Resources/ColorSpace & \cs{pdfpageresources}\\%
-% xform\ldots & argument of \cs{pdfxform} \\
-% annot\ldots & argument of \cs{pdfannot}, \cs{pdfstartlink}\\
+% Info & \cs{pdfinfo} &global\\
+% Catalog \& various subdictionaries & \cs{pdfcatalog} &global\\
+% Pages & \cs{pdfpagesattr}&global\\
+% Page, ThisPage & \cs{pdfpageattr}&global\\
+% Page/Resources/ExtGState & \cs{pdfpageresources}&global\\
+% Page/Resources/Shading & \cs{pdfpageresources}&global\\
+% Page/Resources/Pattern & \cs{pdfpageresources}&global\\
+% Page/Resources/ColorSpace & \cs{pdfpageresources}&global\\%
+% xform\ldots & argument of \cs{pdfxform} &local\\
+% annot\ldots & argument of \cs{pdfannot}, \cs{pdfstartlink} &local\\
% \end{tabular}
%
% The /Properties dictionary of the page resources is not handled by this module. It is
@@ -490,6 +516,9 @@
\seq_new:N \g_@@_dict_gnames_seq
\seq_new:N \g_@@_dict_names_seq
+\tl_const:Nn \c_@@_dict_globalprefix_tl {g}
+\tl_const:Nn \c_@@_dict_localprefix_tl {}
+
% to retried global status from pathes
\cs_new:Npn \@@_dict_get_g:n #1 % path name without the leading /
{
@@ -563,6 +592,24 @@
{ \prg_return_true: }
{ \prg_return_false: }
}
+% test if global, non existing dicts return false
+\prg_new_conditional:Npnn \@@_dict_if_global:n #1 { p , T , F , TF }
+ {
+ \tl_if_eq:NcTF
+ \c_@@_dict_globalprefix_tl
+ { c_@@_dict_/#1_g_tl }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
+% test if local, non existing dicts return false
+\prg_new_conditional:Npnn \@@_dict_if_local:n #1 { p , T , F , TF }
+ {
+ \tl_if_eq:NcTF
+ \c_@@_dict_localprefix_tl
+ { c_@@_dict_/#1_g_tl }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
% \end{macrocode}
% \end{macro}
@@ -581,14 +628,15 @@
%
% \begin{macrocode}
-%local + global
+%we allow only for local dictionaries a clear command
\cs_new_protected:Npn \@@_dict_clear:n #1
{
- \use:c { prop_\@@_dict_get_g:n{#1}clear:c }
- { \@@_dict_Xname:n { #1 } }
+ \@@_dict_if_local:nT { #1 }
+ {
+ \prop_clear:c { \@@_dict_name:n { #1 } }
+ }
}
-
%local + global
\cs_new_protected:Npn \@@_dict_handler_put:nnn #1 #2 #3 %#1 path, #2 name, #3 value
{
@@ -749,9 +797,10 @@
% local: lower case: annot/link/URI.
% \end{NOTE}
% \begin{function}[added = 2020-04-06]
-% {\pdfdict_put:nnn}
+% {\pdfdict_put:nnn, \pdfdict_gput:nnn}
% \begin{syntax}
-% \cs{pdfdict_put:nnn} \Arg{dictionary} \Arg{name} \Arg{value}
+% \cs{pdfdict_gput:nnn} \Arg{global dictionary} \Arg{name} \Arg{value}\\
+% \cs{pdfdict_put:nnn} \Arg{local dictionary} \Arg{name} \Arg{value}
% \end{syntax}
% This function puts \Arg{name} \Arg{value} either globally or locally in internal
% property lists.
@@ -789,10 +838,28 @@
\cs_new_protected:Npn \pdfdict_put:nnn #1 #2 #3
{
- \@@_dict_handler_put:nnn { #1 }{ #2 }{ #3 }
+ \@@_dict_if_local:nTF { #1 }
+ {
+ \@@_dict_handler_put:nnn { #1 }{ #2 }{ #3 }
+ }
+ {
+ \msg_error:nnnn{pdfdict}{wrong-or-unknown-dict}{#1}{local}
+ }
+ }
+
+\cs_new_protected:Npn \pdfdict_gput:nnn #1 #2 #3
+ {
+ \@@_dict_if_global:nTF { #1 }
+ {
+ \@@_dict_handler_put:nnn { #1 }{ #2 }{ #3 }
+ }
+ {
+ \msg_error:nnnn{pdfdict}{wrong-or-unknown-dict}{#1}{global}
+ }
}
\cs_generate_variant:Nn \pdfdict_put:nnn {nnx}
+\cs_generate_variant:Nn \pdfdict_gput:nnn {nnx}
% \end{macrocode}
% \begin{function}[added = 2020-04-08]
% {\pdfdict_show:n }
@@ -828,8 +895,8 @@
% \begin{syntax}
% \cs{pdfdict_get:nnN} \Arg{dictionary} \Arg{name} \meta{tl var}
% \end{syntax}
-% Recovers the \meta{value} stored by \cs{pdfdict_put:nnn} for
-% \meta{name} and places this in the \meta{token list
+% Recovers the \meta{value} stored by \cs{pdfdict_put:nnn} or \cs{pdfdict_gput:nnn}
+% for \meta{name} and places this in the \meta{token list
% variable}. If \meta{name} is not found
% then the \meta{token list variable} is set
% to the special marker \cs{q_no_value}. The \meta{token list
@@ -848,11 +915,11 @@
% \pdfdict_remove:nn,
% }
% \begin{syntax}
-% \cs{pdfdict_remove:nn} \Arg{dictionary} \Arg{name}
+% \cs{pdfdict_remove:nn} \Arg{local dictionary} \Arg{name}\\
+% \cs{pdfdict_gremove:nn} \Arg{global dictionary} \Arg{name}
% \end{syntax}
% Removes |/|\meta{name} and its associated \meta{value} from the \Arg{dictionary}
-% or \Arg{local dict} (if the name-value pair has been added by
-% \cs{pdfdict_put:nnn}). The removal is local for local dictionaries, and global
+% The removal is local for local dictionaries, and global
% for global dictionaries.
% If \meta{name} is not found no change occurs,
% \emph{i.e}~there is no need to test for the existence of a name before
@@ -863,7 +930,24 @@
% \begin{macrocode}
\cs_new_protected:Npn \pdfdict_remove:nn #1 #2
{
- \@@_dict_handler_remove:nn { #1 }{ #2 }
+ \@@_dict_if_local:nTF { #1 }
+ {
+ \@@_dict_handler_remove:nn { #1 }{ #2 }
+ }
+ {
+ \msg_error:nnnn{pdfdict}{wrong-or-unknown-dict}{#1}{local}
+ }
+ }
+
+\cs_new_protected:Npn \pdfdict_gremove:nn #1 #2
+ {
+ \@@_dict_if_global:nTF { #1 }
+ {
+ \@@_dict_handler_remove:nn { #1 }{ #2 }
+ }
+ {
+ \msg_error:nnnn{pdfdict}{wrong-or-unknown-dict}{#1}{global}
+ }
}
% \end{macrocode}
%
@@ -899,7 +983,7 @@
% pdfdict: Info (global)
% }
% \begin{syntax}
-% \cs{pdfdict_put:nnn} \{Info\} \Arg{name} \Arg{value}
+% \cs{pdfdict_gput:nnn} \{Info\} \Arg{name} \Arg{value}
% \end{syntax}
% Adds |/|\meta{name} and the \meta{value} to the Info dictionary.
% \meta{name} should be a valid pdf name without the leading slash,
@@ -912,7 +996,7 @@
% normally sensible:
% \begin{verbatim}
% \str_set_convert:Nnnn \l_tmpa_str { Grüße }{ utf8 } {utf8/string}
-% \pdfdict_put:nx {Title}{(\l_tmpa_str)}
+% \pdfdict_gput:nnx {Info} {Title}{(\l_tmpa_str)}
% \end{verbatim}
% \end{function}
% \begin{macrocode}
@@ -997,7 +1081,7 @@
% \end{NOTE}
% \begin{function}{pdfdict: Pages (global)}
% \begin{syntax}
-% \cs{pdfdict_put:nnn} \{Pages\} \Arg{name} \Arg{value}
+% \cs{pdfdict_gput:nnn} \{Pages\} \Arg{name} \Arg{value}
% \end{syntax}
%
% Adds |/|\meta{name} \meta{value} to the |/Pages| dictionary.
@@ -1296,7 +1380,7 @@
% \begin{function}[added = 2020-04-12]
% {pdfdict: Page}
% \begin{syntax}
-% \cs{pdfdict_put:nnn} \{Page\} \Arg{name} \Arg{value}
+% \cs{pdfdict_gput:nnn} \{Page\} \Arg{name} \Arg{value}
% \end{syntax}
% Values added to the dictionary \texttt{Page} are added to the page dictionary
% of the current page and the following pages. The current page means the page
@@ -1318,7 +1402,7 @@
% \begin{function}[added = 2020-04-12]
% { pdfdict: ThisPage}
% \begin{syntax}
-% \cs{pdfdict_put:nnn} \{ThisPage\} \Arg{name} \Arg{value}
+% \cs{pdfdict_gput:nnn} \{ThisPage\} \Arg{name} \Arg{value}
% \end{syntax}
% Adds |/|\meta{name} \meta{value} at shipout to the page dictionary of the
% current page. Current page means here the shipout page.
@@ -1529,7 +1613,7 @@
% pdfdict: Page/Resources/Pattern,
% }
% \begin{syntax}
-% \cs{pdfdict_put:nnn} \{Page/Resources/\meta{resource}\} \Arg{name} \Arg{value}
+% \cs{pdfdict_gput:nnn} \{Page/Resources/\meta{resource}\} \Arg{name} \Arg{value}
% \end{syntax}
% Adds |/|\meta{name} \meta{value} to the page resource \meta{resource}.
% \meta{resource} can be |ExtGState|, |ColorSpace|, |Pattern| oder |Shading|.
@@ -1627,7 +1711,7 @@
%
% The required PDF version is only mentioned if it is larger than 1.5.
%
-% Example: |\pdfdict_put:nnn {Catalog}{PageMode}{/UseNone}|
+% Example: |\pdfdict_gput:nnn {Catalog}{PageMode}{/UseNone}|
%
%% !!!!!!!! Warning for unknown names is currently not working!
% \medskip
@@ -1667,7 +1751,7 @@
% in the PDF reference.
% If \meta{Name} gets assigned two values the last one wins.
%
-% Example: |\pdfdict_put:nnn {Catalog/MarkInfo}{Marked}{true}|
+% Example: |\pdfdict_gput:nnn {Catalog/MarkInfo}{Marked}{true}|
%
% \medskip
% \noindent
@@ -1705,13 +1789,13 @@
% \begin{verbatim}
% \pdf_object_new:nn {pkg at intent}{dict}
% \pdf_object_write:nn {pkg at intent}{...}
-% \pdfdict_put:nnx {Catalog} {OutputIntents}{\pdf_object_ref:n {pkg at intent}}
+% \pdfdict_gput:nnx {Catalog} {OutputIntents}{\pdf_object_ref:n {pkg at intent}}
% \end{verbatim}
%
% or
% \begin{verbatim}
% \pdf_object_now:nn {dict} { ... }
-% \pdfdict_put:nnx {Catalog} {OutputIntents}{\pdf_object_last:}
+% \pdfdict_gput:nnx {Catalog} {OutputIntents}{\pdf_object_last:}
% \end{verbatim}
%
%
@@ -3295,13 +3379,13 @@
% is an absolute page number. \Arg{view} a string for the destination
% without the leading slash. Examples are e.g. |XYZ left top zoom| or |Fit|.
% The OpenAction uses (and could also be set directly with)
-% \cs{pdfdict_put:nnn}|{Catalog}|.
+% \cs{pdfdict_gput:nnn}|{Catalog}|.
% \end{function}
%
% \begin{macrocode}
\cs_new_protected:Npn \pdf_docview:nn #1 #2
{
- \pdfdict_put:nnx {Catalog }{ OpenAction }{[\pdf_pageobject_ref:n {#1}~/#2]}
+ \pdfdict_gput:nnx {Catalog }{ OpenAction }{[\pdf_pageobject_ref:n {#1}~/#2]}
}
% \end{macrocode}
%
@@ -3333,7 +3417,7 @@
},
lang .code:n =
{
- \pdfdict_put:nnn {Catalog} {Lang}{(#1)}
+ \pdfdict_gput:nnn {Catalog} {Lang}{(#1)}
}
}
@@ -3599,7 +3683,7 @@
\@@_backend_object_write:nn
{__spc_extgstate_op_false}
{/Type /ExtGState~/op~false~/OP~false}
- \pdfdict_put:nnn
+ \pdfdict_gput:nnn
{Page/Resources/ExtGState}
{SPCko}
{\@@_backend_object_ref:n {__spc_extgstate_op_false}}
@@ -3607,7 +3691,7 @@
\@@_backend_object_write:nn
{__spc_extgstate_op_true0}
{/Type /ExtGState~/op~true~/OP~true~/OPM~0}%
- \pdfdict_put:nnn
+ \pdfdict_gput:nnn
{Page/Resources/ExtGState}
{SPCmz}
{\@@_backend_object_ref:n {__spc_extgstate_op_true0}}
@@ -3615,7 +3699,7 @@
\@@_backend_object_write:nn
{__spc_extgstate_op_true1}
{/Type /ExtGState~/op~true~/OP~true~/OPM~1}%
- \pdfdict_put:nnn
+ \pdfdict_gput:nnn
{Page/Resources/ExtGState}
{SPCop}
{\@@_backend_object_ref:n {__spc_extgstate_op_true1}}
diff --git a/testfiles-dvips/annot.pvt b/testfiles-dvips/annot.pvt
index e048a26..19bbcc6 100644
--- a/testfiles-dvips/annot.pvt
+++ b/testfiles-dvips/annot.pvt
@@ -3,9 +3,9 @@
\usepackage{pdfresources}
\ExplSyntaxOn
%%% for reproducible tests:
-\pdfdict_put:nnn {Info}{CreationDate}{(D:20200202111111+01'00')}
-\pdfdict_put:nnn {Info}{ModDate}{(D:20200202111111+01'00')}
-\pdfdict_put:nnn {Info}{Creator}{(l3build test)}
+\pdfdict_gput:nnn {Info}{CreationDate}{(D:20200202111111+01'00')}
+\pdfdict_gput:nnn {Info}{ModDate}{(D:20200202111111+01'00')}
+\pdfdict_gput:nnn {Info}{Creator}{(l3build test)}
%%%%%
\ExplSyntaxOff
\begin{document}
diff --git a/testfiles-dvips/catalogAF.pvt b/testfiles-dvips/catalogAF.pvt
index d735633..6de5509 100644
--- a/testfiles-dvips/catalogAF.pvt
+++ b/testfiles-dvips/catalogAF.pvt
@@ -2,9 +2,9 @@
\RequirePackage[debug]{pdfresources}
\ExplSyntaxOn
%%% for reproducible tests:
-\pdfdict_put:nnn {Info}{CreationDate}{(D:20200202111111+01'00')}
-\pdfdict_put:nnn {Info}{ModDate}{(D:20200202111111+01'00')}
-\pdfdict_put:nnn {Info}{Creator}{(l3build test)}
+\pdfdict_gput:nnn {Info}{CreationDate}{(D:20200202111111+01'00')}
+\pdfdict_gput:nnn {Info}{ModDate}{(D:20200202111111+01'00')}
+\pdfdict_gput:nnn {Info}{Creator}{(l3build test)}
%%%%%
\ExplSyntaxOff
\DeclareDocumentMetaData
@@ -21,8 +21,8 @@
\pdf_object_new:nn {filespec2}{dict}
\pdf_object_write:nn {filespec2} {/Type /Filespec /UF (example2.pdf)}
-\pdfdict_put:nnx { Catalog } {AF} {\pdf_object_ref:n {filespec1}}
-\pdfdict_put:nnx { Catalog } {AF} {\pdf_object_ref:n {filespec2}}
+\pdfdict_gput:nnx { Catalog } {AF} {\pdf_object_ref:n {filespec1}}
+\pdfdict_gput:nnx { Catalog } {AF} {\pdf_object_ref:n {filespec2}}
\ExplSyntaxOff
\begin{document}
\START
diff --git a/testfiles-dvips/ismap.pvt b/testfiles-dvips/ismap.pvt
index 82a9151..c60a680 100644
--- a/testfiles-dvips/ismap.pvt
+++ b/testfiles-dvips/ismap.pvt
@@ -5,9 +5,9 @@
\begin{document}
\ExplSyntaxOn
%%% for reproducible tests:
-\pdfdict_put:nnn {Info}{CreationDate}{(D:20200202111111+01'00')}
-\pdfdict_put:nnn {Info}{ModDate}{(D:20200202111111+01'00')}
-\pdfdict_put:nnn {Info}{Creator}{(l3build test)}
+\pdfdict_gput:nnn {Info}{CreationDate}{(D:20200202111111+01'00')}
+\pdfdict_gput:nnn {Info}{ModDate}{(D:20200202111111+01'00')}
+\pdfdict_gput:nnn {Info}{Creator}{(l3build test)}
%%%%%
\ExplSyntaxOff
\href[ismap=true]{https://www.latex-project.org#abc~xyz}{xxxxx}
diff --git a/testfiles-dvips/linkhook.pvt b/testfiles-dvips/linkhook.pvt
index 8c29f1e..3b1f0bd 100644
--- a/testfiles-dvips/linkhook.pvt
+++ b/testfiles-dvips/linkhook.pvt
@@ -8,9 +8,9 @@
}
\ExplSyntaxOn
%%% for reproducible tests:
-\pdfdict_put:nnn {Info}{CreationDate}{(D:20200202111111+01'00')}
-\pdfdict_put:nnn {Info}{ModDate}{(D:20200202111111+01'00')}
-\pdfdict_put:nnn {Info}{Creator}{(l3build test)}
+\pdfdict_gput:nnn {Info}{CreationDate}{(D:20200202111111+01'00')}
+\pdfdict_gput:nnn {Info}{ModDate}{(D:20200202111111+01'00')}
+\pdfdict_gput:nnn {Info}{Creator}{(l3build test)}
%%%%%
\ExplSyntaxOff
\input{regression-test}
diff --git a/testfiles-dvips/pagelabels.pvt b/testfiles-dvips/pagelabels.pvt
index ba4beb2..33ddba9 100644
--- a/testfiles-dvips/pagelabels.pvt
+++ b/testfiles-dvips/pagelabels.pvt
@@ -12,9 +12,9 @@
\renewcommand\thepage{λέγ\arabic{page}}
\begin{document}
\ExplSyntaxOn
-\pdfdict_put:nnn {Info}{CreationDate}{(D:20200202111111+01'00')}
-\pdfdict_put:nnn {Info}{ModDate}{(D:20200202111111+01'00')}
-\pdfdict_put:nnn {Info}{Creator}{(l3build test)}
+\pdfdict_gput:nnn {Info}{CreationDate}{(D:20200202111111+01'00')}
+\pdfdict_gput:nnn {Info}{ModDate}{(D:20200202111111+01'00')}
+\pdfdict_gput:nnn {Info}{Creator}{(l3build test)}
\ExplSyntaxOff
abc \newpage abc \newpage abc \newpage \pagenumbering{roman} abc \newpage \pagenumbering{Roman}\setcounter{page}{5} abc
\end{document}
diff --git a/testfiles-dvips/pdffilelink.pvt b/testfiles-dvips/pdffilelink.pvt
index 419e841..1b0457f 100644
--- a/testfiles-dvips/pdffilelink.pvt
+++ b/testfiles-dvips/pdffilelink.pvt
@@ -9,9 +9,9 @@
\begin{document}
\ExplSyntaxOn
-\pdfdict_put:nnn {Info}{CreationDate}{(D:20200202111111+01'00')}
-\pdfdict_put:nnn {Info}{ModDate}{(D:20200202111111+01'00')}
-\pdfdict_put:nnn {Info}{Creator}{(l3build test)}
+\pdfdict_gput:nnn {Info}{CreationDate}{(D:20200202111111+01'00')}
+\pdfdict_gput:nnn {Info}{ModDate}{(D:20200202111111+01'00')}
+\pdfdict_gput:nnn {Info}{Creator}{(l3build test)}
\ExplSyntaxOff
\href{blub.pdf#destination}{pdf}
diff --git a/testfiles-noxetex/extgstate-patches.pvt b/testfiles-noxetex/extgstate-patches.pvt
index ee04fd1..316ace6 100644
--- a/testfiles-noxetex/extgstate-patches.pvt
+++ b/testfiles-noxetex/extgstate-patches.pvt
@@ -20,6 +20,6 @@
abc\texttransparent{0.6}{XXXXXXXXXX}
\ExplSyntaxOn
-\pdfdict_put:nnn{Page/Resources/ExtGState}{bearopacity}{<</ca~0.7/CA~0.7>>}
+\pdfdict_gput:nnn{Page/Resources/ExtGState}{bearopacity}{<</ca~0.7/CA~0.7>>}
\ExplSyntaxOff
\end{document}
\ No newline at end of file
diff --git a/testfiles-noxetex/metadata.pvt b/testfiles-noxetex/metadata.pvt
index 2220189..220d68e 100644
--- a/testfiles-noxetex/metadata.pvt
+++ b/testfiles-noxetex/metadata.pvt
@@ -21,7 +21,7 @@
\makeatother
\ExplSyntaxOn
\pdf_object_new:nn{metadata-obj}{stream}
-\pdfdict_put:nnx {Catalog} {Metadata}{\pdf_object_ref:n{metadata-obj}}
+\pdfdict_gput:nnx {Catalog} {Metadata}{\pdf_object_ref:n{metadata-obj}}
\ExplSyntaxOff
\begin{document}
diff --git a/testfiles-noxetex/test-new-transparent.pvt b/testfiles-noxetex/test-new-transparent.pvt
index dc9bb3c..e844251 100644
--- a/testfiles-noxetex/test-new-transparent.pvt
+++ b/testfiles-noxetex/test-new-transparent.pvt
@@ -10,7 +10,7 @@
\begin{document}
%\START
\ExplSyntaxOn
-\pdfdict_put:nnn{Page/Resources/ExtGState}{duckopacity}{<</ca~0.2/CA~0.2>>}
+\pdfdict_gput:nnn{Page/Resources/ExtGState}{duckopacity}{<</ca~0.2/CA~0.2>>}
\ExplSyntaxOff
\texttransparent{0.5}{xxxxxxxxxxx}
\texttransparent{0.3}{xxxxxxxxxxx}
diff --git a/testfiles/catalog-remove.lvt b/testfiles/catalog-remove.lvt
index 1b4553b..e3abe55 100644
--- a/testfiles/catalog-remove.lvt
+++ b/testfiles/catalog-remove.lvt
@@ -7,21 +7,21 @@
\begin{document}
\START
\ExplSyntaxOn
-\pdfdict_put:nnn {Catalog } {Lang} {(de-De)}
-\pdfdict_put:nnn {Catalog } {PageLayout} {/SinglePage}
-\pdfdict_put:nnn {Catalog / MarkInfo} {Marked} {True}
-\pdfdict_put:nnn {Catalog / ViewerPreferences}{HideToolbar} {true}
-\pdfdict_put:nnn {Catalog / AcroForm/DR/Font} {Name} {<</ABC/CDE>>}
-\pdfdict_put:nnn {Catalog / AcroForm/DR/Font} {NameB} {<</ABC/CDE>>}
+\pdfdict_gput:nnn {Catalog } {Lang} {(de-De)}
+\pdfdict_gput:nnn {Catalog } {PageLayout} {/SinglePage}
+\pdfdict_gput:nnn {Catalog / MarkInfo} {Marked} {True}
+\pdfdict_gput:nnn {Catalog / ViewerPreferences}{HideToolbar} {true}
+\pdfdict_gput:nnn {Catalog / AcroForm/DR/Font} {Name} {<</ABC/CDE>>}
+\pdfdict_gput:nnn {Catalog / AcroForm/DR/Font} {NameB} {<</ABC/CDE>>}
\pdfdict_show:n {Catalog}
\pdfdict_show:n {Catalog/ViewerPreferences}
\pdfdict_show:n {Catalog/MarkInfo}
\pdfdict_show:n {Catalog/AcroForm/DR/Font}
-\pdfdict_remove:nn {Catalog / ViewerPreferences } {HideToolbar}
-\pdfdict_remove:nn {Catalog } {PageMode}
-\pdfdict_remove:nn {Catalog } {PageLayout}
-\pdfdict_remove:nn {Catalog / MarkInfo } {Marked }
-\pdfdict_remove:nn {Catalog / AcroForm/DR/Font} {Name}
+\pdfdict_gremove:nn {Catalog / ViewerPreferences } {HideToolbar}
+\pdfdict_gremove:nn {Catalog } {PageMode}
+\pdfdict_gremove:nn {Catalog } {PageLayout}
+\pdfdict_gremove:nn {Catalog / MarkInfo } {Marked }
+\pdfdict_gremove:nn {Catalog / AcroForm/DR/Font} {Name}
\pdfdict_show:n {Catalog}
\pdfdict_show:n {Catalog/ViewerPreferences}
\pdfdict_show:n {Catalog/MarkInfo}
diff --git a/testfiles/catalogAF.pvt b/testfiles/catalogAF.pvt
index 2254520..6e252d5 100644
--- a/testfiles/catalogAF.pvt
+++ b/testfiles/catalogAF.pvt
@@ -15,8 +15,8 @@
\pdf_object_new:nn {filespec2}{dict}
\pdf_object_write:nn {filespec2} {/Type /Filespec /UF (example2.pdf)}
-\pdfdict_put:nnx { Catalog } {AF} {\pdf_object_ref:n {filespec1}}
-\pdfdict_put:nnx { Catalog } {AF} {\pdf_object_ref:n {filespec2}}
+\pdfdict_gput:nnx { Catalog } {AF} {\pdf_object_ref:n {filespec1}}
+\pdfdict_gput:nnx { Catalog } {AF} {\pdf_object_ref:n {filespec2}}
\ExplSyntaxOff
\begin{document}
\START
diff --git a/testfiles/infodict.pvt b/testfiles/infodict.pvt
index 35266b1..2730177 100644
--- a/testfiles/infodict.pvt
+++ b/testfiles/infodict.pvt
@@ -10,8 +10,8 @@
{
\str_set_convert:Nnnn \l_tmpa_str { Grüße }{ } {utf8/string}
}
-\pdfdict_put:nnx {Info} {Title}{(\l_tmpa_str)}
-\pdfdict_put:nnx {Info} {Author}{(Some~Author)}
+\pdfdict_gput:nnx {Info} {Title}{(\l_tmpa_str)}
+\pdfdict_gput:nnx {Info} {Author}{(Some~Author)}
\ExplSyntaxOff
\begin{document}
\START
diff --git a/testfiles/mixpageattr.pvt b/testfiles/mixpageattr.pvt
index 3329cf8..c4feef6 100644
--- a/testfiles/mixpageattr.pvt
+++ b/testfiles/mixpageattr.pvt
@@ -5,7 +5,7 @@
\usepackage{fancyhdr,zref-user}
\pagestyle{fancy}
\ExplSyntaxOn \makeatletter
-\lfoot{\pdfdict_put:nnx {Page} {Rotate}{\ifodd\c at page -90\else 90 \fi}}
+\lfoot{\pdfdict_gput:nnx {Page} {Rotate}{\ifodd\c at page -90\else 90 \fi}}
\ExplSyntaxOff
\usepackage{kantlipsum}
\begin{document}
@@ -16,7 +16,7 @@ some text \kant
\ExplSyntaxOn
\begin{figure}%[p]
\zlabel{a}\label{a}
-\pdfdict_put:nnx {ThisPage}{Rotate}{90}
+\pdfdict_gput:nnx {ThisPage}{Rotate}{90}
\Huge
code~is~on~page~\thepage\par
float~is~on~page~\zpageref{a}\par
diff --git a/testfiles/ocproperties.pvt b/testfiles/ocproperties.pvt
index 8424ecd..c188da8 100644
--- a/testfiles/ocproperties.pvt
+++ b/testfiles/ocproperties.pvt
@@ -49,9 +49,9 @@
/OFF /Blabla
}
-\pdfdict_put:nnx { Catalog / OCProperties } {OCGs}{\pdf_object_ref:n {ocg1}}
-\pdfdict_put:nnx { Catalog / OCProperties } {OCGs}{\pdf_object_ref:n {ocg2}}
-\pdfdict_put:nnx { Catalog / OCProperties } {D}{\pdf_object_ref:n {ocgd}}
+\pdfdict_gput:nnx { Catalog / OCProperties } {OCGs}{\pdf_object_ref:n {ocg1}}
+\pdfdict_gput:nnx { Catalog / OCProperties } {OCGs}{\pdf_object_ref:n {ocg2}}
+\pdfdict_gput:nnx { Catalog / OCProperties } {D}{\pdf_object_ref:n {ocgd}}
\ExplSyntaxOff
diff --git a/testfiles/pageattr.pvt b/testfiles/pageattr.pvt
index f9ffeac..bf0c8c6 100644
--- a/testfiles/pageattr.pvt
+++ b/testfiles/pageattr.pvt
@@ -6,24 +6,24 @@
\START
some text
\ExplSyntaxOn
- \pdfdict_put:nnn {Page} {Rotate}{90}
+ \pdfdict_gput:nnn {Page} {Rotate}{90}
%test local:
-{\pdfdict_put:nnn {Page} {CropBox}{[0~0~300~350]}}
+{\pdfdict_gput:nnn {Page} {CropBox}{[0~0~300~350]}}
%test doublette
- \pdfdict_put:nnn {Page} {Rotate}{90}
+ \pdfdict_gput:nnn {Page} {Rotate}{90}
%test command:
\newcommand\attributecontent{(somesetting)}
-\pdfdict_put:nnx {Page} {SSS}{\attributecontent}
+\pdfdict_gput:nnx {Page} {SSS}{\attributecontent}
\newpage
-\pdfdict_remove:nn {Page}{Rotate}
-\pdfdict_remove:nn {Page}{CropBox}
+\pdfdict_gremove:nn {Page}{Rotate}
+\pdfdict_gremove:nn {Page}{CropBox}
some text more text
\begin{figure}[p]
\rule{1cm}{15cm}
-\pdfdict_put:nnn {ThisPage}{Rotate}{-90}
+\pdfdict_gput:nnn {ThisPage}{Rotate}{-90}
\end{figure}
\newpage
abbb
diff --git a/testfiles/pagesattr.pvt b/testfiles/pagesattr.pvt
index 706180c..2903698 100644
--- a/testfiles/pagesattr.pvt
+++ b/testfiles/pagesattr.pvt
@@ -6,16 +6,16 @@
\START
some text
\ExplSyntaxOn
- \pdfdict_put:nnn {Pages} {YYY}{(yyy)}
+ \pdfdict_gput:nnn {Pages} {YYY}{(yyy)}
%test local:
-{\pdfdict_put:nnn {Pages} {ZZZ}{(zzz)}}
+{\pdfdict_gput:nnn {Pages} {ZZZ}{(zzz)}}
%test doublette
- \pdfdict_put:nnn {Pages} {YYY}{(y22)}
+ \pdfdict_gput:nnn {Pages} {YYY}{(y22)}
%test command:
\newcommand\attributecontent{(somesetting)}
-\pdfdict_put:nnn {Pages} {SSS}{\attributecontent}
+\pdfdict_gput:nnn {Pages} {SSS}{\attributecontent}
%\tl_show:N\g__pdf_pagesattr_tl
\ExplSyntaxOff
\end{document}
\ No newline at end of file
diff --git a/testfiles/thispageattr.pvt b/testfiles/thispageattr.pvt
index 62e8b6f..f35388c 100644
--- a/testfiles/thispageattr.pvt
+++ b/testfiles/thispageattr.pvt
@@ -18,7 +18,7 @@
\begin{figure}[p]
\zlabel{a}\label{a}
-\pdfdict_put:nnx{ThisPage}{Rotate}{\myrotate{a}}
+\pdfdict_gput:nnx{ThisPage}{Rotate}{\myrotate{a}}
\Huge
code~is~on~page~\thepage\par
float~is~on~page~\zpageref{a}\par
@@ -27,7 +27,7 @@ float~is~on~page~\zpageref{a}\par
\begin{figure}[p]
\zlabel{b}
-\pdfdict_put:nnx{ThisPage}{Rotate}{\myrotate{b}}
+\pdfdict_gput:nnx{ThisPage}{Rotate}{\myrotate{b}}
\Huge
code~is~on~page~\thepage\par
\label{b}float~is~on~page~\pageref{b}\par
diff --git a/testfiles/xform.pvt b/testfiles/xform.pvt
index c05d95e..b1f7b26 100644
--- a/testfiles/xform.pvt
+++ b/testfiles/xform.pvt
@@ -9,7 +9,7 @@ text
\pdf_xform_new:nnn {myxformA}{/yyy~(bla)}{yyyyy}
-\pdfdict_put:nnn{Page/Resources/ExtGState}{bearopacity}{<</ca~0.7/CA~0.7>>}
+\pdfdict_gput:nnn{Page/Resources/ExtGState}{bearopacity}{<</ca~0.7/CA~0.7>>}
\pdf_xform_new:nnn {myxform}{/yyy~(bla)}{xxxxxxxxxx}
More information about the latex3-commits
mailing list.