summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3dvips.def')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvips.def37
1 files changed, 16 insertions, 21 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
index 23675e1c0a1..f51166f9231 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
@@ -823,6 +823,19 @@
def
/driver.breaklink.write
{
+ counttomark ~ 1 ~ sub ~
+ index /_objdef ~ eq
+ {
+ counttomark ~ -2 ~ roll ~
+ dup ~ wcheck ~
+ {
+ readonly ~
+ counttomark ~ 2 ~ roll
+ }
+ { pop ~ pop }
+ ifelse
+ }
+ if ~
counttomark ~ 1 ~ add ~ copy ~
pop ~ driver.currentrect
/ANN ~ pdfmark
@@ -850,11 +863,9 @@
Rect ~ 1 ~ get ~ sub ~
driver.baselineskip ~ div ~ round ~ cvi ~ 0 ~ gt
{ driver.breaklink }
- { driver.pdfmark.obj }
- ifelse
+ if
}
- { driver.pdfmark.obj }
- ifelse ~
+ if ~
end ~
SDict /driver.outerbox ~ undef ~
SDict /driver.baselineskip ~ undef ~
@@ -887,8 +898,6 @@
loop
}
def
- /driver.pdfmark.obj
- { /_objdef ~ exch ~ driver.link.obj ~ exch } def
}
\box_new:N \l__driver_pdf_content_box
\box_new:N \l__driver_pdf_model_box
@@ -936,13 +945,9 @@
\int_new:N \g__driver_pdf_link_sf_int
\bool_new:N \g__driver_pdf_link_math_bool
\bool_new:N \g__driver_pdf_link_bool
-\tl_new:N \l__driver_breaklink_obj_tl
-\tl_set:Nn \l__driver_breaklink_obj_tl
- { /_objdef ~ { driver.obj \int_use:N \g__driver_pdf_link_int } }
\tl_new:N \l__driver_breaklink_pdfmark_tl
\tl_set:Nn \l__driver_breaklink_pdfmark_tl { pdfmark }
\cs_new_protected:Npn \__driver_breaklink_postscript:n #1 { }
-\cs_generate_variant:Nn \__driver_breaklink_postscript:n { x }
\cs_new_eq:NN \__driver_breaklink_usebox:N \box_use:N
\cs_new_protected:Npn \driver_pdf_link_begin_goto:nnw #1#2
{ \__driver_pdf_link_begin:nw { #1 /Subtype /Link /A << /S /GoTo /D ( #2 ) >> } }
@@ -956,7 +961,6 @@
\cs_new_protected:Npn \__driver_pdf_link_begin_aux:nw #1
{
\bool_gset_true:N \g__driver_pdf_link_bool
- \__driver_pdf_annotation:nnnn { 3pt } { 3pt } { 0pt } { }
\__driver_postscript:n
{ /driver.link.dict ( #1 ) def }
\tl_gset:Nn \g__driver_pdf_link_dict_tl {#1}
@@ -1000,18 +1004,10 @@
}
\int_gincr:N \g__driver_pdf_object_int
\int_gset_eq:NN \g__driver_pdf_link_int \g__driver_pdf_object_int
- \__driver_breaklink_postscript:x
- {
- /driver.link.obj
- {
- { driver.obj \int_use:N \g__driver_pdf_link_int \c_space_tl driver.cvs }
- }
- def
- }
\__driver_postscript:x
{
mark
- \l__driver_breaklink_obj_tl
+ /_objdef { driver.obj \int_use:N \g__driver_pdf_link_int }
\g__driver_pdf_link_dict_tl \c_space_tl
driver.rect
/ANN ~ \l__driver_breaklink_pdfmark_tl
@@ -1106,7 +1102,6 @@
}
}
}
- \tl_clear:N \l__driver_breaklink_obj_tl
\tl_set:Nn \l__driver_breaklink_pdfmark_tl { driver.pdfmark }
\cs_set_eq:NN \__driver_breaklink_postscript:n \__driver_postscript:n
\cs_set_eq:NN \__driver_breaklink_usebox:N \hbox_unpack:N