[latex3-commits] [git/LaTeX3-latex3-pdfresources] backendtest: more driver to backend changes (3f75b27)
Ulrike Fischer
fischer at troubleshooting-tex.de
Mon Jun 10 01:12:15 CEST 2019
Repository : https://github.com/latex3/pdfresources
On branch : backendtest
Link : https://github.com/latex3/pdfresources/commit/3f75b27626cce41c471573fbdfb426ddac395458
>---------------------------------------------------------------
commit 3f75b27626cce41c471573fbdfb426ddac395458
Author: Ulrike Fischer <fischer at troubleshooting-tex.de>
Date: Mon Jun 10 01:12:15 2019 +0200
more driver to backend changes
>---------------------------------------------------------------
3f75b27626cce41c471573fbdfb426ddac395458
pdfresources.dtx | 199 ++++++++++++++++++------------------------------------
1 file changed, 66 insertions(+), 133 deletions(-)
diff --git a/pdfresources.dtx b/pdfresources.dtx
index 2f9e6ef..dab046f 100644
--- a/pdfresources.dtx
+++ b/pdfresources.dtx
@@ -372,7 +372,13 @@
%^^A documentated
\cs_new_protected:Npn \pdf_pagesattr_gput:nn #1 #2
{
- \prop_gput:Nnn \g_@@_pagesattr_prop { #1 }{ #2}
+ \tl_if_empty:nTF { #2 }
+ {
+ \msg_none:nnn { pdf }{ empty-value }{ #1 }
+ }
+ {
+ \prop_gput:Nnn \g_@@_pagesattr_prop { #1 }{ #2}
+ }
}
% getter from the prop:
@@ -467,8 +473,13 @@
%^^A documentated
\cs_new_protected:Npn \pdf_pageattr_gput:nn #1 #2
{
- \prop_gput:Nnn \g_@@_pageattr_prop { #1 }{ #2}
- % \@@_pageattr_gpush:
+ \tl_if_empty:nTF { #2 }
+ {
+ \msg_none:nnn { pdf }{ empty-value }{ pageattr/#1 }
+ }
+ {
+ \prop_gput:Nnn \g_@@_pageattr_prop { #1 }{ #2}
+ }
}
% getter from the prop:
@@ -483,7 +494,6 @@
\cs_new_protected:Npn \pdf_pageattr_gremove:n #1
{
\prop_gremove:Nn \g_@@_pageattr_prop { #1 }
- %\@@_pageattr_gpush:
}
% push to the register
@@ -988,7 +998,7 @@
% user command: \pdf_catalog_AF_gput:n, o, x
% push command: \__pdf_value_catalog_AF_gpush:
\_@@_value_array_new:nnn { catalog } { AF }
- {\driver_pdf_catalog_gput:nn}
+ {\@@_backend_catalog_gput:nn}
%</package>
% \end{macrocode}
% \end{macro}
@@ -1007,7 +1017,7 @@
% user command: \pdf_catalog_ViewerPreferences_gput:nn, no, nx
% push command: \__pdf_value_catalog_ViewerPreferences_gpush:
-\_@@_value_dict_new:nnn { catalog }{ ViewerPreferences }{ \driver_pdf_catalog_gput:nn }
+\_@@_value_dict_new:nnn { catalog }{ ViewerPreferences }{ \@@_backend_catalog_gput:nn }
%</package>
% \end{macrocode}
% \end{macro}
@@ -1026,7 +1036,7 @@
% push command: \__pdf_value_catalog_OCproperties_gpush:
%%% not finished ...............
-%%%\_@@_value_dict_new:nnn { catalog }{ OCproperties }{ \driver_pdf_catalog_gput:nn }
+%%%\_@@_value_dict_new:nnn { catalog }{ OCproperties }{ \@@_backend_catalog_gput:nn }
\seq_new:N \g_@@_catalog_OCProperties_OCGs_seq
\seq_new:N \g_@@_catalog_OCProperties_Configs_seq
@@ -1072,10 +1082,10 @@
(\seq_count:N \g_@@_catalog_OCProperties_Configs_seq)
} > {0}
{
- \driver_pdf_object_new:nn {g_@@_catalog_OCProperties_obj} {dict}
+ \@@_backend_object_new:nn {g_@@_catalog_OCProperties_obj} {dict}
\seq_gpop_left:NN \g_@@_catalog_OCProperties_Configs_seq \g_tmpa_tl
\exp_args:Nnx
- \driver_pdf_object_write:nn {g_@@_catalog_OCProperties_obj}
+ \@@_backend_object_write:nn {g_@@_catalog_OCProperties_obj}
{
/OCGs~[\seq_use:Nn \g_@@_catalog_OCProperties_OCGs_seq {~}]
/D~\g_tmpa_tl~
@@ -1084,7 +1094,7 @@
/Configs~[\seq_use:Nn \g_@@_catalog_OCProperties_Configs_seq {~}]
}
}
- \driver_pdf_catalog_gput:nn {OCProperties}{\driver_pdf_object_ref:n {g_@@_catalog_OCProperties_obj}}
+ \@@_backend_catalog_gput:nn {OCProperties}{\@@_backend_object_ref:n {g_@@_catalog_OCProperties_obj}}
} %----------not finished
}
%</package>
@@ -1106,7 +1116,7 @@
% push command: \__pdf_value_catalog_OutputIntents_gpush:
\_@@_value_array_new:nnn { catalog } { OutputIntents }
- {\driver_pdf_catalog_gput:nn}
+ {\@@_backend_catalog_gput:nn}
%</package>
% \end{macrocode}
@@ -1120,7 +1130,7 @@
\@@_value_catalog_AF_gpush: %AF
\@@_catalog_OCProperties_gpush: %OCProperties
\@@_value_catalog_ViewerPreferences_gpush:
- \prop_map_function:NN \g_@@_catalog_prop \driver_pdf_catalog_gput:nn
+ \prop_map_function:NN \g_@@_catalog_prop \@@_backend_catalog_gput:nn
}
%</package>
% \end{macrocode}
@@ -1133,110 +1143,42 @@
%<*package>
\cs_new_protected:Npn \pdf_docview:nn #1 #2
{
- \driver_pdf_docview:nn {#1}{#2}
- }
-%</package>
-% \end{macrocode}
-% \subsection{pdfpagesattr}
-% A token register that is added to the root pages object when the pdf is finished.
-% The following command copy more or less the driver commands but add a few tests
-% and warning if other packages or users have used the primitive commands.
-% \begin{macrocode}
-%<*package>
-\tl_new:N \g_@@_pagesattr_tl
-
-\cs_new_protected:Npn \pdf_pagesattr_gput:nn #1 #2
- {
- \tl_if_empty:nTF { #2 }
- {
- \msg_none:nnn { pdf }{ empty-value }{ #1 }
- }
- {
- \driver_pdf_pagesattr_get:N \l_tmpa_tl
- \tl_if_eq:NNF \l_tmpa_tl \g_@@_pagesattr_tl
- {
- \msg_warning:nn { pdf }{ pagesattr-changed }
- }
- \driver_pdf_pagesattr_gput:nn { #1 } { #2 }
- \driver_pdf_pagesattr_get:N \l_tmpa_tl
- \tl_gset_eq:NN \g_@@_pagesattr_tl \l_tmpa_tl
- }
+ \@@_backend_docview:nn {#1}{#2}
}
%</package>
% \end{macrocode}
-%
-% \subsection{pdfpageattr}
-%
-% A token register that is added to the page object when the page is shipped out.
-% The following command copy more or less the driver commands but add a few tests
-% and warning if other packages or users have used the primitive commands.
-% ???? should we use a prop and delay the filling of the register to shipout like for
-% the page resources ? Do we need page related variants?
-% \begin{macrocode}
-%<*package>
-\tl_new:N \g_@@_pageattr_tl
-\cs_new_protected:Npn \pdf_pageattr_gput:nn #1 #2
- {
- \tl_if_empty:nTF { #2 }
- {
- \msg_none:nnn { pdf }{ empty-value }{ pageattr/#1 }
- }
- {
- \driver_pdf_pageattr_get:N \l_tmpa_tl
- \tl_if_eq:NNF \l_tmpa_tl \g_@@_pageattr_tl
- {
- \msg_warning:nn { pdf }{ pageattr-changed }
- }
- \driver_pdf_pageattr_gput:nn { #1 } { #2 }
- \driver_pdf_pageattr_get:N \l_tmpa_tl
- \tl_gset_eq:NN \g_@@_pageattr_tl \l_tmpa_tl
- }
- }
-
-\cs_new_protected:Npn \pdf_pageattr_gremove:n #1
- {
- \driver_pdf_pageattr_get:N \l_tmpa_tl
- \tl_if_eq:NNF \l_tmpa_tl \g_@@_pageattr_tl
- {
- \msg_warning:nn { pdf }{ pageattr-changed }
- }
- \driver_pdf_pageattr_gremove:n { #1 }
- \driver_pdf_pageattr_get:N \l_tmpa_tl
- \tl_gset_eq:NN \g_@@_pageattr_tl \l_tmpa_tl
- }
-%</package>
-% \end{macrocode}
% \subsection{page resources}
% This mostly makes the driver commands available under the pdf module name.
% But adds a test for empty values
+% !!!!!!!!!!!!!!!!!!!!!!
% \begin{macrocode}
%<*package>
-\cs_new_protected:Npn \pdf_pageresources_gput:nnn #1 #2 #3
+\cs_new_protected:Npn \@@_pageresources_gput:nnn #1 #2 #3
{
\tl_if_empty:nTF { #3 }
{
\msg_none:nnn { pdf }{ empty-value }{ Resources/#2 }
}
{
- \driver_pdf_pageresources_gput:nnn { #1 } { #2 } { #3 }
+ \@@_backend_pageresources_gput:nnn { #1 } { #2 } { #3 }
}
}
-\cs_new_protected:Npn \pdf_pageresources_gput:nnnn #1 #2 #3 #4
+\cs_new_protected:Npn \@@_pageresources_gput:nnnn #1 #2 #3 #4
{
\tl_if_empty:nTF { #4 }
{
\msg_none:nnn { pdf }{ empty-value }{ Resources/#3 }
}
{
- \driver_pdf_pageresources_gput:nnnn { #1 } { #2 } { #3 } { #4}
+ \@@_backend_pageresources_gput:nnnn { #1 } { #2 } { #3 } { #4}
}
}
-\cs_generate_variant:Nn \pdf_pageresources_gput:nnnn {nnnx}
-\cs_generate_variant:Nn \pdf_pageresources_gput:nnn {nnx}
+\cs_generate_variant:Nn \@@_pageresources_gput:nnnn {nnnx}
+\cs_generate_variant:Nn \@@_pageresources_gput:nnn {nnx}
%</package>
% \end{macrocode}
% \subsection{The info dictionary}
@@ -1291,13 +1233,11 @@
\cs_new_protected:Npn \@@_info_push: %internal, to ensure that it is used only once
{
- \prop_map_function:NN \g_@@_info_prop \driver_pdf_info_gput:nn
+ \prop_map_function:NN \g_@@_info_prop \@@_backend_info_gput:nn
\prop_gclear:N \g_@@_info_prop
}
\AtBeginDocument{\@@_info_push:}
-
-
%</package>
% \end{macrocode}
@@ -1332,15 +1272,8 @@
\msg_info:nnx {pdf}{object-compression-disabled}
{ \@@_backend_version_major:.\@@_backend_version_minor:}
}
- }\cs_new_protected:Npn \@@_version_checks:
- {
- \pdf_version_compare:NnT < { 1.5 }
- {
- \@@_backend_compress_objects:n {0}
- \msg_info:nnx {pdf}{object-compression-disabled}
- { \@@_backend_version_major:.\@@_backend_version_minor:}
- }
}
+
%</package>
% \end{macrocode}
% \end{macro}
@@ -1385,7 +1318,7 @@
}
\mode_leave_vertical:
%\driver_pdf_link_user:nnn
- \driver_pdf_link_begin_user:nnw
+ \@@_backend_link_begin_user:nnw
{
\prop_if_exist:cT { l_@@_hook_link_begin_#1_attr_prop }
{
@@ -1398,7 +1331,7 @@
#2
}
#3
- \driver_pdf_link_end:
+ \@@_backend_link_end:
\seq_if_exist:cT { l_@@_hook_link_end_#1_seq }
{
\seq_use:cn { l_@@_hook_link_end_#1_seq }{}
@@ -1414,7 +1347,7 @@
{
\seq_use:cn { l_@@_hook_link_begin_#1_seq }{}
}
- \driver_pdf_link_begin_user:nnw
+ \@@_backend_link_begin_user:nnw
{
\prop_if_exist:cT { l_@@_hook_link_begin_#1_attr_prop }
{
@@ -1433,7 +1366,7 @@
{
\seq_use:cn { l_@@_hook_link_begin_#1_seq }{}
}
- \driver_pdf_link_begin_goto:nnw
+ \@@_backend_link_begin_goto:nnw
{
\prop_if_exist:cT { l_@@_hook_link_begin_#1_attr_prop }
{
@@ -1475,7 +1408,7 @@
{
\prop_if_in:NnTF \l_@@_views_map_prop { #2 }
{
- \driver_pdf_destination:nn { #1 } { #2 }
+ \@@_backend_destination:nn { #1 } { #2 }
}
{
% should we assume that it is a zoom value then??
@@ -1499,7 +1432,7 @@
\cs_new_protected:Nn \pdf_link_end:n %#1 type, e.g. url
{
- \driver_pdf_link_end:
+ \@@_backend_link_end:
\seq_if_exist:cT {l_@@_hook_link_end_#1_seq}
{
\seq_use:cn { l_@@_hook_link_end_#1_seq }{}
@@ -1633,32 +1566,32 @@
% unproblematic for now).
% \begin{macrocode}
%<*package>
-\bool_if:nT { !\g__pdf_patches_bool || \sys_if_output_dvi_p: }
+\bool_if:nT { !\g_@@_patches_bool || \sys_if_output_dvi_p: }
{
\file_input_stop:
}
\msg_info:nn{pdf}{patches}
\RequirePackage{etoolbox}
% code to add to the resources existing stuff in the format "/name value":
-\cs_new:Npn \__pdf_split_dict_entry_aux:NNw #1 #2 /#3~#4\q_stop
+\cs_new:Npn \_@@_split_dict_entry_aux:NNw #1 #2 /#3~#4\q_stop
{
\tl_set:Nn #1 {#3}
\tl_set:Nn #2 {#4}
}
-\tl_new:N \l__pdf_name_tmp_tl
-\tl_new:N \l__pdf_value_tmp_tl
+\tl_new:N \l_@@_name_tmp_tl
+\tl_new:N \l_@@_value_tmp_tl
\cs_generate_variant:Nn \pdf_pageresources_gput:nnnn {nnoo}
\cs_new_protected:Npn \pdf_pageresources_split_gput:nnn #1 #2 #3 %#1 page, #2 resources
{
- \__pdf_split_dict_entry_aux:NNw \l__pdf_name_tmp_tl \l__pdf_value_tmp_tl #3 \q_stop
- \pdf_pageresources_gput:nnoo {#1}{#2}{\l__pdf_name_tmp_tl}{\l__pdf_value_tmp_tl}
+ \@@_split_dict_entry_aux:NNw \l_@@_name_tmp_tl \l_@@_value_tmp_tl #3 \q_stop
+ \pdf_pageresources_gput:nnoo {#1}{#2}{\l_@@_name_tmp_tl}{\l_@@_value_tmp_tl}
}
\cs_generate_variant:Nn \pdf_pageresources_gput:nnn {noo}
\cs_new_protected:Npn \pdf_pageresources_split_gput:nn #1 #2 %#1 resources
{
- \__pdf_split_dict_entry_aux:NNw \l__pdf_name_tmp_tl \l__pdf_value_tmp_tl #2 \q_stop
- \pdf_pageresources_gput:noo {#1}{#2}{\l__pdf_name_tmp_tl}{\l__pdf_value_tmp_tl}
+ \@@_split_dict_entry_aux:NNw \l_@@_name_tmp_tl \l_@@_value_tmp_tl #2 \q_stop
+ \pdf_pageresources_gput:noo {#1}{#2}{\l_@@_name_tmp_tl}{\l_@@_value_tmp_tl}
}
@@ -1666,36 +1599,36 @@
\AtBeginDocument
{
% extgstate
- \cs_new:Npn \__pdf_patch_pgfextgs:w #1/#2<<#3>>#4\q_stop
+ \cs_new:Npn \@@_patch_pgfextgs:w #1/#2<<#3>>#4\q_stop
{
- \driver_pdf_pageresources_gput:nnn {ExtGState}{#2}{<<#3>>}
+ \@@_backend_pageresources_gput:nnn {ExtGState}{#2}{<<#3>>}
}
\def\pgf at sys@addpdfresource at extgs@plain#1
{
\exp_after:wN %for transparent which passes a command
- \__pdf_patch_pgfextgs:w #1\q_stop
+ \@@_patch_pgfextgs:w #1\q_stop
}
% patterns
- \cs_new:Npn \__pdf_patch_pgfpatterns:w #1/#2\space#3\q_stop
+ \cs_new:Npn \@@_patch_pgfpatterns:w #1/#2\space#3\q_stop
{
- \exp_args:Nnnx \driver_pdf_pageresources_gput:nnn {Pattern}{#2}{#3}
+ \exp_args:Nnnx \@@_backend_pageresources_gput:nnn {Pattern}{#2}{#3}
}
\def\pgf at sys@addpdfresource at patterns@plain#1
{
- \__pdf_patch_pgfpatterns:w #1\q_stop
+ \@@_patch_pgfpatterns:w #1\q_stop
}
%colorspace is already set when tikz is loaded:
- \cs_new:Npn \__pdf_patch_pgfcolorspace:w #1/#2[#3]#4\q_stop
+ \cs_new:Npn \@@_patch_pgfcolorspace:w #1/#2[#3]#4\q_stop
{
- \driver_pdf_pageresources_gput:nnn {ColorSpace}{#2}{[#3]}
+ \@@_backend_pageresources_gput:nnn {ColorSpace}{#2}{[#3]}
}
\tl_if_exist:NT \pgf at sys@pgf at resource@list at colorspaces
{
\exp_last_unbraced:NV
- \__pdf_patch_pgfcolorspace:w \pgf at sys@pgf at resource@list at colorspaces\q_stop
+ \@@_patch_pgfcolorspace:w \pgf at sys@pgf at resource@list at colorspaces\q_stop
\pgfutil at everybye{}
}
}
@@ -1705,13 +1638,13 @@
{
\def\TRP at addresource
{
- \driver_pdf_pageresources_gput:nnn{ExtGState}{TRP1}{<</ca~1/CA~1>>}
+ \@@_backend_pageresources_gput:nnn{ExtGState}{TRP1}{<</ca~1/CA~1>>}
}
\def\transparent at use#1
{
\tl_if_exist:cF{TRP#1}
{
- \driver_pdf_pageresources_gput:nnn{ExtGState}{TRP#1}{<</ca~#1/CA~#1>>}
+ \@@_backend_pageresources_gput:nnn{ExtGState}{TRP#1}{<</ca~#1/CA~#1>>}
\tl_const:cn{TRP#1}{/TRP#1~gs}
}
}
@@ -1726,28 +1659,28 @@
{
\tl_if_exist:NT \spc at op
{
- \driver_pdf_object_new:nn {__spc_extgstate_op_false}{dict}
- \driver_pdf_object_write:nn
+ \@@_backend_object_new:nn {__spc_extgstate_op_false}{dict}
+ \@@_backend_object_write:nn
{__spc_extgstate_op_false}
{/Type /ExtGState~/op~false~/OP~false}
\pdf_pageresources_gput:nnn
{ExtGState}
{SPCko}
- {\driver_pdf_object_ref:n {__spc_extgstate_op_false}}
- \driver_pdf_object_new:nn {__spc_extgstate_op_true0}{dict}
- \driver_pdf_object_write:nn{__spc_extgstate_op_true0}
+ {\@@_backend_object_ref:n {__spc_extgstate_op_false}}
+ \@@_backend_object_new:nn {__spc_extgstate_op_true0}{dict}
+ \@@_backend_object_write:nn{__spc_extgstate_op_true0}
{/Type /ExtGState~/op~true~/OP~true~/OPM~0}%
\pdf_pageresources_gput:nnn
{ExtGState}
{SPCmz}
- {\driver_pdf_object_ref:n {__spc_extgstate_op_true0}}
- \driver_pdf_object_new:nn {__spc_extgstate_op_true1}{dict}
- \driver_pdf_object_write:nn{__spc_extgstate_op_true1}
+ {\@@_backend_object_ref:n {__spc_extgstate_op_true0}}
+ \@@_backend_object_new:nn {__spc_extgstate_op_true1}{dict}
+ \@@_backend_object_write:nn{__spc_extgstate_op_true1}
{/Type /ExtGState~/op~true~/OP~true~/OPM~1}%
\pdf_pageresources_gput:nnn
{ExtGState}
{SPCop}
- {\driver_pdf_object_ref:n {__spc_extgstate_op_true1}}
+ {\@@_backend_object_ref:n {__spc_extgstate_op_true1}}
\def\spc at Pageresources#1{}
}
}
More information about the latex3-commits
mailing list