summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx')
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx14
1 files changed, 9 insertions, 5 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
index 72ecd8c3352..e8e07d236ca 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-02-07}
+% \date{Released 2023-02-22}
%
% \maketitle
%
@@ -882,7 +882,7 @@
% \begin{macro}[EXP]{\@@_change_case_upper_el_gobble:nnw}
% \begin{macro}[EXP]{\@@_change_case_upper_el_gobble:nnN}
% \begin{macro}[EXP]{\@@_change_case_upper_el_gobble:nnn}
-% \begin{macro}[EXP,TF]{\@@_change_case_if_greek:n}
+% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek:n}
% \begin{macro}[EXP]{\@@_change_case_if_greek:n}
% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek:n}
% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek_accent:n}
@@ -902,11 +902,15 @@
% (\url{https://icu.unicode.org/design/case/greek-upper}),
% although necessarily the implementation is somewhat different. The
% \emph{ypogegrammeni} is filtered out here as it is not actually in the
-% Greek range, so gets lost if we leave until later.
+% Greek range, so gets lost if we leave until later. The one Greek codepoint
+% we skip is the numeral sign: it's got an awkward NFD for \pdfTeX{} so is
+% best left unchanged.
% \begin{macrocode}
\cs_new:Npn \@@_change_case_upper_el:nnnn #1#2#3#4
{
- \@@_change_case_if_greek:nTF {#4}
+ \bool_lazy_and:nnTF
+ { \@@_change_case_if_greek_p:n {#4} }
+ { ! \@@_codepoint_compare_p:nNn {#4} = { "0374 } }
{
\exp_args:Ne \@@_change_case_upper_el:nnn
{
@@ -1178,7 +1182,7 @@
% \end{macrocode}
% Luckily the Greek range is limited and clear.
% \begin{macrocode}
-\prg_new_conditional:Npnn \@@_change_case_if_greek:n #1 { TF }
+\prg_new_conditional:Npnn \@@_change_case_if_greek:n #1 { p , TF }
{
\exp_args:Nf \@@_change_case_if_greek:n
{ \int_eval:n { \@@_codepoint_from_chars:Nw #1 } }