# [luatex] incompatible change to mathcode

Keith J. Schultz schultzk at gmx.net
Wed May 9 10:59:32 CEST 2012

```Hi All,

Let me get this straight:
7161 is a hex in highst bit first
Then we have a 16 bit value
then
7161(hex) =  0111 0001 0110 0001 = 2^14 +  2^13 + 2^12 + 2^8 + 2^6 + 2^5 + 1 = 29024

Now I will admit that I know nothing about the syntax of \luatexUmathcode but I find it very
dangerous to mix bit ordering!!

That is as seen below  71, 1 is the higher digit. where 61 is in standard ordering!

What furthermore irks me is that we have below a 24-bit encoding where LuaTex just has
21-bit character argument.

So it seems evident to me that somebody has goofed big time with their math.
Yet, it is no wonder with this kind of wierd math/encoding!

regards
Keith

Am 09.05.2012 um 09:42 schrieb Kazuki Maeda:

> Dear All
>
>> with lualatex I get
>>
>>  1E00061
>>
>> but apart from the obvious 61 at the end I have no idea where that
>> number comes from?
>
> I have experimented.
>
>
> \luatexUmathcode`a="7"1"61
> \the\mathcode`a            % 31457377 = 1*2^24 + 7*2^21 + 97
>
> \luatexUmathcode`a="7"2"61
> \the\mathcode`a            % 48234593 = 2*2^24 + 7*2^21 + 97
>
> \luatexUmathcode`a="6"1"61
> \the\mathcode`a            % 29360225 = 1*2^24 + 6*2^21 + 97
>
>
> I hope this helps you.
>
>
> Best regards,
> Kazuki Maeda

```