summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def60
1 files changed, 59 insertions, 1 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
index 7071cac3a1f..720da5d79c7 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
@@ -437,9 +437,14 @@
%% 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:n #1
{ \__driver_literal:n { pdf: #1 } }
\cs_generate_variant:Nn \__driver_pdf:n { x }
+\cs_new_protected:Npn \driver_pdf_catalog_gput:nn #1#2
+ { \__driver_pdf:n { put ~ @catalog << /#1 ~ #2 >> } }
+\cs_new_protected:Npn \driver_pdf_info_gput:nn #1#2
+ { \__driver_pdf:n { docinfo << /#1 ~ #2 >> } }
\int_new:N \g__driver_pdf_object_int
\prop_new:N \g__driver_pdf_object_prop
\cs_new_protected:Npn \driver_pdf_object_new:nn #1#2
@@ -557,7 +562,60 @@
\cs_new_protected:Npn \driver_pdf_link_end:
{ \__driver_pdf:n { eann } }
\cs_new:Npn \driver_pdf_link_last: { }
-\cs_new_protected:Npn \driver_pdf_link_margin:n #1 { }
+\cs_new_protected:Npn \driver_pdf_link_margin:n #1
+ { \__driver_literal:x { dvipdfmx:config~g~ \dim_eval:n {#1} } }
+\cs_new_protected:Npn \driver_pdf_destination:nn #1#2
+ {
+ \__driver_pdf:x
+ {
+ dest ~ ( \exp_not:n {#1} )
+ [
+ @thispage
+ \str_case:nnF {#2}
+ {
+ { xyz } { /XYZ ~ @xpos ~ @ypos ~ null }
+ { fit } { /Fit }
+ { fitb } { /FitB }
+ { fitbh } { /FitBH }
+ { fitbv } { /FitBV ~ @xpos }
+ { fith } { /FitH ~ @ypos }
+ { fitv } { /FitV ~ @xpos }
+ }
+ { /XYZ ~ @xpos ~ @ypos ~ \fp_eval:n { (#2) / 100 } }
+ ]
+ }
+ }
+\cs_new_protected:Npn \driver_pdf_destination_rectangle:nn #1#2
+ {
+ \group_begin:
+ \hbox_set:Nn \l__driver_pdf_tmp_box {#2}
+ \box_move_down:nn { \box_dp:N \l__driver_pdf_tmp_box }
+ {
+ \hbox:n
+ {
+ \__driver_pdf:n { obj ~ @driver_#1_llx ~ @xpos }
+ \__driver_pdf:n { obj ~ @driver_#1_lly ~ @ypos }
+ }
+ }
+ \box_use:N \l__driver_pdf_tmp_box
+ \box_move_up:nn { \box_ht:N \l__driver_pdf_tmp_box }
+ {
+ \hbox:n
+ {
+ \__driver_pdf:n
+ {
+ dest ~ (#1)
+ [
+ @thispage
+ /FitR ~
+ @driver_#1_llx ~ @driver_#1_lly ~
+ @xpos ~ @ypos
+ ]
+ }
+ }
+ }
+ \group_end:
+ }
\cs_new_protected:Npn \driver_pdf_compresslevel:n #1
{ \__driver_literal:x { dvipdfmx:config~z~ \int_eval:n {#1} } }
\cs_new_protected:Npn \driver_pdf_objects_enable: { }