diff options
author | Karl Berry <karl@freefriends.org> | 2022-04-29 21:14:21 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-04-29 21:14:21 +0000 |
commit | b2a5f8bdbb658a1384f9f44896b2174e8d8b4bfb (patch) | |
tree | 2ae498e97b79e43e9c7c049a1df29f63353563ff /Master/texmf-dist/tex/latex/l3kernel | |
parent | 197546e62573e3341307d61e8594a3274ad55722 (diff) |
l3kernel (29apr22)
git-svn-id: svn://tug.org/texlive/trunk@63177 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel')
4 files changed, 118 insertions, 36 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index 998c1dcc6c5..01c15f78ebb 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-04-20}% +\def\ExplFileDate{2022-04-29}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -9027,7 +9027,15 @@ Type H <return> for immediate help}\def~{\errmessage{% { \cs_if_exist_p:N \tex_XeTeXversion:D } { \cs_set:Npn \__char_str_change_case:nN #1#2 - { \tl_to_str:n {#2} } + { + \int_compare:nNnTF {#1} = 0 + { \tl_to_str:n {#2} } + { + \int_compare:nTF { `A <= #1 <= `z } + { \char_generate:nn {#1} { 12 } } + { \tl_to_str:n {#2} } + } + } } \tl_const:Nx \c_catcode_other_space_tl { \char_generate:nn { `\ } { 12 } } \scan_new:N \s__token_mark @@ -31661,17 +31669,6 @@ Type H <return> for immediate help}\def~{\errmessage{% } { \group_begin: - \cs_set_protected:Npn \__char_tmp:NN #1#2 - { - \quark_if_recursion_tail_stop:N #2 - \tl_const:cn { c__char_uppercase_ #2 _tl } {#1} - \tl_const:cn { c__char_lowercase_ #1 _tl } {#2} - \tl_const:cn { c__char_foldcase_ #1 _tl } {#2} - \__char_tmp:NN - } - \__char_tmp:NN - AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz - ? \q_recursion_tail \q_recursion_stop \ior_open:Nn \g__char_data_ior { UnicodeData.txt } \ior_close:N \g__char_data_ior \group_end: @@ -32687,7 +32684,7 @@ Type H <return> for immediate help}\def~{\errmessage{% { \sys_if_engine_luatex_p: } { \sys_if_engine_xetex_p: } { - \cs_new:cpn { __text_change_case_upper_de-alt:nnnN } #1#2#3#4 + \cs_new:cpn { __text_change_case_upper_de-xeszett:nnnN } #1#2#3#4 { \int_compare:nNnTF { `#4 } = { "00DF } { @@ -32700,16 +32697,16 @@ Type H <return> for immediate help}\def~{\errmessage{% } } { - \cs_new:cpx { __text_change_case_upper_de-alt:nnnN } #1#2#3#4 + \cs_new:cpx { __text_change_case_upper_de-xeszett:nnnN } #1#2#3#4 { \exp_not:N \int_compare:nNnTF { `#4 } = { "00C3 } { - \exp_not:c { __text_change_case_upper_de-alt:nnnNN } + \exp_not:c { __text_change_case_upper_de-xeszett:nnnNN } {#1} {#2} {#3} #4 } { \exp_not:N \__text_change_case_char:nnnN {#1} {#2} {#3} #4 } } - \cs_new:cpn { __text_change_case_upper_de-alt:nnnNN } #1#2#3#4#5 + \cs_new:cpn { __text_change_case_upper_de-xeszett:nnnNN } #1#2#3#4#5 { \int_compare:nNnTF { `#5 } = { "009F } { @@ -32719,6 +32716,8 @@ Type H <return> for immediate help}\def~{\errmessage{% { \__text_change_case_char:nnnN {#1} {#2} {#3} #4#5 } } } +\cs_new_eq:cc { __text_change_case_upper_de-alt:nnnN } + { __text_change_case_upper_de-xeszett:nnnN } \bool_lazy_or:nnT { \sys_if_engine_luatex_p: } { \sys_if_engine_xetex_p: } @@ -32730,8 +32729,27 @@ Type H <return> for immediate help}\def~{\errmessage{% \exp_args:Ne \__text_change_case_upper_el:nnn { \char_to_nfd:N #4 } {#2} {#3} } - { \__text_change_case_char:nnnN {#1} {#2} {#3} #4 } + { + \int_compare:nNnTF { `#4 } = { "0345 } + { + \__text_change_case_store:e + { + \use:c { __text_change_case_upper_ #3 :N } #4 + } + \__text_change_case_loop:nnw {#2} {#3} + } + { \__text_change_case_char:nnnN {#1} {#2} {#3} #4 } + } + } + \cs_new_eq:cN { __text_change_case_upper_el-xiota:nnnN } + \__text_change_case_upper_el:nnnN + \cs_new:Npn \__text_change_case_upper_el:N #1 + { + \char_generate:nn { "0399 } + { \char_value_catcode:n { "0399 } } } + \cs_new:cpn { __text_change_case_upper_el-xiota:N } #1 + { \exp_not:n {#1} } \cs_new:Npn \__text_change_case_upper_el:nnn #1#2#3 { \__text_change_case_upper_el:nnNw {#2} {#3} #1 } \cs_new:Npn \__text_change_case_upper_el:nnNw #1#2#3#4 \q__text_recursion_stop @@ -32752,21 +32770,65 @@ Type H <return> for immediate help}\def~{\errmessage{% \__text_change_case_loop:nnw {#2} {#3} #4 } { - \int_compare:nNnTF { `#4 } = { "0308 } - { \__text_change_case_upper_el_dialytika:nnN {#2} {#3} #1 } + \__text_change_case_if_takes_ypogegrammeni:nTF { `#1 } + { + \__text_change_case_upper_el_ypogegrammeni:Nnnnnw + #1 {#2} {#3} { } { } #4 + } + { \__text_change_case_upper_el_aux:NnnN #1 {#2} {#3} #4 } + } + } + \cs_new:Npn \__text_change_case_upper_el_ypogegrammeni:Nnnnnw + #1#2#3#4#5#6 \q__text_recursion_stop + { + \tl_if_head_is_N_type:nTF {#6} + { + \__text_change_case_upper_el_ypogegrammeni:NnnnnN + #1 {#2} {#3} {#4} {#5} + } + { \__text_change_case_upper_el_aux:NnnN #1 {#2} {#3} #4#5 } + #6 \q__text_recursion_stop + } + \cs_new:Npn \__text_change_case_upper_el_ypogegrammeni:NnnnnN #1#2#3#4#5#6 + { + \token_if_cs:NTF #6 + { \__text_change_case_upper_el_aux:NnnN #1 {#2} {#3} #4#5 #6 } + { + \int_compare:nNnTF { `#6 } = { "0345 } + { + \__text_change_case_upper_el_ypogegrammeni:Nnnnnw + #1 {#2} {#3} {#4} {#6} + } + { + \bool_lazy_or:nnTF + { \__text_change_case_if_greek_accent_p:n { `#6 } } + { \__text_change_case_if_greek_diacritic_p:n { `#6 } } + { + \__text_change_case_upper_el_ypogegrammeni:Nnnnnw + #1 {#2} {#3} {#4#6} {#5} + } + { \__text_change_case_upper_el_aux:NnnN #1 {#2} {#3} #4#5 #6 } + } + } + } + \cs_new:Npn \__text_change_case_upper_el_aux:NnnN #1#2#3#4 + { + \int_compare:nNnTF { `#4 } = { "0308 } + { \__text_change_case_upper_el_dialytika:nnN {#2} {#3} #1 } + { + \__text_change_case_if_greek_accent:nTF { `#4 } + { \__text_change_case_upper_el_hiatus:nnNw {#2} {#3} #1 } { - \__text_change_case_if_greek_accent:nTF { `#4 } - { \__text_change_case_upper_el_hiatus:nnNw {#2} {#3} #1 } + \__text_change_case_if_greek_diacritic:nTF { `#4 } { - \__text_change_case_if_greek_diacritic:nTF { `#4 } - { - \__text_change_case_store:e { \char_uppercase:N #1 } - \__text_change_case_loop:nnw {#2} {#3} - } - { - \__text_change_case_store:e { \char_uppercase:N #1 } - \__text_change_case_loop:nnw {#2} {#3} #4 - } + \__text_change_case_store:e { \char_uppercase:N #1 } + \__text_change_case_loop:nnw {#2} {#3} + } + { + \int_compare:nNnTF { `#4 } = { "0345 } + { \__text_change_case_store:e { [XXX] } } + { \__text_change_case_store:e { \char_uppercase:N #1 } } + \__text_change_case_loop:nnw {#2} {#3} #4 } } } @@ -32842,7 +32904,11 @@ Type H <return> for immediate help}\def~{\errmessage{% \prg_return_false: \else: \if_int_compare:w #1 > "1FFF \exp_stop_f: - \prg_return_false: + \if_int_compare:w #1 = "2126 \exp_stop_f: + \prg_return_true: + \else: + \prg_return_false: + \fi: \else: \prg_return_true: \fi: @@ -32924,7 +32990,23 @@ Type H <return> for immediate help}\def~{\errmessage{% \fi: \fi: \fi: - } + } +\prg_new_conditional:Npnn \__text_change_case_if_takes_ypogegrammeni:n #1 { TF } + { + \if_int_compare:w #1 = "03B1 \exp_stop_f: + \prg_return_true: + \else: + \if_int_compare:w #1 = "03B7 \exp_stop_f: + \prg_return_true: + \else: + \if_int_compare:w #1 = "03C9 \exp_stop_f: + \prg_return_true: + \else: + \prg_return_false: + \fi: + \fi: + \fi: + } \bool_lazy_or:nnT { \sys_if_engine_luatex_p: } { \sys_if_engine_xetex_p: } diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index e579987e0a7..3b1f9e00816 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-04-20}% +\def\ExplFileDate{2022-04-29}% \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 2cb7f12271e..0fe1623aa31 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-04-20}% +\def\ExplFileDate{2022-04-29}% \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 3ff81a91a75..284b787d7a1 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-04-20}% +\def\ExplFileDate{2022-04-29}% \let\ExplLoaderFileDate\ExplFileDate \ProvidesPackage{expl3} [% |