diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3dvips.def')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/l3dvips.def | 37 |
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 |