[latex3-commits] [latex3/latex3] main: Revert "Retain breathing marks on first char. in uppercase Greek (closes #1228)" (9067b64ef)

github at latex-project.org github at latex-project.org
Mon Jun 12 12:13:36 CEST 2023


Repository : https://github.com/latex3/latex3
On branch  : main
Link       : https://github.com/latex3/latex3/commit/9067b64ef87de709f2ecc83a8026d7c803186133

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

commit 9067b64ef87de709f2ecc83a8026d7c803186133
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Mon Jun 12 09:16:05 2023 +0100

    Revert "Retain breathing marks on first char. in uppercase Greek (closes #1228)"
    
    This reverts commit 5b6d9391261afd3d69347e8a264c5f2eb072f5d5.


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

9067b64ef87de709f2ecc83a8026d7c803186133
 l3kernel/CHANGELOG.md                   |   2 -
 l3kernel/l3text-case.dtx                | 194 +-------------------------------
 l3kernel/testfiles/m3text002.luatex.tlg |  22 ++--
 l3kernel/testfiles/m3text002.lvt        |   4 -
 l3kernel/testfiles/m3text002.ptex.tlg   |  22 ++--
 l3kernel/testfiles/m3text002.tlg        |  22 ++--
 l3kernel/testfiles/m3text002.uptex.tlg  |  22 ++--
 l3kernel/testfiles/m3text002.xetex.tlg  |  22 ++--
 8 files changed, 41 insertions(+), 269 deletions(-)

diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index a9887046e..d469598b6 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -10,8 +10,6 @@ this project uses date-based 'snapshot' version identifiers.
 ### Changed
 - Exclude entries in `\l_text_case_exclude_arg_tl` from expansion in `\text_expand:n`
   (latex3/latex2e\#904)
-- Retain breathing marks on first letter in a word when uppercasing Greek
-  (issue \#1228)
 
 ## [2023-06-05]
 
diff --git a/l3kernel/l3text-case.dtx b/l3kernel/l3text-case.dtx
index 8012a7e5e..dd903f104 100644
--- a/l3kernel/l3text-case.dtx
+++ b/l3kernel/l3text-case.dtx
@@ -1587,7 +1587,7 @@
         { \@@_codepoint_compare_p:nNn {#3} = { "1F2A } }
       }
       { \@@_change_case_boundary_upper_el:nnnw {#1} {#2} {#3} }
-      { \@@_change_case_breather:nnn {#1} {#2} {#3} }
+      { \@@_change_case_loop:nnw {#1} {#2} #3 }
   }
 \cs_new:Npn \@@_change_case_boundary_upper_el:nnnw
   #1#2#3#4 \q_@@_recursion_stop
@@ -1609,198 +1609,6 @@
 % \end{macro}
 % \end{macro}
 % \end{macro}
-% \begin{macro}[EXP]{\@@_change_case_breather:nnn}
-% \begin{macro}[EXP]{\@@_change_case_breather:nnnn}
-% \begin{macro}[EXP]{\@@_change_case_breather:nnnnw}
-% \begin{macro}[EXP]{\@@_change_case_breather:nnnnnw}
-% \begin{macro}[EXP]{\@@_change_case_breather_aux:nnnnn}
-% \begin{macro}[EXP]{\@@_change_case_breather_aux:nnnnw}
-% \begin{macro}[EXP]{\@@_change_case_breather_aux:nnnnN}
-% \begin{macro}[EXP]{\@@_change_case_breather_dialytika:nnnnn}
-% \begin{macro}[EXP]{\@@_change_case_breather_preserve:nnnn}
-% \begin{macro}[EXP]{\@@_change_case_breather_preserve:n}
-% \begin{macro}[EXP]
-%   {
-%     \@@_change_case_breather_psili: ,
-%     \@@_change_case_breather_dasia:
-%   }
-%   In Greek, breathing diacritics are normally dropped when uppercasing:
-%   see the code for the general case. However, for the first grapheme
-%   of a word, that's not the situation: see
-%   \url{https://unicode-org.atlassian.net/browse/ICU-12845#icft=ICU-12845}.
-%   Here, we retain the breather \emph{unless} the next codpoint takes
-%   a \emph{dialytika}. We start by checking if the current codepoint is
-%   in the Greek range, then decomposing.
-%    \begin{macrocode}
-\cs_new:Npn \@@_change_case_breather:nnn #1#2#3
-  {
-    \@@_change_case_if_greek:nTF {#3}
-      {
-        \exp_args:Ne \@@_change_case_breather:nnnn
-          {
-            \codepoint_to_nfd:n
-              { \@@_codepoint_from_chars:Nw #3 }
-          }
-            {#1} {#2} {#3}
-      }
-      { \@@_change_case_loop:nnw {#1} {#2} #3 }
-  }
-\cs_new:Npn \@@_change_case_breather:nnnn #1#2#3#4
-  {
-    \@@_codepoint_process:nN
-      { \@@_change_case_breather:nnnnw {#2} {#3} {#4} }
-        #1 \q_mark
-  }
-%    \end{macrocode}
-%   Normal form decomposition will always give between one and three
-%   codepoints. Luckily, the two breathing marks (\emph{psili} and
-%   \emph{dasia}) will be in a predictable position: last. So we can
-%   quickly establish first that there was a change on decomposition,
-%   and second if the final resulting codepoint is one of the two we
-%   care about.
-%    \begin{macrocode}
-\cs_new:Npn \@@_change_case_breather:nnnnw #1#2#3#4#5 \q_mark
-  {
-    \tl_if_blank:nTF {#5}
-      { \@@_change_case_loop:nnw {#1} {#2} #3 }
-      {
-        \@@_codepoint_process:nN
-          { \@@_change_case_breather:nnnnnw {#1} {#2} {#3} {#4} }
-            #5 \q_mark
-      }
-  }
-\cs_new:Npn \@@_change_case_breather:nnnnnw #1#2#3#4#5#6 \q_mark
-  {
-    \tl_if_blank:nTF {#6}
-     {
-       \@@_change_case_breather_aux:nnnnn
-         {#1} {#2} {#3} {#4} {#5}
-     }
-     {
-       \@@_change_case_breather_aux:nnnnn
-         {#1} {#2} {#3} {#4} {#6}
-     }
-  }
-\cs_new:Npn \@@_change_case_breather_aux:nnnnn #1#2#3#4#5
-  {
-    \bool_lazy_or:nnTF
-      { \@@_codepoint_compare_p:nNn {#5} = { "0313 } }
-      { \@@_codepoint_compare_p:nNn {#5} = { "0314 } }
-      { \@@_change_case_breather_aux:nnnnw {#1} {#2} {#4} {#5} }
-      { \@@_change_case_loop:nnw {#1} {#2} #3 }
-  }
-%    \end{macrocode}
-%   Now the lookahead can be fired: check the next codepoint and assess
-%   whether it takes a \emph{dialytika}. The code paths then split: either
-%   retain the breathing mark or generate the \emph{dialytika}: the
-%   latter is code shared with the general mechanism.
-%    \begin{macrocode}
-\cs_new:Npn \@@_change_case_breather_aux:nnnnw #1#2#3#4#5
-  \q_@@_recursion_stop
-  {
-    \tl_if_head_is_N_type:nTF {#5}
-      { \@@_change_case_breather_aux:nnnnN  }
-      { \@@_change_case_breather_preserve:nnnn }
-        {#1} {#2} {#3} {#4} #5 \q_@@_recursion_stop
-  }
-\cs_new:Npn \@@_change_case_breather_aux:nnnnN #1#2#3#4#5
-  {
-    \@@_codepoint_process:nN
-      { \@@_change_case_breather_dialytika:nnnnn {#1} {#2} {#3} {#4} } #5
-  }
-\cs_new:Npn \@@_change_case_breather_dialytika:nnnnn #1#2#3#4#5
-  {
-     \@@_change_case_if_takes_dialytika:nTF {#5}
-       {
-         \@@_change_case_store:e
-           { \@@_change_case_codepoint:nn { upper } {#3} }
-         \@@_change_case_upper_el_dialytika:n {#5}
-         \@@_change_case_loop:nnw {#1} {#2}
-       }
-       {
-         \@@_change_case_breather_preserve:nnnn {#1} {#2} {#3} {#4}
-         #5
-       }
-  }
-%    \end{macrocode}
-%   Finally, generate the correct output codepoint to retain the
-%   breather: there are two of those, and a limited number of
-%   codepoints they apply two, so we simply list out all of the
-%   cases by hand. There isn't a pre-composed uppercase upsilon with
-%   \emph{psili}: at present, we therefore still drop that particular
-%   diacritic (it's not clear why the codepoint is absent but suggests
-%   there is no reason to support it).
-%    \begin{macrocode}
-\cs_new:Npn \@@_change_case_breather_preserve:nnnn #1#2#3#4
-  {
-    \@@_change_case_store:e
-      {
-        \exp_args:Ne \@@_change_case_breather_preserve:n
-          {
-            \@@_codepoint_compare:nNnTF {#4}  = { "0313 }
-              { \@@_change_case_breather_psili:n }
-              { \@@_change_case_breather_dasia:n }
-                {#3}
-          }
-       }
-    \@@_change_case_loop:nnw {#1} {#2}
-  }
-\cs_new:Npn \@@_change_case_breather_preserve:n #1
-  { \codepoint_generate:nn {#1} { \char_value_catcode:n {#1} } }
-\cs_new:Npn \@@_change_case_breather_psili:n #1
-  {
-    \int_case:nn { \@@_codepoint_from_chars:Nw #1 }
-      {
-        { "0391 } { "1F08 }
-        { "03B1 } { "1F08 }
-        { "0395 } { "1F18 }
-        { "03B5 } { "1F18 }
-        { "0397 } { "1F28 }
-        { "03B7 } { "1F28 }
-        { "0399 } { "1F38 }
-        { "03B9 } { "1F38 }
-        { "039F } { "1F48 }
-        { "03BF } { "1F48 }
-        { "03A5 } { "03A9 }
-        { "03C5 } { "03A9 }
-        { "03A9 } { "1F68 }
-        { "03C9 } { "1F68 }
-      }
-  }
-\cs_new:Npn \@@_change_case_breather_dasia:n #1
-  {
-    \int_case:nn { \@@_codepoint_from_chars:Nw #1 }
-      {
-        { "0391 } { "1F09 }
-        { "03B1 } { "1F09 }
-        { "0395 } { "1F19 }
-        { "03B5 } { "1F19 }
-        { "0397 } { "1F29 }
-        { "03B7 } { "1F29 }
-        { "0399 } { "1F39 }
-        { "03B9 } { "1F39 }
-        { "039F } { "1F49 }
-        { "03BF } { "1F49 }
-        { "03A5 } { "1F59 }
-        { "03C5 } { "1F59 }
-        { "03A9 } { "1F69 }
-        { "03C9 } { "1F69 }
-        { "03A1 } { "1FEC }
-        { "03C1 } { "1FEC }
-      }
-  }
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
 % \begin{macro}[EXP]{\@@_change_case_title_el:nnnn}
 %   Titlecasing retains accents, but to prevent the uppercasing code
 %   from kicking in, there has to be an explicit function here.
diff --git a/l3kernel/testfiles/m3text002.luatex.tlg b/l3kernel/testfiles/m3text002.luatex.tlg
index 856b4e810..9a830d284 100644
--- a/l3kernel/testfiles/m3text002.luatex.tlg
+++ b/l3kernel/testfiles/m3text002.luatex.tlg
@@ -180,7 +180,7 @@ TEST 17: Greek
 ΝΟΜΙΚΟΎ Ή ΔΙΕΘΝΟΎΣ
 ΝΟΜΙΚΟΥ Ή ΔΙΕΘΝΟΥΣ
 ἘΠΕΙΔῊ Ἡ ἈΝΑΓΝΏΡΙΣΗ
-ἘΠΕΙΔΗ Ἡ ἈΝΑΓΝΩΡΙΣΗ
+ΕΠΕΙΔΗ Η ΑΝΑΓΝΩΡΙΣΗ
 ΝΟΜΙΚΟΥ͂ Ἢ ΔΙΕΘΝΟΥ͂Σ
 ΝΟΜΙΚΟΥ Ή ΔΙΕΘΝΟΥΣ
 ΝΈΟ, ΔΗΜΙΟΥΡΓΊΑ
@@ -202,19 +202,19 @@ TEST 17: Greek
 ῌ
 ΗΙ
 ἈἉἊἋἌἍἎἏ
-ἈΑΑΑΑΑΑΑ
+ΑΑΑΑΑΑΑΑ
 ἘἙἚἛἜἝ
-ἘΕΕΕΕΕ
+ΕΕΕΕΕΕ
 ἨἩἪἫἬἭἮἯ
-ἨΗΗΗΗΗΗΗ
+ΗΗΗΗΗΗΗΗ
 ἸἹἺἻἼἽἾἿ
-ἸΙΙΙΙΙΙΙ
+ΙΙΙΙΙΙΙΙ
 ὈὉὊὋὌὍ
-ὈΟΟΟΟΟ
+ΟΟΟΟΟΟ
 Υ̓ὙΥ̓̀ὛΥ̓́ὝΥ̓͂Ὗ
-ΩΥΥΥΥΥΥΥ
+ΥΥΥΥΥΥΥΥ
 ὨὩὪὫὬὭὮὯ
-ὨΩΩΩΩΩΩΩ
+ΩΩΩΩΩΩΩΩ
 ᾼᾼᾼᾼᾼᾼᾼᾼ
 ΑΙΑΙΑΙΑΙΑΙΑΙΑΙΑΙ
 ῌῌῌῌῌῌῌῌ
@@ -229,12 +229,6 @@ TEST 17: Greek
 ͺ῀`^^b4῾᾽᾿῍῎῝῞῟῏῭^^a8῁
 ;
 ;
-ΠΎΡ̓ῬΟΣ
-ΠΥΡΡΟΣ
-ῬΌΔΟΝ
-ῬΟΔΟΝ
-ΠΆΤΕΡ ἩΜΩ͂Ν Ὁ ἘΝ ΤΟΙ͂Σ ΟΥ̓ΡΑΝΟΙ͂Σ
-ΠΑΤΕΡ ἩΜΩΝ Ὁ ἘΝ ΤΟΙΣ ΟΥΡΑΝΟΙΣ
 ============================================================
 ============================================================
 TEST 18: Turkish/Azeri
diff --git a/l3kernel/testfiles/m3text002.lvt b/l3kernel/testfiles/m3text002.lvt
index 8304902ff..1d513d8b7 100644
--- a/l3kernel/testfiles/m3text002.lvt
+++ b/l3kernel/testfiles/m3text002.lvt
@@ -224,10 +224,6 @@
     \greektest:n { Το~ένα~Ή~το~άλλο }                     \NEWLINE
     \greektest:n { ͺ ῀ ` ´ ῾ ᾽ ᾿ ῍ ῎ ῝ ῞ ῟ ῏ ῭ ΅ ῁ }      \NEWLINE
     \greektest:n { ; }                                    \NEWLINE
-    % Taken from https://unicode-org.atlassian.net/browse/ICU-12845#icft=ICU-12845
-    \greektest:n { Πύῤῥος }                               \NEWLINE
-    \greektest:n { ῥόδον }                                \NEWLINE
-    \greektest:n { Πάτερ~ἡμῶν~ὁ~ἐν~τοῖς~οὐρανοῖς }        \NEWLINE
   }
 
 \TESTEXP { Turkish/Azeri }
diff --git a/l3kernel/testfiles/m3text002.ptex.tlg b/l3kernel/testfiles/m3text002.ptex.tlg
index b15553f98..b9bdd227d 100644
--- a/l3kernel/testfiles/m3text002.ptex.tlg
+++ b/l3kernel/testfiles/m3text002.ptex.tlg
@@ -180,7 +180,7 @@ TEST 17: Greek
 νομικο^^ce^^8e ^^ce^^89 διεθνο^^ce^^8e^^ce^^a3
 νομικο^^ce^^a5 ^^ce^^89 διεθνο^^ce^^a5^^ce^^a3
 ^^e1^^bc^^98πειδ^^e1^^bf^^8a ^^e1^^bc^^a9 ^^e1^^bc^^88ναγν^^ce^^8fριση
-^^e1^^bc^^98πειδ^^ce^^97 ^^e1^^bc^^a9 ^^e1^^bc^^88ναγν^^ce^^a9ριση
+^^ce^^95πειδ^^ce^^97 ^^ce^^97 ^^ce^^91ναγν^^ce^^a9ριση
 νομικο^^ce^^a5^^cd^^82 ^^e1^^bc^^aa διεθνο^^ce^^a5^^cd^^82^^ce^^a3
 νομικο^^ce^^a5 ^^ce^^89 διεθνο^^ce^^a5^^ce^^a3
 Ν^^ce^^88ο, Δημιουργ^^ce^^8aα
@@ -202,19 +202,19 @@ TEST 17: Greek
 ^^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
-^^e1^^bc^^88^^ce^^91^^ce^^91^^ce^^91^^ce^^91^^ce^^91^^ce^^91^^ce^^91
+^^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
-^^e1^^bc^^98^^ce^^95^^ce^^95^^ce^^95^^ce^^95^^ce^^95
+^^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
-^^e1^^bc^^a8^^ce^^97^^ce^^97^^ce^^97^^ce^^97^^ce^^97^^ce^^97^^ce^^97
+^^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
-^^e1^^bc^^b8^^ce^^99^^ce^^99^^ce^^99^^ce^^99^^ce^^99^^ce^^99^^ce^^99
+^^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
-^^e1^^bd^^88^^ce^^9f^^ce^^9f^^ce^^9f^^ce^^9f^^ce^^9f
+^^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^^a9^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5
+^^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
-^^e1^^bd^^a8^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9
+^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9
 ^^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^^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
@@ -229,12 +229,6 @@ TEST 17: Greek
 ^^cd^^ba^^e1^^bf^^80`^^b4^^e1^^bf^^be^^e1^^be^^bd^^e1^^be^^bf^^e1^^bf^^8d^^e1^^bf^^8e^^e1^^bf^^9d^^e1^^bf^^9e^^e1^^bf^^9f^^e1^^bf^^8f^^e1^^bf^^ad^^c2^^a8^^e1^^bf^^81
 ^^cd^^be
 ^^cd^^be
-Π^^ce^^8e^^ce^^a1^^cc^^93^^e1^^bf^^acο^^ce^^a3
-Π^^ce^^a5^^ce^^a1^^ce^^a1ο^^ce^^a3
-^^e1^^bf^^ac^^ce^^8cδον
-^^e1^^bf^^ac^^ce^^9fδον
-Π^^ce^^86τερ ^^e1^^bc^^a9μ^^ce^^a9^^cd^^82ν ^^e1^^bd^^89 ^^e1^^bc^^98ν το^^ce^^99^^cd^^82^^ce^^a3 ο^^ce^^a5^^cc^^93ρανο^^ce^^99^^cd^^82^^ce^^a3
-Π^^ce^^91τερ ^^e1^^bc^^a9μ^^ce^^a9ν ^^e1^^bd^^89 ^^e1^^bc^^98ν το^^ce^^99^^ce^^a3 ο^^ce^^a5ρανο^^ce^^99^^ce^^a3
 ============================================================
 ============================================================
 TEST 18: Turkish/Azeri
diff --git a/l3kernel/testfiles/m3text002.tlg b/l3kernel/testfiles/m3text002.tlg
index 801a02f40..850df5226 100644
--- a/l3kernel/testfiles/m3text002.tlg
+++ b/l3kernel/testfiles/m3text002.tlg
@@ -180,7 +180,7 @@ TEST 17: Greek
 ^^ce^^9d^^ce^^9f^^ce^^9c^^ce^^99^^ce^^9a^^ce^^9f^^ce^^8e ^^ce^^89 ^^ce^^94^^ce^^99^^ce^^95^^ce^^98^^ce^^9d^^ce^^9f^^ce^^8e^^ce^^a3
 ^^ce^^9d^^ce^^9f^^ce^^9c^^ce^^99^^ce^^9a^^ce^^9f^^ce^^a5 ^^ce^^89 ^^ce^^94^^ce^^99^^ce^^95^^ce^^98^^ce^^9d^^ce^^9f^^ce^^a5^^ce^^a3
 ^^e1^^bc^^98^^ce^^a0^^ce^^95^^ce^^99^^ce^^94^^e1^^bf^^8a ^^e1^^bc^^a9 ^^e1^^bc^^88^^ce^^9d^^ce^^91^^ce^^93^^ce^^9d^^ce^^8f^^ce^^a1^^ce^^99^^ce^^a3^^ce^^97
-^^e1^^bc^^98^^ce^^a0^^ce^^95^^ce^^99^^ce^^94^^ce^^97 ^^e1^^bc^^a9 ^^e1^^bc^^88^^ce^^9d^^ce^^91^^ce^^93^^ce^^9d^^ce^^a9^^ce^^a1^^ce^^99^^ce^^a3^^ce^^97
+^^ce^^95^^ce^^a0^^ce^^95^^ce^^99^^ce^^94^^ce^^97 ^^ce^^97 ^^ce^^91^^ce^^9d^^ce^^91^^ce^^93^^ce^^9d^^ce^^a9^^ce^^a1^^ce^^99^^ce^^a3^^ce^^97
 ^^ce^^9d^^ce^^9f^^ce^^9c^^ce^^99^^ce^^9a^^ce^^9f^^ce^^a5^^cd^^82 ^^e1^^bc^^aa ^^ce^^94^^ce^^99^^ce^^95^^ce^^98^^ce^^9d^^ce^^9f^^ce^^a5^^cd^^82^^ce^^a3
 ^^ce^^9d^^ce^^9f^^ce^^9c^^ce^^99^^ce^^9a^^ce^^9f^^ce^^a5 ^^ce^^89 ^^ce^^94^^ce^^99^^ce^^95^^ce^^98^^ce^^9d^^ce^^9f^^ce^^a5^^ce^^a3
 ^^ce^^9d^^ce^^88^^ce^^9f, ^^ce^^94^^ce^^97^^ce^^9c^^ce^^99^^ce^^9f^^ce^^a5^^ce^^a1^^ce^^93^^ce^^8a^^ce^^91
@@ -202,19 +202,19 @@ TEST 17: Greek
 ^^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
-^^e1^^bc^^88^^ce^^91^^ce^^91^^ce^^91^^ce^^91^^ce^^91^^ce^^91^^ce^^91
+^^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
-^^e1^^bc^^98^^ce^^95^^ce^^95^^ce^^95^^ce^^95^^ce^^95
+^^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
-^^e1^^bc^^a8^^ce^^97^^ce^^97^^ce^^97^^ce^^97^^ce^^97^^ce^^97^^ce^^97
+^^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
-^^e1^^bc^^b8^^ce^^99^^ce^^99^^ce^^99^^ce^^99^^ce^^99^^ce^^99^^ce^^99
+^^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
-^^e1^^bd^^88^^ce^^9f^^ce^^9f^^ce^^9f^^ce^^9f^^ce^^9f
+^^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^^a9^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5
+^^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
-^^e1^^bd^^a8^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9
+^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9
 ^^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^^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
@@ -229,12 +229,6 @@ TEST 17: Greek
 ^^cd^^ba^^e1^^bf^^80`^^c2^^b4^^e1^^bf^^be^^e1^^be^^bd^^e1^^be^^bf^^e1^^bf^^8d^^e1^^bf^^8e^^e1^^bf^^9d^^e1^^bf^^9e^^e1^^bf^^9f^^e1^^bf^^8f^^e1^^bf^^ad^^c2^^a8^^e1^^bf^^81
 ^^cd^^be
 ^^cd^^be
-^^ce^^a0^^ce^^8e^^ce^^a1^^cc^^93^^e1^^bf^^ac^^ce^^9f^^ce^^a3
-^^ce^^a0^^ce^^a5^^ce^^a1^^ce^^a1^^ce^^9f^^ce^^a3
-^^e1^^bf^^ac^^ce^^8c^^ce^^94^^ce^^9f^^ce^^9d
-^^e1^^bf^^ac^^ce^^9f^^ce^^94^^ce^^9f^^ce^^9d
-^^ce^^a0^^ce^^86^^ce^^a4^^ce^^95^^ce^^a1 ^^e1^^bc^^a9^^ce^^9c^^ce^^a9^^cd^^82^^ce^^9d ^^e1^^bd^^89 ^^e1^^bc^^98^^ce^^9d ^^ce^^a4^^ce^^9f^^ce^^99^^cd^^82^^ce^^a3 ^^ce^^9f^^ce^^a5^^cc^^93^^ce^^a1^^ce^^91^^ce^^9d^^ce^^9f^^ce^^99^^cd^^82^^ce^^a3
-^^ce^^a0^^ce^^91^^ce^^a4^^ce^^95^^ce^^a1 ^^e1^^bc^^a9^^ce^^9c^^ce^^a9^^ce^^9d ^^e1^^bd^^89 ^^e1^^bc^^98^^ce^^9d ^^ce^^a4^^ce^^9f^^ce^^99^^ce^^a3 ^^ce^^9f^^ce^^a5^^ce^^a1^^ce^^91^^ce^^9d^^ce^^9f^^ce^^99^^ce^^a3
 ============================================================
 ============================================================
 TEST 18: Turkish/Azeri
diff --git a/l3kernel/testfiles/m3text002.uptex.tlg b/l3kernel/testfiles/m3text002.uptex.tlg
index 2e46c031d..25f0bb600 100644
--- a/l3kernel/testfiles/m3text002.uptex.tlg
+++ b/l3kernel/testfiles/m3text002.uptex.tlg
@@ -180,7 +180,7 @@ TEST 17: Greek
 ^^ce^^9d^^ce^^9f^^ce^^9c^^ce^^99^^ce^^9a^^ce^^9f^^ce^^8e ^^ce^^89 ^^ce^^94^^ce^^99^^ce^^95^^ce^^98^^ce^^9d^^ce^^9f^^ce^^8e^^ce^^a3
 ^^ce^^9d^^ce^^9f^^ce^^9c^^ce^^99^^ce^^9a^^ce^^9f^^ce^^a5 ^^ce^^89 ^^ce^^94^^ce^^99^^ce^^95^^ce^^98^^ce^^9d^^ce^^9f^^ce^^a5^^ce^^a3
 Ἐ^^ce^^a0^^ce^^95^^ce^^99^^ce^^94^^e1^^bf^^8a ^^e1^^bc^^a9 ^^e1^^bc^^88^^ce^^9d^^ce^^91^^ce^^93^^ce^^9d^^ce^^8f^^ce^^a1^^ce^^99^^ce^^a3^^ce^^97
-^^e1^^bc^^98^^ce^^a0^^ce^^95^^ce^^99^^ce^^94^^ce^^97 ^^e1^^bc^^a9 ^^e1^^bc^^88^^ce^^9d^^ce^^91^^ce^^93^^ce^^9d^^ce^^a9^^ce^^a1^^ce^^99^^ce^^a3^^ce^^97
+^^ce^^95^^ce^^a0^^ce^^95^^ce^^99^^ce^^94^^ce^^97 ^^ce^^97 ^^ce^^91^^ce^^9d^^ce^^91^^ce^^93^^ce^^9d^^ce^^a9^^ce^^a1^^ce^^99^^ce^^a3^^ce^^97
 ^^ce^^9d^^ce^^9f^^ce^^9c^^ce^^99^^ce^^9a^^ce^^9f^^ce^^a5^^cd^^82 ^^e1^^bc^^aa ^^ce^^94^^ce^^99^^ce^^95^^ce^^98^^ce^^9d^^ce^^9f^^ce^^a5^^cd^^82^^ce^^a3
 ^^ce^^9d^^ce^^9f^^ce^^9c^^ce^^99^^ce^^9a^^ce^^9f^^ce^^a5 ^^ce^^89 ^^ce^^94^^ce^^99^^ce^^95^^ce^^98^^ce^^9d^^ce^^9f^^ce^^a5^^ce^^a3
 Ν^^ce^^88^^ce^^9f, Δ^^ce^^97^^ce^^9c^^ce^^99^^ce^^9f^^ce^^a5^^ce^^a1^^ce^^93^^ce^^8a^^ce^^91
@@ -202,19 +202,19 @@ TEST 17: Greek
 ^^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
-^^e1^^bc^^88^^ce^^91^^ce^^91^^ce^^91^^ce^^91^^ce^^91^^ce^^91^^ce^^91
+^^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
-^^e1^^bc^^98^^ce^^95^^ce^^95^^ce^^95^^ce^^95^^ce^^95
+^^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
-^^e1^^bc^^a8^^ce^^97^^ce^^97^^ce^^97^^ce^^97^^ce^^97^^ce^^97^^ce^^97
+^^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
-^^e1^^bc^^b8^^ce^^99^^ce^^99^^ce^^99^^ce^^99^^ce^^99^^ce^^99^^ce^^99
+^^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
-^^e1^^bd^^88^^ce^^9f^^ce^^9f^^ce^^9f^^ce^^9f^^ce^^9f
+^^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^^a9^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5^^ce^^a5
+^^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
-^^e1^^bd^^a8^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9
+^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9^^ce^^a9
 ^^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^^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
@@ -229,12 +229,6 @@ TEST 17: Greek
 ͺ῀`^^b4῾᾽᾿῍῎῝῞῟῏῭^^c2^^a8῁
 ;
 ;
-Π^^ce^^8e^^ce^^a1^^cc^^93^^e1^^bf^^ac^^ce^^9f^^ce^^a3
-^^ce^^a0^^ce^^a5^^ce^^a1^^ce^^a1^^ce^^9f^^ce^^a3
-^^e1^^bf^^ac^^ce^^8c^^ce^^94^^ce^^9f^^ce^^9d
-^^e1^^bf^^ac^^ce^^9f^^ce^^94^^ce^^9f^^ce^^9d
-Π^^ce^^86^^ce^^a4^^ce^^95^^ce^^a1 ^^e1^^bc^^a9^^ce^^9c^^ce^^a9^^cd^^82^^ce^^9d ^^e1^^bd^^89 ^^e1^^bc^^98^^ce^^9d ^^ce^^a4^^ce^^9f^^ce^^99^^cd^^82^^ce^^a3 ^^ce^^9f^^ce^^a5^^cc^^93^^ce^^a1^^ce^^91^^ce^^9d^^ce^^9f^^ce^^99^^cd^^82^^ce^^a3
-^^ce^^a0^^ce^^91^^ce^^a4^^ce^^95^^ce^^a1 ^^e1^^bc^^a9^^ce^^9c^^ce^^a9^^ce^^9d ^^e1^^bd^^89 ^^e1^^bc^^98^^ce^^9d ^^ce^^a4^^ce^^9f^^ce^^99^^ce^^a3 ^^ce^^9f^^ce^^a5^^ce^^a1^^ce^^91^^ce^^9d^^ce^^9f^^ce^^99^^ce^^a3
 ============================================================
 ============================================================
 TEST 18: Turkish/Azeri
diff --git a/l3kernel/testfiles/m3text002.xetex.tlg b/l3kernel/testfiles/m3text002.xetex.tlg
index 856b4e810..9a830d284 100644
--- a/l3kernel/testfiles/m3text002.xetex.tlg
+++ b/l3kernel/testfiles/m3text002.xetex.tlg
@@ -180,7 +180,7 @@ TEST 17: Greek
 ΝΟΜΙΚΟΎ Ή ΔΙΕΘΝΟΎΣ
 ΝΟΜΙΚΟΥ Ή ΔΙΕΘΝΟΥΣ
 ἘΠΕΙΔῊ Ἡ ἈΝΑΓΝΏΡΙΣΗ
-ἘΠΕΙΔΗ Ἡ ἈΝΑΓΝΩΡΙΣΗ
+ΕΠΕΙΔΗ Η ΑΝΑΓΝΩΡΙΣΗ
 ΝΟΜΙΚΟΥ͂ Ἢ ΔΙΕΘΝΟΥ͂Σ
 ΝΟΜΙΚΟΥ Ή ΔΙΕΘΝΟΥΣ
 ΝΈΟ, ΔΗΜΙΟΥΡΓΊΑ
@@ -202,19 +202,19 @@ TEST 17: Greek
 ῌ
 ΗΙ
 ἈἉἊἋἌἍἎἏ
-ἈΑΑΑΑΑΑΑ
+ΑΑΑΑΑΑΑΑ
 ἘἙἚἛἜἝ
-ἘΕΕΕΕΕ
+ΕΕΕΕΕΕ
 ἨἩἪἫἬἭἮἯ
-ἨΗΗΗΗΗΗΗ
+ΗΗΗΗΗΗΗΗ
 ἸἹἺἻἼἽἾἿ
-ἸΙΙΙΙΙΙΙ
+ΙΙΙΙΙΙΙΙ
 ὈὉὊὋὌὍ
-ὈΟΟΟΟΟ
+ΟΟΟΟΟΟ
 Υ̓ὙΥ̓̀ὛΥ̓́ὝΥ̓͂Ὗ
-ΩΥΥΥΥΥΥΥ
+ΥΥΥΥΥΥΥΥ
 ὨὩὪὫὬὭὮὯ
-ὨΩΩΩΩΩΩΩ
+ΩΩΩΩΩΩΩΩ
 ᾼᾼᾼᾼᾼᾼᾼᾼ
 ΑΙΑΙΑΙΑΙΑΙΑΙΑΙΑΙ
 ῌῌῌῌῌῌῌῌ
@@ -229,12 +229,6 @@ TEST 17: Greek
 ͺ῀`^^b4῾᾽᾿῍῎῝῞῟῏῭^^a8῁
 ;
 ;
-ΠΎΡ̓ῬΟΣ
-ΠΥΡΡΟΣ
-ῬΌΔΟΝ
-ῬΟΔΟΝ
-ΠΆΤΕΡ ἩΜΩ͂Ν Ὁ ἘΝ ΤΟΙ͂Σ ΟΥ̓ΡΑΝΟΙ͂Σ
-ΠΑΤΕΡ ἩΜΩΝ Ὁ ἘΝ ΤΟΙΣ ΟΥΡΑΝΟΙΣ
 ============================================================
 ============================================================
 TEST 18: Turkish/Azeri





More information about the latex3-commits mailing list.