diff options
author | Karl Berry <karl@freefriends.org> | 2019-07-02 21:03:06 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-07-02 21:03:06 +0000 |
commit | 6cd9cb9b90a640486b1e6cf9bf4385e1622dc621 (patch) | |
tree | 55b66dec7d3519db5b1b299ba0ae90aa4fe2714d /Master/texmf-dist/tex/latex/l3kernel/l3dvips.def | |
parent | 0eeaf7545f37a529bbc7549c23ec0f2160e509e0 (diff) |
l3 (2jul19)
git-svn-id: svn://tug.org/texlive/trunk@51534 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3dvips.def')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/l3dvips.def | 1176 |
1 files changed, 0 insertions, 1176 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def deleted file mode 100644 index f51166f9231..00000000000 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def +++ /dev/null @@ -1,1176 +0,0 @@ -%% -%% This is file `l3dvips.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3drivers.dtx (with options: `package,dvips') -%% l3drivers-basics.dtx (with options: `package,dvips') -%% l3drivers-color.dtx (with options: `package,dvips') -%% l3drivers-box.dtx (with options: `package,dvips') -%% l3drivers-draw.dtx (with options: `package,dvips') -%% l3drivers-graphics.dtx (with options: `package,dvips') -%% l3drivers-pdf.dtx (with options: `package,dvips') -%% -%% Copyright (C) 1990-2019 The LaTeX3 Project -%% -%% It may be distributed and/or modified under the conditions of -%% the LaTeX Project Public License (LPPL), either version 1.3c of -%% this license or (at your option) any later version. The latest -%% version of this license is in the file: -%% -%% https://www.latex-project.org/lppl.txt -%% -%% This file is part of the "l3kernel bundle" (The Work in LPPL) -%% and all files in that bundle must be distributed together. -%% -%% File: l3drivers.dtx -%% File: l3drivers-basics.dtx -\ProvidesExplFile - {l3dvips.def}{2019-04-06}{} - {L3 Experimental driver: dvips} -\cs_new_eq:NN \__driver_literal:e \tex_special:D -\cs_new_protected:Npn \__driver_literal:n #1 - { \__driver_literal:e { \exp_not:n {#1} } } -\cs_generate_variant:Nn \__driver_literal:n { x } -\box_new:N \l__driver_internal_box -\cs_new_protected:Npn \__driver_literal_postscript:n #1 - { \__driver_literal:n { ps:: #1 } } -\cs_generate_variant:Nn \__driver_literal_postscript:n { x } -\cs_new_protected:Npn \__driver_postscript:n #1 - { \__driver_literal:n { ps: SDict ~ begin ~ #1 ~ end } } -\cs_generate_variant:Nn \__driver_postscript:n { x } -\cs_new_protected:Npx \__driver_postscript_header:n #1 - { - \cs_if_exist:NTF \AtBeginDvi - { \exp_not:N \AtBeginDvi } - { \use:n } - { \__driver_literal:n { ! #1 } } - } -\cs_new_protected:Npn \__driver_align_currentpoint_begin: - { - \__driver_literal:n { ps::[begin] } - \__driver_literal_postscript:n { currentpoint } - \__driver_literal_postscript:n { currentpoint~translate } - } -\cs_new_protected:Npn \__driver_align_currentpoint_end: - { - \__driver_literal_postscript:n { neg~exch~neg~exch~translate } - \__driver_literal:n { ps::[end] } - } -\cs_new_protected:Npn \__driver_scope_begin: - { \__driver_literal:n { ps:gsave } } -\cs_new_protected:Npn \__driver_scope_end: - { \__driver_literal:n { ps:grestore } } -%% File: l3drivers-color.dtx -\cs_new_protected:Npn \driver_color_pickup:N #1 { } -\AtBeginDocument - { - \@ifpackageloaded { color } - { - \cs_set_protected:Npn \driver_color_pickup:N #1 - { - \exp_args:NV \tl_if_head_is_space:nTF \current@color - { - \tl_set:Nx #1 - { - spot ~ - \exp_after:wN \use:n \current@color \c_space_tl 1 - } - } - { - \exp_last_unbraced:Nx \__driver_color_pickup:w - { \current@color } \q_stop #1 - } - } - \cs_new_protected:Npn \__driver_color_pickup:w #1 ~ #2 \q_stop #3 - { \tl_set:Nn #3 { #1 ~ #2 } } - } - { } - } -\cs_new_protected:Npn \driver_color_cmyk:nnnn #1#2#3#4 - { - \__driver_color_select:x - { - cmyk~ - \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ - \fp_eval:n {#3} ~ \fp_eval:n {#4} - } - } -\cs_new_protected:Npn \driver_color_gray:n #1 - { \__driver_color_select:x { gray~ \fp_eval:n {#1} } } -\cs_new_protected:Npn \driver_color_rgb:nnn #1#2#3 - { - \__driver_color_select:x - { rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} } - } -\cs_new_protected:Npn \driver_color_spot:nn #1#2 - { \__driver_color_select:n { #1 } } -\cs_new_protected:Npn \__driver_color_select:n #1 - { - \__driver_literal:n { color~push~ #1 } - \__driver_postscript:n { /driver.fc~{ }~def } - \group_insert_after:N \__driver_color_reset: - } -\cs_generate_variant:Nn \__driver_color_select:n { x } -\cs_new_protected:Npn \__driver_color_reset: - { \__driver_literal:n { color~pop } } -%% File: l3drivers-box.dtx -\cs_new_protected:Npn \driver_box_use_clip:N #1 - { - \__driver_scope_begin: - \__driver_align_currentpoint_begin: - \__driver_literal_postscript:n { matrix~currentmatrix } - \__driver_literal_postscript:n - { Resolution~72~div~VResolution~72~div~scale } - \__driver_literal_postscript:n { DVImag~dup~scale } - \__driver_literal_postscript:x - { - 0 ~ - \dim_to_decimal_in_bp:n { \box_dp:N #1 } ~ - \dim_to_decimal_in_bp:n { \box_wd:N #1 } ~ - \dim_to_decimal_in_bp:n { -\box_ht:N #1 - \box_dp:N #1 } ~ - rectclip - } - \__driver_literal_postscript:n { setmatrix } - \__driver_align_currentpoint_end: - \hbox_overlap_right:n { \box_use:N #1 } - \__driver_scope_end: - \skip_horizontal:n { \box_wd:N #1 } - } -\cs_new_protected:Npn \driver_box_use_rotate:Nn #1#2 - { \exp_args:NNf \__driver_box_use_rotate:Nn #1 { \fp_eval:n {#2} } } -\cs_new_protected:Npn \__driver_box_use_rotate:Nn #1#2 - { - \__driver_scope_begin: - \__driver_align_currentpoint_begin: - \__driver_literal_postscript:x - { - \fp_compare:nNnTF {#2} = \c_zero_fp - { 0 } - { \fp_eval:n { round ( -(#2) , 5 ) } } ~ - rotate - } - \__driver_align_currentpoint_end: - \box_use:N #1 - \__driver_scope_end: - } -\cs_new_protected:Npn \driver_box_use_scale:Nnn #1#2#3 - { - \__driver_scope_begin: - \__driver_align_currentpoint_begin: - \__driver_literal_postscript:x - { - \fp_eval:n { round ( #2 , 5 ) } ~ - \fp_eval:n { round ( #3 , 5 ) } ~ - scale - } - \__driver_align_currentpoint_end: - \hbox_overlap_right:n { \box_use:N #1 } - \__driver_scope_end: - } -%% File: l3drivers-draw.dtx -\cs_new_eq:NN \__driver_draw_literal:n \__driver_literal_postscript:n -\cs_generate_variant:Nn \__driver_draw_literal:n { x } -\cs_new_protected:Npn \driver_draw_begin: - { - \__driver_literal:n { ps::[begin] } - \__driver_draw_literal:n { @beginspecial } - \__driver_darw_literal:n { SDict ~ begin ~ /driver.fc ~ { } ~ def ~ end } - } -\cs_new_protected:Npn \driver_draw_end: - { - \__driver_draw_literal:n { @endspecial } - \__driver_literal:n { ps::[end] } - } -\cs_new_protected:Npn \driver_draw_scope_begin: - { \__driver_draw_literal:n { save } } -\cs_new_protected:Npn \driver_draw_scope_end: - { \__driver_draw_literal:n { restore } } -\cs_new_protected:Npn \driver_draw_moveto:nn #1#2 - { - \__driver_draw_literal:x - { - \dim_to_decimal_in_bp:n {#1} ~ - \dim_to_decimal_in_bp:n {#2} ~ moveto - } - } -\cs_new_protected:Npn \driver_draw_lineto:nn #1#2 - { - \__driver_draw_literal:x - { - \dim_to_decimal_in_bp:n {#1} ~ - \dim_to_decimal_in_bp:n {#2} ~ lineto - } - } -\cs_new_protected:Npn \driver_draw_rectangle:nnnn #1#2#3#4 - { - \__driver_draw_literal:x - { - \dim_to_decimal_in_bp:n {#4} ~ \dim_to_decimal_in_bp:n {#3} ~ - \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ - moveto~dup~0~rlineto~exch~0~exch~rlineto~neg~0~rlineto~closepath - } - } -\cs_new_protected:Npn \driver_draw_curveto:nnnnnn #1#2#3#4#5#6 - { - \__driver_draw_literal:x - { - \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ - \dim_to_decimal_in_bp:n {#3} ~ \dim_to_decimal_in_bp:n {#4} ~ - \dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~ - curveto - } - } -\cs_new_protected:Npn \driver_draw_evenodd_rule: - { \bool_gset_true:N \g__driver_draw_eor_bool } -\cs_new_protected:Npn \driver_draw_nonzero_rule: - { \bool_gset_false:N \g__driver_draw_eor_bool } -\bool_new:N \g__driver_draw_eor_bool -\cs_new_protected:Npn \driver_draw_closepath: - { \__driver_draw_literal:n { closepath } } -\cs_new_protected:Npn \driver_draw_stroke: - { - \__driver_draw_literal:n { stroke } - \bool_if:NT \g__driver_draw_clip_bool - { - \__driver_draw_literal:x - { - \bool_if:NT \g__driver_draw_eor_bool { eo } - clip - } - } - \__driver_draw_literal:n { newpath } - \bool_gset_false:N \g__driver_draw_clip_bool - } -\cs_new_protected:Npn \driver_draw_closestroke: - { - \driver_draw_closepath: - \driver_draw_stroke: - } -\cs_new_protected:Npn \driver_draw_fill: - { - \__driver_draw_literal:n { gsave } - \__driver_draw_literal:n { driver.fc } - \__driver_draw_literal:x - { - \bool_if:NT \g__driver_draw_eor_bool { eo } - fill - } - \__driver_draw_literal:n { grestore } - \bool_if:NT \g__driver_draw_clip_bool - { - \__driver_draw_literal:x - { - \bool_if:NT \g__driver_draw_eor_bool { eo } - clip - } - } - \__driver_draw_literal:n { newpath } - \bool_gset_false:N \g__driver_draw_clip_bool - } -\cs_new_protected:Npn \driver_draw_fillstroke: - { - \__driver_draw_literal:n { gsave } - \__driver_draw_literal:n { driver.fc } - \__driver_draw_literal:x - { - \bool_if:NT \g__driver_draw_eor_bool { eo } - fill - } - \__driver_draw_literal:n { grestore } - \__driver_draw_literal:n { stroke } - \bool_if:NT \g__driver_draw_clip_bool - { - \__driver_draw_literal:x - { - \bool_if:NT \g__driver_draw_eor_bool { eo } - clip - } - } - \__driver_draw_literal:n { newpath } - \bool_gset_false:N \g__driver_draw_clip_bool - } -\cs_new_protected:Npn \driver_draw_clip: - { \bool_gset_true:N \g__driver_draw_clip_bool } -\bool_new:N \g__driver_draw_clip_bool -\cs_new_protected:Npn \driver_draw_discardpath: - { - \bool_if:NT \g__driver_draw_clip_bool - { - \__driver_draw_literal:x - { - \bool_if:NT \g__driver_draw_eor_bool { eo } - clip - } - } - \__driver_draw_literal:n { newpath } - \bool_gset_false:N \g__driver_draw_clip_bool - } -\cs_new_protected:Npn \driver_draw_dash_pattern:nn #1#2 - { - \__driver_draw_literal:x - { - [ - \exp_args:Nf \use:n - { \clist_map_function:nN {#1} \__driver_draw_dash:n } - ] ~ - \dim_to_decimal_in_bp:n {#2} ~ setdash - } - } -\cs_new:Npn \__driver_draw_dash:n #1 - { ~ \dim_to_decimal_in_bp:n {#1} } -\cs_new_protected:Npn \driver_draw_linewidth:n #1 - { - \__driver_draw_literal:x - { \dim_to_decimal_in_bp:n {#1} ~ setlinewidth } - } -\cs_new_protected:Npn \driver_draw_miterlimit:n #1 - { \__driver_draw_literal:x { \fp_eval:n {#1} ~ setmiterlimit } } -\cs_new_protected:Npn \driver_draw_cap_butt: - { \__driver_draw_literal:n { 0 ~ setlinecap } } -\cs_new_protected:Npn \driver_draw_cap_round: - { \__driver_draw_literal:n { 1 ~ setlinecap } } -\cs_new_protected:Npn \driver_draw_cap_rectangle: - { \__driver_draw_literal:n { 2 ~ setlinecap } } -\cs_new_protected:Npn \driver_draw_join_miter: - { \__driver_draw_literal:n { 0 ~ setlinejoin } } -\cs_new_protected:Npn \driver_draw_join_round: - { \__driver_draw_literal:n { 1 ~ setlinejoin } } -\cs_new_protected:Npn \driver_draw_join_bevel: - { \__driver_draw_literal:n { 2 ~ setlinejoin } } -\cs_new_protected:Npn \driver_draw_color_fill_cmyk:nnnn #1#2#3#4 - { - \__driver_draw_color_fill:x - { - \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ - \fp_eval:n {#3} ~ \fp_eval:n {#4} ~ - setcmykcolor - } - } -\cs_new_protected:Npn \driver_draw_color_stroke_cmyk:nnnn #1#2#3#4 - { - \__driver_draw_color_stroke:x - { - cmyk ~ - \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ - \fp_eval:n {#3} ~ \fp_eval:n {#4} - } - } -\cs_new_protected:Npn \driver_draw_color_fill_gray:n #1 - { \__driver_draw_color_fill:x { \fp_eval:n {#1} ~ setgray } } -\cs_new_protected:Npn \driver_draw_color_stroke_gray:n #1 - { \__driver_draw_color_stroke:x { gray ~ \fp_eval:n {#1} } } -\cs_new_protected:Npn \driver_draw_color_fill_rgb:nnn #1#2#3 - { - \__driver_draw_color_fill:x - { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ setrgbcolor } - } -\cs_new_protected:Npn \driver_draw_color_stroke_rgb:nnn #1#2#3 - { - \__driver_draw_color_stroke:x - { rgb ~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} } - } -\cs_new_protected:Npn \__driver_draw_color_fill:n #1 - { \__driver_postscript:n { SDict ~ begin ~ /driver.fc ~ { #1 } ~ def ~ end } } -\cs_generate_variant:Nn \__driver_draw_color_fill:n { x } -\cs_new_protected:Npn \__driver_draw_color_stroke:n #1 - { - \__driver_literal:n { color~push~#1 } - \group_insert_after:N \__driver_color_reset: - } -\cs_generate_variant:Nn \__driver_draw_color_stroke:n { x } -\cs_new_protected:Npn \driver_draw_cm:nnnn #1#2#3#4 - { - \__driver_draw_literal:n - { - [ - \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ - \fp_eval:n {#3} ~ \fp_eval:n {#4} ~ - 0 ~ 0 - ] ~ - concat - } - } -\cs_new_protected:Npn \driver_draw_box_use:Nnnnn #1#2#3#4#5 - { - \__driver_draw_literal:n { @endspecial } - \__driver_draw_literal:n { [end] } - \__driver_draw_literal:n { [begin] } - \__driver_draw_literal:n { save } - \__driver_draw_literal:n { currentpoint } - \__driver_draw_literal:n { currentpoint~translate } - \driver_draw_cm:nnnn { 1 } { 0 } { 0 } { -1 } - \driver_draw_cm:nnnn {#2} {#3} {#4} {#5} - \driver_draw_cm:nnnn { 1 } { 0 } { 0 } { -1 } - \__driver_draw_literal:n { neg~exch~neg~exch~translate } - \__driver_draw_literal:n { [end] } - \hbox_overlap_right:n { \box_use:N #1 } - \__driver_draw_literal:n { [begin] } - \__driver_draw_literal:n { restore } - \__driver_draw_literal:n { [end] } - \__driver_draw_literal:n { [begin] } - \__driver_draw_literal:n { @beginspecial } - } -%% File: l3drivers-graphics.dtx -\AtBeginDocument - { \cs_new_eq:NN \driver_graphics_getbb_eps:n \graphics_read_bb:n } -\cs_new_protected:Npn \driver_graphics_include_eps:n #1 - { - \__driver_literal:x - { - PSfile = #1 \c_space_tl - llx = \dim_to_decimal_in_bp:n \l_graphics_llx_dim \c_space_tl - lly = \dim_to_decimal_in_bp:n \l_graphics_lly_dim \c_space_tl - urx = \dim_to_decimal_in_bp:n \l_graphics_urx_dim \c_space_tl - ury = \dim_to_decimal_in_bp:n \l_graphics_ury_dim - } - } -%% File: l3drivers-pdf.dtx -\cs_new_protected:Npn \__driver_pdfmark:n #1 - { \__driver_postscript:n { mark #1 ~ pdfmark } } -\cs_generate_variant:Nn \__driver_pdfmark:n { x } -\cs_new_protected:Npn \driver_pdf_catalog_gput:nn #1#2 - { \__driver_pdfmark:n { { Catalog } << /#1 ~ #2 >> /PUT } } -\cs_new_protected:Npn \driver_pdf_info_gput:nn #1#2 - { \__driver_pdfmark:n { /#1 ~ #2 /DOCINFO } } -\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 - { - \int_gincr:N \g__driver_pdf_object_int - \int_const:cn - { c__driver_pdf_object_ \tl_to_str:n {#1} _int } - { \g__driver_pdf_object_int } - \prop_gput:Nnn \g__driver_pdf_object_prop {#1} {#2} - } -\cs_new:Npn \driver_pdf_object_ref:n #1 - { { driver.obj \int_use:c { c__driver_pdf_object_ \tl_to_str:n {#1} _int } } } -\cs_new_protected:Npn \driver_pdf_object_write:nn #1#2 - { - \__driver_pdfmark:x - { - /_objdef ~ \driver_pdf_object_ref:n {#1} - /type - \str_case_e:nn - { \prop_item:Nn \g__driver_pdf_object_prop {#1} } - { - { array } { /array } - { dict } { /dict } - { fstream } { /stream } - { stream } { /stream } - } - /OBJ - } - \use:c - { __driver_pdf_object_write_ \prop_item:Nn \g__driver_pdf_object_prop {#1} :nn } - {#1} {#2} - } -\cs_new_protected:Npn \__driver_pdf_object_write_array:nn #1#2 - { - \__driver_pdfmark:x - { - \driver_pdf_object_ref:n {#1} - [ ~ \exp_not:n {#2} ~ ] ~ /PUTINTERVAL - } - } -\cs_new_protected:Npn \__driver_pdf_object_write_dict:nn #1#2 - { - \__driver_pdfmark:x - { - \driver_pdf_object_ref:n {#1} - << \exp_not:n {#2} >> /PUT - } - } -\cs_new_protected:Npn \__driver_pdf_object_write_stream:nn #1#2 - { - \exp_args:Nx - \__driver_pdf_object_write_stream:nnn - { \driver_pdf_object_ref:n {#1} } - #2 - } -\cs_new_protected:Npn \__driver_pdf_object_write_stream:nnn #1#2#3 - { - \__driver_postscript:n - { - [nobreak] - mark ~ #1 ~ ( #3 ) /PUT ~ pdfmark ~ - mark ~ #1 ~ << #2 >> /PUT ~ pdfmark - } - } -\__driver_postscript_header:n - { - true ~ setglobal ~ - /driver.globaldict ~ 4 ~ dict ~ def ~ - false ~ setglobal - } -\__driver_postscript_header:n - { - /driver.cvs { 65534 ~ string ~ cvs } def - /driver.dvi.pt { 72.27 ~ mul ~ Resolution ~ div } def - /driver.pt.dvi { 72.27 ~ div ~ Resolution ~ mul } def - /driver.rect.ht { dup ~ 1 ~ get ~ neg ~ exch ~ 3 ~ get ~ add } def - } -\__driver_postscript_header:n - { - /driver.linkmargin { 1 ~ driver.pt.dvi } def - /driver.linkdp.pad { 0 } def - /driver.linkht.pad { 0 } def - } -\__driver_postscript_header:n - { - /driver.rect - { /Rect [ driver.llx ~ driver.lly ~ driver.urx ~ driver.ury ] } def - /driver.save.ll - { - currentpoint - /driver.lly ~ exch ~ def - /driver.llx ~ exch ~ def - } - def - /driver.save.ur - { - currentpoint - /driver.ury ~ exch ~ def - /driver.urx ~ exch ~ def - } - def - /driver.save.linkll - { - currentpoint ~ - driver.linkmargin ~ add ~ - driver.linkdp.pad ~ add - /driver.lly ~ exch ~ def ~ - driver.linkmargin ~ sub - /driver.llx ~ exch ~ def - } - def - /driver.save.linkur - { - currentpoint ~ - driver.linkmargin ~ sub ~ - driver.linkht.pad ~ sub - /driver.ury ~ exch ~ def ~ - driver.linkmargin ~ add - /driver.urx ~ exch ~ def - } - def - } -\__driver_postscript_header:n - { - /driver.dest.anchor - { - currentpoint ~ exch ~ - driver.dvi.pt ~ 72 ~ add ~ - /driver.dest.x ~ exch ~ def ~ - driver.dvi.pt ~ - vsize ~ 72 ~ sub ~ exch ~ sub ~ - /driver.dest.y ~ exch ~ def - } - def - /driver.dest.point - { driver.dest.x ~ driver.dest.y } def - /driver.dest2device - { - /driver.dest.y ~ exch ~ def - /driver.dest.x ~ exch ~ def ~ - matrix ~ currentmatrix ~ - matrix ~ defaultmatrix ~ - matrix ~ invertmatrix ~ - matrix ~ concatmatrix ~ - cvx ~ exec - /driver.dev.y ~ exch ~ def - /driver.dev.x ~ exch ~ def - /driver.tmpd ~ exch ~ def - /driver.tmpc ~ exch ~ def - /driver.tmpb ~ exch ~ def - /driver.tmpa ~ exch ~ def ~ - driver.dest.x ~ driver.tmpa ~ mul ~ - driver.dest.y ~ driver.tmpc ~ mul ~ add ~ - driver.dev.x ~ add ~ - driver.dest.x ~ driver.tmpb ~ mul ~ - driver.dest.y ~ driver.tmpd ~ mul ~ add ~ - driver.dev.y ~ add - } - def - } -\__driver_postscript_header:n - { - /driver.bordertracking ~ false ~ def - /driver.bordertracking.begin - { - SDict ~ /driver.bordertracking ~ true ~ put ~ - SDict ~ /driver.leftboundary ~ undef ~ - SDict ~ /driver.rightboundary ~ undef ~ - /a ~ where - { - /a - { - currentpoint ~ pop ~ - SDict /driver.rightboundary ~ known ~ dup - { - SDict /driver.rightboundary ~ get ~ 2 ~ index ~ lt - { not } - if - } - if - { pop } - { SDict ~ exch /driver.rightboundary ~ exch ~ put } - ifelse ~ - moveto ~ - currentpoint ~ pop ~ - SDict /driver.leftboundary ~ known ~ dup - { - SDict /driver.leftboundary ~ get ~ 2 ~ index ~ gt - { not } - if - } - if - { pop } - { SDict ~ exch /driver.leftboundary ~ exch ~ put } - ifelse - } - put - } - if - } - def - /driver.bordertracking.end - { - /a ~ where { /a { moveto } put } if - /x ~ where { /x { 0 ~ exch ~ rmoveto } put } if ~ - SDict /driver.leftboundary ~ known - { driver.outerbox ~ 0 ~ driver.leftboundary ~ put } - if ~ - SDict /driver.rightboundary ~ known - { driver.outerbox ~ 2 ~ driver.rightboundary ~ put } - if ~ - SDict /driver.bordertracking ~ false ~ put - } - def - /driver.bordertracking.endpage - { - driver.bordertracking - { - driver.bordertracking.end ~ - true ~ setglobal ~ - driver.globaldict - /driver.brokenlink.rect [ driver.outerbox ~ aload ~ pop ] put ~ - driver.globaldict - /driver.brokenlink.skip ~ driver.baselineskip ~ put ~ - driver.globaldict - /driver.brokenlink.dict ~ - driver.link.dict ~ driver.cvs ~ put ~ - false ~ setglobal ~ - mark ~ driver.link.dict ~ cvx ~ exec ~ /Rect - [ - driver.llx ~ - driver.lly ~ - driver.outerbox ~ 2 ~ get ~ driver.linkmargin ~ add ~ - currentpoint ~ exch ~ pop ~ - driver.outerbox ~ driver.rect.ht ~ sub ~ driver.linkmargin ~ sub - ] - /ANN ~ driver.pdfmark - } - if - } - def - /driver.bordertracking.continue - { - /driver.link.dict ~ driver.globaldict - /driver.brokenlink.dict ~ get ~ def - /driver.outerbox ~ driver.globaldict - /driver.brokenlink.rect ~ get ~ def - /driver.baselineskip ~ driver.globaldict - /driver.brokenlink.skip ~ get ~ def ~ - driver.globaldict ~ dup ~ dup - /driver.brokenlink.dict ~ undef - /driver.brokenlink.skip ~ undef - /driver.brokenlink.rect ~ undef ~ - currentpoint - /driver.originy ~ exch ~ def - /driver.originx ~ exch ~ def - /a ~ where - { - /a - { - moveto ~ - SDict ~ - begin ~ - currentpoint ~ driver.originy ~ ne ~ exch ~ - driver.originx ~ ne ~ or - { - driver.save.linkll - /driver.lly ~ - driver.lly ~ driver.outerbox ~ 1 ~ get ~ sub ~ def ~ - driver.bordertracking.begin - } - if ~ - end - } - put - } - if - /x ~ where - { - /x - { - 0 ~ exch ~ rmoveto ~ - SDict~ - begin ~ - currentpoint ~ - driver.originy ~ ne ~ exch ~ driver.originx ~ ne ~ or - { - driver.save.linkll - /driver.lly ~ - driver.lly ~ driver.outerbox ~ 1 ~ get ~ sub ~ def ~ - driver.bordertracking.begin - } - if ~ - end - } - put - } - if - } - def - } -\__driver_postscript_header:n - { - /driver.breaklink - { - pop ~ - counttomark ~ 2 ~ mod ~ 0 ~ eq - { - counttomark /driver.count ~ exch ~ def - { - driver.count ~ 0 ~ eq { exit } if ~ - counttomark ~ 2 ~ roll ~ - 1 ~ index ~ /Rect ~ eq - { - dup ~ 4 ~ array ~ copy ~ - dup ~ dup ~ - 1 ~ get ~ - driver.outerbox ~ driver.rect.ht ~ - driver.linkmargin ~ 2 ~ mul ~ add ~ sub ~ - 3 ~ exch ~ put ~ - dup ~ - driver.outerbox ~ 2 ~ get ~ - driver.linkmargin ~ add ~ - 2 ~ exch ~ put ~ - dup ~ dup ~ - 3 ~ get ~ - driver.outerbox ~ driver.rect.ht ~ - driver.linkmargin ~ 2 ~ mul ~ add ~ add ~ - 1 ~ exch ~ put - /driver.currentrect ~ exch ~ def ~ - driver.breaklink.write - { - driver.currentrect ~ - dup ~ - driver.outerbox ~ 0 ~ get ~ - driver.linkmargin ~ sub ~ - 0 ~ exch ~ put ~ - dup ~ - driver.outerbox ~ 2 ~ get ~ - driver.linkmargin ~ add ~ - 2 ~ exch ~ put ~ - dup ~ dup ~ - 1 ~ get ~ - driver.baselineskip ~ add ~ - 1 ~ exch ~ put ~ - dup ~ dup ~ - 3 ~ get ~ - driver.baselineskip ~ add ~ - 3 ~ exch ~ put ~ - /driver.currentrect ~ exch ~ def ~ - driver.breaklink.write - } - 1 ~ index ~ 3 ~ get ~ - driver.linkmargin ~ 2 ~ mul ~ add ~ - driver.outerbox ~ driver.rect.ht ~ add ~ - 2 ~ index ~ 1 ~ get ~ sub ~ - driver.baselineskip ~ div ~ round ~ cvi ~ 1 ~ sub ~ - exch ~ - repeat ~ - driver.currentrect ~ - dup ~ - driver.outerbox ~ 0 ~ get ~ - driver.linkmargin ~ sub ~ - 0 ~ exch ~ put ~ - dup ~ dup ~ - 1 ~ get ~ - driver.baselineskip ~ add ~ - 1 ~ exch ~ put ~ - dup ~ dup ~ - 3 ~ get ~ - driver.baselineskip ~ add ~ - 3 ~ exch ~ put ~ - dup ~ 2 ~ index ~ 2 ~ get ~ 2 ~ exch ~ put - /driver.currentrect ~ exch ~ def ~ - driver.breaklink.write ~ - SDict /driver.pdfmark.good ~ false ~ put ~ - exit - } - { driver.count ~ 2 ~ sub /driver.count ~ exch ~ def } - ifelse - } - loop - } - if - /ANN - } - 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 - } - def - } -\__driver_postscript_header:n - { - /driver.pdfmark - { - SDict /driver.pdfmark.good ~ true ~ put ~ - dup /ANN ~ eq - { - driver.pdfmark.store ~ - driver.pdfmark.dict ~ - begin ~ - Subtype /Link ~ eq ~ - currentdict /Rect ~ known ~ and ~ - SDict /driver.outerbox ~ known ~ and ~ - SDict /driver.baselineskip ~ known ~ and ~ - { - Rect ~ 3 ~ get ~ - driver.linkmargin ~ 2 ~ mul ~ add ~ - driver.outerbox ~ driver.rect.ht ~ add ~ - Rect ~ 1 ~ get ~ sub ~ - driver.baselineskip ~ div ~ round ~ cvi ~ 0 ~ gt - { driver.breaklink } - if - } - if ~ - end ~ - SDict /driver.outerbox ~ undef ~ - SDict /driver.baselineskip ~ undef ~ - currentdict /driver.pdfmark.dict ~ undef ~ - } - if ~ - driver.pdfmark.good - { pdfmark } - { cleartomark } - ifelse - } - def - /driver.pdfmark.store - { - /driver.pdfmark.dict ~ 65534 ~ dict ~ def ~ - counttomark ~ 1 ~ add ~ copy ~ - pop - { - dup ~ mark ~ eq - { - pop ~ - exit - } - { - driver.pdfmark.dict ~ - begin ~ def ~ end - } - ifelse - } - loop - } - def - } -\box_new:N \l__driver_pdf_content_box -\box_new:N \l__driver_pdf_model_box -\int_new:N \g__driver_pdf_annotation_int -\cs_new_protected:Npn \driver_pdf_annotation:nnnn #1#2#3#4 - { - \__driver_pdf_annotation:nnnn {#1} {#2} {#3} {#4} - \int_gincr:N \g__driver_pdf_object_int - \int_gset_eq:NN \g__driver_pdf_annotation_int \g__driver_pdf_object_int - \__driver_pdfmark:x - { - - /_objdef { driver.obj \int_use:N \g__driver_pdf_object_int } - driver.rect ~ - #4 ~ - /ANN - } - } -\cs_new_protected:Npn \__driver_pdf_annotation:nnnn #1#2#3#4 - { - \box_move_down:nn {#3} - { \hbox:n { \__driver_postscript:n { driver.save.ll } } } - \hbox:n {#4} - \box_move_up:nn {#2} - { - \hbox:n - { - \tex_kern:D \dim_eval:n {#1} \scan_stop: - \__driver_postscript:n { driver.save.ur } - } - } - \int_gincr:N \g__driver_pdf_object_int - \int_gset_eq:NN \g__driver_pdf_annotation_int \g__driver_pdf_object_int - \__driver_pdfmark:x - { - /_objdef { driver.obj \int_use:N \g__driver_pdf_object_int } - driver.rect - /ANN - } - } -\cs_new:Npn \driver_pdf_annotation_last: - { { driver.obj \int_use:N \g__driver_pdf_annotation_int } } -\int_new:N \g__driver_pdf_link_int -\tl_new:N \g__driver_pdf_link_dict_tl -\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_pdfmark_tl -\tl_set:Nn \l__driver_breaklink_pdfmark_tl { pdfmark } -\cs_new_protected:Npn \__driver_breaklink_postscript:n #1 { } -\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 ) >> } } -\cs_new_protected:Npn \driver_pdf_link_begin_user:nnw #1#2 - { \__driver_pdf_link_begin:nw {#1#2} } -\cs_new_protected:Npn \__driver_pdf_link_begin:nw #1 - { - \bool_if:NF \g__driver_pdf_link_bool - { \__driver_pdf_link_begin_aux:nw {#1} } - } -\cs_new_protected:Npn \__driver_pdf_link_begin_aux:nw #1 - { - \bool_gset_true:N \g__driver_pdf_link_bool - \__driver_postscript:n - { /driver.link.dict ( #1 ) def } - \tl_gset:Nn \g__driver_pdf_link_dict_tl {#1} - \__driver_pdf_link_sf_save: - \mode_if_math:TF - { \bool_gset_true:N \g__driver_pdf_link_math_bool } - { \bool_gset_false:N \g__driver_pdf_link_math_bool } - \hbox_set:Nw \l__driver_pdf_content_box - \__driver_pdf_link_sf_restore: - \bool_if:NT \g__driver_pdf_link_math_bool - { \c_math_toggle_token } - } -\cs_new_protected:Npn \driver_pdf_link_end: - { - \bool_if:NT \g__driver_pdf_link_bool - { \__driver_pdf_link_end: } - } -\cs_new_protected:Npn \__driver_pdf_link_end: - { - \bool_if:NT \g__driver_pdf_link_math_bool - { \c_math_toggle_token } - \__driver_pdf_link_sf_save: - \hbox_set_end: - \__driver_pdf_link_minima: - \hbox_set:Nn \l__driver_pdf_model_box { Gg } - \exp_args:Nx \__driver_driver_link_outerbox:n - { - \int_if_odd:nTF { \value { page } } - { \oddsidemargin } - { \evensidemargin } - } - \box_move_down:nn { \box_dp:N \l__driver_pdf_content_box } - { \hbox:n { \__driver_postscript:n { driver.save.linkll } } } - \__driver_breaklink_postscript:n { driver.bordertracking.begin } - \__driver_breaklink_usebox:N \l__driver_pdf_content_box - \__driver_breaklink_postscript:n { driver.bordertracking.end } - \box_move_up:nn { \box_ht:N \l__driver_pdf_content_box } - { - \hbox:n - { \__driver_postscript:n { driver.save.linkur } } - } - \int_gincr:N \g__driver_pdf_object_int - \int_gset_eq:NN \g__driver_pdf_link_int \g__driver_pdf_object_int - \__driver_postscript:x - { - mark - /_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 - } - \__driver_pdf_link_sf_restore: - \bool_gset_false:N \g__driver_pdf_link_bool - } -\cs_new_protected:Npn \__driver_pdf_link_minima: - { - \hbox_set:Nn \l__driver_pdf_model_box { Gg } - \__driver_postscript:x - { - /driver.linkdp.pad ~ - \dim_to_decimal:n - { - \dim_max:nn - { - \box_dp:N \l__driver_pdf_model_box - - \box_dp:N \l__driver_pdf_content_box - } - { 0pt } - } ~ - driver.pt.dvi ~ def - /driver.linkht.pad ~ - \dim_to_decimal:n - { - \dim_max:nn - { - \box_ht:N \l__driver_pdf_model_box - - \box_ht:N \l__driver_pdf_content_box - } - { 0pt } - } ~ - driver.pt.dvi ~ def - } - } -\cs_new_protected:Npn \__driver_driver_link_outerbox:n #1 - { - \__driver_postscript:x - { - /driver.outerbox - [ - \dim_to_decimal:n {#1} ~ - \dim_to_decimal:n { -\box_dp:N \l__driver_pdf_model_box } ~ - \dim_to_decimal:n { #1 + \textwidth } ~ - \dim_to_decimal:n { \box_ht:N \l__driver_pdf_model_box } - ] - [ exch { driver.pt.dvi } forall ] def - /driver.baselineskip ~ - \dim_to_decimal:n { \tex_baselineskip:D } ~ dup ~ 0 ~ gt - { driver.pt.dvi ~ def } - { pop ~ pop } - ifelse - } - } -\cs_new_protected:Npn \__driver_pdf_link_sf_save: - { - \int_gset:Nn \g__driver_pdf_link_sf_int - { - \mode_if_horizontal:TF - { \tex_spacefactor:D } - { 0 } - } - } -\cs_new_protected:Npn \__driver_pdf_link_sf_restore: - { - \mode_if_horizontal:T - { - \int_compare:nNnT \g__driver_pdf_link_sf_int > { 0 } - { \int_set_eq:NN \tex_spacefactor:D \g__driver_pdf_link_sf_int } - } - } -\use_none:n - { - \cs_if_exist:NT \@makecol@hook - { - \tl_put_right:Nn \@makecol@hook - { - \box_if_empty:NF \@cclv - { - \vbox_set:Nn \@cclv - { - \__driver_postscript:n - { - driver.globaldict /driver.brokenlink.rect ~ known - { driver.bordertracking.continue } - if - } - \vbox_unpack_drop:N \@cclv - \__driver_postscript:n - { driver.bordertracking.endpage } - } - } - } - \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 - } - } -\cs_new:Npn \driver_pdf_link_last: - { { driver.obj \int_use:N \g__driver_pdf_link_int } } -\cs_new_protected:Npn \driver_pdf_link_margin:n #1 - { - \__driver_postscript:x - { - /driver.linkmargin { \dim_to_decimal:n {#1} ~ driver.pt.dvi } def - } - } -\cs_new_protected:Npn \driver_pdf_destination:nn #1#2 - { - \__driver_postscript:n { driver.dest.anchor } - \__driver_pdfmark:x - { - /View - [ - \str_case:nnF {#2} - { - { xyz } { /XYZ ~ driver.dest.point ~ null } - { fit } { /Fit } - { fitb } { /FitB } - { fitbh } { /FitBH ~ driver.dest.y } - { fitbv } { /FitBV ~ driver.dest.x } - { fith } { /FitH ~ driver.dest.y } - { fitv } { /FitV ~ driver.dest.x } - } - { - /XYZ ~ driver.dest.point ~ \fp_eval:n { (#2) / 100 } - } - ] - /Dest ( \exp_not:n {#1} ) cvn - /DEST - } - } -\cs_new_protected:Npn \driver_pdf_destination_rectangle:nn #1#2 - { - \group_begin: - \hbox_set:Nn \l__driver_internal_box {#2} - \box_move_down:nn - { \box_dp:N \l__driver_internal_box } - { \hbox:n { \__driver_postscript:n { driver.save.ll } } } - \box_use:N \l__driver_internal_box - \box_move_up:nn - { \box_ht:N \l__driver_internal_box } - { \hbox:n { \__driver_postscript:n { driver.save.ur } } } - \__driver_pdfmark:n - { - /View - [ - /FitR ~ - driver.llx ~ driver.lly ~ driver.dest2device ~ - driver.urx ~ driver.ury ~ driver.dest2device - ] - /Dest ( #1 ) cvn - /DEST - } - \group_end: - } -\cs_new_protected:Npn \driver_pdf_compresslevel:n #1 { } -\cs_new_protected:Npn \driver_pdf_compress_objects:n #1 { } -\cs_new_protected:Npn \driver_pdf_version_major_gset:n #1 { } -\cs_new_protected:Npn \driver_pdf_version_minor_gset:n #1 { } -\cs_new:Npn \driver_pdf_version_major: { -1 } -\cs_new:Npn \driver_pdf_version_minor: { -1 } -%% -%% -%% End of file `l3dvips.def'. |