[luatex] a problem with luatexUmathcode
jfbu
jfbu at free.fr
Sat Oct 13 13:29:44 CEST 2012
Le 13 oct. 2012 a 13:14, jfbu <jfbu at free.fr> wrote :
>
> Le 12 oct. 2012 22:01, jfbu <jfbu at free.fr> wrote :
>
>> Hi, [I just posted on c.t.tex, but figured here could be better]
>>
>> the following code gives dissimilar results for XeTeX
>> and LuaLatex.
>>
>> \documentclass{article}
>> \usepackage{ifxetex}
>> \begin{document}
>> \ifxetex
>>
>> \the\mathcode`\- % 8704="2200
>> \the\XeTeXmathcodenum`\- % 37748736=2.2^{24} + 2.2^{21} + 0
>>
>> \else
>>
>> \the\mathcode`\- % 8704 = "2200
>>
>> \the\luatexUmathcodenum`\- % 8704, if interpreted as Unicode
>> % mathcode 0.2^{24} + 0.2^{21} + 8704
>> \fi
>> \end{document}
>>
>> This is a bit strange. The problem with this behavior of LuaLaTeX
>> is that I need to know *in advance* if I have to interpret the
>> number resulting from \luatexUmathcodenum as a legacy mathcode
>> or as a Unicode mathcode ! ...
>>
>> best wishes,
>> Jean-Francois
>
>
> Hi again
>
> \documentclass{article}
> \usepackage{ifxetex}
> \begin{document}
> \ifxetex
> \the\XeTeXmathcodenum`\a % 31457377
> \the\XeTeXmathcodenum`\1 % 14680113
> \the\XeTeXmathcodenum`\- % 37748736
> \else
> \the\luatexUmathcodenum`\a % 31457377
> \the\luatexUmathcodenum`\1 % 28721
> \the\luatexUmathcodenum`\- % 8704
> \fi
> \end{document}
>
> Why the difference between querying the mathcode of a and 1?
>
> This makes it impossible for me to use \luatexUmathcodenum to
> query the family number for 1 or -, as I can not know in advance
> if it will return a legacy mathcode (as here) or a Unicode mathcode
> (if 1 or - have been assigned Unicode mathcode).
>
> Jean-Francois
How do I know that a package did not do something
like \mathcode`\a="161\relax?
If this happens \the\luatexUmathcodenum`\a will be
a legacy mathcode 353 and not a Unicode mathcode
like 31457377. The family number is not on the same
bits, and my code will be broken.
Is there some primitive (not some Lua code that I don't
want to have to learn) from Lualatex which gives me
a safe way to extract the family number of a math character?
regards
Jean-Francois
More information about the luatex
mailing list