diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3dvips.def')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/l3dvips.def | 57 |
1 files changed, 34 insertions, 23 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def index 5c22f8648e9..5b0d1ff96a1 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def @@ -13,7 +13,7 @@ %% %% Do not distribute a modified version of this file. %% -%% File: l3drivers.dtx Copyright(C) 2011-2013 The LaTeX3 Project +%% File: l3drivers.dtx Copyright(C) 2011-2014 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 @@ -47,7 +47,7 @@ %% ----------------------------------------------------------------------- %% \RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3drivers.dtx 4632 2013-12-31 17:09:37Z joseph $ +\GetIdInfo$Id: l3drivers.dtx 4641 2014-01-04 17:05:41Z joseph $ {L3 Experimental drivers} \ProvidesExplFile {l3dvips.def}{\ExplFileDate}{\ExplFileVersion} @@ -58,25 +58,40 @@ \cs_new_protected_nopar:Npn \__driver_state_restore: { \tex_special:D { ps:grestore } } \cs_new_protected:Npn \__driver_literal:n #1 - { \tex_special:D { ps: #1 } } -\cs_new_protected:Npn \__driver_box_use_clip:N #1 { - \__driver_state_save: - \__driver_literal:n + \tex_special:D { - /savedmatrix~matrix~currentmatrix~def~ - currentpoint~translate~ - Resolution~72~div~VResolution~72~div~scale + ps: + currentpoint~ + currentpoint~translate~ + #1 ~ + neg~exch~neg~exch~translate } + } +\cs_new_protected:Npn \__driver_literal_direct:n #1 + { \tex_special:D { ps:: #1 } } +\cs_new:Npn \__driver_absolute_lengths:n #1 + { + /savedmatrix~matrix~currentmatrix~def~ + Resolution~72~div~VResolution~72~div~scale~ + DVImag~dup~scale~ + #1 ~ + savedmatrix~setmatrix + } +\cs_new_protected:Npn \__driver_box_use_clip:N #1 + { + \__driver_state_save: \__driver_literal:n { - 0~ - \__dim_strip_bp:n { \box_dp:N #1 } ~ - \__dim_strip_bp:n { \box_wd:N #1 } ~ - \__dim_strip_bp:n { - \box_ht:N #1 - \box_dp:N #1 } ~ - rectclip + \__driver_absolute_lengths:n + { + 0~ + \__dim_strip_bp:n { \box_dp:N #1 } ~ + \__dim_strip_bp:n { \box_wd:N #1 } ~ + \__dim_strip_bp:n { - \box_ht:N #1 - \box_dp:N #1 } ~ + rectclip + } } - \__driver_literal:n { savedmatrix~setmatrix } \hbox_overlap_right:n { \box_use:N #1 } \__driver_state_restore: \skip_horizontal:n { \box_wd:N #1 } @@ -87,13 +102,11 @@ \fp_set:Nn \l__box_angle_fp { round ( \l__box_angle_fp , 5 ) } \__driver_literal:n { - currentpoint~ - currentpoint~translate~ \fp_compare:nNnTF \l__box_angle_fp = \c_zero_fp { 0 } { \fp_eval:n { - \l__box_angle_fp } } - \c_space_tl rotate~ - neg~exch~neg~exch~translate + \c_space_tl + rotate } } \cs_new_eq:NN \__driver_box_rotate_end: \__driver_state_restore: @@ -104,11 +117,9 @@ \fp_set:Nn \l__box_scale_y_fp { round ( \l__box_scale_y_fp , 5 ) } \__driver_literal:n { - currentpoint~ - currentpoint~translate~ \fp_use:N \l__box_scale_x_fp \c_space_tl - \fp_use:N \l__box_scale_y_fp \c_space_tl scale~ - neg~exch~neg~exch~translate + \fp_use:N \l__box_scale_y_fp \c_space_tl + scale } } \cs_new_eq:NN \__driver_box_scale_end: \__driver_state_restore: |