[luatex] Logging of font names in box log output

David Carlisle d.p.carlisle at gmail.com
Tue Sep 8 22:38:58 CEST 2015

On 8 September 2015 at 21:22, Hans Hagen <pragma at wxs.nl> wrote:
> On 9/8/2015 9:49 PM, David Carlisle wrote:
>>
>> Hi I have a feeling this has come up before, but  the plain tex file
>>
>>
>> \font\a=cmr10
>> \font\b=cmr10
>>
>> \setbox0\hbox{\a x\b y}
>> \scrollmode
>> \tracingonline1
>> \showbox0
>> \bye
>>
>>
>> produces a log of
>>
>> ..\b x
>> ..\b y
>>
>>
>>
>> in tex/pdftex/xetex/ptex/uptex
>>
>> but in luatex it produces a log of
>>
>> ..\a x
>> ..\b y
>>
>> This is a major problem for the latex regression suite as it is very
>> hard to normalize out (as we do for the direction logging difference
>> where
>> "direction TLT" in luatex or  "yoko direction" in  ptex occur in
>> well defined places and can be factored into the comparison).
>>
>> Would it be possible for luatex to match other tex variants and log
>> font names by the last name under which the font was loaded?
>
>
> luatex doesn't have the same low level font loading / sharing code; in fact
> it is (pdf)tex that is weird in printing \b for \a and the logging in luatex
> is right (one of things we made sure of, as this confusing reporting had
> been annoying us)

I'm surprised you say it's right here. Apart from the compatibility aspect
x and y are in fact typeset with the same font and the csname used at the point
the characters were set isn't really that relevant at the box level. the classic
log seems far more natural here. Perhaps you mean that the font is really loaded
twice in luatex, which would sort of explain the luatex log, but
certainly in [pdf|xe]tex
it would be weird to log these fonts differently at the box level.

>
> also, be prepared for more differences in logging as log compatibility is
> not guaranteed (esp when we have cleaned up that bit)

Yes that's clear, but as I tried to indicate in the original message
other differences eg direction and discretionary differences and small
numeric differences in glue stretching are all normalisable, but
this is virtually impossible to normalise apart from, as you suggest, discarding
font information all together.

>
> you cannot even assume that luatex has the same output as pdftex (i.e.
> slightly different hyphenation and ligaturing code), again, we try to be
> very compatible but when we can make things cleaner (or better, for what
> it's worth, often meaning: removing an optimization or limitation no longer
> needed) we'll do it

Yes that is all fine!

>
> an option (for you) is to just ignore the font name (or patch your font
> switch macro to write something to the log that you can compare)
>
> Hans
>

While log compatibility clearly isn't a top priority for you,
I would ask you again if you could consider this.
luatex is getting increasing use with latex but it is very hard to
support those users
if we can not somehow arrange the regression tests to give reliable
information about what does and does not work.

It has already shown up several problems in luatex, and in our macro
level support for luatex, but currently the test failures are swamped
by this font logging difference.

We are not asking that luatex produce the same output as pdftex or
that it always produce the same log, even if the visible output is the
same, but just, where possible, and in particular on input that is
valid with both engines, it is massively helpful if the logs differ in
predictable ways that can be normalised during diff.

David