[latex3-commits] [git/LaTeX3-latex3-latex3] main: Revert "Expand pre-composed accent commands in \text_expand:n" (c071f31ab)
Joseph Wright
joseph.wright at morningstar2.co.uk
Mon Feb 6 20:07:35 CET 2023
Repository : https://github.com/latex3/latex3
On branch : main
Link : https://github.com/latex3/latex3/commit/c071f31abe17750c08a8f8ca0e84aea5352dae5d
>---------------------------------------------------------------
commit c071f31abe17750c08a8f8ca0e84aea5352dae5d
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Sun Feb 5 12:02:18 2023 +0000
Revert "Expand pre-composed accent commands in \text_expand:n"
This reverts commit c250fd483f8806b5986a0dcc838250c452ca5ddd.
>---------------------------------------------------------------
c071f31abe17750c08a8f8ca0e84aea5352dae5d
l3kernel/CHANGELOG.md | 8 +-
l3kernel/doc/l3obsolete.txt | 1 -
l3kernel/l3text-purify.dtx | 240 ++++++++++++++++++++++++-
l3kernel/l3text.dtx | 301 +++++---------------------------
l3kernel/testfiles/m3text001.luatex.tlg | 2 +-
l3kernel/testfiles/m3text001.tlg | 2 +-
l3kernel/testfiles/m3text001.xetex.tlg | 2 +-
l3kernel/testfiles/m3text002.luatex.tlg | 8 +-
l3kernel/testfiles/m3text002.tlg | 8 +-
l3kernel/testfiles/m3text002.xetex.tlg | 8 +-
10 files changed, 299 insertions(+), 281 deletions(-)
diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index e69c6aa16..c1b2d4e0e 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -8,10 +8,10 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
### Changed
-- `\text_expand:n` now converts letter-like commands, e.g. `\ae`, and
- pre-composed accents, e.g. `\'{e}`, to the UTF-8 equivalent: breaking
- change also removes a`\l_text_accents_tl` and `\l_text_letterlike_tl`
- (unused outside of the `expl3` kernel in TeX Live)
+- `\text_expand:n` now converts letter-like commands,
+ e.g. `\ae`, to the UTF-8 equivalent: breaking change
+ also removes `\l_text_letterlike_tl` (unused outside of
+ the `expl3` kernel in TeX Live)
- Swap meaning of `el` and `el-x-iota` when case changing
Greek: match traditional LaTeX approach
diff --git a/l3kernel/doc/l3obsolete.txt b/l3kernel/doc/l3obsolete.txt
index 3c89489c9..b1a258a4d 100644
--- a/l3kernel/doc/l3obsolete.txt
+++ b/l3kernel/doc/l3obsolete.txt
@@ -342,7 +342,6 @@ Function Date removed
\KV_process_space_removal_sanitize:NNn 2011-09-08
\l_iow_line_length_int 2013-01-08
\l_last_box 2012-05-11
-\l_text_accents_tl 2023-02-05
\l_text_letterlike_tl 2023-02-05
\l_tl_replace_toks 2011-09-08
\l_tmpa_toks 2011-09-08
diff --git a/l3kernel/l3text-purify.dtx b/l3kernel/l3text-purify.dtx
index c547cd14b..a086dc060 100644
--- a/l3kernel/l3text-purify.dtx
+++ b/l3kernel/l3text-purify.dtx
@@ -455,11 +455,10 @@
% \subsection{Accent and letter-like data for purifying text}
%
% \begin{macro}[rEXP]{\@@_purify_accent:NN}
-% During expansion we cannot deal with accents that are not pre-composed:
-% the $8$-bit engines need these leaving as commands for typesetting.
-% However, we now need to make those into real Unicode codepoints: they
-% come after the letter, so there is a shuffle as well as a change of
-% data.
+% Accent \textsc{licr} handling is a little more complex. Accents may exist
+% as pre-composed codepoints or as independent glyphs. The former are all
+% saved as single token lists, whilst for the latter the combining accent
+% needs to be re-ordered compared to the character it applies to.
% \begin{macrocode}
\cs_new:Npn \@@_purify_accent:NN #1#2
{
@@ -474,8 +473,11 @@
\exp_not:v { c_@@_purify_ \token_to_str:N #1 _tl }
}
}
-\tl_map_inline:nn { \` \' \^ \~ \= \u \. \" \r \H \v \d \c \k \b \t }
+\tl_map_inline:Nn \l_text_accents_tl
{ \text_declare_purify_equivalent:Nn #1 { \@@_purify_accent:NN #1 } }
+% \end{macrocode}
+% First set up the combining accents.
+% \begin{macrocode}
\group_begin:
\cs_set_protected:Npn \@@_loop:Nn #1#2
{
@@ -503,6 +505,232 @@
\t { 0361 }
\q_recursion_tail { }
\q_recursion_stop
+% \end{macrocode}
+% Now we handle the pre-composed accents: the list here is taken from
+% \texttt{puenc.def}. All of the precomposed cases take a single letter
+% as their second argument. We do not try to cover the case where an accent
+% is added to a \enquote{real} dotless-i or -j, or a \ae/\AE. Rather, we
+% assume that if the \textsc{utf}-8 character is used, it will have the
+% real accent character too.
+% \begin{macrocode}
+ \cs_set_protected:Npn \@@_loop:NNn #1#2#3
+ {
+ \quark_if_recursion_tail_stop:N #1
+ \tl_const:cx
+ { c_@@_purify_ \token_to_str:N #1 _ \token_to_str:N #2 _tl }
+ { \codepoint_generate:nn {"#3} { \char_value_catcode:n { "#3 } } }
+ \@@_loop:NNn
+ }
+ \@@_loop:NNn
+ \` A { 00C0 }
+ \' A { 00C1 }
+ \^ A { 00C2 }
+ \~ A { 00C3 }
+ \" A { 00C4 }
+ \r A { 00C5 }
+ \c C { 00C7 }
+ \` E { 00C8 }
+ \' E { 00C9 }
+ \^ E { 00CA }
+ \" E { 00CB }
+ \` I { 00CC }
+ \' I { 00CD }
+ \^ I { 00CE }
+ \" I { 00CF }
+ \~ N { 00D1 }
+ \` O { 00D2 }
+ \' O { 00D3 }
+ \^ O { 00D4 }
+ \~ O { 00D5 }
+ \" O { 00D6 }
+ \` U { 00D9 }
+ \' U { 00DA }
+ \^ U { 00DB }
+ \" U { 00DC }
+ \' Y { 00DD }
+ \` a { 00E0 }
+ \' a { 00E1 }
+ \^ a { 00E2 }
+ \~ a { 00E3 }
+ \" a { 00E4 }
+ \r a { 00E5 }
+ \c c { 00E7 }
+ \` e { 00E8 }
+ \' e { 00E9 }
+ \^ e { 00EA }
+ \" e { 00EB }
+ \` i { 00EC }
+ \` \i { 00EC }
+ \' i { 00ED }
+ \' \i { 00ED }
+ \^ i { 00EE }
+ \^ \i { 00EE }
+ \" i { 00EF }
+ \" \i { 00EF }
+ \~ n { 00F1 }
+ \` o { 00F2 }
+ \' o { 00F3 }
+ \^ o { 00F4 }
+ \~ o { 00F5 }
+ \" o { 00F6 }
+ \` u { 00F9 }
+ \' u { 00FA }
+ \^ u { 00FB }
+ \" u { 00FC }
+ \' y { 00FD }
+ \" y { 00FF }
+ \= A { 0100 }
+ \= a { 0101 }
+ \u A { 0102 }
+ \u a { 0103 }
+ \k A { 0104 }
+ \k a { 0105 }
+ \' C { 0106 }
+ \' c { 0107 }
+ \^ C { 0108 }
+ \^ c { 0109 }
+ \. C { 010A }
+ \. c { 010B }
+ \v C { 010C }
+ \v c { 010D }
+ \v D { 010E }
+ \v d { 010F }
+ \= E { 0112 }
+ \= e { 0113 }
+ \u E { 0114 }
+ \u e { 0115 }
+ \. E { 0116 }
+ \. e { 0117 }
+ \k E { 0118 }
+ \k e { 0119 }
+ \v E { 011A }
+ \v e { 011B }
+ \^ G { 011C }
+ \^ g { 011D }
+ \u G { 011E }
+ \u g { 011F }
+ \. G { 0120 }
+ \. g { 0121 }
+ \c G { 0122 }
+ \c g { 0123 }
+ \^ H { 0124 }
+ \^ h { 0125 }
+ \~ I { 0128 }
+ \~ i { 0129 }
+ \~ \i { 0129 }
+ \= I { 012A }
+ \= i { 012B }
+ \= \i { 012B }
+ \u I { 012C }
+ \u i { 012D }
+ \u \i { 012D }
+ \k I { 012E }
+ \k i { 012F }
+ \k \i { 012F }
+ \. I { 0130 }
+ \^ J { 0134 }
+ \^ j { 0135 }
+ \^ \j { 0135 }
+ \c K { 0136 }
+ \c k { 0137 }
+ \' L { 0139 }
+ \' l { 013A }
+ \c L { 013B }
+ \c l { 013C }
+ \v L { 013D }
+ \v l { 013E }
+ \. L { 013F }
+ \. l { 0140 }
+ \' N { 0143 }
+ \' n { 0144 }
+ \c N { 0145 }
+ \c n { 0146 }
+ \v N { 0147 }
+ \v n { 0148 }
+ \= O { 014C }
+ \= o { 014D }
+ \u O { 014E }
+ \u o { 014F }
+ \H O { 0150 }
+ \H o { 0151 }
+ \' R { 0154 }
+ \' r { 0155 }
+ \c R { 0156 }
+ \c r { 0157 }
+ \v R { 0158 }
+ \v r { 0159 }
+ \' S { 015A }
+ \' s { 015B }
+ \^ S { 015C }
+ \^ s { 015D }
+ \c S { 015E }
+ \c s { 015F }
+ \v S { 0160 }
+ \v s { 0161 }
+ \c T { 0162 }
+ \c t { 0163 }
+ \v T { 0164 }
+ \v t { 0165 }
+ \~ U { 0168 }
+ \~ u { 0169 }
+ \= U { 016A }
+ \= u { 016B }
+ \u U { 016C }
+ \u u { 016D }
+ \r U { 016E }
+ \r u { 016F }
+ \H U { 0170 }
+ \H u { 0171 }
+ \k U { 0172 }
+ \k u { 0173 }
+ \^ W { 0174 }
+ \^ w { 0175 }
+ \^ Y { 0176 }
+ \^ y { 0177 }
+ \" Y { 0178 }
+ \' Z { 0179 }
+ \' z { 017A }
+ \. Z { 017B }
+ \. z { 017C }
+ \v Z { 017D }
+ \v z { 017E }
+ \v A { 01CD }
+ \v a { 01CE }
+ \v I { 01CF }
+ \v \i { 01D0 }
+ \v i { 01D0 }
+ \v O { 01D1 }
+ \v o { 01D2 }
+ \v U { 01D3 }
+ \v u { 01D4 }
+ \v G { 01E6 }
+ \v g { 01E7 }
+ \v K { 01E8 }
+ \v k { 01E9 }
+ \k O { 01EA }
+ \k o { 01EB }
+ \v \j { 01F0 }
+ \v j { 01F0 }
+ \' G { 01F4 }
+ \' g { 01F5 }
+ \` N { 01F8 }
+ \` n { 01F9 }
+ \' \AE { 01FC }
+ \' \ae { 01FD }
+ \' \O { 01FE }
+ \' \o { 01FF }
+ \v H { 021E }
+ \v h { 021F }
+ \. A { 0226 }
+ \. a { 0227 }
+ \c E { 0228 }
+ \c e { 0229 }
+ \. O { 022E }
+ \. o { 022F }
+ \= Y { 0232 }
+ \= y { 0233 }
+ \q_recursion_tail ? { }
+ \q_recursion_stop
\group_end:
% \end{macrocode}
% \end{macro}
diff --git a/l3kernel/l3text.dtx b/l3kernel/l3text.dtx
index 4d7d2f2a1..c111068bc 100644
--- a/l3kernel/l3text.dtx
+++ b/l3kernel/l3text.dtx
@@ -70,9 +70,9 @@
% \cs{l_text_math_delims_tl} or as the argument to commands listed
% in \cs{l_text_math_arg_tl}). Commands which are neither engine-
% nor \LaTeX{} protected are expanded exhaustively.
-% Any commands listed in \cs{l_text_expand_exclude_tl} are excluded from
-% expansion. Letter-like commands, e.g.~\cs{ae}, and accent commands creating
-% pre-composed UTF-8 codepoints are converted to the UTF-8 equivalents.
+% Any commands listed in \cs{l_text_expand_exclude_tl} and
+% \cs{l_text_accents_tl} are excluded from expansion. Letter-like
+% commands, e.g.~\cs{ae}, are converted to the UTF-8 equivalent.
% \end{function}
%
% \begin{function}[added = 2020-01-22, updated = 2023-02-05]
@@ -259,6 +259,11 @@
%
% \section{Control variables}
%
+% \begin{variable}{\l_text_accents_tl}
+% Lists commands which represent accents, and which are left unchanged
+% by expansion. (Defined only for the \LaTeXe{} package.)
+% \end{variable}
+%
% \begin{variable}{\l_text_math_arg_tl}
% Lists commands present in the \meta{text} where the argument of the
% command should be treated as math mode material. The treatment here is
@@ -787,6 +792,16 @@
%
% \subsection{Configuration variables}
%
+% \begin{variable}{\l_text_accents_tl}
+% Special cases for accents and letter-like symbols, which in some cases will
+% need to be converted further.
+% \begin{macrocode}
+\tl_new:N \l_text_accents_tl
+\tl_set:Nn \l_text_accents_tl
+ { \` \' \^ \~ \= \u \. \" \r \H \v \d \c \k \b \t }
+% \end{macrocode}
+% \end{variable}
+%
% \begin{variable}{\l_text_case_exclude_arg_tl}
% Non-text arguments, including covering the case of \tn{protected at edef}
% applied to \cs{cite}.
@@ -919,6 +934,8 @@
% \begin{macro}[EXP]{\@@_expand_exclude:NN}
% \begin{macro}[EXP]{\@@_expand_exclude:Nw}
% \begin{macro}[EXP]{\@@_expand_exclude:Nnn}
+% \begin{macro}[EXP]{\@@_expand_accent:N}
+% \begin{macro}[EXP]{\@@_expand_accent:NN}
% \begin{macro}[EXP]{\@@_expand_cs:N}
% \begin{macro}[EXP]{\@@_expand_protect:w}
% \begin{macro}[EXP]{\@@_expand_protect:N}
@@ -1203,7 +1220,7 @@
\cs_new:Npn \@@_expand_exclude:NN #1#2
{
\@@_if_q_recursion_tail_stop_do:Nn #2
- { \@@_expand_cs:N #1 }
+ { \@@_expand_accent:N #1 }
\str_if_eq:nnTF {#1} {#2}
{
\@@_use_i_delimit_by_q_recursion_stop:nw
@@ -1219,6 +1236,29 @@
\@@_expand_loop:w
}
% \end{macrocode}
+% Accents.
+% \begin{macrocode}
+\cs_new:Npn \@@_expand_accent:N #1
+ {
+ \exp_after:wN \@@_expand_accent:NN \exp_after:wN
+ #1 \l_text_accents_tl
+ \q_@@_recursion_tail \q_@@_recursion_stop
+ }
+\cs_new:Npn \@@_expand_accent:NN #1#2
+ {
+ \@@_if_q_recursion_tail_stop_do:Nn #2
+ { \@@_expand_cs:N #1 }
+ \cs_if_eq:NNTF #2 #1
+ {
+ \@@_use_i_delimit_by_q_recursion_stop:nw
+ {
+ \@@_expand_store:n {#1}
+ \@@_expand_loop:w
+ }
+ }
+ { \@@_expand_accent:NN #1 }
+ }
+% \end{macrocode}
% \LaTeXe{}'s \cs{protect} makes life interesting. Where possible, we
% simply remove it and replace with the \enquote{parent} command; of course,
% the \cs{protect} might be explicit, in which case we need to leave it alone.
@@ -1410,6 +1450,8 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}
% {
@@ -1432,257 +1474,6 @@
%
% \subsection{Accent and letter-like data for expandsion}
%
-% \begin{macro}[rEXP]{\@@_expand_accent:NN}
-% Accent \textsc{licr} handling is a little more complex. Accents may exist
-% as pre-composed codepoints or as independent glyphs. At the expansion
-% stage, only pre-composed glyphs can be processed: for \emph{ad hoc} accents,
-% we have to retain the command version for $8$-bit typesetting. So at this
-% stage we do not remove everything (see the purification code for the
-% action once we are definitely past typesetting).
-% \begin{macrocode}
-\cs_new:Npn \@@_expand_accent:NN #1#2
- {
- \cs_if_exist:cTF
- { c_@@_expand_ \token_to_str:N #1 _ \token_to_str:N #2 _tl }
- {
- \exp_not:v
- { c_@@_expand_ \token_to_str:N #1 _ \token_to_str:N #2 _tl }
- }
- { \exp_not:n {#1} {#2} }
- }
-\tl_map_inline:nn { \` \' \^ \~ \= \u \. \" \r \H \v \d \c \k \b \t }
- { \text_declare_expand_equivalent:Nn #1 { \@@_expand_accent:NN #1 } }
-% \end{macrocode}
-% The list of pre-composed accent characters here is taken from
-% \texttt{puenc.def}. All of the pre-composed cases take a single letter
-% as their second argument. We do not try to cover the case where an accent
-% is added to a \enquote{real} dotless-i or -j, or a \ae/\AE. Rather, we
-% assume that if the \textsc{utf}-8 character is used, it will have the
-% real accent character too.
-% \begin{macrocode}
-\group_begin:
- \cs_set_protected:Npn \@@_loop:NNn #1#2#3
- {
- \quark_if_recursion_tail_stop:N #1
- \tl_const:cx
- { c_@@_expand_ \token_to_str:N #1 _ \token_to_str:N #2 _tl }
- { \codepoint_generate:nn {"#3} { \char_value_catcode:n { "#3 } } }
- \@@_loop:NNn
- }
- \@@_loop:NNn
- \` A { 00C0 }
- \' A { 00C1 }
- \^ A { 00C2 }
- \~ A { 00C3 }
- \" A { 00C4 }
- \r A { 00C5 }
- \c C { 00C7 }
- \` E { 00C8 }
- \' E { 00C9 }
- \^ E { 00CA }
- \" E { 00CB }
- \` I { 00CC }
- \' I { 00CD }
- \^ I { 00CE }
- \" I { 00CF }
- \~ N { 00D1 }
- \` O { 00D2 }
- \' O { 00D3 }
- \^ O { 00D4 }
- \~ O { 00D5 }
- \" O { 00D6 }
- \` U { 00D9 }
- \' U { 00DA }
- \^ U { 00DB }
- \" U { 00DC }
- \' Y { 00DD }
- \` a { 00E0 }
- \' a { 00E1 }
- \^ a { 00E2 }
- \~ a { 00E3 }
- \" a { 00E4 }
- \r a { 00E5 }
- \c c { 00E7 }
- \` e { 00E8 }
- \' e { 00E9 }
- \^ e { 00EA }
- \" e { 00EB }
- \` i { 00EC }
- \` \i { 00EC }
- \' i { 00ED }
- \' \i { 00ED }
- \^ i { 00EE }
- \^ \i { 00EE }
- \" i { 00EF }
- \" \i { 00EF }
- \~ n { 00F1 }
- \` o { 00F2 }
- \' o { 00F3 }
- \^ o { 00F4 }
- \~ o { 00F5 }
- \" o { 00F6 }
- \` u { 00F9 }
- \' u { 00FA }
- \^ u { 00FB }
- \" u { 00FC }
- \' y { 00FD }
- \" y { 00FF }
- \= A { 0100 }
- \= a { 0101 }
- \u A { 0102 }
- \u a { 0103 }
- \k A { 0104 }
- \k a { 0105 }
- \' C { 0106 }
- \' c { 0107 }
- \^ C { 0108 }
- \^ c { 0109 }
- \. C { 010A }
- \. c { 010B }
- \v C { 010C }
- \v c { 010D }
- \v D { 010E }
- \v d { 010F }
- \= E { 0112 }
- \= e { 0113 }
- \u E { 0114 }
- \u e { 0115 }
- \. E { 0116 }
- \. e { 0117 }
- \k E { 0118 }
- \k e { 0119 }
- \v E { 011A }
- \v e { 011B }
- \^ G { 011C }
- \^ g { 011D }
- \u G { 011E }
- \u g { 011F }
- \. G { 0120 }
- \. g { 0121 }
- \c G { 0122 }
- \c g { 0123 }
- \^ H { 0124 }
- \^ h { 0125 }
- \~ I { 0128 }
- \~ i { 0129 }
- \~ \i { 0129 }
- \= I { 012A }
- \= i { 012B }
- \= \i { 012B }
- \u I { 012C }
- \u i { 012D }
- \u \i { 012D }
- \k I { 012E }
- \k i { 012F }
- \k \i { 012F }
- \. I { 0130 }
- \^ J { 0134 }
- \^ j { 0135 }
- \^ \j { 0135 }
- \c K { 0136 }
- \c k { 0137 }
- \' L { 0139 }
- \' l { 013A }
- \c L { 013B }
- \c l { 013C }
- \v L { 013D }
- \v l { 013E }
- \. L { 013F }
- \. l { 0140 }
- \' N { 0143 }
- \' n { 0144 }
- \c N { 0145 }
- \c n { 0146 }
- \v N { 0147 }
- \v n { 0148 }
- \= O { 014C }
- \= o { 014D }
- \u O { 014E }
- \u o { 014F }
- \H O { 0150 }
- \H o { 0151 }
- \' R { 0154 }
- \' r { 0155 }
- \c R { 0156 }
- \c r { 0157 }
- \v R { 0158 }
- \v r { 0159 }
- \' S { 015A }
- \' s { 015B }
- \^ S { 015C }
- \^ s { 015D }
- \c S { 015E }
- \c s { 015F }
- \v S { 0160 }
- \v s { 0161 }
- \c T { 0162 }
- \c t { 0163 }
- \v T { 0164 }
- \v t { 0165 }
- \~ U { 0168 }
- \~ u { 0169 }
- \= U { 016A }
- \= u { 016B }
- \u U { 016C }
- \u u { 016D }
- \r U { 016E }
- \r u { 016F }
- \H U { 0170 }
- \H u { 0171 }
- \k U { 0172 }
- \k u { 0173 }
- \^ W { 0174 }
- \^ w { 0175 }
- \^ Y { 0176 }
- \^ y { 0177 }
- \" Y { 0178 }
- \' Z { 0179 }
- \' z { 017A }
- \. Z { 017B }
- \. z { 017C }
- \v Z { 017D }
- \v z { 017E }
- \v A { 01CD }
- \v a { 01CE }
- \v I { 01CF }
- \v \i { 01D0 }
- \v i { 01D0 }
- \v O { 01D1 }
- \v o { 01D2 }
- \v U { 01D3 }
- \v u { 01D4 }
- \v G { 01E6 }
- \v g { 01E7 }
- \v K { 01E8 }
- \v k { 01E9 }
- \k O { 01EA }
- \k o { 01EB }
- \v \j { 01F0 }
- \v j { 01F0 }
- \' G { 01F4 }
- \' g { 01F5 }
- \` N { 01F8 }
- \` n { 01F9 }
- \' \AE { 01FC }
- \' \ae { 01FD }
- \' \O { 01FE }
- \' \o { 01FF }
- \v H { 021E }
- \v h { 021F }
- \. A { 0226 }
- \. a { 0227 }
- \c E { 0228 }
- \c e { 0229 }
- \. O { 022E }
- \. o { 022F }
- \= Y { 0232 }
- \= y { 0233 }
- \q_recursion_tail ? { }
- \q_recursion_stop
-\group_end:
-% \end{macrocode}
-% \end{macro}
-%
% For the letter-like commands, life is relatively easy: they are all
% simply added as standard exceptions. The only oddity is \tn{SS}, which
% gets converted to two letters.
diff --git a/l3kernel/testfiles/m3text001.luatex.tlg b/l3kernel/testfiles/m3text001.luatex.tlg
index aa4607de4..a33ebe093 100644
--- a/l3kernel/testfiles/m3text001.luatex.tlg
+++ b/l3kernel/testfiles/m3text001.luatex.tlg
@@ -30,7 +30,7 @@ TEST 4: Letter-like commands
============================================================
TEST 5: Accents
============================================================
-^^e4ĕ\H {i}ǒ\.{u}
+\"{a}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
TEST 6: Implicit tokens
diff --git a/l3kernel/testfiles/m3text001.tlg b/l3kernel/testfiles/m3text001.tlg
index 81a16135a..0077f55ca 100644
--- a/l3kernel/testfiles/m3text001.tlg
+++ b/l3kernel/testfiles/m3text001.tlg
@@ -30,7 +30,7 @@ TEST 4: Letter-like commands
============================================================
TEST 5: Accents
============================================================
-^^c3^^a4^^c4^^95\H {i}^^c7^^92\.{u}
+\"{a}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
TEST 6: Implicit tokens
diff --git a/l3kernel/testfiles/m3text001.xetex.tlg b/l3kernel/testfiles/m3text001.xetex.tlg
index aa4607de4..a33ebe093 100644
--- a/l3kernel/testfiles/m3text001.xetex.tlg
+++ b/l3kernel/testfiles/m3text001.xetex.tlg
@@ -30,7 +30,7 @@ TEST 4: Letter-like commands
============================================================
TEST 5: Accents
============================================================
-^^e4ĕ\H {i}ǒ\.{u}
+\"{a}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
TEST 6: Implicit tokens
diff --git a/l3kernel/testfiles/m3text002.luatex.tlg b/l3kernel/testfiles/m3text002.luatex.tlg
index 10708fb9b..b026ee684 100644
--- a/l3kernel/testfiles/m3text002.luatex.tlg
+++ b/l3kernel/testfiles/m3text002.luatex.tlg
@@ -347,10 +347,10 @@ TEST 27: Letter-like commands
============================================================
TEST 28: Accents
============================================================
-^^e4ĕ\H {i}ǒ\.{u}
-^^c4Ĕ\H {I}Ǒ\.{U}
-^^c4Ĕ\H {I}ǒ\.{u}
-^^c4Ĕ\H {I}ǒ\.{u}
+\"{a}\u {e}\H {i}\v {o}\.{u}
+\"{A}\u {E}\H {I}\v {O}\.{U}
+\"{A}\u {e}\H {i}\v {o}\.{u}
+\"{A}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
TEST 29: Active chars
diff --git a/l3kernel/testfiles/m3text002.tlg b/l3kernel/testfiles/m3text002.tlg
index 4a83569f7..5cbe50b00 100644
--- a/l3kernel/testfiles/m3text002.tlg
+++ b/l3kernel/testfiles/m3text002.tlg
@@ -347,10 +347,10 @@ TEST 27: Letter-like commands
============================================================
TEST 28: Accents
============================================================
-^^c3^^a4^^c4^^95\H {i}^^c7^^92\.{u}
-^^c3^^84^^c4^^94\H {I}^^c7^^91\.{U}
-^^c3^^84^^c4^^95\H {i}^^c7^^92\.{u}
-^^c3^^84^^c4^^95\H {i}^^c7^^92\.{u}
+\"{a}\u {e}\H {i}\v {o}\.{u}
+\"{A}\u {E}\H {I}\v {O}\.{U}
+\"{A}\u {e}\H {i}\v {o}\.{u}
+\"{A}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
TEST 29: Active chars
diff --git a/l3kernel/testfiles/m3text002.xetex.tlg b/l3kernel/testfiles/m3text002.xetex.tlg
index 10708fb9b..b026ee684 100644
--- a/l3kernel/testfiles/m3text002.xetex.tlg
+++ b/l3kernel/testfiles/m3text002.xetex.tlg
@@ -347,10 +347,10 @@ TEST 27: Letter-like commands
============================================================
TEST 28: Accents
============================================================
-^^e4ĕ\H {i}ǒ\.{u}
-^^c4Ĕ\H {I}Ǒ\.{U}
-^^c4Ĕ\H {I}ǒ\.{u}
-^^c4Ĕ\H {I}ǒ\.{u}
+\"{a}\u {e}\H {i}\v {o}\.{u}
+\"{A}\u {E}\H {I}\v {O}\.{U}
+\"{A}\u {e}\H {i}\v {o}\.{u}
+\"{A}\u {e}\H {i}\v {o}\.{u}
============================================================
============================================================
TEST 29: Active chars
More information about the latex3-commits
mailing list.