[latex3-commits] [git/LaTeX3-latex3-latex3] master: Define UTF-8 chars for mixed case chaning (fixes #514) (8234d1c)

Joseph Wright joseph.wright at morningstar2.co.uk
Sun Jan 6 19:32:44 CET 2019


Repository : https://github.com/latex3/latex3
On branch  : master
Link       : https://github.com/latex3/latex3/commit/8234d1cd153c87a70921dab5fe3341d8ca34ced9

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

commit 8234d1cd153c87a70921dab5fe3341d8ca34ced9
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Sun Jan 6 18:32:44 2019 +0000

    Define UTF-8 chars for mixed case chaning (fixes #514)


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

8234d1cd153c87a70921dab5fe3341d8ca34ced9
 l3kernel/CHANGELOG.md     |    5 +++++
 l3kernel/l3candidates.dtx |   25 +++++++++++++++----------
 2 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index 65ef9a5..7d349c5 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -7,6 +7,11 @@ this project uses date-based 'snapshot' version identifiers.
 
 ## [Unreleased]
 
+### Fixed
+
+- Handling of accented characters under mixed case changing in 8-bit engines
+  (see #514)
+
 ## [2019-01-01]
 
 ### Added
diff --git a/l3kernel/l3candidates.dtx b/l3kernel/l3candidates.dtx
index 780b8ac..e058c5f 100644
--- a/l3kernel/l3candidates.dtx
+++ b/l3kernel/l3candidates.dtx
@@ -4443,34 +4443,39 @@
           \exp_after:wN \@@_tmp:w \l_@@_internal_a_tl
           \@@_loop:nn
         }
-      \cs_set_protected:Npn \@@_tmp:w #1#2#3#4#5#6#7#8
+      \cs_set_protected:Npn \@@_tmp:nnnn #1#2#3#4#5
         {
           \tl_const:cx
             {
-              c_@@_lower_case_
-              \char_generate:nn {#1} { 12 }
+              c_@@_ #1 _case_
               \char_generate:nn {#2} { 12 }
+              \char_generate:nn {#3} { 12 }
               _tl
             }
             {
               \exp_after:wN \exp_after:wN \exp_after:wN
-                \exp_not:N \char_generate:nn {#5} { 13 }
+                \exp_not:N \char_generate:nn {#4} { 13 }
               \exp_after:wN \exp_after:wN \exp_after:wN
-                \exp_not:N \char_generate:nn {#6} { 13 }
+                \exp_not:N \char_generate:nn {#5} { 13 }
             }
+        }
+      \cs_set_protected:Npn \@@_tmp:w #1#2#3#4#5#6#7#8
+        {
           \tl_const:cx
             {
-              c_@@_upper_case_
-              \char_generate:nn {#5} { 12 }
-              \char_generate:nn {#6} { 12 }
+              c_@@_lower_case_
+              \char_generate:nn {#1} { 12 }
+              \char_generate:nn {#2} { 12 }
               _tl
             }
             {
               \exp_after:wN \exp_after:wN \exp_after:wN
-                \exp_not:N \char_generate:nn {#1} { 13 }
+                \exp_not:N \char_generate:nn {#5} { 13 }
               \exp_after:wN \exp_after:wN \exp_after:wN
-                \exp_not:N \char_generate:nn {#2} { 13 }
+                \exp_not:N \char_generate:nn {#6} { 13 }
             }
+          \@@_tmp:nnnn { upper } {#5} {#6} {#1} {#2}
+          \@@_tmp:nnnn { mixed } {#5} {#6} {#1} {#2}
         }
       \@@_loop:nn
         { 00C0 } { 00E0 }





More information about the latex3-commits mailing list