summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-07-02 21:03:06 +0000
committerKarl Berry <karl@freefriends.org>2019-07-02 21:03:06 +0000
commit6cd9cb9b90a640486b1e6cf9bf4385e1622dc621 (patch)
tree55b66dec7d3519db5b1b299ba0ae90aa4fe2714d /Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
parent0eeaf7545f37a529bbc7549c23ec0f2160e509e0 (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.def1176
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'.