diff options
author | Karl Berry <karl@freefriends.org> | 2023-02-23 21:10:03 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-02-23 21:10:03 +0000 |
commit | 475e83fff3141e2a85e09558f86e0ff1b62bd96a (patch) | |
tree | 827d1a7870432ba26bcdc38e42741796665d28bd /Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx | |
parent | d4a963839eed143fad031114eec397d3327e60f3 (diff) |
l3kernel (23feb23)
git-svn-id: svn://tug.org/texlive/trunk@66094 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx index 425fd5cf079..efe38cd6e7c 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 2023-02-07} +% \date{Released 2023-02-22} % % \maketitle % @@ -83,6 +83,13 @@ % $13$); for codepoints in the ASCII range, the given \meta{catcode} % will be used. To allow the result of this function to be used % inside a expansion context, the result is protected by \cs{exp_not:n}. +% +% \begin{texnote} +% Users of (u)p\TeX{} note that these engines are treated as $8$-bit in +% this context. In particular, for up\TeX{}, irrespective of the +% \tn{kcatcode} of the \meta{codepoint}, any value outside the ASCII range +% will result in a series of active bytes being generated. +% \end{texnote} % \end{function} % % \begin{function}[EXP, added = 2022-10-09] @@ -340,19 +347,29 @@ % \end{macro} % \end{macro} % -% \begin{macro}[EXP]{\codepoint_to_nfd:n} +% \begin{macro}[EXP]{\codepoint_to_nfd:n, \@@_to_nfd:n} % \begin{macro}[EXP]{\@@_to_nfd:nn} % \begin{macro}[EXP]{\@@_to_nfd:nnn} % \begin{macro}[EXP]{\@@_to_nfd:nnnn} -% \begin{macro}[EXP]{\@@_to_nfd_generate:nn} -% \begin{macro}[EXP]{\@@_to_nfd_generate:n} -% \begin{macro}[EXP]{\@@_to_nfd_generate:nnnn} % Converted to NFD is a potentially-recursive process: the key is to % check if we get the input codepoint back again. As far as possible, % we use the same path for all engines. % \begin{macrocode} \cs_new:Npn \codepoint_to_nfd:n #1 + { \exp_args:Ne \@@_to_nfd:n { \int_eval:n {#1} } } +\cs_new:Npn \@@_to_nfd:n #1 { \@@_to_nfd:nn {#1} { \char_value_catcode:n {#1} } } +\bool_lazy_or:nnF + { \sys_if_engine_luatex_p: } + { \sys_if_engine_xetex_p: } + { + \cs_gset:Npn \@@_to_nfd:n #1 + { + \int_compare:nNnTF {#1} > { "80 } + { \@@_to_nfd:nn {#1} { 12 } } + { \@@_to_nfd:nn {#1} { \char_value_catcode:n {#1} } } + } + } \cs_new:Npn \@@_to_nfd:nn #1#2 { \exp_args:Ne \@@_to_nfd:nnn @@ -374,9 +391,6 @@ % \end{macro} % \end{macro} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % % \subsection{Data loader} % |