summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def57
1 files changed, 53 insertions, 4 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
index 1f1d6f61676..7bfb6d120ad 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
@@ -424,6 +424,7 @@
%% File: l3drivers-pdf.dtx
\tl_const:Nn \c__driver_pdf_AR_fix_tl
{ /Ff ~ 65537 /FT /Btn /Subtype /Widget }
+\box_new:N \l__driver_pdf_tmp_box
\cs_new_protected:Npx \__driver_pdf_AR_fix:
{
\cs_if_exist:NTF \tex_pdfextension:D
@@ -485,6 +486,54 @@
{ \exp_not:N \tex_pdflinkmargin:D }
\exp_not:N \dim_eval:n {#1} \scan_stop:
}
+\cs_new_protected:Npx \driver_pdf_destination:nn #1#2
+ {
+ \cs_if_exist:NTF \tex_pdfextension:D
+ { \exp_not:N \tex_pdfextension:D dest ~ }
+ { \exp_not:N \tex_pdfdest:D }
+ name {#1}
+ \exp_not:N \str_case:nnF {#2}
+ {
+ { xyz } { xyz }
+ { fit } { fit }
+ { fitb } { fitb }
+ { fitbh } { fitbh }
+ { fitbv } { fitbv }
+ { fith } { fith }
+ { fitv } { fitv }
+ }
+ { xyz ~ zoom \exp_not:N \fp_eval:n { #2 * 10 } }
+ \scan_stop:
+ }
+\cs_new_protected:Npx \driver_pdf_destination_rectangle:nn #1#2
+ {
+ \group_begin:
+ \hbox_set:Nn \l__driver_pdf_tmp_box {#2}
+ \cs_if_exist:NTF \tex_pdfextension:D
+ { \exp_not:N \tex_pdfextension:D dest ~ }
+ { \exp_not:N \tex_pdfdest:D }
+ name {#1}
+ fitr ~
+ width \exp_not:N \box_wd:N \l__driver_pdf_tmp_box
+ height \exp_not:N \box_ht:N \l__driver_pdf_tmp_box
+ depth \exp_not:N \box_dp:N \l__driver_pdf_tmp_box
+ \box_use:N \l__driver_pdf_tmp_box
+ \group_end:
+ }
+\cs_new_protected:Npx \driver_pdf_catalog_gput:nn #1#2
+ {
+ \cs_if_exist:NTF \tex_pdfextension:D
+ { \tex_pdfextension:D catalog }
+ { \tex_pdfcatalog:D }
+ { / #1 ~ #2 }
+ }
+\cs_new_protected:Npx \driver_pdf_info_gput:nn #1#2
+ {
+ \cs_if_exist:NTF \tex_pdfextension:D
+ { \tex_pdfextension:D info }
+ { \tex_pdfinfo:D }
+ { / #1 ~ #2 }
+ }
\prop_new:N \g__driver_pdf_object_prop
\group_begin:
\cs_set_protected:Npn \__driver_tmp:w #1#2
@@ -493,7 +542,7 @@
{
#1 reserveobjnum ~
\int_const:cn
- { g__driver_pdf_object_ \exp_not:N \tl_to_str:n {##1} _int }
+ { c__driver_pdf_object_ \exp_not:N \tl_to_str:n {##1} _int }
{#2}
\prop_gput:Nnn \exp_not:N \g__driver_pdf_object_prop {##1} {##2}
}
@@ -502,12 +551,12 @@
{
\__driver_tmp:w
{ \tex_pdfextension:D obj ~ }
- { \tex_pdffeedback:D lastobj \scan_stop: }
+ { \exp_not:N \tex_pdffeedback:D lastobj \scan_stop: }
}
{ \__driver_tmp:w { \tex_pdfobj:D } { \tex_pdflastobj:D } }
\group_end:
\cs_new:Npn \driver_pdf_object_ref:n #1
- { \int_use:c { g__driver_pdf_object_ \tl_to_str:n {#1} _int } ~ 0 ~ R }
+ { \int_use:c { c__driver_pdf_object_ \tl_to_str:n {#1} _int } ~ 0 ~ R }
\group_begin:
\cs_set_protected:Npn \__driver_tmp:w #1
{
@@ -515,7 +564,7 @@
{
\tex_immediate:D #1 useobjnum ~
\int_use:c
- { g__driver_pdf_object_ \tl_to_str:n {##1} _int }
+ { c__driver_pdf_object_ \tl_to_str:n {##1} _int }
\str_case_e:nn
{ \prop_item:Nn \g__driver_pdf_object_prop {##1} }
{