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/tex/latex/l3kernel | |
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/tex/latex/l3kernel')
4 files changed, 103 insertions, 91 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index 7327e2085f1..8f2c6f05dd8 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex @@ -71,7 +71,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2023-02-07}% +\def\ExplFileDate{2023-02-22}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -5495,22 +5495,33 @@ Type H <return> for immediate help}\def~{\errmessage{% \cs_new:Npn \__str_change_case_codepoint:nN #1#2 { \__str_change_case_char:fnn { \int_eval:n {`#2} } {#1} {#2} } \else: - \cs_new:Npn \__str_change_case_codepoint:nN #1#2 + \cs_new:Npx \__str_change_case_codepoint:nN #1#2 { - \int_compare:nNnTF {`#2} > { "80 } + \exp_not:N \int_compare:nNnTF {`#2} > { "80 } { - \int_compare:nNnTF {`#2} < { "E0 } - { \__str_change_case_codepoint:nNN } + \cs_if_exist:NTF \tex_pdftexversion:D + { \exp_not:N \__str_change_case_char_auxi:nN } { - \int_compare:nNnTF {`#2} < { "F0 } - { \__str_change_case_codepoint:nNNN } - { \__str_change_case_codepoint:nNNNNN } + \exp_not:N \int_compare:nNnTF {`#2} > { "FF } + { \exp_not:N \__str_change_case_char_auxii:nN } + { \exp_not:N \__str_change_case_char_auxi:nN } } } - { \__str_change_case_char_aux:nN } + { \exp_not:N \__str_change_case_char_auxii:nN } {#1} #2 } - \cs_new:Npn \__str_change_case_char_aux:nN #1#2 + \cs_new:Npn \__str_change_case_char_auxi:nN #1#2 + { + \int_compare:nNnTF {`#2} < { "E0 } + { \__str_change_case_codepoint:nNN } + { + \int_compare:nNnTF {`#2} < { "F0 } + { \__str_change_case_codepoint:nNNN } + { \__str_change_case_codepoint:nNNNNN } + } + {#1} #2 + } + \cs_new:Npn \__str_change_case_char_auxii:nN #1#2 { \__str_change_case_char:fnn { \int_eval:n {`#2} } {#1} {#2} } \cs_new:Npn \__str_change_case_codepoint:nNN #1#2#3 { @@ -8757,9 +8768,7 @@ Type H <return> for immediate help}\def~{\errmessage{% \group_begin: \char_set_catcode_active:N \^^L \cs_set:Npn ^^L { } - \if_int_odd:w 0 - \sys_if_engine_luatex:T { 1 } - \sys_if_engine_xetex:T { 1 } \exp_stop_f: + \if_cs_exist:N \tex_Ucharcat:D \cs_new:Npn \__char_generate_aux:nnw #1#2#3 \exp_end: { #3 @@ -28473,7 +28482,6 @@ Type H <return> for immediate help}\def~{\errmessage{% { \use:c { __color_backend_select_ #1 :n } {#2} } \tl_new:N \l__color_current_tl \tl_set:Nn \l__color_current_tl { { gray } { 0 } } - \int_new:N \l__color_internal_int \tl_new:N \l__color_internal_tl \scan_new:N \s__color_mark @@ -31838,7 +31846,20 @@ Type H <return> for immediate help}\def~{\errmessage{% \cs_generate_variant:Nn \__codepoint_to_bytes_output:nnn { f } \cs_new:Npn \__codepoint_to_bytes_end: { } \cs_new:Npn \codepoint_to_nfd:n #1 + { \exp_args:Ne \__codepoint_to_nfd:n { \int_eval:n {#1} } } +\cs_new:Npn \__codepoint_to_nfd:n #1 { \__codepoint_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 \__codepoint_to_nfd:n #1 + { + \int_compare:nNnTF {#1} > { "80 } + { \__codepoint_to_nfd:nn {#1} { 12 } } + { \__codepoint_to_nfd:nn {#1} { \char_value_catcode:n {#1} } } + } + } \cs_new:Npn \__codepoint_to_nfd:nn #1#2 { \exp_args:Ne \__codepoint_to_nfd:nnn @@ -32393,43 +32414,38 @@ Type H <return> for immediate help}\def~{\errmessage{% \cs_new:Npn \__text_codepoint_process:nN #1#2 { #1 {#2} } } { - \cs_new:Npn \__text_codepoint_process:nN #1#2 + \cs_new:Npx \__text_codepoint_process:nN #1#2 { - \int_compare:nNnTF { `#2 } > { "80 } + \exp_not:N \int_compare:nNnTF {`#2} > { "80 } { - \int_compare:nNnTF { `#2 } < { "E0 } - { \__text_codepoint_process:nNN } + \sys_if_engine_pdftex:TF + { \exp_not:N \__text_codepoint_process_aux:nN } { - \int_compare:nNnTF { `#2 } < { "F0 } - { \__text_codepoint_process:nNNN } - { \__text_codepoint_process:nNNNN } + \exp_not:N \int_compare:nNnTF {`#2} > { "FF } + { \exp_not:N \use:n } + { \exp_not:N \__text_codepoint_process_aux:nN } } } - { \use:n } + { \exp_not:N \use:n } {#1} #2 } - \cs_new:Npn \__text_codepoint_process:nNN #1#2#3 - { #1 {#2#3} } - \sys_if_engine_ptex:TF + \cs_new:Npn \__text_codepoint_process_aux:nN #1#2 { - \cs_gset:Npn \__text_codepoint_process:nN #1#2 + \int_compare:nNnTF { `#2 } < { "E0 } + { \__text_codepoint_process:nNN } { - \int_compare:nNnTF { `#2 } > { "80 } - { - \int_compare:nNnTF { `#2 } < { "E0 } - { \__text_codepoint_process:nNN } - { \use:n } - } - { \use:n } + \int_compare:nNnTF { `#2 } < { "F0 } + { \__text_codepoint_process:nNNN } + { \__text_codepoint_process:nNNNN } + } {#1} #2 } - } - { - \cs_new:Npn \__text_codepoint_process:nNNN #1#2#3#4 - { #1 {#2#3#4} } - \cs_new:Npn \__text_codepoint_process:nNNNN #1#2#3#4#5 - { #1 {#2#3#4#5} } - } + \cs_new:Npn \__text_codepoint_process:nNN #1#2#3 + { #1 {#2#3} } + \cs_new:Npn \__text_codepoint_process:nNNN #1#2#3#4 + { #1 {#2#3#4} } + \cs_new:Npn \__text_codepoint_process:nNNNN #1#2#3#4#5 + { #1 {#2#3#4#5} } } \bool_lazy_or:nnTF { \sys_if_engine_luatex_p: } @@ -32451,62 +32467,56 @@ Type H <return> for immediate help}\def~{\errmessage{% #2 {#3} \prg_return_true: \prg_return_false: } - \cs_new:Npn \__text_codepoint_from_chars:Nw #1 + \cs_new:Npx \__text_codepoint_from_chars:Nw #1 { - \if_int_compare:w `#1 > "80 \exp_stop_f: - \if_int_compare:w `#1 < "E0 \exp_stop_f: + \exp_not:N \if_int_compare:w `#1 > "80 \exp_not:N \exp_stop_f: + \sys_if_engine_pdftex:TF + { + \exp_not:N \exp_after:wN + \exp_not:N \__text_codepoint_from_chars_aux:Nw + } + { + \exp_not:N \if_int_compare:w `#1 > "FF \exp_not:N \exp_stop_f: + \exp_not:N \exp_after:wN \exp_not:N \exp_after:wN + \exp_not:N \exp_after:wN + \exp_not:N \__text_codepoint_from_chars:N + \exp_not:N \else: + \exp_not:N \exp_after:wN \exp_not:N \exp_after:wN + \exp_not:N \exp_after:wN + \exp_not:N \__text_codepoint_from_chars_aux:Nw + \exp_not:N \fi: + } + \exp_not:N \else: + \exp_not:N \exp_after:wN \exp_not:N \__text_codepoint_from_chars:N + \exp_not:N \fi: + #1 + } + \cs_new:Npn \__text_codepoint_from_chars_aux:Nw #1 + { + \if_int_compare:w `#1 < "E0 \exp_stop_f: + \exp_after:wN \__text_codepoint_from_chars:NN + \else: + \if_int_compare:w `#1 < "F0 \exp_stop_f: \exp_after:wN \exp_after:wN \exp_after:wN - \__text_codepoint_from_chars:NN + \__text_codepoint_from_chars:NNN \else: - \if_int_compare:w `#1 < "F0 \exp_stop_f: - \exp_after:wN \exp_after:wN \exp_after:wN - \exp_after:wN \exp_after:wN \exp_after:wN - \exp_after:wN \__text_codepoint_from_chars:NNN - \else: - \exp_after:wN \exp_after:wN \exp_after:wN - \exp_after:wN \exp_after:wN \exp_after:wN - \exp_after:wN \__text_codepoint_from_chars:NNNN - \fi: + \exp_after:wN \exp_after:wN \exp_after:wN + \__text_codepoint_from_chars:NNNN \fi: - \else: - \exp_after:wN \__text_codepoint_from_chars:N \fi: #1 } - \cs_new:Npn \__text_codepoint_from_chars:N #1 { `#1 } + \cs_new:Npn \__text_codepoint_from_chars:N #1 {`#1} \cs_new:Npn \__text_codepoint_from_chars:NN #1#2 { (`#1 - "C0) * "40 + `#2 - "80 } - % \end{macrocode} - % Avoid high chars with p\TeX{}. - % \begin{macrocode} - \sys_if_engine_ptex:TF + \cs_new:Npn \__text_codepoint_from_chars:NNN #1#2#3 + { (`#1 - "E0) * "1000 + (`#2 - "80) * "40 + `#3 - "80 } + \cs_new:Npn \__text_codepoint_from_chars:NNNN #1#2#3#4 { - \cs_gset:Npn \__text_codepoint_from_chars:Nw #1 - { - \if_int_compare:w `#1 > "80 \exp_stop_f: - \if_int_compare:w `#1 < "E0 \exp_stop_f: - \exp_after:wN \exp_after:wN \exp_after:wN - \__text_codepoint_from_chars:NN - \else: - \exp_after:wN \exp_after:wN \exp_after:wN - \__text_codepoint_from_chars:N - \fi: - \else: - \exp_after:wN \__text_codepoint_from_chars:N - \fi: - #1 - } - } - { - \cs_new:Npn \__text_codepoint_from_chars:NNN #1#2#3 - { (`#1 - "E0) * "1000 + (`#2 - "80) * "40 + `#3 - "80 } - \cs_new:Npn \__text_codepoint_from_chars:NNNN #1#2#3#4 - { - (`#1 - "F0) * "40000 - + (`#2 - "80) * "1000 - + (`#3 - "80) * "40 - + `#4 - "80 - } + (`#1 - "F0) * "40000 + + (`#2 - "80) * "1000 + + (`#3 - "80) * "40 + + `#4 - "80 } } \tl_new:N \l_text_accents_tl @@ -33491,7 +33501,9 @@ Type H <return> for immediate help}\def~{\errmessage{% { __text_change_case_upper_de-x-eszett:nnnn } \cs_new:Npn \__text_change_case_upper_el:nnnn #1#2#3#4 { - \__text_change_case_if_greek:nTF {#4} + \bool_lazy_and:nnTF + { \__text_change_case_if_greek_p:n {#4} } + { ! \__text_codepoint_compare_p:nNn {#4} = { "0374 } } { \exp_args:Ne \__text_change_case_upper_el:nnn { @@ -33731,7 +33743,7 @@ Type H <return> for immediate help}\def~{\errmessage{% { \__text_change_case_upper_el_gobble:nnw {#1} {#2} } { \__text_change_case_loop:nnw {#1} {#2} #3 } } -\prg_new_conditional:Npnn \__text_change_case_if_greek:n #1 { TF } +\prg_new_conditional:Npnn \__text_change_case_if_greek:n #1 { p , TF } { \exp_args:Nf \__text_change_case_if_greek:n { \int_eval:n { \__text_codepoint_from_chars:Nw #1 } } diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index 6850f31a496..336d9a99481 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{2023-02-07}% +\def\ExplFileDate{2023-02-22}% \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 f257bdb30ad..e94af3111e7 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{2023-02-07}% +\def\ExplFileDate{2023-02-22}% \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 510ab3a59db..84451c96975 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{2023-02-07}% +\def\ExplFileDate{2023-02-22}% \let\ExplLoaderFileDate\ExplFileDate \ProvidesPackage{expl3} [% |