[latex3-commits] [git/LaTeX3-latex3-pdfresources] renamedict77: converted catalog command ->dict (0e638f6)

Ulrike Fischer fischer at troubleshooting-tex.de
Thu Apr 9 19:16:50 CEST 2020


Repository : https://github.com/latex3/pdfresources
On branch  : renamedict77
Link       : https://github.com/latex3/pdfresources/commit/0e638f6b38a8073a7e5ac3056a795e10dafe372c

>---------------------------------------------------------------

commit 0e638f6b38a8073a7e5ac3056a795e10dafe372c
Author: Ulrike Fischer <fischer at troubleshooting-tex.de>
Date:   Thu Apr 9 19:16:50 2020 +0200

    converted catalog command ->dict


>---------------------------------------------------------------

0e638f6b38a8073a7e5ac3056a795e10dafe372c
 experiments/catalogue.tex     |  27 +++--
 hgeneric-experimental.def     |  16 +--
 pdfresources.dtx              | 259 +++++++++++++++++++++---------------------
 testfiles-dvips/catalogAF.pvt |   4 +-
 testfiles/catalogAF.pvt       |   4 +-
 testfiles/ocproperties.pvt    |   6 +-
 6 files changed, 165 insertions(+), 151 deletions(-)

diff --git a/experiments/catalogue.tex b/experiments/catalogue.tex
index 3740364..2887575 100644
--- a/experiments/catalogue.tex
+++ b/experiments/catalogue.tex
@@ -14,15 +14,26 @@
 blblb
 \pdf_object_new:nn   {fieldstest}{dict}
 \pdf_object_write:nn {fieldstest}{/field /abc}
-\pdf_catalog_gput:nn {AcroForm/Fields}{fieldstest}
-\pdf_catalog_gput:nn {AcroForm/DR/Font}{{F1}{<</A/B>>}}
-\pdf_catalog_gput:nn {AcroForm/DR/Font}{{F2}{<</C/E>>}}
-\pdf_catalog_gput:nn {Lang}{(en-UK)}
-\pdf_catalog_gput:nn {Blub}{(abc)}
-\pdf_catalog_gput:nn {AcroForm} {{NeedAppearances}{true}}
-\pdf_catalog_gput:nn {ViewerPreferences}{{HideToolbar}{true}}
-\pdf_catalog_gput:nn {AA}{{WS}{<</blub/bla>>}}
 
+\pdf_object_new:nn   {intent}{dict}
+\pdf_object_write:nn {intent}{
+    /Info (Uncoated FOGRA29 (ISO 12647-2:2004))
+    /OutputCondition(Offset print according to ISO/DIS 12647-2:2003)
+    /OutputConditionIdentifier (FOGRA29)
+    /RegistryName(http://www.color.org)
+    /S /GTS_PDFX
+    /Type /OutputIntent}
+\pdfdict_put:nnx {Catalog/AcroForm}{Fields}{\pdf_object_ref:n { fieldstest }}
+\pdfdict_put:nnn {Catalog/AcroForm/DR/Font}{F1}{<</A/B>>}
+\pdfdict_put:nnn {Catalog/AcroForm/DR/Font}{F2}{<</C/E>>}
+\pdfdict_put:nnn {Catalog} {Lang}{(en-UK)}
+\pdfdict_put:nnn {Catalog} {Blub}{(abc)}
+%\pdfdict_put:nnn {Catalog / AcroForm} {NeedAppearances}{true}
+\pdfdict_put:nnn {Catalog/ViewerPreferences}{HideToolbar}{true}
+\pdfdict_put:nnn {Catalog/AA}{WS}{<</blub/bla>>}
+
+\pdfdict_put:nnn {Catalog} {OutputIntents}{intent}
+\pdfdict_put:nnn {Catalog} {OutputIntents}{intent}
 \ExplSyntaxOff
 \end{document}
 \bool_if:nT {\sys_if_engine_pdftex_p: && \sys_if_output_pdf_p: }
diff --git a/hgeneric-experimental.def b/hgeneric-experimental.def
index a2f5b5c..894990f 100644
--- a/hgeneric-experimental.def
+++ b/hgeneric-experimental.def
@@ -157,7 +157,7 @@
 %%%%%%%%%%
 % variants
 \cs_generate_variant:Nn \pdf_object_write:nn {nx}
-\cs_generate_variant:Nn \pdf_catalog_gput:nn {nx}
+
 %\cs_generate_variant:Nn \pdf_pagesattr_gput:nn {nx} %not really needed but one shouldn't rely on side effects
 
 % tmp
@@ -527,8 +527,8 @@
               /View  <</ViewState/OFF>>~
              >>
           }
-       \pdf_catalog_gput:nn { OCProperties/OCGs }{ l__hyp_ocg_view_dict_obj }
-       \pdf_catalog_gput:nn { OCProperties/OCGs }{ l__hyp_ocg_print_dict_obj }
+       \pdfdict_put:nnn { Catalog / OCProperties }{OCGs }{ l__hyp_ocg_view_dict_obj }
+       \pdfdict_put:nnn { Catalog / OCProperties }{OCGs }{ 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 }]
@@ -550,7 +550,7 @@
              >>
               ]
          }
-       \pdf_catalog_gput:nn { OCProperties/D }{ l__hyp_ocg_config_dict_obj }
+       \pdfdict_put:nnn { Catalog / OCProperties }{ D }{ l__hyp_ocg_config_dict_obj }
     }
     \Hy at AtBeginDocument
       {
@@ -1573,7 +1573,9 @@
         \Hy at FormObjects
         \prop_map_inline:Nn \g__hyp_AcroForm_Fields_prop
           {
-            \pdf_catalog_gput:nn {AcroForm/Fields}{##1}
+            \pdfdict_put:nnx { Catalog / AcroForm } { Fields }{##1}
+            \pdfdict_show:n { Catalog / AcroForm }
+            \seq_show:c { g__pdf_/Catalog/AcroForm/Fields_seq}
           }
         \prop_if_empty:NF \g__hyp_AcroForm_CoFields_prop
           {
@@ -1590,8 +1592,8 @@
               }
             \seq_map_inline:Nn \l__hyp_tmpa_seq
              {
-                \pdf_catalog_gput:nx
-                  {AcroForm/CO}
+                \pdfdict_put:nnx { Catalog / AcroForm }
+                  { CO }
                   {
                     \prop_item:Nn \g__hyp_AcroForm_CoFields_prop {##1}
                   }
diff --git a/pdfresources.dtx b/pdfresources.dtx
index ade7751..e1cb7f8 100644
--- a/pdfresources.dtx
+++ b/pdfresources.dtx
@@ -545,8 +545,13 @@
       {
         \@@_dict_if_exist:nTF { #1 }
           {
-            \use:c { prop_\@@_dict_get_g:n{#1}put:cnn }
-              { \@@_dict_Xname:n { #1 } }{ #2 } { #3 }
+            \cs_if_exist:cTF
+              { @@_dict_/#1/#2_\@@_dict_get_g:n{#1}put:n }
+              { \use:c {@@_dict_/#1/#2_\@@_dict_get_g:n{#1}put:n} {#3} } %special handler
+              {
+                \use:c { prop_\@@_dict_get_g:n{#1}put:cnn }
+                  { \@@_dict_Xname:n { #1 } }{ #2 } { #3 }
+              }
           }
           {
             \msg_error:nnn { pdfdict } { unknown-dict } { /#1 }
@@ -554,12 +559,6 @@
       }
   }
 
-%special handler for the catalog, need to check arguments (path/name
-%    \cs_if_exist:cTF
-%     { @@_/Catalog/#1_gput:n }
-%        {
-%          \use:c { @@_/Catalog/#1_gput:n } { #2 }
-%        }
 
 \cs_generate_variant:Nn \@@_dict_put:nnn {nxx}
 
@@ -2171,7 +2170,7 @@
 % the backend command is already in the driver:
 % \cs{@@_backend_catalog_gput:nn}
 %
-% \subsubsection{ Catalog/management }
+% \subsubsection{ pdfdict: \enquote{Catalog} \& subdirectories /management }
 % \begin{NOTE}{UF}
 % The catalog dictionary is filled by e.g. \cs{pdfcatalog}. Multiple appearances of
 % \cs{pdfcatalog} are concatenated, so one could end with multiple entries
@@ -2190,13 +2189,18 @@
 % /DSS                      (dict, pdf 2.0)
 % /Acroform/DR/ExtGState etc probably unneeded.
 % \end{NOTE}
+% The catalog is a central dictionary in a PDF with a number of sub dictionaries.
+% Entries to the top level of the catalog can be added with
+% |\pdfdict_put:nnn {Catalog}|\Arg{Name}\Arg{Value}.
+% Entries to sub dictionaries by using one of the pathes described later in the first
+% argument.
 % The entries in the catalog have varying requirements regarding the
 % pdf management. Some entries (like /Lang) are simple values where the last
 % setting should win, other like /OutputIntents are dictionaries which can
 % be filled from more than one source. In some cases the values that needs to be
 % added are not at the top-level but in some subsubdictionary.
-% To handle this some \Arg{keys} in the following command
-% are connected with special functions.
+% To handle this some pathes use internal special handlers.
+
 % \begin{function}[added = 2019-08-18]
 %   {\pdf_catalog_gput:nn, \pdf_catalog_gput:no , \pdf_catalog_gput:nx   }
 %   \begin{syntax}
@@ -2208,17 +2212,20 @@
 %   The exact format of \Arg{value} depends on \Arg{key}.
 % \end{function}
 %
-%   \paragraph{Simple values}
-%   The values in the following tabular are \enquote{simple} in the sense
-%   that they are added as is to the catalog or a sub dictionary.
-%   If \meta{key} gets assigned two values the last one wins.
+%   \paragraph{Entries of the top level of the catalog}
+%   The Names in the following tabular are entries that are added to the
+%   top level of the catalog.
+%
+%   If \meta{Name} gets assigned two values the last one wins.
 %   There is no check that the values have the correct type and format.
 %   It is up to the user to ensure that the value does what is intended.
 %
+%   Example: |\pdfdict_put:nnn {Catalog}{PageMode}{/UseNone}|
+%
 %   \medskip
 %   \noindent
 %   \begin{tabularx}{\linewidth}{ll>{\raggedright\arraybackslash}X}
-%    \bfseries Key           &  \bfseries Value  & \bfseries Remark \\\midrule
+%    \bfseries Name           &  \bfseries Value  & \bfseries Remark \\\midrule
 %    Collection              &  objref or dict\\
 %    DPartRoot               &  objref or dict & pdf 2.0\\
 %    Lang                    &  string & e.g. \texttt{(de-DE)} \\
@@ -2245,19 +2252,21 @@
 %   \end{tabularx}
 %   \par\medskip
 %
-%   \paragraph{Catalog entries with subdictionaries}
-%   The following keys add values to subdictionaries. The syntax is that the
-%   \meta{name}  \meta{value} pair is inputed in a brace pair. E.g.\\
-%   |\pdf_catalog_gput:nn {Acroform}{{SigFlags}{3}}| or\\
-%   |\pdf_catalog_gput:nn {ViewerPreferences}{{HideToolbar}{true}}|
+%   \paragraph{Simple entries in subdictionaries of the catalog}
+%   The following dictionaries have been predeclared and allow to
+%   add values to the respective subdictionaries of the catalog. The
+%   names of the dictionaries follow the naming in PDF reference.
+%   If \meta{Name} gets assigned two values the last one wins.
+%
+%   Example: |\pdfdict_put:nnn {Catalog/MarkInfo}{Marked}{true}|
 %
 %   \medskip
 %   \noindent
 %   \begin{tabularx}{\linewidth}{lll>{\raggedright\arraybackslash}X}
-%    \bfseries Key           & \bfseries Subkey& \bfseries Value  & \bfseries Remark
+%    \bfseries Dictionary    & \bfseries Names & \bfseries Value  & \bfseries Remark
 %    \\\midrule
-%  AA                        &WC, WS, DS, WP,DP& all dict    \\
-%  AcroFrom                  &  NeedAppearances&  boolean & In pdf 2.0
+%    Catalog/AA              &WC, WS, DS, WP,DP& all dict    \\
+%    Catalog/AcroFrom        &  NeedAppearances&  boolean & In pdf 2.0
 %                                                           NeedAppearances
 %                                                           is deprecated,
 %                                                           it is then required
@@ -2266,35 +2275,23 @@
 %                            &  SigFlags       &  Integer\\
 %                            &  DA             &  String \\
 %                            &  Q              &  Integer\\
-%                            &  XFA            & stream or array & pdf 1.5\\
-%  AcroForm/DR               & name            &            & probably unneeded \\
-%  AcroForm/DR/Font          &  \meta{name}    & dict       & name is a pdf name
-%                                                             without slash  \\
-%  MarkInfo                  & Marked          & boolean      \\
+%                            &  XFA            &  stream or array & pdf 1.5\\
+%  Catalog/AcroForm/DR       & \meta{name}     &            & probably unneeded \\
+%  Catalog/AcroForm/DR/Font  & \meta{name}     & dict       & \\
+%  Catalog/MarkInfo          & Marked          & boolean      \\
 %                            & UserProperties  & boolean      \\
 %                            & Suspects        & boolean      \\
-%  ViewerPreferences         & HideToolbar     & boolean      \\
-%                            & \ldots          &              \\
+%  Catalog/ViewerPreferences & HideToolbar     & boolean      \\
+%                            & Direction       & /R2L or /L2R
+%                            & \ldots          &              & many more, see the reference \\
 % \end{tabularx}
 %
-%   These rather simple entries can be removed again with the following command:
-%   \begin{function}[added = 2020-03-23]
-%   {\pdf_catalog_gremove:n }
-%   \begin{syntax}
-%     \cs{pdf_catalog_gremove:n}  \Arg{key}
-%   \end{syntax}
-%   This removes an entry from the catalog for the variants above.
-%   described in the following paragraph. In some cases removing such an entry
-%   can be needed if some default value set by a packages interferes with
-%   defaults set by the user in the pdf viewer.
-%   \Arg{key} is either a simple key or a key/subkey combination. Examples
-%   | \pdf_catalog_gremove:n { PageMode } |\\
-%   | \pdf_catalog_gremove:n { ViewerPreferences/HideToolbar } |
-%   \end{function}
 %
 % \paragraph{Catalog entries with multiple values in arrays}
-% The following keys are dictionaries to which multiple values can be
-% assigned which are then combined in an array. The value is -- with the exception
+% The following entries are special: Their values are arrays and
+% it must be possible to append to such arrays. This means that a new
+% call to set this value doesn't replace the value but appends it.
+% The value is -- with the exception
 % of AcroForm/Fields and AcroForm/CO an object name of an object
 % which must have been declared previously. E.g.
 %  \begin{verbatim}
@@ -2305,20 +2302,20 @@
 %
 %   \medskip
 %   \noindent
-%   \begin{tabularx}{\linewidth}{ll>{\raggedright\arraybackslash}X}
-%    \bfseries Key        & \bfseries Value   & \bfseries Remark \\\midrule
-%    AcroForm/Fields      & object reference\\
-%    AcroForm/CO          & object reference\\
-%    AF                   & object name\\
-%    OCProperties/OCGs    & object name  &if there are OCProperties, OCGs and D are required.\\
-%    OCProperties/Configs & object name \\
-%    OCProperties/D       & object name & This actually a single value as
+%   \begin{tabularx}{\linewidth}{lll>{\raggedright\arraybackslash}X}
+%    \bfseries Dictionary &\bfseries Name        & \bfseries Value   & \bfseries Remark \\\midrule
+%    Catalog/AcroForm     & Fields               & object reference\\
+%    Catalog/AcroForm     & CO                   & object reference\\
+%    Catalog              & AF                   & object name\\
+%    Catalog/OCProperties & OCGs                 & object name  &if there are OCProperties, OCGs and D are required.\\
+%    Catalog/OCProperties & Configs              & object name \\
+%    Catalog/OCProperties & D                    & object name & This actually a single value as
 %                                         there can be only one default.
 %                                         If the value is set twice, the
 %                                         second wins, and the first is
 %                                         added to OCProperties/Configs.\\
-%    OutputIntents        & object name\\
-%    Requirements         & object name & pdf 1.7 \\
+%    Catalog              & OutputIntents        & object name\\
+%    Catalog              & Requirements         & object name & pdf 1.7 \\
 %   \end{tabularx}
 %
 %
@@ -2408,12 +2405,12 @@
 \clist_map_inline:Nn \c_@@_Catalog_prop_clist
   {
     \@@_dict_gnew:n {Catalog/#1}
-%    \cs_new_protected:cpn { @@_/Catalog/#1_gput:n } ##1
-%      {
-%        \@@_dict_put:nnn { Catalog/#1 }  ##1
-%      }
   }
 
+% special cases
+\@@_dict_gnew:n { Catalog / AcroForm }
+\@@_dict_gnew:n { Catalog / OCProperties }
+
 \clist_const:Nn \c_@@_Catalog_seq_clist
   {
     AF,
@@ -2423,29 +2420,33 @@
     Requirements
   }
 
+
+
 \clist_map_inline:Nn \c_@@_Catalog_seq_clist
  {
-   \seq_new:c { g_@@_/Catalog/#1_seq }
-   \cs_new_protected:cpn { @@_/Catalog/#1_gput:n } ##1
+   \seq_new:c { g_@@_dict_/Catalog/#1_seq } % new name later
+   \cs_new_protected:cpn { @@_dict_/Catalog/#1_gput:n } ##1
      {
-       \seq_gput_right:cx { g_@@_/Catalog/#1_seq } { \pdf_object_ref:n { ##1 } }
+       \seq_gput_right:cx { g_@@_dict_/Catalog/#1_seq } { \pdf_object_ref:n { ##1 } }
      }
  }
+
 %not from a named object
+
 \clist_map_inline:nn { AcroForm/Fields, AcroForm/CO }
   {
-    \seq_new:c { g_@@_/Catalog/#1_seq }
-    \cs_new_protected:cpn { @@_/Catalog/#1_gput:n } ##1
+    \seq_new:c { g_@@_dict_/Catalog/#1_seq } % new name later
+    \cs_new_protected:cpn { @@_dict_/Catalog/#1_gput:n } ##1
       {
-        \seq_gput_right:cx { g_@@_/Catalog/#1_seq } { ##1 }
+        \seq_gput_right:cx { g_@@_dict_/Catalog/#1_seq } { ##1 }
       }
  }
 
 
-\cs_new_protected:cpn { @@_/Catalog/OCProperties/D_gput:n } #1
+\cs_new_protected:cpn { @@_dict_/Catalog/OCProperties/D_gput:n } #1
   {
     \seq_gput_left:cx
-      { g_@@_/Catalog/OCProperties/Configs_seq }
+      { g_@@_dict_/Catalog/OCProperties/Configs_seq }
       { \pdf_object_ref:n { #1 } }
   }
 %    \end{macrocode}
@@ -2477,15 +2478,15 @@
     \prop_if_empty:cF
      { \@@_dict_gname:n { Catalog/AA } }
      {
-       \@@_backend_object_new:nn  { g_@@_/Catalog/AA_obj } { dict }
+       \@@_backend_object_new:nn  { g_@@_dict_/Catalog/AA_obj } { dict }
        \@@_backend_object_write:nx
-            { g_@@_/Catalog/AA_obj }
+            { g_@@_dict_/Catalog/AA_obj }
             { \@@_dict_map_dict_item:n { Catalog/AA } }
        \exp_args:Nnx
          \@@_backend_catalog_gput:nn
            {AA}
            {
-             \@@_backend_object_ref:n { g_@@_/Catalog/AA_obj }
+             \@@_backend_object_ref:n { g_@@_dict_/Catalog/AA_obj }
            }
      }
   }
@@ -2504,69 +2505,69 @@
 %    \begin{macrocode}
 \cs_new_protected:cpn { @@_/Catalog/AcroForm_gpush: }
   {
-    \seq_if_empty:cF { g_@@_/Catalog/AcroForm/Fields_seq }
+    \seq_if_empty:cF { g_@@_dict_/Catalog/AcroForm/Fields_seq }
       {
-        \@@_backend_object_new:nn  { g_@@_/Catalog/AcroForm/Fields_obj } { array }
+        \@@_backend_object_new:nn  { g_@@_dict_/Catalog/AcroForm/Fields_obj } { array }
         \@@_backend_object_write:nx
-            { g_@@_/Catalog/AcroForm/Fields_obj }
-            { \seq_use:cn { g_@@_/Catalog/AcroForm/Fields_seq } {~} }
+            { g_@@_dict_/Catalog/AcroForm/Fields_obj }
+            { \seq_use:cn { g_@@_dict_/Catalog/AcroForm/Fields_seq } {~} }
         \exp_args:Nnnx
-          \@@_dict_put:nnn
-            { Catalog/AcroForm }
+          \prop_gput:cnn %we have to use \prop here to avoid the handler ..
+            { \__pdf_dict_Xname:n { Catalog/AcroForm } }
             { Fields }
-            { \@@_backend_object_ref:n { g_@@_/Catalog/AcroForm/Fields_obj } }
+            { \@@_backend_object_ref:n { g_@@_dict_/Catalog/AcroForm/Fields_obj } }
       }
-    \seq_if_empty:cF { g_@@_/Catalog/AcroForm/CO_seq }
+    \seq_if_empty:cF { g_@@_dict_/Catalog/AcroForm/CO_seq }
       {
-        \@@_backend_object_new:nn  { g_@@_/Catalog/AcroForm/CO_obj } { array }
+        \@@_backend_object_new:nn  { g_@@_dict_/Catalog/AcroForm/CO_obj } { array }
         \exp_args:Nnx
           \@@_backend_object_write:nn
-            { g_@@_/Catalog/AcroForm/CO_obj }
-            { \seq_use:cn { g_@@_/Catalog/AcroForm/CO_seq } {~} }
+            { g_@@_dict_/Catalog/AcroForm/CO_obj }
+            { \seq_use:cn { g_@@_dict_/Catalog/AcroForm/CO_seq } {~} }
         \exp_args:Nnnx
-          \@@_dict_put:nnn
-            { Catalog/AcroForm }
+          \prop_gput:cnn %we have to use \prop here to avoid the handler ..
+            { \__pdf_dict_Xname:n { Catalog/AcroForm } }
             { CO }
-            { \@@_backend_object_ref:n { g_@@_/Catalog/AcroForm/CO_obj } }
+            { \@@_backend_object_ref:n { g_@@_dict_/Catalog/AcroForm/CO_obj } }
       }
      \prop_if_empty:cF { \@@_dict_gname:n { Catalog/AcroForm/DR/Font}}
        {
-         \@@_backend_object_new:nn { g_@@_/Catalog/AcroForm/DR/Font_obj } {dict}
+         \@@_backend_object_new:nn { g_@@_dict_/Catalog/AcroForm/DR/Font_obj } {dict}
          \exp_args:Nnx
            \@@_backend_object_write:nn
-             { g_@@_/Catalog/AcroForm/DR/Font_obj }
+             { g_@@_dict_/Catalog/AcroForm/DR/Font_obj }
              { \@@_dict_map_dict_item:n { Catalog/AcroForm/DR/Font } }
          \exp_args:Nnnx
-           \@@_dict_put:nnn
-             { Catalog/AcroForm/DR }
+           \prop_gput:cnn %we have to use \prop here to avoid the handler ..
+             { \__pdf_dict_Xname:n { Catalog/AcroForm/DR } }
              { Font }
-             { \@@_backend_object_ref:n { g_@@_/Catalog/AcroForm/DR/Font_obj } }
+             { \@@_backend_object_ref:n { g_@@_dict_/Catalog/AcroForm/DR/Font_obj } }
        }
      \prop_if_empty:cF { \@@_dict_gname:n { Catalog/AcroForm/DR}}
        {
-         \@@_backend_object_new:nn { g_@@_/Catalog/AcroForm/DR_obj } {dict}
+         \@@_backend_object_new:nn { g_@@_dict_/Catalog/AcroForm/DR_obj } {dict}
          \exp_args:Nnx
            \@@_backend_object_write:nn
-             { g_@@_/Catalog/AcroForm/DR_obj }
+             { g_@@_dict_/Catalog/AcroForm/DR_obj }
              { \@@_dict_map_dict_item:n { Catalog/AcroForm/DR } }
          \exp_args:Nnnx
-           \@@_dict_put:nnn
-             { Catalog/AcroForm }
+           \prop_gput:cnn %we have to use \prop here to avoid the handler ..
+             { \__pdf_dict_Xname:n { Catalog/AcroForm } }
              { DR }
-             { \@@_backend_object_ref:n { g_@@_/Catalog/AcroForm/DR_obj } }
+             { \@@_backend_object_ref:n { g_@@_dict_/Catalog/AcroForm/DR_obj } }
        }
      \prop_if_empty:cF { \@@_dict_gname:n { Catalog/AcroForm} }
        {
-         \@@_backend_object_new:nn { g_@@_/Catalog/AcroForm_obj } {dict}
+         \@@_backend_object_new:nn { g_@@_dict_/Catalog/AcroForm_obj } {dict}
          \exp_args:Nnx
            \@@_backend_object_write:nn
-             { g_@@_/Catalog/AcroForm_obj }
+             { g_@@_dict_/Catalog/AcroForm_obj }
              { \@@_dict_map_dict_item:n { Catalog/AcroForm } }
          \exp_args:Nnnx
            \@@_dict_put:nnn
              { Catalog }
              { AcroForm }
-             { \@@_backend_object_ref:n { g_@@_/Catalog/AcroForm_obj } }
+             { \@@_backend_object_ref:n { g_@@_dict_/Catalog/AcroForm_obj } }
        }
   }
 
@@ -2580,18 +2581,18 @@
 \cs_new_protected:cpn { @@_/Catalog/AF_gpush: }
   {
     \seq_if_empty:cF
-     { g_@@_/Catalog/AF_seq }
+     { g_@@_dict_/Catalog/AF_seq }
      {
-       \@@_backend_object_new:nn  { g_@@_/Catalog/AF_obj } { array }
+       \@@_backend_object_new:nn  { g_@@_dict_/Catalog/AF_obj } { array }
        \exp_args:Nnx
          \@@_backend_object_write:nn
-            { g_@@_/Catalog/AF_obj }
-            { \seq_use:cn { g_@@_/Catalog/AF_seq } {~} }
+            { g_@@_dict_/Catalog/AF_obj }
+            { \seq_use:cn { g_@@_dict_/Catalog/AF_seq } {~} }
        \exp_args:Nnx
          \@@_backend_catalog_gput:nn
            {AF}
            {
-             \@@_backend_object_ref:n {g_@@_/Catalog/AF_obj}
+             \@@_backend_object_ref:n {g_@@_dict_/Catalog/AF_obj}
            }
      }
   }
@@ -2606,16 +2607,16 @@
     \prop_if_empty:cF
      { \@@_dict_gname:n { Catalog/MarkInfo } }
      {
-       \@@_backend_object_new:nn  { g_@@_/Catalog/MarkInfo_obj } { dict }
+       \@@_backend_object_new:nn  { g_@@_dict_/Catalog/MarkInfo_obj } { dict }
        \exp_args:Nnx
          \@@_backend_object_write:nn
-            { g_@@_/Catalog/MarkInfo_obj }
+            { g_@@_dict_/Catalog/MarkInfo_obj }
             { \@@_dict_map_dict_item:n {Catalog/MarkInfo } }
        \exp_args:Nnx
          \@@_backend_catalog_gput:nn
            {MarkInfo}
            {
-             \@@_backend_object_ref:n {g_@@_/Catalog/MarkInfo_obj}
+             \@@_backend_object_ref:n {g_@@_dict_/Catalog/MarkInfo_obj}
            }
      }
   }
@@ -2640,29 +2641,29 @@
   {
    \int_compare:nNnT
       {
-        ( \seq_count:c { g_@@_/Catalog/OCProperties/OCGs_seq }  )*
-        ( \seq_count:c { g_@@_/Catalog/OCProperties/Configs_seq } )
+        ( \seq_count:c { g_@@_dict_/Catalog/OCProperties/OCGs_seq }  )*
+        ( \seq_count:c { g_@@_dict_/Catalog/OCProperties/Configs_seq } )
       }
       >
       { 0 }
       {
-        \@@_backend_object_new:nn  { g_@@_/Catalog/OCProperties_obj } { dict }
-        \seq_gpop_left:cN { g_@@_/Catalog/OCProperties/Configs_seq} \l_tmpa_tl
+        \@@_backend_object_new:nn  { g_@@_dict_/Catalog/OCProperties_obj } { dict }
+        \seq_gpop_left:cN { g_@@_dict_/Catalog/OCProperties/Configs_seq} \l_tmpa_tl
         \exp_args:Nnx
-          \@@_backend_object_write:nn {g_@@_/Catalog/OCProperties_obj}
+          \@@_backend_object_write:nn {g_@@_dict_/Catalog/OCProperties_obj}
             {
-              /OCGs~[ \seq_use:cn { g_@@_/Catalog/OCProperties/OCGs_seq } {~} ]
+              /OCGs~[ \seq_use:cn { g_@@_dict_/Catalog/OCProperties/OCGs_seq } {~} ]
               /D~\l_tmpa_tl~
-              \seq_if_empty:cF { g_@@_/Catalog/OCProperties/Configs_seq }
+              \seq_if_empty:cF { g_@@_dict_/Catalog/OCProperties/Configs_seq }
                 {
                   /Configs~
-                  [ \seq_use:cn { g_@@_/Catalog/OCProperties/Configs_seq} {~} ]
+                  [ \seq_use:cn { g_@@_dict_/Catalog/OCProperties/Configs_seq} {~} ]
                 }
             }
         \exp_args:Nnx
           \@@_backend_catalog_gput:nn
             { OCProperties }
-            { \@@_backend_object_ref:n {g_@@_/Catalog/OCProperties_obj} }
+            { \@@_backend_object_ref:n {g_@@_dict_/Catalog/OCProperties_obj} }
       }
   }
 %    \end{macrocode}
@@ -2675,18 +2676,18 @@
 \cs_new_protected:cpn { @@_/Catalog/OutputIntents_gpush: }
   {
     \seq_if_empty:cF
-     { g_@@_/Catalog/OutputIntents_seq }
+     { g_@@_dict_/Catalog/OutputIntents_seq }
      {
-       \@@_backend_object_new:nn  { g_@@_/Catalog/OutputIntents_obj } { array }
+       \@@_backend_object_new:nn  { g_@@_dict_/Catalog/OutputIntents_obj } { array }
        \exp_args:Nnx
          \@@_backend_object_write:nn
-            { g_@@_/Catalog/OutputIntents_obj }
-            { \seq_use:cn { g_@@_/Catalog/OutputIntents_seq } {~} }
+            { g_@@_dict_/Catalog/OutputIntents_obj }
+            { \seq_use:cn { g_@@_dict_/Catalog/OutputIntents_seq } {~} }
        \exp_args:Nnx
          \@@_backend_catalog_gput:nn
            {OutputIntents}
            {
-             \@@_backend_object_ref:n {g_@@_/Catalog/OutputIntents_obj}
+             \@@_backend_object_ref:n {g_@@_dict_/Catalog/OutputIntents_obj}
            }
      }
   }
@@ -2700,18 +2701,18 @@
 \cs_new_protected:cpn { @@_/Catalog/Requirements _gpush: }
   {
     \seq_if_empty:cF
-     { g_@@_/Catalog/Requirements _seq }
+     { g_@@_dict_/Catalog/Requirements _seq }
      {
-       \@@_backend_object_new:nn  { g_@@_/Catalog/Requirements _obj } { array }
+       \@@_backend_object_new:nn  { g_@@_dict_/Catalog/Requirements _obj } { array }
        \exp_args:Nnx
          \@@_backend_object_write:nn
-            { g_@@_/Catalog/Requirements_obj }
-            { \seq_use:cn { g_@@_/Catalog/Requirements_seq } {~} }
+            { g_@@_dict_/Catalog/Requirements_obj }
+            { \seq_use:cn { g_@@_dict_/Catalog/Requirements_seq } {~} }
        \exp_args:Nnx
          \@@_backend_catalog_gput:nn
            {Requirements}
            {
-             \@@_backend_object_ref:n { g_@@_/Catalog/Requirements_obj }
+             \@@_backend_object_ref:n { g_@@_dict_/Catalog/Requirements_obj }
            }
      }
   }
@@ -2726,16 +2727,16 @@
     \prop_if_empty:cF
      { \@@_dict_gname:n { Catalog/ViewerPreferences } }
      {
-       \@@_backend_object_new:nn  { g_@@_/Catalog/ViewerPreferences_obj } { dict }
+       \@@_backend_object_new:nn  { g_@@_dict_/Catalog/ViewerPreferences_obj } { dict }
        \exp_args:Nnx
          \@@_backend_object_write:nn
-            { g_@@_/Catalog/ViewerPreferences_obj }
+            { g_@@_dict_/Catalog/ViewerPreferences_obj }
             { \@@_dict_map_dict_item:n {Catalog/ViewerPreferences } }
        \exp_args:Nnx
          \@@_backend_catalog_gput:nn
            {ViewerPreferences}
            {
-             \@@_backend_object_ref:n {g_@@_/Catalog/ViewerPreferences_obj}
+             \@@_backend_object_ref:n {g_@@_dict_/Catalog/ViewerPreferences_obj}
            }
      }
   }
diff --git a/testfiles-dvips/catalogAF.pvt b/testfiles-dvips/catalogAF.pvt
index 9f5a95e..3f26b30 100644
--- a/testfiles-dvips/catalogAF.pvt
+++ b/testfiles-dvips/catalogAF.pvt
@@ -21,8 +21,8 @@
 \pdf_object_new:nn   {filespec2}{dict}
 \pdf_object_write:nn {filespec2} {/Type /Filespec /UF (example2.pdf)}
 
-\pdf_catalog_gput:nn {AF} {filespec1}
-\pdf_catalog_gput:nn {AF} {filespec2}
+\pdfdict_put:nnn { Catalog } {AF} {filespec1}
+\pdfdict_put:nnn { Catalog } {AF} {filespec2}
 \ExplSyntaxOff
 \begin{document}
 \START
diff --git a/testfiles/catalogAF.pvt b/testfiles/catalogAF.pvt
index b58fb22..8b8c75a 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)}
 
-\pdf_catalog_gput:nn {AF} {filespec1}
-\pdf_catalog_gput:nn {AF} {filespec2}
+\pdfdict_put:nnn { Catalog } {AF} {filespec1}
+\pdfdict_put:nnn { Catalog } {AF} {filespec2}
 \ExplSyntaxOff
 \begin{document}
 \START
diff --git a/testfiles/ocproperties.pvt b/testfiles/ocproperties.pvt
index 3d77a65..bca3c5b 100644
--- a/testfiles/ocproperties.pvt
+++ b/testfiles/ocproperties.pvt
@@ -49,9 +49,9 @@
   /OFF /Blabla
  }
 
-\pdf_catalog_gput:nn {OCProperties/OCGs}{ocg1}
-\pdf_catalog_gput:nn {OCProperties/OCGs}{ocg2}
-\pdf_catalog_gput:nn {OCProperties/D}{ocgd}
+\pdfdict_put:nnn { Catalog / OCProperties } {OCGs}{ocg1}
+\pdfdict_put:nnn { Catalog / OCProperties } {OCGs}{ocg2}
+\pdfdict_put:nnn { Catalog / OCProperties } {D}{ocgd}
 
 \ExplSyntaxOff
 





More information about the latex3-commits mailing list.