summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3backend/l3backend-color.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/l3backend/l3backend-color.dtx')
-rw-r--r--macros/latex/contrib/l3backend/l3backend-color.dtx118
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>