[latex3-commits] [git/LaTeX3-latex3-latex3] main: Uppercasing Greek: drop accents after diacritic (75f0ce817)

Joseph Wright joseph.wright at morningstar2.co.uk
Thu Feb 2 09:48:39 CET 2023


Repository : https://github.com/latex3/latex3
On branch  : main
Link       : https://github.com/latex3/latex3/commit/75f0ce8177c783b172132c00af336cc53f97c05e

>---------------------------------------------------------------

commit 75f0ce8177c783b172132c00af336cc53f97c05e
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Thu Feb 2 07:24:57 2023 +0000

    Uppercasing Greek: drop accents after diacritic
    
    https://github.com/latex3/latex2e/issues/987.


>---------------------------------------------------------------

75f0ce8177c783b172132c00af336cc53f97c05e
 l3kernel/CHANGELOG.md                   |  4 ++++
 l3kernel/l3text-case.dtx                |  2 +-
 l3kernel/testfiles/m3text002.luatex.tlg | 14 ++++++++++++++
 l3kernel/testfiles/m3text002.lvt        | 10 +++++++++-
 l3kernel/testfiles/m3text002.tlg        | 14 ++++++++++++++
 l3kernel/testfiles/m3text002.xetex.tlg  | 14 ++++++++++++++
 6 files changed, 56 insertions(+), 2 deletions(-)

diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index 8add0a64e..bad61a725 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -7,6 +7,10 @@ this project uses date-based 'snapshot' version identifiers.
 
 ## [Unreleased]
 
+### Fixed
+- Handling of multiple accents when uppercasing Greek
+  (see https://github.com/latex3/latex2e/issues/987)
+
 ## [2023-02-01]
 
 ### Fixed
diff --git a/l3kernel/l3text-case.dtx b/l3kernel/l3text-case.dtx
index ea790d487..41ea3c6b1 100644
--- a/l3kernel/l3text-case.dtx
+++ b/l3kernel/l3text-case.dtx
@@ -1036,7 +1036,7 @@
               {
                 \@@_change_case_store:e
                   { \@@_change_case_codepoint:nn { upper } {#1} }
-                \@@_change_case_loop:nnw {#2} {#3}
+                \@@_change_case_upper_el_gobble:nnw {#2} {#3}
               }
               {
                 \@@_codepoint_compare:nNnTF {#4} = { "0345 }
diff --git a/l3kernel/testfiles/m3text002.luatex.tlg b/l3kernel/testfiles/m3text002.luatex.tlg
index c555db7a7..b9356aa07 100644
--- a/l3kernel/testfiles/m3text002.luatex.tlg
+++ b/l3kernel/testfiles/m3text002.luatex.tlg
@@ -197,6 +197,20 @@ TEST 17: Greek
 ΗΊ
 ΗΙ
 ῌ
+ἈἉἊἋἌἍἎἏ
+ΑΑΑΑΑΑΑΑ
+ἘἙἚἛἜἝ
+ΕΕΕΕΕΕ
+ἨἩἪἫἬἭἮἯ
+ΗΗΗΗΗΗΗΗ
+ἸἹἺἻἼἽἾἿ
+ΙΙΙΙΙΙΙΙ
+ὈὉὊὋὌὍ
+ΟΟΟΟΟΟ
+Υ̓ὙΥ̓̀ὛΥ̓́ὝΥ̓͂Ὗ
+ΥΥΥΥΥΥΥΥ
+ὨὩὪὫὬὭὮὯ
+ΩΩΩΩΩΩΩΩ
 ============================================================
 ============================================================
 TEST 18: Turkish/Azeri
diff --git a/l3kernel/testfiles/m3text002.lvt b/l3kernel/testfiles/m3text002.lvt
index 85384f515..ee9a712c6 100644
--- a/l3kernel/testfiles/m3text002.lvt
+++ b/l3kernel/testfiles/m3text002.lvt
@@ -1,5 +1,5 @@
 %
-% Copyright (C) 2020-2022 The LaTeX Project
+% Copyright (C) 2020-2023 The LaTeX Project
 %
 \input{regression-test}
 
@@ -205,6 +205,14 @@
     \text_uppercase:nn { el-x-iota } { ῄ }                \NEWLINE
     \greektest:n { ῄ }                                   \NEWLINE
     \text_uppercase:nn { el-x-iota } { ῄ }               \NEWLINE
+    % Taken from https://github.com/latex3/latex2e/issues/987
+    \greektest:n { ἀἁἂἃἄἅἆἇ }                             \NEWLINE
+    \greektest:n { ἐἑἒἓἔἕ }                               \NEWLINE
+    \greektest:n { ἠἡἢἣἤἥἦἧ }                             \NEWLINE
+    \greektest:n { ἰἱἲἳἴἵἶἷ }                             \NEWLINE
+    \greektest:n { ὀὁὂὃὄὅ }                               \NEWLINE
+    \greektest:n { ὐὑὒὓὔὕὖὗ }                             \NEWLINE
+    \greektest:n { ὠὡὢὣὤὥὦὧ }                             \NEWLINE
   }
 
 \TESTEXP { Turkish/Azeri }
diff --git a/l3kernel/testfiles/m3text002.tlg b/l3kernel/testfiles/m3text002.tlg
index 0d4d08e65..4caa73387 100644
--- a/l3kernel/testfiles/m3text002.tlg
+++ b/l3kernel/testfiles/m3text002.tlg
@@ -197,6 +197,20 @@ TEST 17: Greek
 ^^ce^^97^^ce^^99^^cc^^81
 ^^ce^^97^^ce^^99
 ^^ce^^97^^cd^^85
+^^e1^^bc^^88^^e1^^bc^^89^^e1^^bc^^8a^^e1^^bc^^8b^^e1^^bc^^8c^^e1^^bc^^8d^^e1^^bc^^8e^^e1^^bc^^8f
+^^ce^^91^^ce^^91^^ce^^91^^ce^^91^^ce^^91^^ce^^91^^ce^^91^^ce^^91
+^^e1^^bc^^98^^e1^^bc^^99^^e1^^bc^^9a^^e1^^bc^^9b^^e1^^bc^^9c^^e1^^bc^^9d
+^^ce^^95^^ce^^95^^ce^^95^^ce^^95^^ce^^95^^ce^^95
+^^e1^^bc^^a8^^e1^^bc^^a9^^e1^^bc^^aa^^e1^^bc^^ab^^e1^^bc^^ac^^e1^^bc^^ad^^e1^^bc^^ae^^e1^^bc^^af
+^^ce^^97^^ce^^97^^ce^^97^^ce^^97^^ce^^97^^ce^^97^^ce^^97^^ce^^97
+^^e1^^bc^^b8^^e1^^bc^^b9^^e1^^bc^^ba^^e1^^bc^^bb^^e1^^bc^^bc^^e1^^bc^^bd^^e1^^bc^^be^^e1^^bc^^bf
+^^ce^^99^^ce^^99^^ce^^99^^ce^^99^^ce^^99^^ce^^99^^ce^^99^^ce^^99
+^^e1^^bd^^88^^e1^^bd^^89^^e1^^bd^^8a^^e1^^bd^^8b^^e1^^bd^^8c^^e1^^bd^^8d
+^^ce^^9f^^ce^^9f^^ce^^9f^^ce^^9f^^ce^^9f^^ce^^9f
+^^ce^^a5^^cc^^93^^e1^^bd^^99^^ce^^a5^^cc^^93^^cc^^80^^e1^^bd^^9b^^ce^^a5^^cc^^93^^cc^^81^^e1^^bd^^9d^^ce^^a5^^cc^^93^^cd^^82^^e1^^bd^^9f
+^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5
+^^e1^^bd^^a8^^e1^^bd^^a9^^e1^^bd^^aa^^e1^^bd^^ab^^e1^^bd^^ac^^e1^^bd^^ad^^e1^^bd^^ae^^e1^^bd^^af
+^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9
 ============================================================
 ============================================================
 TEST 18: Turkish/Azeri
diff --git a/l3kernel/testfiles/m3text002.xetex.tlg b/l3kernel/testfiles/m3text002.xetex.tlg
index c555db7a7..b9356aa07 100644
--- a/l3kernel/testfiles/m3text002.xetex.tlg
+++ b/l3kernel/testfiles/m3text002.xetex.tlg
@@ -197,6 +197,20 @@ TEST 17: Greek
 ΗΊ
 ΗΙ
 ῌ
+ἈἉἊἋἌἍἎἏ
+ΑΑΑΑΑΑΑΑ
+ἘἙἚἛἜἝ
+ΕΕΕΕΕΕ
+ἨἩἪἫἬἭἮἯ
+ΗΗΗΗΗΗΗΗ
+ἸἹἺἻἼἽἾἿ
+ΙΙΙΙΙΙΙΙ
+ὈὉὊὋὌὍ
+ΟΟΟΟΟΟ
+Υ̓ὙΥ̓̀ὛΥ̓́ὝΥ̓͂Ὗ
+ΥΥΥΥΥΥΥΥ
+ὨὩὪὫὬὭὮὯ
+ΩΩΩΩΩΩΩΩ
 ============================================================
 ============================================================
 TEST 18: Turkish/Azeri





More information about the latex3-commits mailing list.