diff options
author | Karl Berry <karl@freefriends.org> | 2020-08-07 21:37:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-08-07 21:37:39 +0000 |
commit | d6a7e0e5536b4924edec286797ed38021b94509d (patch) | |
tree | 04407161e6a03a0698d3029183d3959a762a0bb2 /Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def | |
parent | 5a14bab00bc59f46bdb92dcfc08ca2d331e3c3ec (diff) |
l3 (7aug20)
git-svn-id: svn://tug.org/texlive/trunk@56067 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def | 249 |
1 files changed, 125 insertions, 124 deletions
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def index 3461b4a3ce2..007c597b7ab 100644 --- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def +++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def @@ -25,7 +25,7 @@ %% %% File: l3backend-basics.dtx \ProvidesExplFile - {l3backend-dvisvgm.def}{2020-06-29}{} + {l3backend-dvisvgm.def}{2020-08-07}{} {L3 backend support: dvisvgm} \cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D \cs_new_protected:Npn \__kernel_backend_literal:n #1 @@ -34,46 +34,71 @@ \cs_new_protected:Npn \__kernel_backend_literal_svg:n #1 { \__kernel_backend_literal:n { dvisvgm:raw~ #1 { ?nl } } } \cs_generate_variant:Nn \__kernel_backend_literal_svg:n { x } +\int_new:N \g__kernel_backend_scope_int +\int_new:N \l__kernel_backend_scope_int \cs_new_protected:Npn \__kernel_backend_scope_begin: - { \__kernel_backend_literal_svg:n { <g> } } + { + \__kernel_backend_literal_svg:n { <g> } + \int_set_eq:NN + \l__kernel_backend_scope_int + \g__kernel_backend_scope_int + \group_begin: + \int_gset:Nn \g__kernel_backend_scope_int { 1 } + } \cs_new_protected:Npn \__kernel_backend_scope_end: - { \__kernel_backend_literal_svg:n { </g> } } + { + \prg_replicate:nn + { \g__kernel_backend_scope_int } + { \__kernel_backend_literal_svg:n { </g> } } + \group_end: + \int_gset_eq:NN + \g__kernel_backend_scope_int + \l__kernel_backend_scope_int + } \cs_new_protected:Npn \__kernel_backend_scope_begin:n #1 - { \__kernel_backend_literal_svg:n { <g~ #1 > } } + { + \__kernel_backend_literal_svg:n { <g ~ #1 > } + \int_set_eq:NN + \l__kernel_backend_scope_int + \g__kernel_backend_scope_int + \group_begin: + \int_gset:Nn \g__kernel_backend_scope_int { 1 } + } \cs_generate_variant:Nn \__kernel_backend_scope_begin:n { x } +\cs_new_protected:Npn \__kernel_backend_scope:n #1 + { + \__kernel_backend_literal_svg:n { <g ~ #1 > } + \int_gincr:N \g__kernel_backend_scope_int + } +\cs_generate_variant:Nn \__kernel_backend_scope:n { x } %% File: l3backend-color.dtx \cs_new_protected:Npn \__color_backend_pickup:N #1 { } -\AtBeginDocument +\cs_if_exist:cT { ver@color.sty } { - \cs_if_exist:cT { ver@color.sty } + \cs_set_protected:Npn \__color_backend_pickup:N #1 { - \cs_set_protected:Npn \__color_backend_pickup:N #1 + \exp_args:NV \tl_if_head_is_space:nTF \current@color + { + \tl_set:Nx #1 + { + { \exp_after:wN \use:n \current@color } + { 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 \__color_backend_pickup:w - { \current@color } \s__color_stop #1 - } + \exp_last_unbraced:Nx \__color_backend_pickup:w + { \current@color } \s__color_stop #1 } - \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3 - { \tl_set:Nn #3 { {#1} {#2} } } } + \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3 + { \tl_set:Nn #3 { {#1} {#2} } } } -\cs_new_protected:Npn \__color_backend_cmyk:n #1 +\cs_new_protected:Npn \__color_backend_select_cmyk:n #1 { \__color_backend_select:n { cmyk ~ #1 } } -\cs_new_protected:Npn \__color_backend_gray:n #1 +\cs_new_protected:Npn \__color_backend_select_gray:n #1 { \__color_backend_select:n { gray ~ #1 } } -\cs_new_protected:Npn \__color_backend_rgb:n #1 +\cs_new_protected:Npn \__color_backend_select_rgb:n #1 { \__color_backend_select:n { rgb ~ #1 } } -\cs_new_protected:Npn \__color_backend_spot:n #1 - { \__color_backend_select:n {#1} } \cs_new_protected:Npn \__color_backend_select:n #1 { \__kernel_backend_literal:n { color~push~ #1 } @@ -81,6 +106,74 @@ } \cs_new_protected:Npn \__color_backend_reset: { \__kernel_backend_literal:n { color~pop } } +\cs_new_protected:Npn \__color_backend_select_separation:nn #1#2 + { \__color_backend_select:n {#1} } +\cs_new_protected:Npn \__color_backend_fill_cmyk:n #1 + { \__color_backend_cmyk:nw { fill } #1 \s__color_stop } +\cs_new_protected:Npn \__color_backend_stroke_cmyk:n #1 + { \__color_backend_cmyk:nw { stroke } #1 \s__color_stop } +\cs_new_protected:Npn \__color_backend_cmyk:nw + #1#2 ~ #3 ~ #4 ~ #5 \s__color_stop + { + \use:x + { + \__color_backend:nnnn + {#1} + { \fp_eval:n { -100 * ( 1 - min ( 1 , #2 + #5 ) ) } } + { \fp_eval:n { -100 * ( 1 - min ( 1 , #3 + #5 ) ) } } + { \fp_eval:n { -100 * ( 1 - min ( 1 , #4 + #5 ) ) } } + } + } +\cs_new_protected:Npn \__color_backend_fill_gray:n #1 + { \__color_backend_grab:nn { fill } {#1} } +\cs_new_protected:Npn \__color_backend_stroke_gray:n #1 + { \__color_backend_grab:nn { stroke } {#1} } +\cs_new_protected:Npn \__color_backend_gray:nn #1#2 + { + \use:x + { + \__color_backend_gray_aux:nn + {#1} + { \fp_eval:n { 100 * (#2) } } + } + } +\cs_new_protected:Npn \__color_backend_gray_aux:nn #1#2 + { \__color_backend:nnn {#1} {#2} {#2} {#2} } +\cs_new_protected:Npn \__color_backend_fill_rgb:n #1 + { \__color_backend_rgb:nw { fill } #1 \s__color_stop } +\cs_new_protected:Npn \__color_backend_stroke_rgb:n #1 + { \__color_backend_rgb:nw { stroke } #1 \s__color_stop } +\cs_new_protected:Npn \__color_backend_rgb:nw + #1#2 ~ #3 ~ #4\s__color_stop + { + \use:x + { + \__color_backend:nnnn + { fill } + { \fp_eval:n { 100 * (#2) } } + { \fp_eval:n { 100 * (#3) } } + { \fp_eval:n { 100 * (#4) } } + } + } +\cs_new_protected:Npx \__color_backend:nnnn #1#2#3#4 + { + \__kernel_backend_scope:n + { + #1 = + " + rgb + ( + #2 \c_percent_str , + #3 \c_percent_str , + #4 \c_percent_str + ) + " + } + } +\cs_new_protected:Npn \__color_backend_fill_separation:nn #1#2 + { } +\cs_new_protected:Npn \__color_backend_stroke_separation:nn #1#2 + { } %% File: l3backend-box.dtx \cs_new_protected:Npn \__box_backend_clip:N #1 { @@ -114,12 +207,12 @@ scale ( 1 , -1 ) " } - \__kernel_backend_scope_begin:x + \__kernel_backend_scope:x { clip-path = "url ( \c_hash_str l3cp \int_use:N \g__box_clip_path_int ) " } - \__kernel_backend_scope_begin:n + \__kernel_backend_scope:n { transform = " @@ -130,8 +223,6 @@ } \box_use:N #1 \__kernel_backend_scope_end: - \__kernel_backend_scope_end: - \__kernel_backend_scope_end: } \int_new:N \g__box_clip_path_int \cs_new_protected:Npn \__box_backend_rotate:Nn #1#2 @@ -171,37 +262,10 @@ \cs_generate_variant:Nn \__draw_backend_literal:n { x } \cs_new_protected:Npn \__draw_backend_begin: { - \__draw_backend_scope_begin: - \__draw_backend_scope:n { transform="translate({?x},{?y})~scale(1,-1)" } - } -\cs_new_protected:Npn \__draw_backend_end: - { \__draw_backend_scope_end: } -\cs_new_protected:Npn \__draw_backend_scope_begin: - { - \int_set_eq:NN - \l__draw_draw_scope_int - \g__draw_draw_scope_int - \group_begin: - \int_gzero:N \g__draw_draw_scope_int - } -\cs_new_protected:Npn \__draw_backend_scope_end: - { - \prg_replicate:nn - { \g__draw_draw_scope_int } - { \__draw_backend_literal:n { </g> } } - \group_end: - \int_gset_eq:NN - \g__draw_draw_scope_int - \l__draw_draw_scope_int - } -\cs_new_protected:Npn \__draw_backend_scope:n #1 - { - \__draw_backend_literal:n { <g~ #1 > } - \int_gincr:N \g__draw_draw_scope_int + \__kernel_backend_scope_begin: + \__kernel_backend_scope:n { transform="translate({?x},{?y})~scale(1,-1)" } } -\cs_generate_variant:Nn \__draw_backend_scope:n { x } -\int_new:N \g__draw_draw_scope_int -\int_new:N \l__draw_draw_scope_int +\cs_new_eq:NN \__draw_backend_end: \__kernel_backend_scope_end: \cs_new_protected:Npn \__draw_backend_moveto:nn #1#2 { \__draw_backend_add_to_path:n @@ -355,68 +419,6 @@ { \__draw_backend_scope:n { stroke-linejoin="round" } } \cs_new_protected:Npn \__draw_backend_join_bevel: { \__draw_backend_scope:n { stroke-linejoin="bevel" } } -\cs_new_protected:Npn \__draw_backend_color_fill_cmyk:n #1 - { \__draw_backend_color_cmyk:nw { fill } #1 \s__draw_stop } -\cs_new_protected:Npn \__draw_backend_color_stroke_cmyk:n #1 - { \__draw_backend_color_cmyk:nw { stroke } #1 \s__draw_stop } -\cs_new_protected:Npn \__draw_backend_color_cmyk:nw - #1#2 ~ #3 ~ #4 ~ #5 \s__draw_stop - { - \use:x - { - \__draw_backend_color:nnnn - {#1} - { \fp_eval:n { -100 * ( 1 - min ( 1 , #2 + #5 ) ) } } - { \fp_eval:n { -100 * ( 1 - min ( 1 , #3 + #5 ) ) } } - { \fp_eval:n { -100 * ( 1 - min ( 1 , #4 + #5 ) ) } } - } - } -\cs_new_protected:Npn \__draw_backend_color_fill_gray:n #1 - { \__draw_backend_color_grab:nn { fill } {#1} } -\cs_new_protected:Npn \__draw_backend_color_stroke_gray:n #1 - { \__draw_backend_color_grab:nn { stroke } {#1} } -\cs_new_protected:Npn \__draw_backend_color_gray:nn #1#2 - { - \use:x - { - \__draw_backend_color_gray_aux:nn - {#1} - { \fp_eval:n { 100 * (#2) } } - } - } -\cs_new_protected:Npn \__draw_backend_color_gray_aux:nn #1#2 - { \__draw_backend_color:nnn {#1} {#2} {#2} {#2} } -\cs_new_protected:Npn \__draw_backend_color_fill_rgb:n #1 - { \__draw_backend_color_rgb:nw { fill } #1 \s__draw_stop } -\cs_new_protected:Npn \__draw_backend_color_stroke_rgb:n #1 - { \__draw_backend_color_rgb:nw { stroke } #1 \s__draw_stop } -\cs_new_protected:Npn \__draw_backend_color_rgb:nw - #1#2 ~ #3 ~ #4\s__draw_stop - { - \use:x - { - \__draw_backend_color:nnnn - { fill } - { \fp_eval:n { 100 * (#2) } } - { \fp_eval:n { 100 * (#3) } } - { \fp_eval:n { 100 * (#4) } } - } - } -\cs_new_protected:Npx \__draw_backend_color:nnnn #1#2#3#4 - { - \__draw_backend_scope:n - { - #1 = - " - rgb - ( - #2 \c_percent_str , - #3 \c_percent_str , - #4 \c_percent_str - ) - " - } - } \cs_new_protected:Npn \__draw_backend_cm:nnnn #1#2#3#4 { \__draw_backend_scope:n @@ -444,8 +446,7 @@ \__kernel_backend_scope_end: } %% File: l3backend-graphics.dtx -\AtBeginDocument - { \cs_new_eq:NN \__graphics_backend_getbb_eps:n \graphics_read_bb:n } +\cs_new_eq:NN \__graphics_backend_getbb_eps:n \graphics_read_bb:n \cs_new_protected:Npn \__graphics_backend_getbb_jpg:n #1 { \int_zero:N \l_graphics_page_int |