diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty | 73 |
1 files changed, 37 insertions, 36 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty index 2b56c1dfd57..d7829a472ac 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty @@ -20,9 +20,10 @@ %% %% File: l3color.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3color}{2020-01-12}{} +\ProvidesExplPackage{l3color}{2020-05-18}{} {L3 Experimental color support} \tl_new:N \l__color_internal_tl +\scan_new:N \s__color_mark \prg_new_conditional:Npnn \__color_if_defined:n #1 { T, F, TF } { \tl_if_exist:cTF { l__color_named_ #1 _tl } @@ -35,10 +36,10 @@ \__color_extract:NNw \exp_after:wN \exp_after:wN \exp_after:wN #2 \exp_after:wN \exp_after:wN \exp_after:wN #3 - \cs:w l__color_named_ #1 _tl \cs_end: \q_stop + \cs:w l__color_named_ #1 _tl \cs_end: \s__color_stop } \cs_generate_variant:Nn \__color_extract:nNN { V } -\cs_new_protected:Npn \__color_extract:NNw #1#2 #3 ~ #4 \q_stop +\cs_new_protected:Npn \__color_extract:NNw #1#2 #3 ~ #4 \s__color_stop { \tl_set:Nn #1 {#3} \tl_set:Nn #2 {#4} @@ -51,16 +52,16 @@ \str_if_eq:nnT {#1} { spot } % TO DO!!! { } \tl_set:Nx #4 - { \use:c { __color_convert_ #1 _ #2 :w } #3 ~ 0 ~ 0 ~ 0 \q_stop } + { \use:c { __color_convert_ #1 _ #2 :w } #3 ~ 0 ~ 0 ~ 0 \s__color_stop } } \cs_generate_variant:Nn \__color_convert:nnnN { nnV } -\cs_new:Npn \__color_convert_gray_rgb:w #1 ~ #2 \q_stop +\cs_new:Npn \__color_convert_gray_rgb:w #1 ~ #2 \s__color_stop { #1 ~ #1 ~ #1 } -\cs_new:Npn \__color_convert_gray_cmyk:w #1 ~ #2 \q_stop +\cs_new:Npn \__color_convert_gray_cmyk:w #1 ~ #2 \s__color_stop { 0 ~ 0 ~ 0 ~ \fp_eval:n { 1 - #1 } } -\cs_new:Npn \__color_convert_rgb_gray:w #1 ~ #2 ~ #3 ~ #4 \q_stop +\cs_new:Npn \__color_convert_rgb_gray:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop { \fp_eval:n { 0.3 * #1 + 0.59 * #2 + 0.11 * #3 } } -\cs_new:Npn \__color_convert_rgb_cmyk:w #1 ~ #2 ~ #3 ~ #4 \q_stop +\cs_new:Npn \__color_convert_rgb_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop { \exp_args:Nf \__color_convert_rgb_cmyk:nnnn { \fp_eval:n { min ( 1 - #1 , 1 - #2 , 1 - #3 ) } } {#1} {#2} {#3} @@ -72,9 +73,9 @@ \fp_eval:n { min ( 1 , max ( 0 , 1 - #4 - #1 ) ) } \c_space_tl #1 } -\cs_new:Npn \__color_convert_cmyk_gray:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \q_stop +\cs_new:Npn \__color_convert_cmyk_gray:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \s__color_stop { \fp_eval:n { 1 - min ( 1 , 0.3 * #1 + 0.59 * #2 + 0.11 * #3 + #4 ) } } -\cs_new:Npn \__color_convert_cmyk_rgb:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \q_stop +\cs_new:Npn \__color_convert_cmyk_rgb:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \s__color_stop { \fp_eval:n { 1 - min ( 1 , #1 + #4 ) } \c_space_tl \fp_eval:n { 1 - min ( 1 , #2 + #4 ) } \c_space_tl @@ -94,10 +95,10 @@ { \tl_if_exist:cTF { l__color_named_ #1 _tl } { \tl_set_eq:Nc #2 { l__color_named_ #1 _tl } } - { \__color_parse:Nw #2#1 ! \q_stop } + { \__color_parse:Nw #2#1 ! \s__color_stop } \__color_check_model:N #2 } -\cs_new_protected:Npn \__color_parse:Nw #1#2 ! #3 \q_stop +\cs_new_protected:Npn \__color_parse:Nw #1#2 ! #3 \s__color_stop { \__color_if_defined:nTF {#2} { @@ -114,13 +115,13 @@ { \group_begin: \__color_extract:nNN {#2} \l__color_model_tl \l__color_value_tl - \__color_parse_loop:w #3 ! ! ! ! \q_stop + \__color_parse_loop:w #3 ! ! ! ! \s__color_stop \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_internal_tl } -\cs_new_protected:Npn \__color_parse_loop:w #1 ! #2 ! #3 ! #4 ! #5 \q_stop +\cs_new_protected:Npn \__color_parse_loop:w #1 ! #2 ! #3 ! #4 ! #5 \s__color_stop { \bool_lazy_or:nnF { \tl_if_blank_p:n {#1} } @@ -142,7 +143,7 @@ } } \tl_if_blank:nF {#3} - { \__color_parse_loop:w #3 ! #4 ! #5 \q_stop } + { \__color_parse_loop:w #3 ! #4 ! #5 \s__color_stop } \__color_parse_end: } \cs_new_protected:Npn \__color_parse_loop:nn #1#2 @@ -195,53 +196,53 @@ \cs_new:Npn \__color_parse_mix:nNnn #1#2#3#4 { \use:c { __color_parse_mix_ #2 :nw } {#1} - #3 \q_mark #4 \q_stop + #3 \s__color_mark #4 \s__color_stop } -\cs_new:Npn \__color_parse_mix_gray:nw #1#2 \q_mark #3 \q_stop +\cs_new:Npn \__color_parse_mix_gray:nw #1#2 \s__color_mark #3 \s__color_stop { \fp_eval:n { #2 * #1 + #3 * ( 1 - #1 ) } } \cs_new:Npn \__color_parse_mix_rgb:nw - #1#2 ~ #3 ~ #4 \q_mark #5 ~ #6 ~ #7 \q_stop + #1#2 ~ #3 ~ #4 \s__color_mark #5 ~ #6 ~ #7 \s__color_stop { \fp_eval:n { #2 * #1 + #5 * ( 1 - #1 ) } \c_space_tl \fp_eval:n { #3 * #1 + #6 * ( 1 - #1 ) } \c_space_tl \fp_eval:n { #4 * #1 + #7 * ( 1 - #1 ) } } \cs_new:Npn \__color_parse_mix_cmyk:nw - #1#2 ~ #3 ~ #4 ~ #5 \q_mark #6 ~ #7 ~ #8 ~ #9 \q_stop + #1#2 ~ #3 ~ #4 ~ #5 \s__color_mark #6 ~ #7 ~ #8 ~ #9 \s__color_stop { \fp_eval:n { #2 * #1 + #6 * ( 1 - #1 ) } \c_space_tl \fp_eval:n { #3 * #1 + #7 * ( 1 - #1 ) } \c_space_tl \fp_eval:n { #4 * #1 + #8 * ( 1 - #1 ) } \c_space_tl \fp_eval:n { #5 * #1 + #9 * ( 1 - #1 ) } } -\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 +\cs_new:Npn \__color_parse_model_gray:w #1 , #2 \s__color_stop { \__color_parse_number:n {#1} } +\cs_new:Npn \__color_parse_model_rgb:w #1 , #2 , #3 , #4 \s__color_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 +\cs_new:Npn \__color_parse_model_cmyk:w #1 , #2 , #3 , #4 , #5 \s__color_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 +\cs_new:Npn \__color_parse_model_spot:w #1 , #2 \s__color_stop + { \__color_parse_spot_aux:w #1 ! 100 ! \s__color_stop } +\cs_new:Npn \__color_parse_spot_aux:w #1 ! #2 ! #3 \s__color_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 + { \__color_parse_number:w #1 . 0 . \s__color_stop } +\cs_new:Npn \__color_parse_number:w #1 . #2 . #3 \s__color_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 { \tl_if_empty:NF \l_color_fixed_model_tl { - \exp_after:wN \__color_check_model:w #1 \q_stop + \exp_after:wN \__color_check_model:w #1 \s__color_stop \tl_if_eq:NNF \l__color_model_tl \l_color_fixed_model_tl { \__color_convert:VVN \l__color_model_tl \l_color_fixed_model_tl @@ -251,7 +252,7 @@ { \l_color_fixed_model_tl \c_space_tl \l__color_value_tl } } } -\cs_new_protected:Npn \__color_check_model:w #1 ~ #2 \q_stop +\cs_new_protected:Npn \__color_check_model:w #1 ~ #2 \s__color_stop { \tl_set:Nn \l__color_model_tl {#1} \tl_set:Nn \l__color_value_tl {#2} @@ -276,7 +277,7 @@ \cs_if_exist:cTF { __color_parse_model_ #1 :w } { \tl_set:Nx #3 - { #1 ~ \use:c { __color_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \q_stop } + { #1 ~ \use:c { __color_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \s__color_stop } \__color_check_model:N #3 } { @@ -331,21 +332,21 @@ {#1} { \__color_if_defined:nTF {#1} - { \exp_last_unbraced:Nv \__color_show:w { l__color_named_ #1 _tl } \q_stop } + { \exp_last_unbraced:Nv \__color_show:w { l__color_named_ #1 _tl } \s__color_stop } { } } { } { } } -\cs_new:Npn \__color_show:w #1 ~ #2 \q_stop +\cs_new:Npn \__color_show:w #1 ~ #2 \s__color_stop { \msg_show_item_unbraced:nn { model } {#1} \exp_args:Nnf \msg_show_item_unbraced:nn { value } - { \use:c { __color_show_ #1 :w } #2 \q_stop } + { \use:c { __color_show_ #1 :w } #2 \s__color_stop } } -\cs_new:Npn \__color_show_gray:w #1 \q_stop { #1 } -\cs_new:Npn \__color_show_rgb:w #1 ~ #2 ~ #3 \q_stop { #1 ,~ #2 ,~ #3 } -\cs_new:Npn \__color_show_cmyk:w #1 ~ #2 ~ #3 ~ #4 \q_stop { #1 ,~ #2 ,~ #3 ,~ #4 } +\cs_new:Npn \__color_show_gray:w #1 \s__color_stop { #1 } +\cs_new:Npn \__color_show_rgb:w #1 ~ #2 ~ #3 \s__color_stop { #1 ,~ #2 ,~ #3 } +\cs_new:Npn \__color_show_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop { #1 ,~ #2 ,~ #3 ,~ #4 } \__kernel_msg_new:nnnn { color } { invalid-model } { Invalid~color~model~'#1'. } { |