[latex3-commits] [git/LaTeX3-latex3-latex3] main: Suppress NFD of Greek numeral sign (7c9c550d9)
Joseph Wright
joseph.wright at morningstar2.co.uk
Wed Feb 22 08:45:58 CET 2023
Repository : https://github.com/latex3/latex3
On branch : main
Link : https://github.com/latex3/latex3/commit/7c9c550d96ad492bcd2dc8ba8b6ca9c51aab8a08
>---------------------------------------------------------------
commit 7c9c550d96ad492bcd2dc8ba8b6ca9c51aab8a08
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Wed Feb 22 07:45:58 2023 +0000
Suppress NFD of Greek numeral sign
As in pdfTeX the result is not set up for typesetting!
>---------------------------------------------------------------
7c9c550d96ad492bcd2dc8ba8b6ca9c51aab8a08
l3kernel/l3text-case.dtx | 12 ++++++++----
l3kernel/testfiles/m3text002.luatex.tlg | 2 ++
l3kernel/testfiles/m3text002.lvt | 1 +
l3kernel/testfiles/m3text002.ptex.tlg | 2 ++
l3kernel/testfiles/m3text002.tlg | 2 ++
l3kernel/testfiles/m3text002.uptex.tlg | 2 ++
l3kernel/testfiles/m3text002.xetex.tlg | 2 ++
7 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/l3kernel/l3text-case.dtx b/l3kernel/l3text-case.dtx
index 72ecd8c33..3e5c9afd2 100644
--- a/l3kernel/l3text-case.dtx
+++ b/l3kernel/l3text-case.dtx
@@ -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 } }
diff --git a/l3kernel/testfiles/m3text002.luatex.tlg b/l3kernel/testfiles/m3text002.luatex.tlg
index a0ae2040e..9739929ae 100644
--- a/l3kernel/testfiles/m3text002.luatex.tlg
+++ b/l3kernel/testfiles/m3text002.luatex.tlg
@@ -221,6 +221,8 @@ TEST 17: Greek
ΗΙΗΙΗΙΗΙΗΙΗΙΗΙΗΙ
ῼῼῼῼῼῼῼῼ
ΩΙΩΙΩΙΩΙΩΙΩΙΩΙΩΙ
+ʹ
+ʹ
============================================================
============================================================
TEST 18: Turkish/Azeri
diff --git a/l3kernel/testfiles/m3text002.lvt b/l3kernel/testfiles/m3text002.lvt
index b90b267f3..1ed52d333 100644
--- a/l3kernel/testfiles/m3text002.lvt
+++ b/l3kernel/testfiles/m3text002.lvt
@@ -221,6 +221,7 @@
\greektestiota:n { ᾀᾁᾂᾃᾄᾅᾆᾇ } \NEWLINE
\greektestiota:n { ᾐᾑᾒᾓᾔᾕᾖᾗ } \NEWLINE
\greektestiota:n { ᾠᾡᾢᾣᾤᾦᾧᾥ } \NEWLINE
+ \greektest:n { ʹ } \NEWLINE
}
\TESTEXP { Turkish/Azeri }
diff --git a/l3kernel/testfiles/m3text002.ptex.tlg b/l3kernel/testfiles/m3text002.ptex.tlg
index 19651e5c9..6766a30dd 100644
--- a/l3kernel/testfiles/m3text002.ptex.tlg
+++ b/l3kernel/testfiles/m3text002.ptex.tlg
@@ -221,6 +221,8 @@ TEST 17: Greek
^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99
^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc
^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99
+^^cd^^b4
+^^cd^^b4
============================================================
============================================================
TEST 18: Turkish/Azeri
diff --git a/l3kernel/testfiles/m3text002.tlg b/l3kernel/testfiles/m3text002.tlg
index b4e1f9553..acabe47d7 100644
--- a/l3kernel/testfiles/m3text002.tlg
+++ b/l3kernel/testfiles/m3text002.tlg
@@ -221,6 +221,8 @@ TEST 17: Greek
^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99
^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc
^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99
+^^cd^^b4
+^^cd^^b4
============================================================
============================================================
TEST 18: Turkish/Azeri
diff --git a/l3kernel/testfiles/m3text002.uptex.tlg b/l3kernel/testfiles/m3text002.uptex.tlg
index cc2298c8c..48ffe3f95 100644
--- a/l3kernel/testfiles/m3text002.uptex.tlg
+++ b/l3kernel/testfiles/m3text002.uptex.tlg
@@ -221,6 +221,8 @@ TEST 17: Greek
^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99^^ce^^97^^ce^^99
^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc^^e1^^bf^^bc
^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99^^ce^^a9^^ce^^99
+ʹ
+ʹ
============================================================
============================================================
TEST 18: Turkish/Azeri
diff --git a/l3kernel/testfiles/m3text002.xetex.tlg b/l3kernel/testfiles/m3text002.xetex.tlg
index a0ae2040e..9739929ae 100644
--- a/l3kernel/testfiles/m3text002.xetex.tlg
+++ b/l3kernel/testfiles/m3text002.xetex.tlg
@@ -221,6 +221,8 @@ TEST 17: Greek
ΗΙΗΙΗΙΗΙΗΙΗΙΗΙΗΙ
ῼῼῼῼῼῼῼῼ
ΩΙΩΙΩΙΩΙΩΙΩΙΩΙΩΙ
+ʹ
+ʹ
============================================================
============================================================
TEST 18: Turkish/Azeri
More information about the latex3-commits
mailing list.