diff options
author | Karl Berry <karl@freefriends.org> | 2022-08-23 20:22:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-08-23 20:22:01 +0000 |
commit | 62e619401727918687f8b03611ed1d6fbd6c3263 (patch) | |
tree | 558ad8fa09ac83b171bc939330510c4ff93e94cf /Master/texmf-dist | |
parent | 19134724fc15820a593c71186e4e4541b6abc034 (diff) |
l3kernel (23aug22)
git-svn-id: svn://tug.org/texlive/trunk@64177 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
89 files changed, 401 insertions, 139 deletions
diff --git a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md index abd4e5fe872..d747679ef0e 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md @@ -7,6 +7,21 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2022-08-23] + +### Added +- Shortened range of chars which are left unchanged when converted to + strings with `\str_(g)set_convert:Nnnn`. +- `\color_if_exist:n(TF)` +- Support for case changing Vietnamese characters with 8-bit engines +- Parsing of `cmy`, `tHsb` and `&spot` color models to support data exchange with + `xcolor` + +### Changed +- Replace `LaTeX3` in message text by `LaTeX` + +### Changed +- Approach to setting current color data from LaTeX2e ## [2022-08-05] ### Added @@ -1173,7 +1188,8 @@ this project uses date-based 'snapshot' version identifiers. - Step functions have been added for dim variables, e.g. `\dim_step_inline:nnnn` -[Unreleased]: https://github.com/latex3/latex3/compare/2022-08-05...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2022-08-23...HEAD +[2022-08-23]: https://github.com/latex3/latex3/compare/2022-08-05...2022-08-23 [2022-08-05]: https://github.com/latex3/latex3/compare/2022-07-15...2022-08-05 [2022-07-15]: https://github.com/latex3/latex3/compare/2022-07-14...2022-07-15 [2022-07-14]: https://github.com/latex3/latex3/compare/2022-07-04...2022-07-14 diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md index 0c5c550f2a8..f25e9207e6d 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/README.md +++ b/Master/texmf-dist/doc/latex/l3kernel/README.md @@ -1,7 +1,7 @@ LaTeX3 Programming Conventions ============================== -Release 2022-08-05 +Release 2022-08-23 Overview -------- diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf Binary files differindex 55b417e1d40..c86280538e4 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf Binary files differindex 5a960b9964d..c16be2ce98f 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex index 00c15208e1d..528adb8e9d4 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex @@ -54,7 +54,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2022-08-05} +\date{Released 2022-08-23} \pagenumbering{roman} \maketitle diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf Binary files differindex 7a13aed860a..ed15603bb86 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf Binary files differindex e0d451932e5..e95341e2c85 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf Binary files differindex 632f8211549..ff974735f18 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf Binary files differindex 118f018c573..d6af6a94e5e 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf Binary files differindex 565b3058c53..3b9fb3e2333 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf Binary files differindex eefd55ce6b1..1ed36a25863 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf Binary files differindex f1b4fdd1634..3f38bc64e1d 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf Binary files differindex 30f9918fbc2..27f25062b41 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf Binary files differindex 228a4c43469..1522296e77d 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf Binary files differindex 0c036bb49d2..1d7e8d46db7 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf Binary files differindex c293ea58a36..9817c2739e7 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf Binary files differindex 6ebf4d90a50..728d25b06b0 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf Binary files differindex c4e1042f41b..07e6da0ac57 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf Binary files differindex 146820f5296..241f98de949 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf Binary files differindex 9d4811c54d8..8b8859834ad 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf Binary files differindex 8bd5db2c049..bc82e9425ad 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf Binary files differindex ad6b0b5143f..f198f8d2254 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex index fdce2727785..81cc5e13473 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2022-08-05} +\date{Released 2022-08-23} \begin{document} diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf Binary files differindex 2bab90a411e..eed70fbe059 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex index 24770ec0a25..4afd7aac057 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2022-08-05} +\date{Released 2022-08-23} \newcommand{\TF}{\textit{(TF)}} diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf Binary files differindex b7ebcec6f22..8fb11d26d25 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex index 9a875c04ae7..e45a40cd7b6 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex @@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN. {latex-team@latex-project.org}% }% } -\date{Released 2022-08-05} +\date{Released 2022-08-23} \newcommand{\TF}{\textit{(TF)}} diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf Binary files differindex 1e8781ca751..3d3159d3966 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.tex b/Master/texmf-dist/doc/latex/l3kernel/source3.tex index 8340ef3659c..587253a1e3a 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/source3.tex +++ b/Master/texmf-dist/doc/latex/l3kernel/source3.tex @@ -53,7 +53,7 @@ for those people who are interested. {latex-team@latex-project.org}% }% } -\date{Released 2022-08-05} +\date{Released 2022-08-23} \pagenumbering{roman} \maketitle diff --git a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx index 48808d9f499..63f43014382 100644 --- a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx @@ -24,7 +24,7 @@ % %<*driver|generic|package|2ekernel> %</driver|generic|package|2ekernel> -\def\ExplFileDate{2022-08-05}% +\def\ExplFileDate{2022-08-23}% %<*driver> \documentclass[full]{l3doc} \usepackage{graphicx} @@ -51,7 +51,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx index 3eb9a3f43be..69a59f065be 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx index 852f654cef4..43a666d3ce8 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx index 502185ed650..67767992eef 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx index b01f9169cd1..155d51bc0e9 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx b/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx index f108418c024..fac045495c4 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % @@ -908,7 +908,7 @@ you~tried~to~interleave~them.~LaTeX~will~try~to~proceed,~ but~results~may~be~unexpected. } -\prop_gput:Nnn \g_msg_module_name_prop { cctab } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { cctab } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { cctab } { } % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx index 2d880e57222..34e78c62a35 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx index fe2ce11f3e8..7d822312ebf 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3color.dtx b/Master/texmf-dist/source/latex/l3kernel/l3color.dtx index 8fc7268cdb7..33b28721edf 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3color.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3color.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % @@ -95,6 +95,7 @@ % \item \texttt{cmyk} Cyan-magenta-yellow-black color, with four axes, one for % each of the components % \end{itemize} +% % There are also interface models: these are convenient for users but have % to be manipulated before storing/passing to the backend. Interface models % are primarily integer-based: see below for more detail. The supported @@ -118,6 +119,20 @@ % \end{itemize} % All interface models are internally stored as |rgb|. % +% Finally, there are a small number of models which are parsed to allow +% data transfer from \pkg{xcolor} but which should not be used by end-users. +% These are +% \begin{itemize} +% \item \texttt{cmy} Cyan-magenta-yellow color with three axes, one for +% each of the components; converted to |cmyk| +% \item \texttt{tHsb} \enquote{Tuned} hue-saturation-brightness color with three +% axes, integer in the range $[0,360]$ for hue, real values in the range +% $[0,1]$ for saturation and brightness; converted to |rgb| using the +% standard tuning map defined by \pkg{xcolor} +% \item \texttt{\&spot} Spot color tint with one value; treated as a gray +% tint as spot color data is not available for extraction +% \end{itemize} +% % To allow parsing of data from \pkg{xcolor}, any leading model up the first % \texttt{:} will be discarded; the approach of selecting an internal form % for data is \emph{not} used in \pkg{l3color}. @@ -235,6 +250,15 @@ % it to be saved to a name. % \end{function} % +% \begin{function}[EXP, pTF, added = 2022-08-12]{\color_if_exist:n} +% \begin{syntax} +% \cs{color_if_exist:n} \Arg{name} +% \cs{color_if_exist:n} \Arg{name} \Arg{true code} \Arg{false code} +% \end{syntax} +% Tests whether \meta{name} is currently defined to provide a color +% specification. +% \end{function} +% % \begin{function}[added = 2021-05-11]{\color_show:n, \color_log:n} % \begin{syntax} % \cs{color_show:n} \Arg{name} @@ -545,10 +569,7 @@ % current color \enquote{now}. % \begin{macrocode} \cs_new_protected:Npn \color_ensure_current: - { - \@@_backend_pickup:N \l_@@_current_tl - \@@_select:N \l_@@_current_tl - } + { \@@_select:N \l_@@_current_tl } % \end{macrocode} % \end{macro} % @@ -625,12 +646,12 @@ % % \subsection{Utility functions} % -% \begin{macro}[TF, EXP]{\@@_if_defined:n} +% \begin{macro}[pTF, EXP]{\color_if_exist:n} % A simple wrapper to avoid needing to have the lookup repeated in too many % places.To guard against a color created in a group, we need to test for % entries in the |prop|. % \begin{macrocode} -\prg_new_conditional:Npnn \@@_if_defined:n #1 { T, F, TF } +\prg_new_conditional:Npnn \color_if_exist:n #1 { p , T, F, TF } { \prop_if_exist:cTF { l_@@_named_ #1 _prop } { @@ -679,6 +700,7 @@ % \@@_convert_rgb_rgb:w % \@@_convert_rgb_cmyk:w % } +% \begin{macro}[EXP]{\@@_convert_rgb_cmyk:nnn} % \begin{macro}[EXP]{\@@_convert_rgb_cmyk:nnnn} % Model conversion is carried out using standard formulae for base models, % as described in the manual for \pkg{xcolor} (see also the \emph{PostScript @@ -742,18 +764,28 @@ % removal} functions. The PostScript reference describes them as % device-dependent, but following \pkg{xcolor} we assume they are linear. % Moreover, as the likelihood of anyone using a non-unitary matrix here is -% tiny, we simplify and treat those two concepts as no-ops. +% tiny, we simplify and treat those two concepts as no-ops. To allow code +% sharing with parsing of |cmy| values, we have an intermediate function +% here (\cs{@@_convert_rgb_cmyk:nnn}) which actually takes |cmy| values +% as input. % \begin{macrocode} \cs_new:Npn \@@_convert_rgb_cmyk:w #1 ~ #2 ~ #3 \s_@@_stop { - \exp_args:Nf \@@_convert_rgb_cmyk:nnnn - { \fp_eval:n { min ( 1 - #1 , 1 - #2 , 1 - #3 ) } } {#1} {#2} {#3} + \exp_args:Neee \@@_convert_rgb_cmyk:nnn + { \fp_eval:n { 1 - #1 } } + { \fp_eval:n { 1 - #2 } } + { \fp_eval:n { 1 - #3 } } + } +\cs_new:Npn \@@_convert_rgb_cmyk:nnn #1#2#3 + { + \exp_args:Ne \@@_convert_rgb_cmyk:nnnn + { \fp_eval:n { min( #1, #2 , #3 ) } } {#1} {#2} {#3} } \cs_new:Npn \@@_convert_rgb_cmyk:nnnn #1#2#3#4 { - \fp_eval:n { min ( 1 , max ( 0 , 1 - #2 - #1 ) ) } \c_space_tl - \fp_eval:n { min ( 1 , max ( 0 , 1 - #3 - #1 ) ) } \c_space_tl - \fp_eval:n { min ( 1 , max ( 0 , 1 - #4 - #1 ) ) } \c_space_tl + \fp_eval:n { min ( 1 , max ( 0 , #2 - #1 ) ) } \c_space_tl + \fp_eval:n { min ( 1 , max ( 0 , #3 - #1 ) ) } \c_space_tl + \fp_eval:n { min ( 1 , max ( 0 , #4 - #1 ) ) } \c_space_tl #1 } \cs_new:Npn \@@_convert_cmyk_gray:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop @@ -771,6 +803,7 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % % \subsection{Color expressions} % @@ -811,7 +844,6 @@ % \begin{macrocode} \cs_new_protected:Npx \@@_parse:nN #1#2 { - \exp_not:N \@@_backend_pickup:N \exp_not:N \l_@@_current_tl \tl_set:Nx \exp_not:c { l_@@_named_ . _tl } { \exp_not:N \@@_model:N \exp_not:N \l_@@_current_tl } \prop_put:NVx \exp_not:c { l_@@_named_ . _prop } @@ -827,7 +859,7 @@ % \begin{macrocode} \cs_new_protected:Npn \@@_parse_aux:nN #1#2 { - \@@_if_defined:nTF {#1} + \color_if_exist:nTF {#1} { \@@_parse_set_eq:Nn #2 {#1} } { \@@_parse:Nw #2#1 ! \s_@@_stop } \@@_check_model:N #2 @@ -865,7 +897,7 @@ } \cs_new_protected:Npn \@@_parse:Nw #1#2 ! #3 \s_@@_stop { - \@@_if_defined:nTF {#2} + \color_if_exist:nTF {#2} { \tl_if_blank:nTF {#3} { \@@_parse_set_eq:Nn #1 {#2} } @@ -938,7 +970,7 @@ % \begin{macrocode} \cs_new_protected:Npn \@@_parse_loop:nn #1#2 { - \@@_if_defined:nTF {#2} + \color_if_exist:nTF {#2} { \@@_extract:nNN {#2} \l_@@_next_model_tl \l_@@_next_value_tl \tl_if_eq:NNF \l_@@_model_tl \l_@@_next_model_tl @@ -1255,6 +1287,70 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\@@_parse_model_cmy:w} +% Simply pass data to the conversion functions. +% \begin{macrocode} +\cs_new:Npn \@@_parse_model_cmy:w #1 , #2 , #3 , #4 \s_@@_stop + { + { cmyk } + { \@@_convert_rgb_cmyk:nnn {#1} {#2} {#3} } + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@@_parse_model_tHsb:w} +% \begin{macro}{\@@_parse_model_tHsb:n} +% \begin{macro}{\@@_parse_model_tHsb:nw} +% There are three stages to the process here: bring the |tH| argument into +% the normal range, divide through to get to |hsb| and finally convert that +% to |rgb|. The final stage can be delegated to the parsing function for +% |hsb|, and the conversion from |Hsb| to |hsb| is trivial, so the main focus +% here is the first stage. We use a simple expandable loop to do the work, +% and we implement the equation given in the \pkg{xcolor} manual +% (number~85 there) as a simple expression. +% \begin{macrocode} +\cs_new:Npn \@@_parse_model_tHsb:w #1 , #2 , #3 , #4 \s_@@_stop + { + \exp_args:Ne \@@_parse_model_hsb:nnn + { \@@_parse_model_tHsb:n {#1} } {#2} {#3} + } +\cs_new:Npn \@@_parse_model_tHsb:n #1 + { + \@@_parse_model_tHsb:nw {#1} + 0 , 0 ; + 60 , 30 ; + 120 , 60 ; + 180 , 120 ; + 210 , 180 ; + 240 , 240 ; + 360 , 360 ; + \q_recursion_tail , ; + \q_recursion_stop + } +\cs_new:Npn \@@_parse_model_tHsb:nw #1 #2 , #3 ; #4 , #5 ; + { + \quark_if_recursion_tail_stop_do:nn {#4} { 0 } + \fp_compare:nNnTF {#1} > {#4} + { \@@_parse_model_tHsb:nw {#1} #4 , #5 ; } + { + \use_i_delimit_by_q_recursion_stop:nw + { \fp_eval:n { ((#1 - #2) / (#4 - #2) * (#5 - #3) + #3) / 360 } } + } + } +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@@_parse_model_&spot:w} +% We cannot extract data here from that passed by \pkg{xcolor}, so +% we fall back on a black tint. +% \begin{macrocode} +\cs_new:cpn { @@_parse_model_&spot:w } #1 , #2 \s_@@_stop + { { gray } { #1 } } +% \end{macrocode} +% \end{macro} +% % \subsection{Selecting colors (and color models)} % % \begin{variable}{\l_color_fixed_model_tl} @@ -1738,7 +1834,7 @@ } \cs_new_protected:Npn \color_set_eq:nn #1#2 { - \@@_if_defined:nTF {#2} + \color_if_exist:nTF {#2} { \tl_clear_new:c { l_@@_named_ #1 _tl } \prop_clear_new:c { l_@@_named_ #1 _prop } @@ -2932,7 +3028,7 @@ #1 { color } { show } {#2} { - \@@_if_defined:nT {#2} + \color_if_exist:nT {#2} { \exp_args:Nv \@@_show:n { l_@@_named_ #2 _tl } \prop_map_function:cN @@ -3048,6 +3144,12 @@ \\ \\ key~was~given~with~the~correct~information. } +\msg_new:nnn { color } { unhandled-model } + { + Unhandled~color~model~in~LaTeX2e~value~"#1": + \\ \\ + falling~back~on~grayscale. + } \msg_new:nnnn { color } { unknown-color } { Unknown~color~'#1'. } { @@ -3087,7 +3189,7 @@ LaTeX~has~been~asked~to~create~a~new~color~model~called~'#1',~ but~this~type~of~model~was~never~set~up. } -\prop_gput:Nnn \g_msg_module_name_prop { color } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { color } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { color } { } % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx b/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx index cb12c2bbcca..9fe0518b1f9 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx index 2dc1200e443..4153116c3a3 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx index 4a4ef017e1d..d8b2dc92548 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx @@ -85,7 +85,7 @@ and all files in that bundle must be distributed together. % require you to do updates, if the class changes.}} % % \author{\Team} -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % \maketitle % \tableofcontents % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx index 19b2a724588..bbf456084c1 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx @@ -63,7 +63,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx index b0ab3c1fae0..71b45cc3cab 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx index 7cb1ff9824d..642f77afde6 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx index fd9a9aa6111..af66b619641 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx index 5b311af4d0b..66e5be677de 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % \maketitle % % \begin{documentation} diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx index cbde31ce23e..4b16b7c6fca 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % @@ -1275,7 +1275,7 @@ '\token_to_str:N \fp_to_tl:N',~or~other~ conversion~functions. } -\prop_gput:Nnn \g_msg_module_name_prop { fp } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { fp } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { fp } { } % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx index d787d6ee222..9afe96a0695 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx index c132f4590d8..daa67ea0a13 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx index 1c3279091dd..ed26025368d 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx index 0350ded913b..bc7e1770937 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx index 46964ea3a1b..dbade2f5901 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx index b0797bb794e..efe9a6dfe92 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx index 54da2f30278..4cd51f0f893 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx index 3c13cb4c7f6..1a56d98509b 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx index d613c08e5ce..b566e3d1bb8 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % \maketitle % % \begin{documentation} diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx index f47ae0281b8..a45b7856ff5 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx @@ -40,7 +40,7 @@ % {latex-team@latex-project.org}^^A % }^^A % } -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx index f69fcd6cc9b..8d7c44dd352 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx index a1a071839e0..c41a991af53 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx index 3a7f061d2d2..1a6cb9ba77c 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx index 41a14d591cc..5e49b94d4ef 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx index ac0b7abb131..c26a6f0ccf1 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx index b8f407f3f52..d8313614d12 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % @@ -1456,7 +1456,7 @@ { Misplaced~'='~in~key-value~input~\msg_line_context: } \msg_new:nnn { keyval } { blank-key-name } { Blank~key~name~in~key-value~input~\msg_line_context: } -\prop_gput:Nnn \g_msg_module_name_prop { keyval } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { keyval } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { keyval } { } % \end{macrocode} % @@ -3552,7 +3552,7 @@ { is~undefined. } { has~the~properties: #2 . } } -\prop_gput:Nnn \g_msg_module_name_prop { keys } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { keys } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { keys } { } % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx b/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx index 36303fc3770..dc92bba1b5a 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx index 40d1fd00099..de35da4d948 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % @@ -305,7 +305,7 @@ #2 } -\prop_gput:Nnn \g_msg_module_name_prop { luatex } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { luatex } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { luatex } { } % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx index db98ebf8c40..8c9ac087e8f 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % @@ -148,8 +148,7 @@ % % \begin{variable}[added = 2018-10-10]{\g_msg_module_name_prop} % Provides a mapping between the module name used for messages, and that -% for documentation. For example, \LaTeX{}3 core messages are stored in -% the reserved |LaTeX| tree, but are printed as |LaTeX3|. +% for documentation. % \end{variable} % % \begin{variable}[added = 2018-10-10]{\g_msg_module_type_prop} @@ -1012,7 +1011,6 @@ % in advance. % \begin{macrocode} \prop_new:N \g_msg_module_name_prop -\prop_gput:Nnn \g_msg_module_name_prop { LaTeX } { LaTeX3 } \prop_new:N \g_msg_module_type_prop \prop_gput:Nnn \g_msg_module_type_prop { LaTeX } { } % \end{macrocode} @@ -2039,7 +2037,7 @@ { Backend~request~inconsistent~with~engine:~using~'#2'~backend. } { You~have~requested~backend~'#1',~but~this~is~not~suitable~for~use~with~the~ - active~engine.~LaTeX3~will~use~the~'#2'~backend~instead. + active~engine.~LaTeX~will~use~the~'#2'~backend~instead. } % \end{macrocode} % @@ -2124,7 +2122,7 @@ % \subsection{Message formatting} % % \begin{macrocode} -\prop_gput:Nnn \g_msg_module_name_prop { kernel } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { kernel } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { kernel } { } \clist_map_inline:nn { @@ -2132,12 +2130,12 @@ quark , prg , prop , scanmark , seq , sys } { - \prop_gput:Nnn \g_msg_module_name_prop {#1} { LaTeX3 } + \prop_gput:Nnn \g_msg_module_name_prop {#1} { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop {#1} { } } -\prop_gput:Nnn \g_msg_module_name_prop { LaTeX / cmd } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { LaTeX / cmd } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { LaTeX / cmd } { } -\prop_gput:Nnn \g_msg_module_name_prop { LaTeX / ltcmd } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { LaTeX / ltcmd } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { LaTeX / ltcmd } { } % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx index 485e5fefde5..ce1ec1a49de 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx b/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx index b9292765030..5a28010dde3 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx index 2ed4632e64e..542dec79c80 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx index a5726a0e7bb..11b11e7e18e 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx index 452a2cb7d54..9d39718d8ca 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx index 32e7267129f..049b1d46a47 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % @@ -8036,7 +8036,7 @@ \tl_if_empty:nTF {#1} { variable~ #2 } { {#1} } : #3 } -\prop_gput:Nnn \g_msg_module_name_prop { regex } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { regex } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { regex } { } % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx index fd9a8b3a02c..41202a7949f 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx index 590b6bdf9fa..1c2b4884e4f 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx index 75ced1644a5..88489875ac2 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % @@ -1083,7 +1083,7 @@ \iow_char:N\\sort_return_swapped: ~multiple~times.~ Exactly~one~of~these~should~be~called. } -\prop_gput:Nnn \g_msg_module_name_prop { sort } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { sort } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { sort } { } % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx index 7e9cf89a7ae..7c35f416828 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % @@ -1686,10 +1686,10 @@ } \prg_new_conditional:Npnn \@@_if_escape_string:N #1 { TF } { - \if_int_compare:w `#1 < "21 \exp_stop_f: + \if_int_compare:w `#1 < "27 \exp_stop_f: \prg_return_false: \else: - \if_int_compare:w `#1 > "7E \exp_stop_f: + \if_int_compare:w `#1 > "7A \exp_stop_f: \prg_return_false: \else: \prg_return_true: @@ -1895,7 +1895,7 @@ Unicode~limits~code~points~to~the~range~[0,1114111]. } } -\prop_gput:Nnn \g_msg_module_name_prop { str } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { str } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { str } { } % \end{macrocode} % \end{variable} diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx index 5ad97df2f91..b9ad620959c 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx index 46263e0b2cd..f2fb078a965 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx index ef6751ac93a..765a351667e 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % @@ -1991,6 +1991,8 @@ { 0179 } { 017A } { 017B } { 017C } { 017D } { 017E } + { 01A0 } { 01A1 } + { 01AF } { 01B0 } { 01CD } { 01CE } { 01CF } { 01D0 } { 01D1 } { 01D2 } @@ -2203,7 +2205,7 @@ \@@_tmp:w { 00DF } { Ss } { title } \@@_tmp:w { 0131 } { I } { upper } % \end{macrocode} -% Greek support: the three-octet code points. +% Coverage for Vietnamese (\texttt{T5}) % \begin{macrocode} \cs_set_protected:Npn \@@_tmp:nnnnnn #1#2#3#4#5#6#7 { @@ -2246,6 +2248,57 @@ \@@_tmp:nnnnnn { title } {#5} {#6} {#7} {#1} {#2} {#3} } \@@_loop:nn + { 1EA0 } { 1EA1 } + { 1EA2 } { 1EA3 } + { 1EA4 } { 1EA5 } + { 1EA6 } { 1EA7 } + { 1EA8 } { 1EA9 } + { 1EAA } { 1EAB } + { 1EAC } { 1EAD } + { 1EAE } { 1EAF } + { 1EB0 } { 1EB1 } + { 1EB2 } { 1EB3 } + { 1EB4 } { 1EB5 } + { 1EB6 } { 1EB7 } + { 1EB8 } { 1EB9 } + { 1EBA } { 1EBB } + { 1EBC } { 1EBD } + { 1EBE } { 1EBF } + { 1EC0 } { 1EC1 } + { 1EC2 } { 1EC3 } + { 1EC4 } { 1EC5 } + { 1EC6 } { 1EC7 } + { 1EC8 } { 1EC9 } + { 1ECA } { 1ECB } + { 1ECC } { 1ECD } + { 1ECE } { 1ECF } + { 1ED0 } { 1ED1 } + { 1ED2 } { 1ED3 } + { 1ED4 } { 1ED5 } + { 1ED6 } { 1ED7 } + { 1ED8 } { 1ED9 } + { 1EDA } { 1EDB } + { 1EDC } { 1EDD } + { 1EDE } { 1EDF } + { 1EE0 } { 1EE1 } + { 1EE2 } { 1EE3 } + { 1EE4 } { 1EE5 } + { 1EE6 } { 1EE7 } + { 1EE8 } { 1EE9 } + { 1EEA } { 1EEB } + { 1EEC } { 1EED } + { 1EEE } { 1EEF } + { 1EF0 } { 1EF1 } + { 1EF2 } { 1EF3 } + { 1EF4 } { 1EF5 } + { 1EF6 } { 1EF7 } + { 1EF8 } { 1EF9 } + \q_recursion_tail ? + \q_recursion_stop +% \end{macrocode} +% Greek support: the three-octet code points. +% \begin{macrocode} + \@@_loop:nn { 1F08 } { 1F00 } { 1F09 } { 1F01 } { 1F0A } { 1F02 } diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx index 6006409985a..966e3518c78 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text.dtx index 67218edf309..df4f2fcde50 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3text.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3text.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx index 8d9106b617d..728284c8ac7 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx index e4a04070ba0..647442b82a1 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx index 728a54a47a2..5583b55eef0 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx index b2df6d94dd3..8ae0f44fe87 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2022-08-05} +% \date{Released 2022-08-23} % % \maketitle % diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index 3ef89d63db9..e23ee371e13 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex @@ -70,7 +70,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2022-08-05}% +\def\ExplFileDate{2022-08-23}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -10156,7 +10156,6 @@ Type H <return> for immediate help}\def~{\errmessage{% { #1 ~ } } \prop_new:N \g_msg_module_name_prop -\prop_gput:Nnn \g_msg_module_name_prop { LaTeX } { LaTeX3 } \prop_new:N \g_msg_module_type_prop \prop_gput:Nnn \g_msg_module_type_prop { LaTeX } { } \cs_new:Npn \msg_module_type:n #1 @@ -10808,7 +10807,7 @@ Type H <return> for immediate help}\def~{\errmessage{% { Backend~request~inconsistent~with~engine:~using~'#2'~backend. } { You~have~requested~backend~'#1',~but~this~is~not~suitable~for~use~with~the~ - active~engine.~LaTeX3~will~use~the~'#2'~backend~instead. + active~engine.~LaTeX~will~use~the~'#2'~backend~instead. } \cs_set_protected:Npn \__msg_tmp:w #1 { @@ -10847,7 +10846,7 @@ Type H <return> for immediate help}\def~{\errmessage{% \cs_generate_variant:Nn \msg_expandable_error:nnnnn { nnfff } \cs_generate_variant:Nn \msg_expandable_error:nnnn { nnff } \cs_generate_variant:Nn \msg_expandable_error:nnn { nnf } -\prop_gput:Nnn \g_msg_module_name_prop { kernel } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { kernel } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { kernel } { } \clist_map_inline:nn { @@ -10855,12 +10854,12 @@ Type H <return> for immediate help}\def~{\errmessage{% quark , prg , prop , scanmark , seq , sys } { - \prop_gput:Nnn \g_msg_module_name_prop {#1} { LaTeX3 } + \prop_gput:Nnn \g_msg_module_name_prop {#1} { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop {#1} { } } -\prop_gput:Nnn \g_msg_module_name_prop { LaTeX / cmd } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { LaTeX / cmd } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { LaTeX / cmd } { } -\prop_gput:Nnn \g_msg_module_name_prop { LaTeX / ltcmd } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { LaTeX / ltcmd } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { LaTeX / ltcmd } { } %% File: l3file.dtx \tl_new:N \l__ior_internal_tl @@ -13081,7 +13080,7 @@ Type H <return> for immediate help}\def~{\errmessage{% { Misplaced~'='~in~key-value~input~\msg_line_context: } \msg_new:nnn { keyval } { blank-key-name } { Blank~key~name~in~key-value~input~\msg_line_context: } -\prop_gput:Nnn \g_msg_module_name_prop { keyval } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { keyval } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { keyval } { } \group_begin: \cs_set_protected:Npn \__keyval_tmp:w #1 @@ -14314,7 +14313,7 @@ Type H <return> for immediate help}\def~{\errmessage{% { is~undefined. } { has~the~properties: #2 . } } -\prop_gput:Nnn \g_msg_module_name_prop { keys } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { keys } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { keys } { } %% File: l3intarray.dtx \msg_new:nnn { kernel } { negative-array-size } @@ -15056,7 +15055,7 @@ Type H <return> for immediate help}\def~{\errmessage{% '\token_to_str:N \fp_to_tl:N',~or~other~ conversion~functions. } -\prop_gput:Nnn \g_msg_module_name_prop { fp } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { fp } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { fp } { } %% File: l3fp-traps.dtx \flag_new:n { fp_invalid_operation } @@ -21394,7 +21393,7 @@ Type H <return> for immediate help}\def~{\errmessage{% you~tried~to~interleave~them.~LaTeX~will~try~to~proceed,~ but~results~may~be~unexpected. } -\prop_gput:Nnn \g_msg_module_name_prop { cctab } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { cctab } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { cctab } { } %% File l3sort.dtx \seq_new:N \g__sort_internal_seq @@ -21814,7 +21813,7 @@ Type H <return> for immediate help}\def~{\errmessage{% \iow_char:N\\sort_return_swapped: ~multiple~times.~ Exactly~one~of~these~should~be~called. } -\prop_gput:Nnn \g_msg_module_name_prop { sort } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { sort } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { sort } { } %% File: l3str-convert.dtx \cs_new_protected:Npn \__str_tmp:w { } @@ -22594,10 +22593,10 @@ Type H <return> for immediate help}\def~{\errmessage{% } \prg_new_conditional:Npnn \__str_if_escape_string:N #1 { TF } { - \if_int_compare:w `#1 < "21 \exp_stop_f: + \if_int_compare:w `#1 < "27 \exp_stop_f: \prg_return_false: \else: - \if_int_compare:w `#1 > "7E \exp_stop_f: + \if_int_compare:w `#1 > "7A \exp_stop_f: \prg_return_false: \else: \prg_return_true: @@ -22698,7 +22697,7 @@ Type H <return> for immediate help}\def~{\errmessage{% Unicode~limits~code~points~to~the~range~[0,1114111]. } } -\prop_gput:Nnn \g_msg_module_name_prop { str } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { str } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { str } { } \cs_new_protected:cpn { __str_convert_decode_utf8: } { @@ -27767,7 +27766,7 @@ Type H <return> for immediate help}\def~{\errmessage{% \tl_if_empty:nTF {#1} { variable~ #2 } { {#1} } : #3 } -\prop_gput:Nnn \g_msg_module_name_prop { regex } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { regex } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { regex } { } \cs_new:Npn \__regex_msg_repeated:nnN #1#2#3 { @@ -28491,10 +28490,7 @@ Type H <return> for immediate help}\def~{\errmessage{% \cs_new_eq:NN \color_group_begin: \group_begin: \cs_new_eq:NN \color_group_end: \group_end: \cs_new_protected:Npn \color_ensure_current: - { - \__color_backend_pickup:N \l__color_current_tl - \__color_select:N \l__color_current_tl - } + { \__color_select:N \l__color_current_tl } \scan_new:N \s__color_stop \cs_new_protected:Npn \__color_select:N #1 { @@ -28511,7 +28507,7 @@ Type H <return> for immediate help}\def~{\errmessage{% \int_new:N \l__color_internal_int \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 } +\prg_new_conditional:Npnn \color_if_exist:n #1 { p , T, F, TF } { \prop_if_exist:cTF { l__color_named_ #1 _prop } { @@ -28578,14 +28574,21 @@ Type H <return> for immediate help}\def~{\errmessage{% { #1 } \cs_new:Npn \__color_convert_rgb_cmyk:w #1 ~ #2 ~ #3 \s__color_stop { - \exp_args:Nf \__color_convert_rgb_cmyk:nnnn - { \fp_eval:n { min ( 1 - #1 , 1 - #2 , 1 - #3 ) } } {#1} {#2} {#3} + \exp_args:Neee \__color_convert_rgb_cmyk:nnn + { \fp_eval:n { 1 - #1 } } + { \fp_eval:n { 1 - #2 } } + { \fp_eval:n { 1 - #3 } } + } +\cs_new:Npn \__color_convert_rgb_cmyk:nnn #1#2#3 + { + \exp_args:Ne \__color_convert_rgb_cmyk:nnnn + { \fp_eval:n { min( #1, #2 , #3 ) } } {#1} {#2} {#3} } \cs_new:Npn \__color_convert_rgb_cmyk:nnnn #1#2#3#4 { - \fp_eval:n { min ( 1 , max ( 0 , 1 - #2 - #1 ) ) } \c_space_tl - \fp_eval:n { min ( 1 , max ( 0 , 1 - #3 - #1 ) ) } \c_space_tl - \fp_eval:n { min ( 1 , max ( 0 , 1 - #4 - #1 ) ) } \c_space_tl + \fp_eval:n { min ( 1 , max ( 0 , #2 - #1 ) ) } \c_space_tl + \fp_eval:n { min ( 1 , max ( 0 , #3 - #1 ) ) } \c_space_tl + \fp_eval:n { min ( 1 , max ( 0 , #4 - #1 ) ) } \c_space_tl #1 } \cs_new:Npn \__color_convert_cmyk_gray:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop @@ -28604,7 +28607,6 @@ Type H <return> for immediate help}\def~{\errmessage{% \tl_new:N \l__color_next_value_tl \cs_new_protected:Npx \__color_parse:nN #1#2 { - \exp_not:N \__color_backend_pickup:N \exp_not:N \l__color_current_tl \tl_set:Nx \exp_not:c { l__color_named_ . _tl } { \exp_not:N \__color_model:N \exp_not:N \l__color_current_tl } \prop_put:NVx \exp_not:c { l__color_named_ . _prop } @@ -28615,7 +28617,7 @@ Type H <return> for immediate help}\def~{\errmessage{% } \cs_new_protected:Npn \__color_parse_aux:nN #1#2 { - \__color_if_defined:nTF {#1} + \color_if_exist:nTF {#1} { \__color_parse_set_eq:Nn #2 {#1} } { \__color_parse:Nw #2#1 ! \s__color_stop } \__color_check_model:N #2 @@ -28648,7 +28650,7 @@ Type H <return> for immediate help}\def~{\errmessage{% } \cs_new_protected:Npn \__color_parse:Nw #1#2 ! #3 \s__color_stop { - \__color_if_defined:nTF {#2} + \color_if_exist:nTF {#2} { \tl_if_blank:nTF {#3} { \__color_parse_set_eq:Nn #1 {#2} } @@ -28696,7 +28698,7 @@ Type H <return> for immediate help}\def~{\errmessage{% } \cs_new_protected:Npn \__color_parse_loop:nn #1#2 { - \__color_if_defined:nTF {#2} + \color_if_exist:nTF {#2} { \__color_extract:nNN {#2} \l__color_next_model_tl \l__color_next_value_tl \tl_if_eq:NNF \l__color_model_tl \l__color_next_model_tl @@ -28930,6 +28932,41 @@ Type H <return> for immediate help}\def~{\errmessage{% } \cs_new:Npn \__color_parse_model_wave_rho:n #1 { \fp_eval:n { min(1, max(0,#1) ) } } +\cs_new:Npn \__color_parse_model_cmy:w #1 , #2 , #3 , #4 \s__color_stop + { + { cmyk } + { \__color_convert_rgb_cmyk:nnn {#1} {#2} {#3} } + } +\cs_new:Npn \__color_parse_model_tHsb:w #1 , #2 , #3 , #4 \s__color_stop + { + \exp_args:Ne \__color_parse_model_hsb:nnn + { \__color_parse_model_tHsb:n {#1} } {#2} {#3} + } +\cs_new:Npn \__color_parse_model_tHsb:n #1 + { + \__color_parse_model_tHsb:nw {#1} + 0 , 0 ; + 60 , 30 ; + 120 , 60 ; + 180 , 120 ; + 210 , 180 ; + 240 , 240 ; + 360 , 360 ; + \q_recursion_tail , ; + \q_recursion_stop + } +\cs_new:Npn \__color_parse_model_tHsb:nw #1 #2 , #3 ; #4 , #5 ; + { + \quark_if_recursion_tail_stop_do:nn {#4} { 0 } + \fp_compare:nNnTF {#1} > {#4} + { \__color_parse_model_tHsb:nw {#1} #4 , #5 ; } + { + \use_i_delimit_by_q_recursion_stop:nw + { \fp_eval:n { ((#1 - #2) / (#4 - #2) * (#5 - #3) + #3) / 360 } } + } + } +\cs_new:cpn { __color_parse_model_&spot:w } #1 , #2 \s__color_stop + { { gray } { #1 } } \tl_new:N \l_color_fixed_model_tl \cs_new_protected:Npn \__color_check_model:N #1 { @@ -29223,7 +29260,7 @@ Type H <return> for immediate help}\def~{\errmessage{% } \cs_new_protected:Npn \color_set_eq:nn #1#2 { - \__color_if_defined:nTF {#2} + \color_if_exist:nTF {#2} { \tl_clear_new:c { l__color_named_ #1 _tl } \prop_clear_new:c { l__color_named_ #1 _prop } @@ -30012,7 +30049,7 @@ Type H <return> for immediate help}\def~{\errmessage{% #1 { color } { show } {#2} { - \__color_if_defined:nT {#2} + \color_if_exist:nT {#2} { \exp_args:Nv \__color_show:n { l__color_named_ #2 _tl } \prop_map_function:cN @@ -30121,6 +30158,12 @@ Type H <return> for immediate help}\def~{\errmessage{% \\ \\ key~was~given~with~the~correct~information. } +\msg_new:nnn { color } { unhandled-model } + { + Unhandled~color~model~in~LaTeX2e~value~"#1": + \\ \\ + falling~back~on~grayscale. + } \msg_new:nnnn { color } { unknown-color } { Unknown~color~'#1'. } { @@ -30160,7 +30203,7 @@ Type H <return> for immediate help}\def~{\errmessage{% LaTeX~has~been~asked~to~create~a~new~color~model~called~'#1',~ but~this~type~of~model~was~never~set~up. } -\prop_gput:Nnn \g_msg_module_name_prop { color } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { color } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { color } { } \msg_new:nnn { color } { show } { @@ -31597,7 +31640,7 @@ Type H <return> for immediate help}\def~{\errmessage{% #2 } -\prop_gput:Nnn \g_msg_module_name_prop { luatex } { LaTeX3 } +\prop_gput:Nnn \g_msg_module_name_prop { luatex } { LaTeX } \prop_gput:Nnn \g_msg_module_type_prop { luatex } { } %% File: l3unicode.dtx \ior_new:N \g__char_data_ior @@ -33741,6 +33784,8 @@ Type H <return> for immediate help}\def~{\errmessage{% { 0179 } { 017A } { 017B } { 017C } { 017D } { 017E } + { 01A0 } { 01A1 } + { 01AF } { 01B0 } { 01CD } { 01CE } { 01CF } { 01D0 } { 01D1 } { 01D2 } @@ -33975,6 +34020,54 @@ Type H <return> for immediate help}\def~{\errmessage{% \__text_tmp:nnnnnn { title } {#5} {#6} {#7} {#1} {#2} {#3} } \__text_loop:nn + { 1EA0 } { 1EA1 } + { 1EA2 } { 1EA3 } + { 1EA4 } { 1EA5 } + { 1EA6 } { 1EA7 } + { 1EA8 } { 1EA9 } + { 1EAA } { 1EAB } + { 1EAC } { 1EAD } + { 1EAE } { 1EAF } + { 1EB0 } { 1EB1 } + { 1EB2 } { 1EB3 } + { 1EB4 } { 1EB5 } + { 1EB6 } { 1EB7 } + { 1EB8 } { 1EB9 } + { 1EBA } { 1EBB } + { 1EBC } { 1EBD } + { 1EBE } { 1EBF } + { 1EC0 } { 1EC1 } + { 1EC2 } { 1EC3 } + { 1EC4 } { 1EC5 } + { 1EC6 } { 1EC7 } + { 1EC8 } { 1EC9 } + { 1ECA } { 1ECB } + { 1ECC } { 1ECD } + { 1ECE } { 1ECF } + { 1ED0 } { 1ED1 } + { 1ED2 } { 1ED3 } + { 1ED4 } { 1ED5 } + { 1ED6 } { 1ED7 } + { 1ED8 } { 1ED9 } + { 1EDA } { 1EDB } + { 1EDC } { 1EDD } + { 1EDE } { 1EDF } + { 1EE0 } { 1EE1 } + { 1EE2 } { 1EE3 } + { 1EE4 } { 1EE5 } + { 1EE6 } { 1EE7 } + { 1EE8 } { 1EE9 } + { 1EEA } { 1EEB } + { 1EEC } { 1EED } + { 1EEE } { 1EEF } + { 1EF0 } { 1EF1 } + { 1EF2 } { 1EF3 } + { 1EF4 } { 1EF5 } + { 1EF6 } { 1EF7 } + { 1EF8 } { 1EF9 } + \q_recursion_tail ? + \q_recursion_stop + \__text_loop:nn { 1F08 } { 1F00 } { 1F09 } { 1F01 } { 1F0A } { 1F02 } diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index 88cd00c7caf..2bb475c14fc 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2022-08-05}% +\def\ExplFileDate{2022-08-23}% \let\ExplLoaderFileDate\ExplFileDate \begingroup \catcode`\_=11 diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx index 98aeaab7b7f..9e63d6fa6f1 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2022-08-05}% +\def\ExplFileDate{2022-08-23}% \let\ExplLoaderFileDate\ExplFileDate \begingroup \catcode`\_=11 diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index bb4e1763559..24372534835 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2022-08-05}% +\def\ExplFileDate{2022-08-23}% \let\ExplLoaderFileDate\ExplFileDate \ProvidesPackage{expl3} [% |