
Hi all! I am currently working on moving the hitex engine to utf8, and I discovered that there are some small differences between luatex and xetex (see below). Are these differences on purpose or is there a bug somewhere? Best regards Martin There are differences between xetex and luatex for these five codepoints: codepoint 1: xetex \lccode=13 luatex \lccode=0 codepoint 26, 32, and 39: xetex math family/class/slot = 0/0/2097151 luatex math family/class/slot = 1/0/0 codepoint 65279: xetex \catcode=12 luatex \catcode=9 -- Martin Ruckert Hochschule München Fakultät für Informatik und Mathematik

On Sun, 23 Mar 2025 at 14:16, Martin Ruckert
Hi all!
I am currently working on moving the hitex engine to utf8, and I discovered that there are some small differences between luatex and xetex (see below). Are these differences on purpose or is there a bug somewhere?
Best regards Martin
There are differences between xetex and luatex for these five codepoints:
codepoint 1: xetex \lccode=13 luatex \lccode=0
You haven't said how you are looking. The values set by the engines don't really matter much as any format is likely to reset them. for character 1, in the engine both xetex and luatex set the lccode to 0 $ luatex --ini \\showthe\\lccode1 This is LuaTeX, Version 1.22.0 (TeX Live 2025) (INITEX) restricted system commands enabled.
0.
$ xetex --ini \\showthe\\lccode1 This is XeTeX, Version 3.141592653-2.6-0.999997 (TeX Live 2025) (INITEX) restricted \write18 enabled.
0.
In plain TeX, xetex is setting it to 13 $ luatex \\showthe\\lccode1 This is LuaTeX, Version 1.22.0 (TeX Live 2025) restricted system commands enabled.
0.
$ xetex \\showthe\\lccode1 This is XeTeX, Version 3.141592653-2.6-0.999997 (TeX Live 2025) (preloaded format=xetex) restricted \write18 enabled. entering extended mode
13.
and latex it is set to 0 in both $ lualatex \\showthe\\lccode1 This is LuaHBTeX, Version 1.22.0 (TeX Live 2025) restricted system commands enabled. LaTeX2e <2024-11-01> patch level 2 L3 programming layer <2025-01-18>
0.
$ xelatex \\showthe\\lccode1 This is XeTeX, Version 3.141592653-2.6-0.999997 (TeX Live 2025) (preloaded format=xelatex) restricted \write18 enabled. entering extended mode LaTeX2e <2024-11-01> patch level 2 L3 programming layer <2025-01-18>
0.
so the only slightly anomalous setting is plain xetex where it is active but let to the subscript character rather than having that catcode directly Line 56 of tex-ini-files/xetex.ini is \lccode1=13 David

\lccode1=13
\lowercase{\def\sk@pf@nt\preloaded=#1^^A{\endgroup}}
I suspect that the global setting here is not intended, it's just used to
generate a token for the following definition.
On Sun, 23 Mar 2025 at 15:10, David Carlisle
On Sun, 23 Mar 2025 at 14:16, Martin Ruckert
wrote: Hi all!
I am currently working on moving the hitex engine to utf8, and I discovered that there are some small differences between luatex and xetex (see below). Are these differences on purpose or is there a bug somewhere?
Best regards Martin
There are differences between xetex and luatex for these five codepoints:
codepoint 1: xetex \lccode=13 luatex \lccode=0
You haven't said how you are looking. The values set by the engines don't really matter much as any format is likely to reset them.
for character 1, in the engine both xetex and luatex set the lccode to 0
$ luatex --ini \\showthe\\lccode1 This is LuaTeX, Version 1.22.0 (TeX Live 2025) (INITEX) restricted system commands enabled.
0.
$ xetex --ini \\showthe\\lccode1 This is XeTeX, Version 3.141592653-2.6-0.999997 (TeX Live 2025) (INITEX) restricted \write18 enabled.
0.
In plain TeX, xetex is setting it to 13
$ luatex \\showthe\\lccode1 This is LuaTeX, Version 1.22.0 (TeX Live 2025) restricted system commands enabled.
0.
$ xetex \\showthe\\lccode1 This is XeTeX, Version 3.141592653-2.6-0.999997 (TeX Live 2025) (preloaded format=xetex) restricted \write18 enabled. entering extended mode
13.
and latex it is set to 0 in both
$ lualatex \\showthe\\lccode1 This is LuaHBTeX, Version 1.22.0 (TeX Live 2025) restricted system commands enabled. LaTeX2e <2024-11-01> patch level 2 L3 programming layer <2025-01-18>
0.
$ xelatex \\showthe\\lccode1 This is XeTeX, Version 3.141592653-2.6-0.999997 (TeX Live 2025) (preloaded format=xelatex) restricted \write18 enabled. entering extended mode LaTeX2e <2024-11-01> patch level 2 L3 programming layer <2025-01-18>
0.
so the only slightly anomalous setting is plain xetex where it is active but let to the subscript character rather than having that catcode directly
Line 56 of tex-ini-files/xetex.ini is
\lccode1=13
David
participants (2)
-
David Carlisle
-
Martin Ruckert