[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.