[latex3-commits] [git/LaTeX3-latex3-pdfresources] testlinkstuff: removing \driver commands from hyperref driver (5eba607)
Ulrike Fischer
fischer at troubleshooting-tex.de
Sun Jun 2 00:23:00 CEST 2019
Repository : https://github.com/latex3/pdfresources
On branch : testlinkstuff
Link : https://github.com/latex3/pdfresources/commit/5eba607c649c9a0d5ec8bc86d75fd8bd2448dc1d
>---------------------------------------------------------------
commit 5eba607c649c9a0d5ec8bc86d75fd8bd2448dc1d
Author: Ulrike Fischer <fischer at troubleshooting-tex.de>
Date: Sun Jun 2 00:23:00 2019 +0200
removing \driver commands from hyperref driver
>---------------------------------------------------------------
5eba607c649c9a0d5ec8bc86d75fd8bd2448dc1d
hluatex-experimental.def | 89 ++++++++++++++++++++++++----------------------
pdfresources.dtx | 34 ++++++++++++++----
2 files changed, 74 insertions(+), 49 deletions(-)
diff --git a/hluatex-experimental.def b/hluatex-experimental.def
index f47f396..2058dfa 100644
--- a/hluatex-experimental.def
+++ b/hluatex-experimental.def
@@ -13,7 +13,6 @@
%%\Hy at VersionCheck{hluatex.def}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ExplSyntaxOn
-\cs_generate_variant:Nn \driver_pdf_object_write:nn {nx}
%% messages, should later (with more drivers) go somewhere more generic ...
\prop_gput:Nnn \g_msg_module_name_prop { hyp }{ hyperref }
\msg_new:nnn
@@ -186,7 +185,7 @@
% \Hy at PutCatalog is used only in one place, so unclear if really usefull ..
\cs_new:Npn\__hyp_put_catalog_aux:w /#1<<#2>>\q_stop
{
- \driver_pdf_catalog_gput:nn {#1}{<<#2>>}
+ \pdf_catalog_gput:nn {#1}{<<#2>>}
}
\cs_new:Npn\__hyp_put_catalog:n #1
{
@@ -250,8 +249,8 @@
%\edef\Hy at pdfmajorversion{\pdfvariable majorversion}%
\ExplSyntaxOn
-\cs_set_eq:NN \Hy at pdfminorversion \driver_pdf_version_minor:
-\cs_set_eq:NN \Hy at pdfmajorversion \driver_pdf_version_major:
+\cs_set_eq:NN \Hy at pdfminorversion \pdf_version_minor:
+\cs_set_eq:NN \Hy at pdfmajorversion \pdf_version_major:
\ifHy at ocgcolorlinks
\pdf_version_min_gset:n { 1.5 }
@@ -273,16 +272,17 @@
}
\Hy at DisableOption{pdfversion}%
+%need redoing, should use the pdfresources stuff ...
\legacy_if:nTF {Hy at ocgcolorlinks}
{
\newcommand\OBJ at OCG@view {} % for the hyperref test
\pdf at ifdraftmode{}{
- \driver_pdf_object_new:nn { l__hyp_ocg_view_dict_obj } { dict }
- \driver_pdf_object_new:nn { l__hyp_ocg_print_dict_obj } { dict }
- \driver_pdf_object_new:nn { l__hyp_ocg_config_dict_obj } { dict }
- \driver_pdf_object_new:nn { l__hyp_ocg_ref_array_obj } { array }
+ \pdf_object_new:nn { l__hyp_ocg_view_dict_obj } { dict }
+ \pdf_object_new:nn { l__hyp_ocg_print_dict_obj } { dict }
+ \pdf_object_new:nn { l__hyp_ocg_config_dict_obj } { dict }
+ \pdf_object_new:nn { l__hyp_ocg_ref_array_obj } { array }
- \driver_pdf_object_write:nn { l__hyp_ocg_view_dict_obj }
+ \pdf_object_write:nn { l__hyp_ocg_view_dict_obj }
{
/Type/OCG
/Name(View)
@@ -292,7 +292,7 @@
/View <</ViewState/ON >>~
>>
}
- \driver_pdf_object_write:nn { l__hyp_ocg_print_dict_obj }
+ \pdf_object_write:nn { l__hyp_ocg_print_dict_obj }
{
/Type/OCG
/Name(Print)
@@ -303,47 +303,49 @@
>>
}
- \driver_pdf_object_write:nx { l__hyp_ocg_ref_array_obj }
+ \pdf_object_write:nx { l__hyp_ocg_ref_array_obj }
{
- \driver_pdf_object_ref:n { l__hyp_ocg_view_dict_obj }
+ \pdf_object_ref:n { l__hyp_ocg_view_dict_obj }
\c_space_tl
- \driver_pdf_object_ref:n { l__hyp_ocg_print_dict_obj }
+ \pdf_object_ref:n { l__hyp_ocg_print_dict_obj }
}
- \driver_pdf_object_write:nx { l__hyp_ocg_config_dict_obj }
+ \pdf_object_write:nx { l__hyp_ocg_config_dict_obj }
{
- /OFF[\driver_pdf_object_ref:n { l__hyp_ocg_print_dict_obj }]
+ /OFF[\pdf_object_ref:n { l__hyp_ocg_print_dict_obj }]
/AS[
<<
/Event/View
- /OCGs\c_space_tl \driver_pdf_object_ref:n { l__hyp_ocg_ref_array_obj }
+ /OCGs\c_space_tl \pdf_object_ref:n { l__hyp_ocg_ref_array_obj }
/Category[/View]
>>
<<
/Event/Print
- /OCGs\c_space_tl \driver_pdf_object_ref:n { l__hyp_ocg_ref_array_obj }
+ /OCGs\c_space_tl \pdf_object_ref:n { l__hyp_ocg_ref_array_obj }
/Category[/Print]
>>
<<
/Event/Export
- /OCGs\c_space_tl \driver_pdf_object_ref:n { l__hyp_ocg_ref_array_obj }
+ /OCGs\c_space_tl \pdf_object_ref:n { l__hyp_ocg_ref_array_obj }
/Category[/Print]
>>
]
}
- \exp_args:Nx\pdf_catalog_OCProperties_OCGs_gput:n { \driver_pdf_object_ref:n { l__hyp_ocg_view_dict_obj }}
- \exp_args:Nx\pdf_catalog_OCProperties_OCGs_gput:n { \driver_pdf_object_ref:n { l__hyp_ocg_print_dict_obj }}
+ \exp_args:Nx\pdf_catalog_OCProperties_OCGs_gput:n
+ { \pdf_object_ref:n { l__hyp_ocg_view_dict_obj } }
+ \exp_args:Nx\pdf_catalog_OCProperties_OCGs_gput:n { \pdf_object_ref:n
+ { l__hyp_ocg_print_dict_obj } }
\exp_args:Nx\pdf_catalog_OCProperties_Configs_gput:n
{
- \driver_pdf_object_ref:n { l__hyp_ocg_config_dict_obj }
+ \pdf_object_ref:n { l__hyp_ocg_config_dict_obj }
}
\pdf_pageresources_gput:nnn{Properties}{OCView}
{
- \driver_pdf_object_ref:n { l__hyp_ocg_view_dict_obj}
+ \pdf_object_ref:n { l__hyp_ocg_view_dict_obj}
}
\pdf_pageresources_gput:nnn{Properties}{OCPrint}
{
- \driver_pdf_object_ref:n { l__hyp_ocg_print_dict_obj}
+ \pdf_object_ref:n { l__hyp_ocg_print_dict_obj}
}
}
\Hy at AtBeginDocument{
@@ -361,17 +363,17 @@
\color at endgroup\egroup
\mbox{
%this uses a named object, we really need to sort this ...
- \driver_pdf_bdc:nn {/OC}{/OCPrint}
+ \pdf_bdc:nn {OC}{/OCPrint}
%\pdfliteral~page{/OC/OCPrint~BDC}
\rlap{\copy0}
- \driver_pdf_emc:
+ \pdf_emc:
%\pdfliteral~page{/OC/OCView~BDC}
- \driver_pdf_bdc:nn {/OC}{/OCView}
+ \pdf_bdc:nn {OC}{/OCView}
\group_begin:
\expandafter\HyColor at UseColor\Hy at ocgcolor
\box0~
\group_end:
- \driver_pdf_emc:
+ \pdf_emc:
}
\fi
\group_end:
@@ -384,10 +386,10 @@
\def\setpdflinkmargin#1
{
- \driver_pdf_link_margin:n { #1 }
+ \pdf_link_margin:n { #1 }
}
% default:
- \driver_pdf_link_margin:n { 1pt}
+ \pdf_link_margin:n { 1pt}
\providecommand*\@pdfview{XYZ}
\str_set:Nx\@pdfview{\str_lower_case:f {\@pdfview}}
@@ -856,7 +858,7 @@
\def\MakeFieldObject#1#2
{
\hbox_set:Nn\l_tmpa_box {#1}
- \driver_pdf_xform_new:nnnN { #2 }{}{} \l_tmpa_box
+ \pdf_xform_new:nnnN { #2 }{}{} \l_tmpa_box
}%
\let\HyField at afields\ltx at empty
\let\HyField at cofields\ltx at empty
@@ -924,7 +926,7 @@
\def\HyField at AddToFields{%
\exp_args:Nx\HyField@@AddToFields
{%
- \driver_pdf_link_last:
+ \pdf_link_last:
}%
\ifx\Fld at calculate@code\ltx at empty
\else
@@ -940,7 +942,7 @@
\Fld at calculate@sortkey
}
{
- \driver_pdf_link_last:
+ \pdf_link_last:
}
}
\fi
@@ -970,8 +972,8 @@
\Hy at FormObjects
\AtVeryEndDocument
{
- \driver_pdf_object_new:nn { l__hyp_acroform_dict_obj } {dict}
- \driver_pdf_object_write:nx { l__hyp_acroform_dict_obj }
+ \pdf_object_new:nn { l__hyp_acroform_dict_obj } {dict}
+ \pdf_object_write:nx { l__hyp_acroform_dict_obj }
{
/Fields[\HyField at afields]
\ifx\HyField at cofields\ltx at empty
@@ -980,8 +982,8 @@
\fi
/DR<<
/Font<<
- /ZaDb~\driver_pdf_object_ref:n {l__hyp_font_zapfdingbats_obj}~
- /Helv~\driver_pdf_object_ref:n {l__hyp_font_helvetica_obj}
+ /ZaDb~\pdf_object_ref:n {l__hyp_font_zapfdingbats_obj}~
+ /Helv~\pdf_object_ref:n {l__hyp_font_helvetica_obj}
>>
>>
/DA(/Helv~10~Tf~0~g)
@@ -992,6 +994,7 @@
\fi
\fi
}
+ %%% Acroform management needs sorting out ...
\driver_pdf_catalog_gput:nn{AcroForm}{\driver_pdf_object_ref:n{l__hyp_acroform_dict_obj}}%
}
}
@@ -1326,10 +1329,10 @@
%hm. Should a luatex driver use type1 fonts in fields????
\ExplSyntaxOn
\def\Hy at FormObjects{%
- \driver_pdf_object_new:nn {l__hyp_encoding_pdfdoc_obj } { dict }
- \driver_pdf_object_new:nn {l__hyp_font_zapfdingbats_obj } { dict }
- \driver_pdf_object_new:nn {l__hyp_font_helvetica_obj } { dict }
- \driver_pdf_object_write:nx {l__hyp_encoding_pdfdoc_obj }
+ \pdf_object_new:nn {l__hyp_encoding_pdfdoc_obj } { dict }
+ \pdf_object_new:nn {l__hyp_font_zapfdingbats_obj } { dict }
+ \pdf_object_new:nn {l__hyp_font_helvetica_obj } { dict }
+ \pdf_object_write:nx {l__hyp_encoding_pdfdoc_obj }
{
/Type/Encoding
/Differences[
@@ -1371,20 +1374,20 @@
/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis
]
}
- \driver_pdf_object_write:nn {l__hyp_font_zapfdingbats_obj }
+ \pdf_object_write:nn {l__hyp_font_zapfdingbats_obj }
{
/Type/Font
/Subtype/Type1
/Name/ZaDb
/BaseFont/ZapfDingbats
}
- \driver_pdf_object_write:nx {l__hyp_font_helvetica_obj }
+ \pdf_object_write:nx {l__hyp_font_helvetica_obj }
{
/Type/Font
/Subtype/Type1
/Name/Helv
/BaseFont/Helvetica
- /Encoding~\driver_pdf_object_ref:n { l__hyp_encoding_pdfdoc_obj }
+ /Encoding~\pdf_object_ref:n { l__hyp_encoding_pdfdoc_obj }
}
\global\let\Hy at FormObjects\relax
}
diff --git a/pdfresources.dtx b/pdfresources.dtx
index ac74273..71f6217 100644
--- a/pdfresources.dtx
+++ b/pdfresources.dtx
@@ -694,8 +694,8 @@
\cs_new_protected:Npx \driver_pdf_bdc:nn #1 #2
{
\cs_if_exist:NTF \tex_pdfextension:D
- { \tex_pdfextension:D literal~page~{#1~#2~BDC} }
- { \tex_pdfliteral:D~page~{#1~#2~BDC} }
+ { \tex_pdfextension:D literal~page~{/#1~#2~BDC} }
+ { \tex_pdfliteral:D~page~{/#1~#2~BDC} }
}
@@ -715,13 +715,13 @@
%% need to be checked if resources are ok!!!!
\cs_new_protected:Npn \driver_pdf_bmc:n #1
{
- \special{pdf:code~#1~BMC}
+ \special{pdf:code~/#1~BMC}
%\special{pdf:content~#1~BMC}%
}
\cs_new_protected:Npn \driver_pdf_bdc:nn #1 #2
{
- \special{pdf:code~#1~#2~BDC}
+ \special{pdf:code~/#1~#2~BDC}
%\special{pdf:content~#1~#2~BDC}%accsupp
}
@@ -773,6 +773,28 @@
%</package>
% \end{macrocode}
+% \subsection{Objects and other stuff}
+% NEEDS REVISING!!!
+% \begin{macrocode}
+%<*package>
+\cs_set_eq:NN \pdf_object_new:nn \driver_pdf_object_new:nn
+\cs_set_eq:NN \pdf_object_write:nn \driver_pdf_object_write:nn
+\cs_generate_variant:Nn \pdf_object_write:nn {nx}
+\cs_set_eq:NN \pdf_object_ref:n \driver_pdf_object_ref:n
+\cs_set_eq:NN \pdf_link_margin:n \driver_pdf_link_margin:n
+\cs_set_eq:NN \pdf_xform_new:nnnN \driver_pdf_xform_new:nnnN
+\cs_set_eq:NN \pdf_link_last: \driver_pdf_link_last:
+%</package>
+% \end{macrocode}
+% \subsection{BDC/EMC commands}
+% NEEDS SORTING OUT! Properties for arg 2?????
+% \begin{macrocode}
+%<*package>
+ \cs_set_eq:NN\pdf_bdc:nn\driver_pdf_bdc:nn
+ \cs_set_eq:NN\pdf_emc: \driver_pdf_emc:
+
+%</package>
+% \end{macrocode}
% \subsection{generic commands}
% \paragraph{Values that are dictionaries}
% In a number of cases a value is a dictionary and users/packages must be able to
@@ -1363,8 +1385,8 @@
}
}
-\cs_set_eq:Npn \pdf_version_major: \driver_pdf_version_major:
-\cs_set_eq:Npn \pdf_version_minor: \driver_pdf_version_minor:
+\cs_set_eq:NN \pdf_version_major: \driver_pdf_version_major:
+\cs_set_eq:NN \pdf_version_minor: \driver_pdf_version_minor:
%</package>
% \end{macrocode}
More information about the latex3-commits
mailing list