diff options
Diffstat (limited to 'macros/latex/contrib/l3backend/l3backend-color.dtx')
-rw-r--r-- | macros/latex/contrib/l3backend/l3backend-color.dtx | 118 |
1 files changed, 42 insertions, 76 deletions
diff --git a/macros/latex/contrib/l3backend/l3backend-color.dtx b/macros/latex/contrib/l3backend/l3backend-color.dtx index 2b3e4d3708..2c0dd47ea1 100644 --- a/macros/latex/contrib/l3backend/l3backend-color.dtx +++ b/macros/latex/contrib/l3backend/l3backend-color.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2020-06-03} +% \date{Released 2020-06-18} % % \maketitle % @@ -78,7 +78,8 @@ % \begin{macro}{\@@_backend_pickup:w} % Allow for \LaTeXe{} color. Here, the possible input values are limited: % \texttt{dvips}-style colors can mainly be taken as-is with the exception -% spot ones (here we need a model and a tint). +% spot ones (here we need a model and a tint). The \texttt{x}-type expansion +% is there to cover the case where \pkg{xcolor} is in use. % \begin{macrocode} %<*package> \cs_new_protected:Npn \@@_backend_pickup:N #1 { } @@ -92,8 +93,8 @@ { \tl_set:Nx #1 { - spot ~ - \exp_after:wN \use:n \current@color \c_space_tl 1 + { spot } + { \exp_after:wN \use:n \current@color \c_space_tl 1 } } } { @@ -102,7 +103,7 @@ } } \cs_new_protected:Npn \@@_backend_pickup:w #1 ~ #2 \s_@@_stop #3 - { \tl_set:Nn #3 { #1 ~ #2 } } + { \tl_set:Nn #3 { {#1} {#2} } } } } %</package> @@ -110,34 +111,27 @@ % \end{macro} % \end{macro} % -% \begin{macro}{\@@_backend_cmyk:w} -% \begin{macro}{\@@_backend_gray:w} -% \begin{macro}{\@@_backend_rgb:w} -% \begin{macro}{\@@_backend_spot:w} -% \begin{macro}{\@@_backend_select:n, \@@_backend_select:x} +% \begin{macro} +% { +% \@@_backend_cmyk:n , +% \@@_backend_gray:n , +% \@@_backend_rgb:n , +% \@@_backend_spot:n , +% \@@_backend_select:n +% } % \begin{macro}{\@@_backend_reset:} % \begin{macro}{color.fc} % Push the data to the stack. In the case of \texttt{dvips} also reset the % drawing fill color in raw PostScript. % \begin{macrocode} -\cs_new_protected:Npn \@@_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop - { - \@@_backend_select:x - { - cmyk~ - \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ - \fp_eval:n {#3} ~ \fp_eval:n {#4} - } - } -\cs_new_protected:Npn \@@_backend_gray:w #1 \s_@@_stop - { \@@_backend_select:x { gray~ \fp_eval:n {#1} } } -\cs_new_protected:Npn \@@_backend_rgb:w #1 ~ #2 ~ #3 \s_@@_stop - { - \@@_backend_select:x - { rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} } - } -\cs_new_protected:Npn \@@_backend_spot:w #1 ~ #2 \s_@@_stop - { \@@_backend_select:n { #1 } } +\cs_new_protected:Npn \@@_backend_cmyk:n #1 + { \@@_backend_select:n { cmyk ~ #1 } } +\cs_new_protected:Npn \@@_backend_gray:n #1 + { \@@_backend_select:n { gray ~ #1 } } +\cs_new_protected:Npn \@@_backend_rgb:n #1 + { \@@_backend_select:n { rgb ~ #1 } } +\cs_new_protected:Npn \@@_backend_spot:n #1 + { \@@_backend_select:n {#1} } \cs_new_protected:Npn \@@_backend_select:n #1 { \__kernel_backend_literal:n { color~push~ #1 } @@ -146,17 +140,12 @@ %</dvips> \group_insert_after:N \@@_backend_reset: } -\cs_generate_variant:Nn \@@_backend_select:n { x } \cs_new_protected:Npn \@@_backend_reset: { \__kernel_backend_literal:n { color~pop } } % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % % \begin{macrocode} %</dvisvgm|dvipdfmx|dvips|xdvipdfmx> @@ -192,20 +181,20 @@ #1 ~ #2 ~ #3 ~ #4 ~ #5 ~ #6 \s_@@_stop #7 { \str_if_eq:nnTF {#2} { g } - { \tl_set:Nn #7 { gray ~ #1 } } + { \tl_set:Nn #7 { { gray } {#1} } } { \str_if_eq:nnTF {#4} { rg } - { \tl_set:Nn #7 { rgb ~ #1 ~ #2 ~ #3 } } + { \tl_set:Nn #7 { { rgb } { #1 ~ #2 ~ #3 } } } { \str_if_eq:nnTF {#5} { k } - { \tl_set:Nn #7 { cmyk ~ #1 ~ #2 ~ #3 ~ #4 } } + { \tl_set:Nn #7 { { cmyk } { #1 ~ #2 ~ #3 ~ #4 } } } { \str_if_eq:nnTF {#2} { cs } { - \tl_set:Nx #7 { spot ~ \use_none:n #1 ~ #5 } + \tl_set:Nx #7 { { spot } { \use_none:n #1 ~ #5 } } } { - \tl_set:Nn #7 { gray ~ 0 } + \tl_set:Nn #7 { { gray } { 0 } } } } } @@ -226,48 +215,28 @@ % \end{macrocode} % \end{variable} % -% \begin{macro}{\@@_backend_cmyk:w, \@@_backend_cmyk:nnnn} -% \begin{macro}{\@@_backend_gray:w, \@@_backend_gray:n} -% \begin{macro}{\@@_backend_rgb:w, \@@_backend_rgb:nnn} +% \begin{macro} +% { +% \@@_backend_cmyk:n , +% \@@_backend_gray:n , +% \@@_backend_rgb:n , +% \@@_backend_spot:n +% } % \begin{macro}{\@@_backend_spot:w} -% \begin{macro}{\@@_backend_select:n, \@@_backend_select:x} +% \begin{macro}{\@@_backend_select:n} % \begin{macro}{\@@_backend_reset:} % Simply dump the data, but allowing for \LuaTeX{}. % \begin{macrocode} -\cs_new_protected:Npn \@@_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop - { - \use:x - { - \@@_backend_cmyk:nnnn - { \fp_eval:n {#1} } - { \fp_eval:n {#2} } - { \fp_eval:n {#3} } - { \fp_eval:n {#4} } - } - } -\cs_new_protected:Npn \@@_backend_cmyk:nnnn #1#2#3#4 - { - \@@_backend_select:n - { #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K } - } -\cs_new_protected:Npn \@@_backend_gray:w #1 \s_@@_stop - { \exp_args:Nx \@@_backend_gray:n { \fp_eval:n {#1} } } +\cs_new_protected:Npn \@@_backend_cmyk:n #1 + { \@@_backend_select:n { #1 ~ k ~ #1 ~ K } } \cs_new_protected:Npn \@@_backend_gray:n #1 { \@@_backend_select:n { #1 ~ g ~ #1 ~ G } } -\cs_new_protected:Npn \@@_backend_rgb:w #1~ #2 ~ #3 \s_@@_stop - { - \use:x - { - \@@_backend_rgb:nnn - { \fp_eval:n {#1} } - { \fp_eval:n {#2} } - { \fp_eval:n {#3} } - } - } -\cs_new_protected:Npn \@@_backend_rgb:nnn #1#2#3 - { \@@_backend_select:n { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG } } +\cs_new_protected:Npn \@@_backend_rgb:n #1 + { \@@_backend_select:n { #1 ~ rg ~ #1 ~ RG } } +\cs_new_protected:Npn \@@_backend_spot:n #1 + { \@@_backend_spot:w #1 \s_@@_stop } \cs_new_protected:Npn \@@_backend_spot:w #1 ~ #2 \s_@@_stop - { \@@_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ sc ~ #2 ~ SC } } + { \@@_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ scn ~ #2 ~ SCN } } \cs_new_protected:Npx \@@_backend_select:n #1 { \cs_if_exist:NTF \tex_pdfextension:D @@ -276,7 +245,6 @@ \exp_not:N \l__kernel_color_stack_int push {#1} \group_insert_after:N \exp_not:N \@@_backend_reset: } -\cs_generate_variant:Nn \@@_backend_select:n { x } \cs_new_protected:Npx \@@_backend_reset: { \cs_if_exist:NTF \tex_pdfextension:D @@ -289,8 +257,6 @@ % \end{macro} % \end{macro} % \end{macro} -% \end{macro} -% \end{macro} % % \begin{macrocode} %</pdfmode> |