summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty')
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty46
1 files changed, 26 insertions, 20 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
index c6be03b0ae4..1285abf7ae1 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
@@ -20,9 +20,9 @@
%%
%% File: l3color.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3color}{2019-05-03}{}
+\ProvidesExplPackage{l3color}{2019-05-28}{}
{L3 Experimental color support}
-\tl_new:N \l__color_tmp_tl
+\tl_new:N \l__color_internal_tl
\prg_new_conditional:Npnn \__color_if_defined:n #1 { T, F, TF }
{
\tl_if_exist:cTF { l__color_named_ #1 _tl }
@@ -88,15 +88,7 @@
{
\driver_color_pickup:N \l__color_current_tl
\tl_set_eq:cN { l__color_named_ . _tl } \l__color_current_tl
- \group_begin:
- \seq_map_inline:Nn \l_char_active_seq
- {
- \tl_set:Nx \l__color_tmp_tl { \cs_to_str:N ##1 }
- \char_set_active_eq:NN ##1 \l__color_tmp_tl
- }
- \tl_set:Nx \l__color_tmp_tl {#1}
- \exp_args:NNV \group_end:
- \__color_parse:nN \l__color_tmp_tl #2
+ \exp_args:Ne \__color_parse:nN { \tl_to_str:n {#1} } #2
}
\cs_new_protected:Npn \__color_parse:nN #1#2
{
@@ -123,10 +115,10 @@
\group_begin:
\__color_extract:nNN {#2} \l__color_model_tl \l__color_value_tl
\__color_parse_loop:w #3 ! ! ! ! \q_stop
- \tl_set:Nx \l__color_tmp_tl
+ \tl_set:Nx \l__color_internal_tl
{ \l__color_model_tl \c_space_tl \l__color_value_tl }
\exp_args:NNNV \group_end:
- \tl_set:Nn #1 \l__color_tmp_tl
+ \tl_set:Nn #1 \l__color_internal_tl
}
\cs_new_protected:Npn \__color_parse_loop:w #1 ! #2 ! #3 ! #4 ! #5 \q_stop
{
@@ -222,14 +214,28 @@
\fp_eval:n { #4 * #1 + #8 * ( 1 - #1 ) } \c_space_tl
\fp_eval:n { #5 * #1 + #9 * ( 1 - #1 ) }
}
-\cs_new:Npn \__color_parse_gray:w #1 , #2 \q_stop {#1}
-\cs_new:Npn \__color_parse_rgb:w #1 , #2 , #3 , #4 \q_stop { #1 ~ #2 ~ #3 }
-\cs_new:Npn \__color_parse_cmyk:w #1 , #2 , #3 , #4 , #5 \q_stop
- { #1 ~ #2 ~ #3 ~ #4 }
-\cs_new:Npn \__color_parse_spot:w #1 , #2 \q_stop
+\cs_new:Npn \__color_parse_model_gray:w #1 , #2 \q_stop { \__color_parse_number:n {#1} }
+\cs_new:Npn \__color_parse_model_rgb:w #1 , #2 , #3 , #4 \q_stop
+ {
+ \__color_parse_number:n {#1} ~
+ \__color_parse_number:n {#2} ~
+ \__color_parse_number:n {#3}
+ }
+\cs_new:Npn \__color_parse_model_cmyk:w #1 , #2 , #3 , #4 , #5 \q_stop
+ {
+ \__color_parse_number:n {#1} ~
+ \__color_parse_number:n {#2} ~
+ \__color_parse_number:n {#3} ~
+ \__color_parse_number:n {#4}
+ }
+\cs_new:Npn \__color_parse_model_spot:w #1 , #2 \q_stop
{ \__color_parse_spot_aux:w #1 ! 100 ! \q_stop }
\cs_new:Npn \__color_parse_spot_aux:w #1 ! #2 ! #3 \q_stop
{ #1 ~ \fp_eval:n { #2 / 100 } }
+\cs_new:Npn \__color_parse_number:n #1
+ { \__color_parse_number:w #1 . 0 . \q_stop }
+\cs_new:Npn \__color_parse_number:w #1 . #2 . #3 \q_stop
+ { \tl_if_blank:nTF {#1} { 0 } {#1} . #2 }
\tl_new:N \l_color_fixed_model_tl
\cs_new_protected:Npn \__color_check_model:N #1
{
@@ -267,10 +273,10 @@
}
\cs_new_protected:Npn \__color_direct:nnN #1#2#3
{
- \cs_if_exist:cTF { __color_parse_ #1 :w }
+ \cs_if_exist:cTF { __color_parse_model_ #1 :w }
{
\tl_set:Nx #3
- { #1 ~ \use:c { __color_parse_ #1 :w } #2 , 0 , 0 , 0 , 0 \q_stop }
+ { #1 ~ \use:c { __color_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \q_stop }
\__color_check_model:N #3
}
{