From 1915d55af0571cbdcaec9681226feeff2d73a58f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 23 Jun 2020 21:19:50 +0000 Subject: l3backend (23jun20) git-svn-id: svn://tug.org/texlive/trunk@55638 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/latex/l3backend/l3backend-basics.dtx | 12 ++-- .../source/latex/l3backend/l3backend-box.dtx | 2 +- .../source/latex/l3backend/l3backend-color.dtx | 2 +- .../source/latex/l3backend/l3backend-draw.dtx | 74 ++++++++++++---------- .../source/latex/l3backend/l3backend-graphics.dtx | 2 +- .../source/latex/l3backend/l3backend-header.dtx | 2 +- .../source/latex/l3backend/l3backend-pdf.dtx | 2 +- 7 files changed, 53 insertions(+), 43 deletions(-) (limited to 'Master/texmf-dist/source') diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx index 80d8714358f..a28db733ab5 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-06-18} +% \date{Released 2020-06-23} % % \maketitle % @@ -71,23 +71,23 @@ %<*package> \ProvidesExplFile %<*dvipdfmx> - {l3backend-dvipdfmx.def}{2020-06-18}{} + {l3backend-dvipdfmx.def}{2020-06-23}{} {L3 backend support: dvipdfmx} % %<*dvips> - {l3backend-dvips.def}{2020-06-18}{} + {l3backend-dvips.def}{2020-06-23}{} {L3 backend support: dvips} % %<*dvisvgm> - {l3backend-dvisvgm.def}{2020-06-18}{} + {l3backend-dvisvgm.def}{2020-06-23}{} {L3 backend support: dvisvgm} % %<*pdfmode> - {l3backend-pdfmode.def}{2020-06-18}{} + {l3backend-pdfmode.def}{2020-06-23}{} {L3 backend support: PDF mode} % %<*xdvipdfmx> - {l3backend-xdvipdfmx.def}{2020-06-18}{} + {l3backend-xdvipdfmx.def}{2020-06-23}{} {L3 backend support: xdvipdfmx} % % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx index ca94b19e9b8..d07a08a4b4b 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-06-18} +% \date{Released 2020-06-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx index 2c0dd47ea18..4aef1ed938d 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-06-18} +% \date{Released 2020-06-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx index 6c82820a901..3b886359ab1 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-06-18} +% \date{Released 2020-06-23} % % \maketitle % @@ -1163,77 +1163,86 @@ % \@@_backend_color_fill_cmyk:n , % \@@_backend_color_stroke_cmyk:n % } -% \begin{macro}{\@@_backend_color_fill_cmyk:w} +% \begin{macro}{\@@_backend_color_cmyk:nw} % \begin{macro} % { % \@@_backend_color_fill_gray:n , % \@@_backend_color_stroke_gray:n % } -% \begin{macro}{\@@_backend_color_gray_aux:n} +% \begin{macro}{\@@_backend_color_gray:nn, \@@_backend_color_gray_aux:n} % \begin{macro} % { % \@@_backend_color_fill_rgb:n , % \@@_backend_color_stroke_rgb:n % } -% \begin{macro}{\@@_backend_color_fill:nnn} -% SVG fill color has to be covered outside of the stack, as for -% \texttt{dvips}. Here, we are only allowed RGB colors so there is some -% conversion to do. +% \begin{macro}{\@@_backend_color_rgb:nw} +% \begin{macro}{\@@_backend_color:nnnn} +% For drawings in SVG, we use scopes for all colors. That +% requires using \texttt{RGB} values, which luckily are easy to +% convert here (|cmyk| to |RGB| is a fixed function). % \begin{macrocode} \cs_new_protected:Npn \@@_backend_color_fill_cmyk:n #1 - { \@@_backend_color_fill_cmyk:w #1 \s_@@_stop } -\cs_new_protected:Npn \@@_backend_color_fill_cmyk:w - #1 ~ #2 ~ #3 ~ #4 \s_@@_stop + { \@@_backend_color_cmyk:nw { fill } #1 \s_@@_stop } +\cs_new_protected:Npn \@@_backend_color_stroke_cmyk:n #1 + { \@@_backend_color_cmyk:nw { stroke } #1 \s_@@_stop } +\cs_new_protected:Npn \@@_backend_color_cmyk:nw + #1#2 ~ #3 ~ #4 ~ #5 \s_@@_stop { \use:x { - \@@_backend_color_fill:nnn - { \fp_eval:n { -100 * ( 1 - min ( 1 , #1 + #4 ) ) } } - { \fp_eval:n { -100 * ( 1 - min ( 1 , #2 + #4 ) ) } } - { \fp_eval:n { -100 * ( 1 - min ( 1 , #3 + #4 ) ) } } + \@@_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 \@@_backend_color_stroke_cmyk:n #1 - { \@@_backend_select:n { cmyk ~ #1 } } \cs_new_protected:Npn \@@_backend_color_fill_gray:n #1 + { \@@_backend_color_grab:nn { fill } {#1} } +\cs_new_protected:Npn \@@_backend_color_stroke_gray:n #1 + { \@@_backend_color_grab:nn { stroke } {#1} } +\cs_new_protected:Npn \@@_backend_color_gray:nn #1#2 { \use:x { - \@@_backend_color_gray_aux:n - { \fp_eval:n { 100 * (#1) } } + \@@_backend_color_gray_aux:nn + {#1} + { \fp_eval:n { 100 * (#2) } } } } -\cs_new_protected:Npn \@@_backend_color_gray_aux:n #1 - { \@@_backend_color_fill:nnn {#1} {#1} {#1} } -\cs_new_protected:Npn \@@_backend_color_stroke_gray:n #1 - { \@@_backend_select:x { gray~ \fp_eval:n {#1} } } -\cs_new_protected:Npn \@@_backend_color_fill_rgb:n #1 +\cs_new_protected:Npn \@@_backend_color_gray_aux:nn #1#2 + { \@@_backend_color:nnn {#1} {#2} {#2} {#2} } +\cs_new_protected:Npn \@@_backend_color_rgb_cmyk:n #1 + { \@@_backend_color_rgb:nw { fill } #1 \s_@@_stop } +\cs_new_protected:Npn \@@_backend_color_rgb_cmyk:n #1 + { \@@_backend_color_rgb:nw { stroke } #1 \s_@@_stop } +\cs_new_protected:Npn \@@_backend_color_rgb:nw + #1#2 ~ #3 ~ #4\s_@@_stop { \use:x { - \@@_backend_color_fill:nnn - { \fp_eval:n { 100 * (#1) } } + \@@_backend_color:nnnn + { fill } { \fp_eval:n { 100 * (#2) } } { \fp_eval:n { 100 * (#3) } } + { \fp_eval:n { 100 * (#4) } } } } -\cs_new_protected:Npn \@@_backend_color_fill:nnn #1#2#3 +\cs_new_protected:Npx \@@_backend_color:nnnn #1#2#3#4 { - \@@_backend_scope:x + \@@_backend_scope:n { - fill = + #1 = " rgb ( - #1 \c_percent_str , #2 \c_percent_str , - #3 \c_percent_str + #3 \c_percent_str , + #4 \c_percent_str ) " } } -\cs_new_protected:Npn \@@_backend_color_stroke_rgb:n #1 - { \@@_backend_select:n { rgb ~ #1 } } % \end{macrocode} % \end{macro} % \end{macro} @@ -1241,6 +1250,7 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % % \begin{macro}{\@@_backend_cm:nnnn} % The four arguments here are floats (the affine matrix), the last diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx index 305d1759a12..ae3eb47111d 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-06-18} +% \date{Released 2020-06-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx index a66cb0f1456..e2336f5f34f 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-06-18} +% \date{Released 2020-06-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx index e10ad17e8f6..13926e07797 100644 --- a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx +++ b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-06-18} +% \date{Released 2020-06-23} % % \maketitle % -- cgit v1.2.3