diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def | 109 |
1 files changed, 81 insertions, 28 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def index f21566f34b6..c3cae34968c 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def @@ -46,16 +46,16 @@ %% %% ----------------------------------------------------------------------- %% -\GetIdInfo$Id: l3drivers.dtx 6511 2016-05-17 20:20:23Z joseph $ +\GetIdInfo$Id: l3drivers.dtx 6644 2016-08-13 20:22:11Z bruno $ {L3 Experimental drivers} \ProvidesExplFile {l3xdvidpfmx.def}{\ExplFileDate}{\ExplFileVersion} {L3 Experimental driver: xdvipdfmx} \cs_new_protected:Npn \__driver_literal:n #1 { \tex_special:D { pdf:literal~ #1 } } -\cs_new_protected_nopar:Npn \__driver_scope_begin: +\cs_new_protected:Npn \__driver_scope_begin: { \__driver_literal:n { q } } -\cs_new_protected_nopar:Npn \__driver_scope_end: +\cs_new_protected:Npn \__driver_scope_end: { \__driver_literal:n { Q } } \cs_new_protected:Npn \__driver_matrix:n #1 { \__driver_literal:n { #1 \c_space_tl 0~0~cm } } @@ -67,23 +67,23 @@ { \tl_set:Nn \l__driver_current_color_tl { \current@color } } { } } -\cs_new_protected_nopar:Npn \__driver_color_ensure_current: +\cs_new_protected:Npn \__driver_color_ensure_current: { \tex_special:D { pdf:bcolor~\l__driver_current_color_tl } \group_insert_after:N \__driver_color_reset: } -\cs_new_protected_nopar:Npn \__driver_color_reset: +\cs_new_protected:Npn \__driver_color_reset: { \tex_special:D { pdf:ecolor } } \AtBeginDocument { \@ifpackageloaded { color } { - \cs_set_protected_nopar:Npn \__driver_color_ensure_current: + \cs_set_protected:Npn \__driver_color_ensure_current: { \tex_special:D { color~push~\l__driver_current_color_tl } \group_insert_after:N \__driver_color_reset: } - \cs_set_protected_nopar:Npn \__driver_color_reset: + \cs_set_protected:Npn \__driver_color_reset: { \tex_special:D { color~pop } } } { } @@ -143,13 +143,13 @@ } \cs_new_eq:NN \__driver_draw_literal:n \__driver_literal:n \cs_generate_variant:Nn \__driver_draw_literal:n { x } -\cs_new_protected_nopar:Npn \__driver_draw_begin: +\cs_new_protected:Npn \__driver_draw_begin: { \__driver_draw_scope_begin: } -\cs_new_protected_nopar:Npn \__driver_draw_end: +\cs_new_protected:Npn \__driver_draw_end: { \__driver_draw_scope_end: } -\cs_new_protected_nopar:Npn \__driver_draw_scope_begin: +\cs_new_protected:Npn \__driver_draw_scope_begin: { \__driver_draw_literal:n { q } } -\cs_new_protected_nopar:Npn \__driver_draw_scope_end: +\cs_new_protected:Npn \__driver_draw_scope_end: { \__driver_draw_literal:n { Q } } \cs_new_protected:Npn \__driver_draw_moveto:nn #1#2 { @@ -171,29 +171,42 @@ c } } -\bool_new:N \__driver_draw_eor_bool -\cs_new_protected_nopar:Npn \__driver_draw_closepath: +\cs_new_protected:Npn \__driver_draw_rectangle:nnnn #1#2#3#4 + { + \__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} ~ + re + } + } +\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 { h } } -\cs_new_protected_nopar:Npn \__driver_draw_stroke: +\cs_new_protected:Npn \__driver_draw_stroke: { \__driver_draw_literal:n { S } } -\cs_new_protected_nopar:Npn \__driver_draw_closestroke: +\cs_new_protected:Npn \__driver_draw_closestroke: { \__driver_draw_literal:n { s } } -\cs_new_protected_nopar:Npn \__driver_draw_fill: +\cs_new_protected:Npn \__driver_draw_fill: { \__driver_draw_literal:x - { f \bool_if:NT \__driver_draw_eor_bool * } + { f \bool_if:NT \g__driver_draw_eor_bool * } } -\cs_new_protected_nopar:Npn \__driver_draw_fillstroke: +\cs_new_protected:Npn \__driver_draw_fillstroke: { \__driver_draw_literal:x - { B \bool_if:NT \__driver_draw_eor_bool * } + { B \bool_if:NT \g__driver_draw_eor_bool * } } -\cs_new_protected_nopar:Npn \__driver_draw_clip: +\cs_new_protected:Npn \__driver_draw_clip: { \__driver_draw_literal:x - { W \bool_if:NT \__driver_draw_eor_bool * } + { W \bool_if:NT \g__driver_draw_eor_bool * } } -\cs_new_protected_nopar:Npn \__driver_draw_discardpath: +\cs_new_protected:Npn \__driver_draw_discardpath: { \__driver_draw_literal:n { n } } \cs_new_protected:Npn \__driver_draw_dash:nn #1#2 { @@ -214,18 +227,34 @@ } \cs_new_protected:Npn \__driver_draw_miterlimit:n #1 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ M } } -\cs_new_protected_nopar:Npn \__driver_draw_cap_butt: +\cs_new_protected:Npn \__driver_draw_cap_butt: { \__driver_draw_literal:n { 0 ~ J } } -\cs_new_protected_nopar:Npn \__driver_draw_cap_round: +\cs_new_protected:Npn \__driver_draw_cap_round: { \__driver_draw_literal:n { 1 ~ J } } -\cs_new_protected_nopar:Npn \__driver_draw_cap_rectangle: +\cs_new_protected:Npn \__driver_draw_cap_rectangle: { \__driver_draw_literal:n { 2 ~ J } } -\cs_new_protected_nopar:Npn \__driver_draw_join_miter: +\cs_new_protected:Npn \__driver_draw_join_miter: { \__driver_draw_literal:n { 0 ~ j } } -\cs_new_protected_nopar:Npn \__driver_draw_join_round: +\cs_new_protected:Npn \__driver_draw_join_round: { \__driver_draw_literal:n { 1 ~ j } } -\cs_new_protected_nopar:Npn \__driver_draw_join_bevel: +\cs_new_protected:Npn \__driver_draw_join_bevel: { \__driver_draw_literal:n { 2 ~ j } } +\cs_new_protected:Npn \__driver_draw_color_cmyk:nnnn #1#2#3#4 + { + \use:x + { + \__driver_draw_color_cmyk_aux:nnnn + { \fp_eval:n {#1} } + { \fp_eval:n {#2} } + { \fp_eval:n {#3} } + { \fp_eval:n {#4} } + } + } +\cs_new_protected:Npn \__driver_draw_color_cmyk_aux:nnnn #1#2#3#4 + { + \__driver_draw_literal:n + { #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K } + } \cs_new_protected:Npn \__driver_draw_color_cmyk_fill:nnnn #1#2#3#4 { \__driver_draw_literal:x @@ -244,10 +273,34 @@ K } } +\cs_new_protected:Npn \__driver_draw_color_gray:n #1 + { + \use:x + { \__driver_draw_color_gray_aux:n { \fp_eval:n {#1} } } + } +\cs_new_protected:Npn \__driver_draw_color_gray_aux:n #1 + { + \__driver_draw_literal:n { #1 ~ g ~ #1 ~ G } + } \cs_new_protected:Npn \__driver_draw_color_gray_fill:n #1 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ g } } \cs_new_protected:Npn \__driver_draw_color_gray_stroke:n #1 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ G } } +\cs_new_protected:Npn \__driver_draw_color_rgb:nnn #1#2#3 + { + \use:x + { + \__driver_draw_color_rgb_aux:nnn + { \fp_eval:n {#1} } + { \fp_eval:n {#2} } + { \fp_eval:n {#3} } + } + } +\cs_new_protected:Npn \__driver_draw_color_rgb_aux:nnn #1#2#3 + { + \__driver_draw_literal:n + { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG } + } \cs_new_protected:Npn \__driver_draw_color_rgb_fill:nnn #1#2#3 { \__driver_draw_literal:x |