[latex3-commits] [git/LaTeX3-latex3-latex3] main: Avoid case changing high chars in (u)pTeX (issue #939) (0e42f6c0f)
Joseph Wright
joseph.wright at morningstar2.co.uk
Mon Jun 14 17:58:40 CEST 2021
Repository : https://github.com/latex3/latex3
On branch : main
Link : https://github.com/latex3/latex3/commit/0e42f6c0fa10b65d97dfafc9edea02b22a409811
>---------------------------------------------------------------
commit 0e42f6c0fa10b65d97dfafc9edea02b22a409811
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Mon Jun 14 16:58:40 2021 +0100
Avoid case changing high chars in (u)pTeX (issue #939)
>---------------------------------------------------------------
0e42f6c0fa10b65d97dfafc9edea02b22a409811
l3kernel/CHANGELOG.md | 1 +
l3kernel/l3text-case.dtx | 37 +++++++++++++++-----
l3kernel/testfiles/m3text002.luatex.tlg | 44 +++++++++++++----------
l3kernel/testfiles/m3text002.lvt | 7 ++++
l3kernel/testfiles/m3text002.ptex.tlg | 8 +++++
l3kernel/testfiles/m3text002.tlg | 44 +++++++++++++----------
l3kernel/testfiles/m3text002.uptex.tlg | 62 +++++++++++++++++++--------------
l3kernel/testfiles/m3text002.xetex.tlg | 44 +++++++++++++----------
8 files changed, 157 insertions(+), 90 deletions(-)
diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index ab08609e1..d8c369158 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -9,6 +9,7 @@ this project uses date-based 'snapshot' version identifiers.
### Fixed
- Incorrect internal function name (issue #939)
+- Case-changing exceptions for (u)pTeX (issue #939)
## [2021-06-01]
diff --git a/l3kernel/l3text-case.dtx b/l3kernel/l3text-case.dtx
index 74781a45b..4516a4579 100644
--- a/l3kernel/l3text-case.dtx
+++ b/l3kernel/l3text-case.dtx
@@ -163,7 +163,12 @@
% \begin{macro}[EXP]
% {\@@_change_case_char_title:nN, \@@_change_case_char_titleonly:nN}
% \begin{macro}[EXP]{\@@_change_case_char_title:nnnN}
-% \begin{macro}[EXP]{\@@_change_case_char:nnnN, \@@_change_case_char_aux:nnnN}
+% \begin{macro}[EXP]
+% {
+% \@@_change_case_char:nnnN ,
+% \@@_change_case_char_auxi:nnnN ,
+% \@@_change_case_char_auxii:nnnN
+% }
% \begin{macro}[EXP]{\@@_change_case_char_UTFviii:nnnNN}
% \begin{macro}[EXP]{\@@_change_case_char_UTFviii:nnnNNN}
% \begin{macro}[EXP]{\@@_change_case_char_UTFviii:nnnNNNN}
@@ -608,6 +613,7 @@
% are to deal with. Those can then be grabbed to reconstruct the full
% Unicode character, which is then used in a lookup. (As will become
% obvious below, there is no intention here of covering all of Unicode.)
+% For (u)p-\TeX{} there are a limited number of tokens we can touch.
% \begin{macrocode}
\cs_new:Npn \@@_change_case_char:nnnN #1#2#3#4
{
@@ -623,7 +629,7 @@
{ \sys_if_engine_luatex_p: }
{ \sys_if_engine_xetex_p: }
{
- \cs_new_eq:NN \@@_change_case_char_aux:nnnN
+ \cs_new_eq:NN \@@_change_case_char_auxi:nnnN
\@@_change_case_char:nnnN
\cs_gset:Npn \@@_change_case_char:nnnN #1#2#3#4
{
@@ -631,15 +637,28 @@
{
\int_compare:nNnTF { `#4 } < { "E0 }
{ \@@_change_case_char_UTFviii:nnnNN }
- {
- \int_compare:nNnTF { `#4 } < { "F0 }
- { \@@_change_case_char_UTFviii:nnnNNN }
- { \@@_change_case_char_UTFviii:nnnNNNN }
- }
- {#1} {#2} {#3} #4
+ { \@@_change_case_char_auxii:nnnN }
}
- { \@@_change_case_char_aux:nnnN {#1} {#2} {#3} #4 }
+ { \@@_change_case_char_auxi:nnnN }
+ {#1} {#2} {#3} #4
}
+ \sys_if_engine_pdftex:TF
+ {
+ \cs_new:Npn \@@_change_case_char_auxii:nnnN #1#2#3#4
+ {
+ \int_compare:nNnTF { `#4 } < { "F0 }
+ { \@@_change_case_char_UTFviii:nnnNNN }
+ { \@@_change_case_char_UTFviii:nnnNNNN }
+ {#1} {#2} {#3} #4
+ }
+ }
+ {
+ \cs_new:Npn \@@_change_case_char_auxii:nnnN #1#2#3#4
+ {
+ \@@_change_case_store:n {#4}
+ \use:c { @@_change_case_char_next_ #2 :nn } {#2} {#3}
+ }
+ }
\cs_new:Npn \@@_change_case_char_UTFviii:nnnNN #1#2#3#4#5
{ \@@_change_case_char_UTFviii:nnnn {#1} {#2} {#3} {#4#5} }
\cs_new:Npn \@@_change_case_char_UTFviii:nnnNNN #1#2#3#4#5#6
diff --git a/l3kernel/testfiles/m3text002.luatex.tlg b/l3kernel/testfiles/m3text002.luatex.tlg
index 0113899d4..1c325329e 100644
--- a/l3kernel/testfiles/m3text002.luatex.tlg
+++ b/l3kernel/testfiles/m3text002.luatex.tlg
@@ -88,7 +88,15 @@ No problems
No problems
============================================================
============================================================
-TEST 9: Unicode case changing
+TEST 9: (u)pTeX-based tests
+============================================================
+abc^^e8æ¥æ¬èª
+ABC^^c8æ¥æ¬èª
+Abc^^e8æ¥æ¬èª
+ABC^^c8æ¥æ¬èª
+============================================================
+============================================================
+TEST 10: Unicode case changing
============================================================
^^e5^^e9^^ee^^f8ὥдαÉ
^^c5^^c9^^ce^^d8á½ÐÎÆ
@@ -96,7 +104,7 @@ TEST 9: Unicode case changing
^^c5^^e9^^ee^^f8á½Ð´Î±Æ
============================================================
============================================================
-TEST 10: Unicode case changing exceptions
+TEST 11: Unicode case changing exceptions
============================================================
fu^^dfball
FUSSBALL
@@ -104,7 +112,7 @@ Fu^^dfball
Fu^^dfball
============================================================
============================================================
-TEST 11: The final sigma rule
+TEST 12: The final sigma rule
============================================================
á½Î´Ï
ÏÏεÏÏ (á½Î´Ï
ÏÏεÏÏ) á½Î´Ï
ÏÏεÏÏ, á½Î´Ï
ÏÏεÏÏ{} á½Î´Ï
ÏÏεÏÏ\noop
á½ÎΥΣΣÎÎΣ (á½ÎΥΣΣÎÎΣ) á½ÎΥΣΣÎÎΣ, á½ÎΥΣΣÎÎΣ{} á½ÎΥΣΣÎÎΣ\noop
@@ -116,7 +124,7 @@ TEST 11: The final sigma rule
á½ÎΥΣΣÎÎΣ
============================================================
============================================================
-TEST 12: Cyrillic
+TEST 13: Cyrillic
============================================================
Ð´Ð¾ÐºÐ»Ð°Ð´Ñ Ð°ÐºÐ°Ð´ÐµÐ¼Ð¸Ð¸ наÑк
ÐÐÐÐÐÐЫ ÐÐÐÐÐÐÐÐ ÐÐУÐ
@@ -124,13 +132,13 @@ TEST 12: Cyrillic
ÐÐ¾ÐºÐ»Ð°Ð´Ñ Ðкадемии наÑк
============================================================
============================================================
-TEST 13: German-alternative
+TEST 14: German-alternative
============================================================
FUSSBALL
FUáºBALL
============================================================
============================================================
-TEST 14: Greek
+TEST 15: Greek
============================================================
ÎÎÎÎÎΣ, ÎÎÎÎÎÎÎ, ÎΡÎÎÎ
ÎÎÎÎÎΣ, ÎÎÎÎÎÎÎ, ÎΡÎÎÎ
@@ -170,7 +178,7 @@ TEST 14: Greek
á½Î´Ï
ÏÏεÏÏ
============================================================
============================================================
-TEST 15: Turkish/Azeri
+TEST 16: Turkish/Azeri
============================================================
ragıp hul^^fbsi ^^f6zdem
ragip hul^^fbsiÌ ^^f6zdem
@@ -182,7 +190,7 @@ Ip hul^^fbsi ^^f6zdem
Ip hul^^fbsi ^^f6zdem
============================================================
============================================================
-TEST 16: Lithuanian
+TEST 17: Lithuanian
============================================================
iÌÌiÌÌiÌÌiÌÌiÌÌiÌÌjÌÌjÌÌjÌÌįÌÌįÌÌįÌÌ
^^ec^^edÄ©iÌiÌiÌjÌjÌjÌįÌįÌįÌ
@@ -194,7 +202,7 @@ IÌiÌÌiÌÌiÌÌiÌÌiÌÌjÌÌjÌÌjÌÌįÌÌįÌÌįÌÌ
IÌÌiÌÌiÌÌiÌÌiÌÌiÌÌjÌÌjÌÌjÌÌįÌÌįÌÌįÌÌ
============================================================
============================================================
-TEST 17: Dutch
+TEST 18: Dutch
============================================================
ijsselmeer
ijsselmeer
@@ -210,13 +218,13 @@ Im
Im
============================================================
============================================================
-TEST 18: Titlecase exceptions
+TEST 19: Titlecase exceptions
============================================================
Ssoo
Ç
!
============================================================
============================================================
-TEST 19: Case changing braced arguments
+TEST 20: Case changing braced arguments
============================================================
foo \emph {BAR} {baz}
FOO \emph {BAR} {BAZ}
@@ -228,7 +236,7 @@ FOO \emph {BAR} {BAZ}
\emph {BAR} {BAZ}
============================================================
============================================================
-TEST 20: Expanding content
+TEST 21: Expanding content
============================================================
some text hello
SOME TEXT HELLO
@@ -256,7 +264,7 @@ Some text \cs_tmp:w
\cs_tmp:w Sometext
============================================================
============================================================
-TEST 21: Math-mode escape
+TEST 22: Math-mode escape
============================================================
some text $y = mx + c$
SOME TEXT $y = mx + c$
@@ -272,7 +280,7 @@ Opps not close token in $y = mx + c
Opps not close token in $y = mx + c
============================================================
============================================================
-TEST 22: Nesting
+TEST 23: Nesting
============================================================
HELLO
hello
@@ -280,7 +288,7 @@ FUSSBALL
á½ÎΥΣΣÎÎΣ
============================================================
============================================================
-TEST 23: Letter-like commands
+TEST 24: Letter-like commands
============================================================
\aa \aa \J \ae \dh \ss \l \o
\AA \AA \J \AE \DH \SS \L \O
@@ -288,7 +296,7 @@ TEST 23: Letter-like commands
\AA \aa \J \ae \dh \ss \l \O
============================================================
============================================================
-TEST 24: Accents
+TEST 25: Accents
============================================================
\"{a}\u {e}\H {i}\v {o}\.{u}
\"{A}\u {E}\H {I}\v {O}\.{U}
@@ -296,7 +304,7 @@ TEST 24: Accents
\"{A}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
-TEST 25: Active chars
+TEST 26: Active chars
============================================================
"`lo"=rem"'
"`LO"=REM"'
@@ -304,7 +312,7 @@ TEST 25: Active chars
"`Lo"=rem"'
============================================================
============================================================
-TEST 26: Case changing exclusions
+TEST 27: Case changing exclusions
============================================================
Variant \tl_show:x already defined; not changing it on line ...
> foo\NoCaseChange {BAR}.
diff --git a/l3kernel/testfiles/m3text002.lvt b/l3kernel/testfiles/m3text002.lvt
index a45449625..a62765fc1 100644
--- a/l3kernel/testfiles/m3text002.lvt
+++ b/l3kernel/testfiles/m3text002.lvt
@@ -119,7 +119,14 @@
\NEWLINE
\test:nn { tr } { No~problems }
}
+
+\TESTEXP { (u)pTeX-based~tests }
+ {
+ \test:n { ABCÃæ¥æ¬èª}
+ }
+
\sys_if_engine_ptex:T { \END }
+
\TESTEXP { Unicode~case~changing }
{
\test:n { åéîøá½Ð´Î±Æ }
diff --git a/l3kernel/testfiles/m3text002.ptex.tlg b/l3kernel/testfiles/m3text002.ptex.tlg
index f9599f5c3..3b52ceee8 100644
--- a/l3kernel/testfiles/m3text002.ptex.tlg
+++ b/l3kernel/testfiles/m3text002.ptex.tlg
@@ -87,3 +87,11 @@ NO PROBLEMS
No problems
No problems
============================================================
+============================================================
+TEST 9: (u)pTeX-based tests
+============================================================
+abc竪æ¥æ¬èª
+ABCÃ^^88æ¥æ¬èª
+Abc竪æ¥æ¬èª
+ABCÃ^^88æ¥æ¬èª
+============================================================
diff --git a/l3kernel/testfiles/m3text002.tlg b/l3kernel/testfiles/m3text002.tlg
index 962bb2623..942ce0422 100644
--- a/l3kernel/testfiles/m3text002.tlg
+++ b/l3kernel/testfiles/m3text002.tlg
@@ -88,7 +88,15 @@ No problems
No problems
============================================================
============================================================
-TEST 9: Unicode case changing
+TEST 9: (u)pTeX-based tests
+============================================================
+abc^^c3^^a8^^e6^^97^^a5^^e6^^9c^^ac^^e8^^aa^^9e
+ABC^^c3^^88^^e6^^97^^a5^^e6^^9c^^ac^^e8^^aa^^9e
+Abc^^c3^^a8^^e6^^97^^a5^^e6^^9c^^ac^^e8^^aa^^9e
+ABC^^c3^^88^^e6^^97^^a5^^e6^^9c^^ac^^e8^^aa^^9e
+============================================================
+============================================================
+TEST 10: Unicode case changing
============================================================
^^c3^^a5^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^a5^^d0^^b4^^ce^^b1^^c6^^90
^^c3^^85^^c3^^89^^c3^^8e^^c3^^98^^e1^^bd^^ad^^d0^^94^^ce^^91^^c6^^90
@@ -96,7 +104,7 @@ TEST 9: Unicode case changing
^^c3^^85^^c3^^a9^^c3^^ae^^c3^^b8^^e1^^bd^^ad^^d0^^b4^^ce^^b1^^c6^^90
============================================================
============================================================
-TEST 10: Unicode case changing exceptions
+TEST 11: Unicode case changing exceptions
============================================================
fu^^c3^^9fball
FUSSBALL
@@ -104,7 +112,7 @@ Fu^^c3^^9fball
Fu^^c3^^9fball
============================================================
============================================================
-TEST 11: The final sigma rule
+TEST 12: The final sigma rule
============================================================
^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82 (^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82) ^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82, ^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82{} ^^e1^^bd^^80^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82\noop
^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3 (^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3) ^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3, ^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3{} ^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3\noop
@@ -116,7 +124,7 @@ TEST 11: The final sigma rule
^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3
============================================================
============================================================
-TEST 12: Cyrillic
+TEST 13: Cyrillic
============================================================
^^d0^^b4^^d0^^be^^d0^^ba^^d0^^bb^^d0^^b0^^d0^^b4^^d1^^8b ^^d0^^b0^^d0^^ba^^d0^^b0^^d0^^b4^^d0^^b5^^d0^^bc^^d0^^b8^^d0^^b8 ^^d0^^bd^^d0^^b0^^d1^^83^^d0^^ba
^^d0^^94^^d0^^9e^^d0^^9a^^d0^^9b^^d0^^90^^d0^^94^^d0^^ab ^^d0^^90^^d0^^9a^^d0^^90^^d0^^94^^d0^^95^^d0^^9c^^d0^^98^^d0^^98 ^^d0^^9d^^d0^^90^^d0^^a3^^d0^^9a
@@ -124,13 +132,13 @@ TEST 12: Cyrillic
^^d0^^94^^d0^^be^^d0^^ba^^d0^^bb^^d0^^b0^^d0^^b4^^d1^^8b ^^d0^^90^^d0^^ba^^d0^^b0^^d0^^b4^^d0^^b5^^d0^^bc^^d0^^b8^^d0^^b8 ^^d0^^bd^^d0^^b0^^d1^^83^^d0^^ba
============================================================
============================================================
-TEST 13: German-alternative
+TEST 14: German-alternative
============================================================
FUSSBALL
FU^^e1^^ba^^9eBALL
============================================================
============================================================
-TEST 14: Greek
+TEST 15: Greek
============================================================
^^ce^^86^^ce^^94^^ce^^99^^ce^^9a^^ce^^9f^^ce^^a3, ^^ce^^9a^^ce^^95^^ce^^8a^^ce^^9c^^ce^^95^^ce^^9d^^ce^^9f, ^^ce^^8a^^ce^^a1^^ce^^99^^ce^^94^^ce^^91
^^ce^^86^^ce^^94^^ce^^99^^ce^^9a^^ce^^9f^^ce^^a3, ^^ce^^9a^^ce^^95^^ce^^8a^^ce^^9c^^ce^^95^^ce^^9d^^ce^^9f, ^^ce^^8a^^ce^^a1^^ce^^99^^ce^^94^^ce^^91
@@ -170,7 +178,7 @@ TEST 14: Greek
^^e1^^bd^^88^^ce^^b4^^cf^^85^^cf^^83^^cf^^83^^ce^^b5^^cf^^8d^^cf^^82
============================================================
============================================================
-TEST 15: Turkish/Azeri
+TEST 16: Turkish/Azeri
============================================================
rag^^c4^^b1p hul^^c3^^bbsi ^^c3^^b6zdem
ragip hul^^c3^^bbs^^c4^^b0 ^^c3^^b6zdem
@@ -182,7 +190,7 @@ Rag^^c4^^b1p hul^^c3^^bbsi ^^c3^^b6zdem
^^c4^^b1p hul^^c3^^bbsi ^^c3^^b6zdem
============================================================
============================================================
-TEST 16: Lithuanian
+TEST 17: Lithuanian
============================================================
^^c3^^ac^^c3^^ad^^c4^^a9
^^c3^^ac^^c3^^ad^^c4^^a9
@@ -190,7 +198,7 @@ TEST 16: Lithuanian
^^c3^^8c^^c3^^ad^^c4^^a9
============================================================
============================================================
-TEST 17: Dutch
+TEST 18: Dutch
============================================================
ijsselmeer
ijsselmeer
@@ -206,13 +214,13 @@ Im
Im
============================================================
============================================================
-TEST 18: Titlecase exceptions
+TEST 19: Titlecase exceptions
============================================================
Ssoo
^^c7^^85!
============================================================
============================================================
-TEST 19: Case changing braced arguments
+TEST 20: Case changing braced arguments
============================================================
foo \emph {BAR} {baz}
FOO \emph {BAR} {BAZ}
@@ -224,7 +232,7 @@ FOO \emph {BAR} {BAZ}
\emph {BAR} {BAZ}
============================================================
============================================================
-TEST 20: Expanding content
+TEST 21: Expanding content
============================================================
some text hello
SOME TEXT HELLO
@@ -252,7 +260,7 @@ Some text \cs_tmp:w
\cs_tmp:w Sometext
============================================================
============================================================
-TEST 21: Math-mode escape
+TEST 22: Math-mode escape
============================================================
some text $y = mx + c$
SOME TEXT $y = mx + c$
@@ -268,7 +276,7 @@ Opps not close token in $y = mx + c
Opps not close token in $y = mx + c
============================================================
============================================================
-TEST 22: Nesting
+TEST 23: Nesting
============================================================
HELLO
hello
@@ -276,7 +284,7 @@ FUSSBALL
^^e1^^bd^^88^^ce^^94^^ce^^a5^^ce^^a3^^ce^^a3^^ce^^95^^ce^^8e^^ce^^a3
============================================================
============================================================
-TEST 23: Letter-like commands
+TEST 24: Letter-like commands
============================================================
\aa \aa \J \ae \dh \ss \l \o
\AA \AA \J \AE \DH \SS \L \O
@@ -284,7 +292,7 @@ TEST 23: Letter-like commands
\AA \aa \J \ae \dh \ss \l \O
============================================================
============================================================
-TEST 24: Accents
+TEST 25: Accents
============================================================
\"{a}\u {e}\H {i}\v {o}\.{u}
\"{A}\u {E}\H {I}\v {O}\.{U}
@@ -292,7 +300,7 @@ TEST 24: Accents
\"{A}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
-TEST 25: Active chars
+TEST 26: Active chars
============================================================
"`lo"=rem"'
"`LO"=REM"'
@@ -300,7 +308,7 @@ TEST 25: Active chars
"`Lo"=rem"'
============================================================
============================================================
-TEST 26: Case changing exclusions
+TEST 27: Case changing exclusions
============================================================
Variant \tl_show:x already defined; not changing it on line ...
> foo\NoCaseChange {BAR}.
diff --git a/l3kernel/testfiles/m3text002.uptex.tlg b/l3kernel/testfiles/m3text002.uptex.tlg
index 75f033e6e..dc5a67c78 100644
--- a/l3kernel/testfiles/m3text002.uptex.tlg
+++ b/l3kernel/testfiles/m3text002.uptex.tlg
@@ -88,15 +88,23 @@ No problems
No problems
============================================================
============================================================
-TEST 9: Unicode case changing
+TEST 9: (u)pTeX-based tests
============================================================
-^^e5^^e9^^ee^^f8ὥдαÆ
+abc^^e8æ¥æ¬èª
+ABC^^c8æ¥æ¬èª
+Abc^^e8æ¥æ¬èª
+ABC^^c8æ¥æ¬èª
+============================================================
+============================================================
+TEST 10: Unicode case changing
+============================================================
+^^e5^^e9^^ee^^f8á½Ð´Î±Æ
^^c5^^c9^^ce^^d8á½ÐÎÆ
-^^c5^^e9^^ee^^f8ὥдαÆ
+^^c5^^e9^^ee^^f8á½Ð´Î±Æ
^^c5^^e9^^ee^^f8á½Ð´Î±Æ
============================================================
============================================================
-TEST 10: Unicode case changing exceptions
+TEST 11: Unicode case changing exceptions
============================================================
fu^^dfball
FUSSBALL
@@ -104,19 +112,19 @@ Fu^^dfball
Fu^^dfball
============================================================
============================================================
-TEST 11: The final sigma rule
+TEST 12: The final sigma rule
============================================================
-á½Î´Ï
ÏÏεÏÏ (á½Î´Ï
ÏÏεÏÏ) á½Î´Ï
ÏÏεÏÏ, á½Î´Ï
ÏÏεÏÏ{} á½Î´Ï
ÏÏεÏÏ\noop
+á½Î´Ï
ÏÏεÏÏ (á½Î´Ï
ÏÏεÏÏ) á½Î´Ï
ÏÏεÏÏ, á½Î´Ï
ÏÏεÏÏ{} á½Î´Ï
ÏÏεÏÏ\noop
á½ÎΥΣΣÎÎΣ (á½ÎΥΣΣÎÎΣ) á½ÎΥΣΣÎÎΣ, á½ÎΥΣΣÎÎΣ{} á½ÎΥΣΣÎÎΣ\noop
-á½Î´Ï
ÏÏεÏÏ (á½Î´Ï
ÏÏεÏÏ) á½Î´Ï
ÏÏεÏÏ, á½Î´Ï
ÏÏεÏÏ{} á½Î´Ï
ÏÏεÏÏ\noop
+á½Î´Ï
ÏÏεÏÏ (á½Î´Ï
ÏÏεÏÏ) á½Î´Ï
ÏÏεÏÏ, á½Î´Ï
ÏÏεÏÏ{} á½Î´Ï
ÏÏεÏÏ\noop
á½ÎΥΣΣÎÎΣ (á½ÎΥΣΣÎÎΣ) á½ÎΥΣΣÎÎΣ, á½ÎΥΣΣÎÎΣ{} á½ÎΥΣΣÎÎΣ\noop
-á½Î´Ï
ÏÏεÏÏ
+á½Î´Ï
ÏÏεÏÏ
á½ÎΥΣΣÎÎΣ
á½Î´Ï
ÏÏεÏÏ
á½ÎΥΣΣÎÎΣ
============================================================
============================================================
-TEST 12: Cyrillic
+TEST 13: Cyrillic
============================================================
Ð´Ð¾ÐºÐ»Ð°Ð´Ñ Ð°ÐºÐ°Ð´ÐµÐ¼Ð¸Ð¸ наÑк
ÐÐÐÐÐÐЫ ÐÐÐÐÐÐÐÐ ÐÐУÐ
@@ -124,13 +132,13 @@ TEST 12: Cyrillic
ÐÐ¾ÐºÐ»Ð°Ð´Ñ Ðкадемии наÑк
============================================================
============================================================
-TEST 13: German-alternative
+TEST 14: German-alternative
============================================================
FUSSBALL
FUáºBALL
============================================================
============================================================
-TEST 14: Greek
+TEST 15: Greek
============================================================
ÎÎÎÎÎΣ, ÎÎÎÎÎÎÎ, ÎΡÎÎÎ
ÎÎÎÎÎΣ, ÎÎÎÎÎÎÎ, ÎΡÎÎÎ
@@ -152,10 +160,10 @@ TEST 14: Greek
ÎÎ ÎÎÎÎ Î ÎÎÎÎÎÎΡÎΣΠΤÎΣ ÎÎÎÎΠΡÎÎ ÎÎÎΣ
ÎÎÎÎÎÎÎ Î ÎÎÎÎÎÎÎΣ
ÎÎÎÎÎÎÎ Î ÎÎÎÎÎÎÎΣ
-á¼Î ÎÎÎῠἩ á¼ÎÎÎÎÎΡÎΣÎ
-á¼Î ÎÎÎῠἩ á¼ÎÎÎÎÎΡÎΣÎ
-ÎÎÎÎÎÎῦ Ἢ ÎÎÎÎÎÎῦΣ
-ÎÎÎÎÎÎῦ Ἢ ÎÎÎÎÎÎῦΣ
+á¼Î ÎÎÎá½´ ἡ á¼ÎÎÎÎÎΡÎΣÎ
+á¼Î ÎÎÎá½´ ἡ á¼ÎÎÎÎÎΡÎΣÎ
+ÎÎÎÎÎÎῦ á¼¢ ÎÎÎÎÎÎῦΣ
+ÎÎÎÎÎÎῦ á¼¢ ÎÎÎÎÎÎῦΣ
ÎÎÎ, ÎÎÎÎÎΥΡÎÎÎ
ÎÎÎ, ÎÎÎÎÎΥΡÎÎÎ
ÎÎÎΤΠÎΠΦÎΤΠΤΠÎÎÎÎΤÎΡΠΠÎΪÎÎÎÎÎ!
@@ -170,7 +178,7 @@ TEST 14: Greek
á½Î´Ï
ÏÏεÏÏ
============================================================
============================================================
-TEST 15: Turkish/Azeri
+TEST 16: Turkish/Azeri
============================================================
ragıp hul^^fbsi ^^f6zdem
ragip hul^^fbsÄ° ^^f6zdem
@@ -182,7 +190,7 @@ Ragıp hul^^fbsi ^^f6zdem
ıp hul^^fbsi ^^f6zdem
============================================================
============================================================
-TEST 16: Lithuanian
+TEST 17: Lithuanian
============================================================
^^ec^^edĩ
^^ec^^edĩ
@@ -190,7 +198,7 @@ TEST 16: Lithuanian
^^cc^^edĩ
============================================================
============================================================
-TEST 17: Dutch
+TEST 18: Dutch
============================================================
ijsselmeer
ijsselmeer
@@ -206,13 +214,13 @@ Im
Im
============================================================
============================================================
-TEST 18: Titlecase exceptions
+TEST 19: Titlecase exceptions
============================================================
Ssoo
Ç
!
============================================================
============================================================
-TEST 19: Case changing braced arguments
+TEST 20: Case changing braced arguments
============================================================
foo \emph {BAR} {baz}
FOO \emph {BAR} {BAZ}
@@ -224,7 +232,7 @@ FOO \emph {BAR} {BAZ}
\emph {BAR} {BAZ}
============================================================
============================================================
-TEST 20: Expanding content
+TEST 21: Expanding content
============================================================
some text hello
SOME TEXT HELLO
@@ -252,7 +260,7 @@ Some text \cs_tmp:w
\cs_tmp:w Sometext
============================================================
============================================================
-TEST 21: Math-mode escape
+TEST 22: Math-mode escape
============================================================
some text $y = mx + c$
SOME TEXT $y = mx + c$
@@ -268,7 +276,7 @@ Opps not close token in $y = mx + c
Opps not close token in $y = mx + c
============================================================
============================================================
-TEST 22: Nesting
+TEST 23: Nesting
============================================================
HELLO
hello
@@ -276,7 +284,7 @@ FUSSBALL
á½ÎΥΣΣÎÎΣ
============================================================
============================================================
-TEST 23: Letter-like commands
+TEST 24: Letter-like commands
============================================================
\aa \aa \J \ae \dh \ss \l \o
\AA \AA \J \AE \DH \SS \L \O
@@ -284,7 +292,7 @@ TEST 23: Letter-like commands
\AA \aa \J \ae \dh \ss \l \O
============================================================
============================================================
-TEST 24: Accents
+TEST 25: Accents
============================================================
\"{a}\u {e}\H {i}\v {o}\.{u}
\"{A}\u {E}\H {I}\v {O}\.{U}
@@ -292,7 +300,7 @@ TEST 24: Accents
\"{A}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
-TEST 25: Active chars
+TEST 26: Active chars
============================================================
"`lo"=rem"'
"`LO"=REM"'
@@ -300,7 +308,7 @@ TEST 25: Active chars
"`Lo"=rem"'
============================================================
============================================================
-TEST 26: Case changing exclusions
+TEST 27: Case changing exclusions
============================================================
Variant \tl_show:x already defined; not changing it on line ...
> foo\NoCaseChange {BAR}.
diff --git a/l3kernel/testfiles/m3text002.xetex.tlg b/l3kernel/testfiles/m3text002.xetex.tlg
index 0113899d4..1c325329e 100644
--- a/l3kernel/testfiles/m3text002.xetex.tlg
+++ b/l3kernel/testfiles/m3text002.xetex.tlg
@@ -88,7 +88,15 @@ No problems
No problems
============================================================
============================================================
-TEST 9: Unicode case changing
+TEST 9: (u)pTeX-based tests
+============================================================
+abc^^e8æ¥æ¬èª
+ABC^^c8æ¥æ¬èª
+Abc^^e8æ¥æ¬èª
+ABC^^c8æ¥æ¬èª
+============================================================
+============================================================
+TEST 10: Unicode case changing
============================================================
^^e5^^e9^^ee^^f8ὥдαÉ
^^c5^^c9^^ce^^d8á½ÐÎÆ
@@ -96,7 +104,7 @@ TEST 9: Unicode case changing
^^c5^^e9^^ee^^f8á½Ð´Î±Æ
============================================================
============================================================
-TEST 10: Unicode case changing exceptions
+TEST 11: Unicode case changing exceptions
============================================================
fu^^dfball
FUSSBALL
@@ -104,7 +112,7 @@ Fu^^dfball
Fu^^dfball
============================================================
============================================================
-TEST 11: The final sigma rule
+TEST 12: The final sigma rule
============================================================
á½Î´Ï
ÏÏεÏÏ (á½Î´Ï
ÏÏεÏÏ) á½Î´Ï
ÏÏεÏÏ, á½Î´Ï
ÏÏεÏÏ{} á½Î´Ï
ÏÏεÏÏ\noop
á½ÎΥΣΣÎÎΣ (á½ÎΥΣΣÎÎΣ) á½ÎΥΣΣÎÎΣ, á½ÎΥΣΣÎÎΣ{} á½ÎΥΣΣÎÎΣ\noop
@@ -116,7 +124,7 @@ TEST 11: The final sigma rule
á½ÎΥΣΣÎÎΣ
============================================================
============================================================
-TEST 12: Cyrillic
+TEST 13: Cyrillic
============================================================
Ð´Ð¾ÐºÐ»Ð°Ð´Ñ Ð°ÐºÐ°Ð´ÐµÐ¼Ð¸Ð¸ наÑк
ÐÐÐÐÐÐЫ ÐÐÐÐÐÐÐÐ ÐÐУÐ
@@ -124,13 +132,13 @@ TEST 12: Cyrillic
ÐÐ¾ÐºÐ»Ð°Ð´Ñ Ðкадемии наÑк
============================================================
============================================================
-TEST 13: German-alternative
+TEST 14: German-alternative
============================================================
FUSSBALL
FUáºBALL
============================================================
============================================================
-TEST 14: Greek
+TEST 15: Greek
============================================================
ÎÎÎÎÎΣ, ÎÎÎÎÎÎÎ, ÎΡÎÎÎ
ÎÎÎÎÎΣ, ÎÎÎÎÎÎÎ, ÎΡÎÎÎ
@@ -170,7 +178,7 @@ TEST 14: Greek
á½Î´Ï
ÏÏεÏÏ
============================================================
============================================================
-TEST 15: Turkish/Azeri
+TEST 16: Turkish/Azeri
============================================================
ragıp hul^^fbsi ^^f6zdem
ragip hul^^fbsiÌ ^^f6zdem
@@ -182,7 +190,7 @@ Ip hul^^fbsi ^^f6zdem
Ip hul^^fbsi ^^f6zdem
============================================================
============================================================
-TEST 16: Lithuanian
+TEST 17: Lithuanian
============================================================
iÌÌiÌÌiÌÌiÌÌiÌÌiÌÌjÌÌjÌÌjÌÌįÌÌįÌÌįÌÌ
^^ec^^edÄ©iÌiÌiÌjÌjÌjÌįÌįÌįÌ
@@ -194,7 +202,7 @@ IÌiÌÌiÌÌiÌÌiÌÌiÌÌjÌÌjÌÌjÌÌįÌÌįÌÌįÌÌ
IÌÌiÌÌiÌÌiÌÌiÌÌiÌÌjÌÌjÌÌjÌÌįÌÌįÌÌįÌÌ
============================================================
============================================================
-TEST 17: Dutch
+TEST 18: Dutch
============================================================
ijsselmeer
ijsselmeer
@@ -210,13 +218,13 @@ Im
Im
============================================================
============================================================
-TEST 18: Titlecase exceptions
+TEST 19: Titlecase exceptions
============================================================
Ssoo
Ç
!
============================================================
============================================================
-TEST 19: Case changing braced arguments
+TEST 20: Case changing braced arguments
============================================================
foo \emph {BAR} {baz}
FOO \emph {BAR} {BAZ}
@@ -228,7 +236,7 @@ FOO \emph {BAR} {BAZ}
\emph {BAR} {BAZ}
============================================================
============================================================
-TEST 20: Expanding content
+TEST 21: Expanding content
============================================================
some text hello
SOME TEXT HELLO
@@ -256,7 +264,7 @@ Some text \cs_tmp:w
\cs_tmp:w Sometext
============================================================
============================================================
-TEST 21: Math-mode escape
+TEST 22: Math-mode escape
============================================================
some text $y = mx + c$
SOME TEXT $y = mx + c$
@@ -272,7 +280,7 @@ Opps not close token in $y = mx + c
Opps not close token in $y = mx + c
============================================================
============================================================
-TEST 22: Nesting
+TEST 23: Nesting
============================================================
HELLO
hello
@@ -280,7 +288,7 @@ FUSSBALL
á½ÎΥΣΣÎÎΣ
============================================================
============================================================
-TEST 23: Letter-like commands
+TEST 24: Letter-like commands
============================================================
\aa \aa \J \ae \dh \ss \l \o
\AA \AA \J \AE \DH \SS \L \O
@@ -288,7 +296,7 @@ TEST 23: Letter-like commands
\AA \aa \J \ae \dh \ss \l \O
============================================================
============================================================
-TEST 24: Accents
+TEST 25: Accents
============================================================
\"{a}\u {e}\H {i}\v {o}\.{u}
\"{A}\u {E}\H {I}\v {O}\.{U}
@@ -296,7 +304,7 @@ TEST 24: Accents
\"{A}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
-TEST 25: Active chars
+TEST 26: Active chars
============================================================
"`lo"=rem"'
"`LO"=REM"'
@@ -304,7 +312,7 @@ TEST 25: Active chars
"`Lo"=rem"'
============================================================
============================================================
-TEST 26: Case changing exclusions
+TEST 27: Case changing exclusions
============================================================
Variant \tl_show:x already defined; not changing it on line ...
> foo\NoCaseChange {BAR}.
More information about the latex3-commits
mailing list.