[latex3-commits] [git/LaTeX3-latex3-latex3] main: Swap meaning of el and el-x-iota when case changing Greek (539a4e844)

Joseph Wright joseph.wright at morningstar2.co.uk
Fri Feb 3 14:56:01 CET 2023


Repository : https://github.com/latex3/latex3
On branch  : main
Link       : https://github.com/latex3/latex3/commit/539a4e844aa9f631cbea3fe76ad7b9478f34cbd0

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

commit 539a4e844aa9f631cbea3fe76ad7b9478f34cbd0
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Fri Feb 3 13:56:01 2023 +0000

    Swap meaning of el and el-x-iota when case changing  Greek


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

539a4e844aa9f631cbea3fe76ad7b9478f34cbd0
 l3kernel/CHANGELOG.md                   |  4 ++++
 l3kernel/l3text-case.dtx                | 12 ++++++------
 l3kernel/l3text.dtx                     |  5 +++--
 l3kernel/testfiles/m3text002.luatex.tlg | 10 +++++-----
 l3kernel/testfiles/m3text002.tlg        | 10 +++++-----
 l3kernel/testfiles/m3text002.xetex.tlg  | 10 +++++-----
 6 files changed, 28 insertions(+), 23 deletions(-)

diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index 5126f2d23..9024ea39c 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -7,6 +7,10 @@ this project uses date-based 'snapshot' version identifiers.
 
 ## [Unreleased]
 
+### Changed
+- Swap meaning of `el` and `el-x-iota` when case changing
+  Greek: match traditional LaTeX approach
+
 ## [2023-02-02]
 
 ### Fixed
diff --git a/l3kernel/l3text-case.dtx b/l3kernel/l3text-case.dtx
index 6eded32a3..88b367c63 100644
--- a/l3kernel/l3text-case.dtx
+++ b/l3kernel/l3text-case.dtx
@@ -1124,12 +1124,6 @@
 %   Handling the \emph{ypogegrammeni} output depends on the selected approach
 %    \begin{macrocode}
 \cs_new:Npn \@@_change_case_upper_el_ypogegrammeni:n #1
-  {
-    \@@_change_case_codepoint:nn { upper } {#1}
-    \codepoint_generate:nn { "0399 }
-      { \char_value_catcode:n { "0399 } }
-  }
-\cs_new:cpn { @@_change_case_upper_el-x-iota_ypogegrammeni:n } #1
   {
     \int_case:nnF
       { \@@_codepoint_from_chars:Nw #1 }
@@ -1145,6 +1139,12 @@
   }
 \cs_new:Npn \@@_change_case_upper_el_ypogegrammeni_aux:n #1
   { \codepoint_generate:nn {#1} { \char_value_catcode:n {#1} } }
+\cs_new:cpn { @@_change_case_upper_el-x-iota_ypogegrammeni:n } #1
+  {
+    \@@_change_case_codepoint:nn { upper } {#1}
+    \codepoint_generate:nn { "0399 }
+      { \char_value_catcode:n { "0399 } }
+  }
 %    \end{macrocode}
 %   For clearing out trailing combining marks after we have dealt with
 %   the first one.
diff --git a/l3kernel/l3text.dtx b/l3kernel/l3text.dtx
index b65167400..4cddc81ac 100644
--- a/l3kernel/l3text.dtx
+++ b/l3kernel/l3text.dtx
@@ -165,8 +165,9 @@
 %     \item Greek (\texttt{el}).
 %       Removes accents from Greek letters when uppercasing; titlecasing
 %       leaves accents in place. A variant \texttt{el-x-iota} is available
-%       which retains the \textit{ypogegrammeni} (subscript muted iota)
-%       when uppercasing: the standard version converts these to a following
+%       which converts the \textit{ypogegrammeni} (subscript muted iota)
+%       to capital iota when uppercasing: the standard version retains the
+%       subscript versions.
 %       capital iota.
 %     \item Lithuanian (\texttt{lt}).
 %       The lowercase letters i and j should retain a dot above when the
diff --git a/l3kernel/testfiles/m3text002.luatex.tlg b/l3kernel/testfiles/m3text002.luatex.tlg
index c6913199f..e678106cd 100644
--- a/l3kernel/testfiles/m3text002.luatex.tlg
+++ b/l3kernel/testfiles/m3text002.luatex.tlg
@@ -192,11 +192,11 @@ TEST 17: Greek
 Ὀδυσσεύς
 Ὀδυσσεύς
 ΉΙ
-ΗΙ
 ῌ
-ΗΊ
 ΗΙ
+ΗΊ
 ῌ
+ΗΙ
 ἈἉἊἋἌἍἎἏ
 ΑΑΑΑΑΑΑΑ
 ἘἙἚἛἜἝ
@@ -211,12 +211,12 @@ TEST 17: Greek
 ΥΥΥΥΥΥΥΥ
 ὨὩὪὫὬὭὮὯ
 ΩΩΩΩΩΩΩΩ
-ΑΙΑΙΑΙΑΙΑΙΑΙΑΙΑΙ
 ᾼᾼᾼᾼᾼᾼᾼᾼ
-ΗΙΗΙΗΙΗΙΗΙΗΙΗΙΗΙ
+ΑΙΑΙΑΙΑΙΑΙΑΙΑΙΑΙ
 ῌῌῌῌῌῌῌῌ
-ΩΙΩΙΩΙΩΙΩΙΩΙΩΙΩΙ
+ΗΙΗΙΗΙΗΙΗΙΗΙΗΙΗΙ
 ῼῼῼῼῼῼῼῼ
+ΩΙΩΙΩΙΩΙΩΙΩΙΩΙΩΙ
 ============================================================
 ============================================================
 TEST 18: Turkish/Azeri
diff --git a/l3kernel/testfiles/m3text002.tlg b/l3kernel/testfiles/m3text002.tlg
index f10b6e3d0..77e8de711 100644
--- a/l3kernel/testfiles/m3text002.tlg
+++ b/l3kernel/testfiles/m3text002.tlg
@@ -192,11 +192,11 @@ TEST 17: Greek
 ^^e1^^bd^^88^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82
 ^^e1^^bd^^88^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82
 ^^ce^^89^^ce^^99
-^^ce^^97^^ce^^99
 ^^e1^^bf^^8c
-^^ce^^97^^ce^^99^^cc^^81
 ^^ce^^97^^ce^^99
+^^ce^^97^^ce^^99^^cc^^81
 ^^e1^^bf^^8c
+^^ce^^97^^ce^^99
 ^^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
@@ -211,12 +211,12 @@ TEST 17: Greek
 ^^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
-^^ce^^91^^ce^^99^^ce^^91^^ce^^99^^ce^^91^^ce^^99^^ce^^91^^ce^^99^^ce^^91^^ce^^99^^ce^^91^^ce^^99^^ce^^91^^ce^^99^^ce^^91^^ce^^99
 ^^e1^^be^^bc^^e1^^be^^bc^^e1^^be^^bc^^e1^^be^^bc^^e1^^be^^bc^^e1^^be^^bc^^e1^^be^^bc^^e1^^be^^bc
-^^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
+^^ce^^91^^ce^^99^^ce^^91^^ce^^99^^ce^^91^^ce^^99^^ce^^91^^ce^^99^^ce^^91^^ce^^99^^ce^^91^^ce^^99^^ce^^91^^ce^^99^^ce^^91^^ce^^99
 ^^e1^^bf^^8c^^e1^^bf^^8c^^e1^^bf^^8c^^e1^^bf^^8c^^e1^^bf^^8c^^e1^^bf^^8c^^e1^^bf^^8c^^e1^^bf^^8c
-^^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
+^^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 c6913199f..e678106cd 100644
--- a/l3kernel/testfiles/m3text002.xetex.tlg
+++ b/l3kernel/testfiles/m3text002.xetex.tlg
@@ -192,11 +192,11 @@ TEST 17: Greek
 Ὀδυσσεύς
 Ὀδυσσεύς
 ΉΙ
-ΗΙ
 ῌ
-ΗΊ
 ΗΙ
+ΗΊ
 ῌ
+ΗΙ
 ἈἉἊἋἌἍἎἏ
 ΑΑΑΑΑΑΑΑ
 ἘἙἚἛἜἝ
@@ -211,12 +211,12 @@ TEST 17: Greek
 ΥΥΥΥΥΥΥΥ
 ὨὩὪὫὬὭὮὯ
 ΩΩΩΩΩΩΩΩ
-ΑΙΑΙΑΙΑΙΑΙΑΙΑΙΑΙ
 ᾼᾼᾼᾼᾼᾼᾼᾼ
-ΗΙΗΙΗΙΗΙΗΙΗΙΗΙΗΙ
+ΑΙΑΙΑΙΑΙΑΙΑΙΑΙΑΙ
 ῌῌῌῌῌῌῌῌ
-ΩΙΩΙΩΙΩΙΩΙΩΙΩΙΩΙ
+ΗΙΗΙΗΙΗΙΗΙΗΙΗΙΗΙ
 ῼῼῼῼῼῼῼῼ
+ΩΙΩΙΩΙΩΙΩΙΩΙΩΙΩΙ
 ============================================================
 ============================================================
 TEST 18: Turkish/Azeri





More information about the latex3-commits mailing list.