diff options
author | Karl Berry <karl@freefriends.org> | 2023-04-19 20:13:27 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-04-19 20:13:27 +0000 |
commit | 7205df83f0e5aba8062fbe04f85f9a5db4ddf04c (patch) | |
tree | 2ab0d6a7b7816c7b0bda554fc20bf68935d06778 /Master/texmf-dist/tex/latex/l3kernel | |
parent | d529e97b80a83d8a5b94a1e551c8ecaf931164d6 (diff) |
l3 (19apr23)
git-svn-id: svn://tug.org/texlive/trunk@66896 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel')
4 files changed, 189 insertions, 116 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index a163950e5ff..58d68175ece 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-03-30}% +\def\ExplFileDate{2023-04-19}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -28466,6 +28466,116 @@ Type H <return> for immediate help}\def~{\errmessage{% } } } +\cs_new_protected:Npn \box_set_clipped:N #1 + { \hbox_set:Nn #1 { \__box_backend_clip:N #1 } } +\cs_generate_variant:Nn \box_set_clipped:N { c } +\cs_new_protected:Npn \box_gset_clipped:N #1 + { \hbox_gset:Nn #1 { \__box_backend_clip:N #1 } } +\cs_generate_variant:Nn \box_gset_clipped:N { c } +\cs_new_protected:Npn \box_set_trim:Nnnnn #1#2#3#4#5 + { \__box_set_trim:NnnnnN #1 {#2} {#3} {#4} {#5} \box_set_eq:NN } +\cs_generate_variant:Nn \box_set_trim:Nnnnn { c } +\cs_new_protected:Npn \box_gset_trim:Nnnnn #1#2#3#4#5 + { \__box_set_trim:NnnnnN #1 {#2} {#3} {#4} {#5} \box_gset_eq:NN } +\cs_generate_variant:Nn \box_gset_trim:Nnnnn { c } +\cs_new_protected:Npn \__box_set_trim:NnnnnN #1#2#3#4#5#6 + { + \hbox_set:Nn \l__box_internal_box + { + \__kernel_kern:n { -#2 } + \box_use:N #1 + \__kernel_kern:n { -#4 } + } + \dim_compare:nNnTF { \box_dp:N #1 } > {#3} + { + \hbox_set:Nn \l__box_internal_box + { + \box_move_down:nn \c_zero_dim + { \box_use_drop:N \l__box_internal_box } + } + \box_set_dp:Nn \l__box_internal_box { \box_dp:N #1 - (#3) } + } + { + \hbox_set:Nn \l__box_internal_box + { + \box_move_down:nn { (#3) - \box_dp:N #1 } + { \box_use_drop:N \l__box_internal_box } + } + \box_set_dp:Nn \l__box_internal_box \c_zero_dim + } + \dim_compare:nNnTF { \box_ht:N \l__box_internal_box } > {#5} + { + \hbox_set:Nn \l__box_internal_box + { + \box_move_up:nn \c_zero_dim + { \box_use_drop:N \l__box_internal_box } + } + \box_set_ht:Nn \l__box_internal_box + { \box_ht:N \l__box_internal_box - (#5) } + } + { + \hbox_set:Nn \l__box_internal_box + { + \box_move_up:nn { (#5) - \box_ht:N \l__box_internal_box } + { \box_use_drop:N \l__box_internal_box } + } + \box_set_ht:Nn \l__box_internal_box \c_zero_dim + } + #6 #1 \l__box_internal_box + } +\cs_new_protected:Npn \box_set_viewport:Nnnnn #1#2#3#4#5 + { \__box_set_viewport:NnnnnN #1 {#2} {#3} {#4} {#5} \box_set_eq:NN } +\cs_generate_variant:Nn \box_set_viewport:Nnnnn { c } +\cs_new_protected:Npn \box_gset_viewport:Nnnnn #1#2#3#4#5 + { \__box_set_viewport:NnnnnN #1 {#2} {#3} {#4} {#5} \box_gset_eq:NN } +\cs_generate_variant:Nn \box_gset_viewport:Nnnnn { c } +\cs_new_protected:Npn \__box_set_viewport:NnnnnN #1#2#3#4#5#6 + { + \hbox_set:Nn \l__box_internal_box + { + \__kernel_kern:n { -#2 } + \box_use:N #1 + \__kernel_kern:n { #4 - \box_wd:N #1 } + } + \dim_compare:nNnTF {#3} < \c_zero_dim + { + \hbox_set:Nn \l__box_internal_box + { + \box_move_down:nn \c_zero_dim + { \box_use_drop:N \l__box_internal_box } + } + \box_set_dp:Nn \l__box_internal_box { - \__box_dim_eval:n {#3} } + } + { + \hbox_set:Nn \l__box_internal_box + { \box_move_down:nn {#3} { \box_use_drop:N \l__box_internal_box } } + \box_set_dp:Nn \l__box_internal_box \c_zero_dim + } + \dim_compare:nNnTF {#5} > \c_zero_dim + { + \hbox_set:Nn \l__box_internal_box + { + \box_move_up:nn \c_zero_dim + { \box_use_drop:N \l__box_internal_box } + } + \box_set_ht:Nn \l__box_internal_box + { + (#5) + \dim_compare:nNnT {#3} > \c_zero_dim + { - (#3) } + } + } + { + \hbox_set:Nn \l__box_internal_box + { + \box_move_up:nn { - \__box_dim_eval:n {#5} } + { \box_use_drop:N \l__box_internal_box } + } + \box_set_ht:Nn \l__box_internal_box \c_zero_dim + } + #6 #1 \l__box_internal_box + } + %% File: l3color.dtx \cs_new_eq:NN \color_group_begin: \group_begin: \cs_new_eq:NN \color_group_end: \group_end: @@ -30316,7 +30426,7 @@ Type H <return> for immediate help}\def~{\errmessage{% \cs_new:Npn \pdf_version_major: { \__pdf_backend_version_major: } \cs_new:Npn \pdf_version_minor: { \__pdf_backend_version_minor: } \cs_new_protected:Npn \pdf_pagesize_gset:nn #1#2 - { \__pdf_pagesize_gset:nn {#1} {#2} } + { \__pdf_backend_pagesize_gset:nn {#1} {#2} } \cs_new_protected:Npn \pdf_destination:nn #1#2 { \__pdf_backend_destination:nn {#1} {#2} } \cs_new_protected:Npn \pdf_destination:nnnn #1#2#3#4 @@ -33215,7 +33325,7 @@ Type H <return> for immediate help}\def~{\errmessage{% { \__text_change_case_exclude:nnN {#1} {#2} } { \__text_codepoint_process:nN - { \use:c { __text_change_case_codepoint_ #1 :nnn } {#1} {#2} } + { \use:c { __text_change_case_custom_ #1 :nnn } {#1} {#2} } } #3 } @@ -33264,13 +33374,14 @@ Type H <return> for immediate help}\def~{\errmessage{% { \cs_if_exist:cTF { l__text_case_ \token_to_str:N #3 _tl } { - \exp_args:Nv \__text_change_case_replace:nnn + \__text_change_case_replace:vnn { l__text_case_ \token_to_str:N #3 _tl } {#1} {#2} } { \__text_change_case_switch:nnN {#1} {#2} #3 } } \cs_new:Npn \__text_change_case_replace:nnn #1#2#3 { \__text_change_case_loop:nnw {#2} {#3} #1 } +\cs_generate_variant:Nn \__text_change_case_replace:nnn { v } \cs_new:Npn \__text_change_case_switch:nnN #1#2#3 { \cs_if_eq:NNTF #3 \text_case_switch:nnnn @@ -33326,6 +33437,39 @@ Type H <return> for immediate help}\def~{\errmessage{% { \__text_change_case_loop:nnw {#3} {#4} } } } +\cs_new:Npn \__text_change_case_custom_lower:nnn #1#2#3 + { + \__text_change_case_custom:nnnnn {#1} {#2} {#3} {#1} + { \use:c { __text_change_case_codepoint_ #1 :nnn } {#1} {#2} {#3} } + } +\cs_new_eq:NN \__text_change_case_custom_upper:nnn + \__text_change_case_custom_lower:nnn +\cs_new:Npn \__text_change_case_custom_title:nnn #1#2#3 + { + \__text_change_case_custom:nnnnn { title } {#2} {#3} {#1} + { + \__text_change_case_custom:nnnnn { upper } {#2} {#3} {#1} + { \use:c { __text_change_case_codepoint_ #1 :nnn } {#1} {#2} {#3} } + } + } +\cs_new_eq:NN \__text_change_case_custom_titleonly:nnn + \__text_change_case_custom_title:nnn +\cs_new:Npn \__text_change_case_custom:nnnnn #1#2#3#4#5 + { + \tl_if_exist:cTF { l__text_ #1 case _ \tl_to_str:n {#3} _ #2 _tl } + { + \__text_change_case_replace:vnn + { l__text_ #1 case _ \tl_to_str:n {#3} _ #2 _tl } {#4} {#2} + } + { + \tl_if_exist:cTF { l__text_ #1 case _ \tl_to_str:n {#3} _tl } + { + \__text_change_case_replace:vnn + { l__text_ #1 case _ \tl_to_str:n {#3} _tl } {#4} {#2} + } + {#5} + } + } \cs_new:Npn \__text_change_case_codepoint_lower:nnn #1#2#3 { \cs_if_exist_use:cF { __text_change_case_lower_ #2 :nnnn } @@ -33499,6 +33643,38 @@ Type H <return> for immediate help}\def~{\errmessage{% \tl_clear_new:c { l__text_case_ \token_to_str:N #1 _tl } \tl_set:cn { l__text_case_ \token_to_str:N #1 _tl } {#2} } +\cs_new_protected:Npn \text_declare_lowercase_mapping:nn #1#2 + { \__text_declare_case_mapping:nnn { lower } {#1} {#2} } +\cs_new_protected:Npn \text_declare_titlecase_mapping:nn #1#2 + { \__text_declare_case_mapping:nnn { title } {#1} {#2} } +\cs_new_protected:Npn \text_declare_uppercase_mapping:nn #1#2 + { \__text_declare_case_mapping:nnn { upper } {#1} {#2} } +\cs_new_protected:Npn \__text_declare_case_mapping:nnn #1#2#3 + { + \exp_args:Ne \__text_declare_case_mapping_aux:nnn + { \codepoint_str_generate:n {#2} } {#1} {#3} + } +\cs_new_protected:Npn \__text_declare_case_mapping_aux:nnn #1#2#3 + { + \tl_clear_new:c { l__text_ #2 case _ #1 _tl } + \tl_set:cn { l__text_ #2 case _ #1 _ tl } {#3} + } +\cs_new_protected:Npn \text_declare_lowercase_mapping:nnn #1#2#3 + { \__text_declare_case_mapping:nnnn { lower } {#1} {#2} {#3} } +\cs_new_protected:Npn \text_declare_titlecase_mapping:nnn #1#2#3 + { \__text_declare_case_mapping:nnnn { title } {#1} {#2} {#3} } +\cs_new_protected:Npn \text_declare_uppercase_mapping:nnn #1#2#3 + { \__text_declare_case_mapping:nnnn { upper } {#1} {#2} {#3} } +\cs_new_protected:Npn \__text_declare_case_mapping:nnnn #1#2#3#4 + { + \exp_args:Ne \__text_declare_case_mapping_aux:nnnn + { \codepoint_str_generate:n {#2} } {#1} {#3} {#4} + } +\cs_new_protected:Npn \__text_declare_case_mapping_aux:nnnn #1#2#3#4 + { + \tl_clear_new:c { l__text_ #2 case _ #1 _ #3 _tl } + \tl_set:cn { l__text_ #2 case _ #1 _ #3 _ tl } {#4} + } \cs_new:Npn \text_case_switch:nnnn #1#2#3#4 { \__text_case_switch_marker: @@ -34440,6 +34616,12 @@ Type H <return> for immediate help}\def~{\errmessage{% } } } +\bool_lazy_or:nnF + { \sys_if_engine_luatex_p: } + { \sys_if_engine_xetex_p: } + { + \text_declare_uppercase_mapping:nn { "01F0 } { \v { J } } + } %% File: l3text-map.dtx \cs_new:Npn \text_map_function:nN #1#2 { \exp_args:Ne \__text_map_function:nN { \text_expand:n {#1} } #2 } @@ -35358,115 +35540,6 @@ Type H <return> for immediate help}\def~{\errmessage{% \q_recursion_stop \group_end: %% File: l3candidates.dtx -\cs_new_protected:Npn \box_clip:N #1 - { \hbox_set:Nn #1 { \__box_backend_clip:N #1 } } -\cs_generate_variant:Nn \box_clip:N { c } -\cs_new_protected:Npn \box_gclip:N #1 - { \hbox_gset:Nn #1 { \__box_backend_clip:N #1 } } -\cs_generate_variant:Nn \box_gclip:N { c } -\cs_new_protected:Npn \box_set_trim:Nnnnn #1#2#3#4#5 - { \__box_set_trim:NnnnnN #1 {#2} {#3} {#4} {#5} \box_set_eq:NN } -\cs_generate_variant:Nn \box_set_trim:Nnnnn { c } -\cs_new_protected:Npn \box_gset_trim:Nnnnn #1#2#3#4#5 - { \__box_set_trim:NnnnnN #1 {#2} {#3} {#4} {#5} \box_gset_eq:NN } -\cs_generate_variant:Nn \box_gset_trim:Nnnnn { c } -\cs_new_protected:Npn \__box_set_trim:NnnnnN #1#2#3#4#5#6 - { - \hbox_set:Nn \l__box_internal_box - { - \__kernel_kern:n { -#2 } - \box_use:N #1 - \__kernel_kern:n { -#4 } - } - \dim_compare:nNnTF { \box_dp:N #1 } > {#3} - { - \hbox_set:Nn \l__box_internal_box - { - \box_move_down:nn \c_zero_dim - { \box_use_drop:N \l__box_internal_box } - } - \box_set_dp:Nn \l__box_internal_box { \box_dp:N #1 - (#3) } - } - { - \hbox_set:Nn \l__box_internal_box - { - \box_move_down:nn { (#3) - \box_dp:N #1 } - { \box_use_drop:N \l__box_internal_box } - } - \box_set_dp:Nn \l__box_internal_box \c_zero_dim - } - \dim_compare:nNnTF { \box_ht:N \l__box_internal_box } > {#5} - { - \hbox_set:Nn \l__box_internal_box - { - \box_move_up:nn \c_zero_dim - { \box_use_drop:N \l__box_internal_box } - } - \box_set_ht:Nn \l__box_internal_box - { \box_ht:N \l__box_internal_box - (#5) } - } - { - \hbox_set:Nn \l__box_internal_box - { - \box_move_up:nn { (#5) - \box_ht:N \l__box_internal_box } - { \box_use_drop:N \l__box_internal_box } - } - \box_set_ht:Nn \l__box_internal_box \c_zero_dim - } - #6 #1 \l__box_internal_box - } -\cs_new_protected:Npn \box_set_viewport:Nnnnn #1#2#3#4#5 - { \__box_set_viewport:NnnnnN #1 {#2} {#3} {#4} {#5} \box_set_eq:NN } -\cs_generate_variant:Nn \box_set_viewport:Nnnnn { c } -\cs_new_protected:Npn \box_gset_viewport:Nnnnn #1#2#3#4#5 - { \__box_set_viewport:NnnnnN #1 {#2} {#3} {#4} {#5} \box_gset_eq:NN } -\cs_generate_variant:Nn \box_gset_viewport:Nnnnn { c } -\cs_new_protected:Npn \__box_set_viewport:NnnnnN #1#2#3#4#5#6 - { - \hbox_set:Nn \l__box_internal_box - { - \__kernel_kern:n { -#2 } - \box_use:N #1 - \__kernel_kern:n { #4 - \box_wd:N #1 } - } - \dim_compare:nNnTF {#3} < \c_zero_dim - { - \hbox_set:Nn \l__box_internal_box - { - \box_move_down:nn \c_zero_dim - { \box_use_drop:N \l__box_internal_box } - } - \box_set_dp:Nn \l__box_internal_box { - \__box_dim_eval:n {#3} } - } - { - \hbox_set:Nn \l__box_internal_box - { \box_move_down:nn {#3} { \box_use_drop:N \l__box_internal_box } } - \box_set_dp:Nn \l__box_internal_box \c_zero_dim - } - \dim_compare:nNnTF {#5} > \c_zero_dim - { - \hbox_set:Nn \l__box_internal_box - { - \box_move_up:nn \c_zero_dim - { \box_use_drop:N \l__box_internal_box } - } - \box_set_ht:Nn \l__box_internal_box - { - (#5) - \dim_compare:nNnT {#3} > \c_zero_dim - { - (#3) } - } - } - { - \hbox_set:Nn \l__box_internal_box - { - \box_move_up:nn { - \__box_dim_eval:n {#5} } - { \box_use_drop:N \l__box_internal_box } - } - \box_set_ht:Nn \l__box_internal_box \c_zero_dim - } - #6 #1 \l__box_internal_box - } \cs_new:Npn \flag_raise_if_clear:n #1 { \if_cs_exist:w flag~#1~0 \cs_end: diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index 198d834f086..21e73fab842 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-03-30}% +\def\ExplFileDate{2023-04-19}% \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 2dd58eebb4f..294451fd986 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-03-30}% +\def\ExplFileDate{2023-04-19}% \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 787ffb3187b..b5e40bc17d8 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-03-30}% +\def\ExplFileDate{2023-04-19}% \let\ExplLoaderFileDate\ExplFileDate \ProvidesPackage{expl3} [% |