[latex3-commits] [latex3/latex3] main: Adjust treatment of "eta" in uppercasing "el" (b972c90c8)
github at latex-project.org
github at latex-project.org
Mon Jun 12 08:46:44 CEST 2023
Repository : https://github.com/latex3/latex3
On branch : main
Link : https://github.com/latex3/latex3/commit/b972c90c84042cb5afde22357e978943a1767bce
>---------------------------------------------------------------
commit b972c90c84042cb5afde22357e978943a1767bce
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Mon Jun 12 06:41:56 2023 +0100
Adjust treatment of "eta" in uppercasing "el"
A codepoint followed by a control sequence
isn't really isolated.
>---------------------------------------------------------------
b972c90c84042cb5afde22357e978943a1767bce
l3kernel/l3text-case.dtx | 36 ++++++++----------------------------
1 file changed, 8 insertions(+), 28 deletions(-)
diff --git a/l3kernel/l3text-case.dtx b/l3kernel/l3text-case.dtx
index 608b5c1a3..dd903f104 100644
--- a/l3kernel/l3text-case.dtx
+++ b/l3kernel/l3text-case.dtx
@@ -1552,10 +1552,10 @@
% \begin{macro}[EXP]{\@@_change_case_boundary_upper_el:nnN}
% \begin{macro}[EXP]{\@@_change_case_boundary_upper_el:nnn}
% \begin{macro}[EXP]{\@@_change_case_boundary_upper_el:nnnw}
-% \begin{macro}[EXP]{\@@_change_case_boundary_upper_el:nnnN}
-% There is one special case in Greek that needs to be picked up based on
-% being an isolated letter. We do that using a test similar to final sigma,
-% but it has to fire off from the space grabber.
+% There is one things that need special treatment at start start of
+% words in Greek. For an isolated accent \emph{eta},
+% which is handled by seeing if we have exactly one of the affected
+% codepoints followed by a space or brace group.
% \begin{macrocode}
\cs_new:Npn \@@_change_case_boundary_upper_el:Nnnw
#1#2#3#4 \q_@@_recursion_stop
@@ -1593,42 +1593,22 @@
#1#2#3#4 \q_@@_recursion_stop
{
\tl_if_head_is_N_type:nTF {#4}
- { \@@_change_case_boundary_upper_el:nnnN {#3} }
+ { \@@_change_case_loop:nnw {#1} {#2} #3 }
{
\@@_change_case_store:e
{
\codepoint_generate:nn { "0389 }
{ \@@_change_case_catcode:nn {#3} { "0389 } }
}
- \@@_change_case_loop:nnw
- }
- {#1} {#2} #4 \q_@@_recursion_stop
- }
-\cs_new:Npn \@@_change_case_boundary_upper_el:nnnN #1#2#3#4
- {
- \bool_lazy_or:nnTF
- { \token_if_letter_p:N #4 }
- {
- \bool_lazy_and_p:nn
- { \token_if_active_p:N #4 }
- { ! \int_compare_p:nNn {`#4} < { "80 } }
- }
- { \@@_change_case_loop:nnw {#2} {#3} #1#4 }
- {
- \@@_change_case_store:e
- {
- \codepoint_generate:nn { "0389 }
- { \@@_change_case_catcode:nn {#1} { "0389 } }
- }
- \@@_change_case_loop:nnw {#2} {#3} #4
+ \@@_change_case_loop:nnw {#1} {#2}
}
+ #4 \q_@@_recursion_stop
}
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
% \begin{macro}[EXP]{\@@_change_case_title_el:nnnn}
% Titlecasing retains accents, but to prevent the uppercasing code
% from kicking in, there has to be an explicit function here.
@@ -1746,7 +1726,7 @@
% \end{macrocode}
% If there was a hit, output the result with the dot-above and move on.
% Otherwise, look for one of the three letters that can take a combining
-% accent: I, J and I-ogonek.
+% accent: I, J nd I-ogonek.
% \begin{macrocode}
\cs_new:Npn \@@_change_case_lower_lt_auxi:nnnn #1#2#3#4
{
More information about the latex3-commits
mailing list.