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