[luatex] Fatal error
jhielscher at posteo.de
Wed Sep 28 02:25:12 CEST 2016
I stumbled over a strange corner case with babel (3.9r) and fontspec
(2.5a) loading the Junicode font (0.7.7) on luatex-0.95.0 (all current
TeX Live 2016):
Laiin Lai\-in % Error!
Lai\/in Lai"|in Lai\kern0pt in % Hacks
Fed to lualatex, this breaks spectacularly with
! error: (linebreak): invalid list tail, probably missing glue
! ==> Fatal error occurred, no output PDF file produced!
(which isn't even terminated with a newline). This has been puzzling in
the first run, as my document (ngerman, >20k words) died at exactly this
single word. It coincideds with a known astonishment of Junicode's
behaviour on double i/j ligatures:
(which is essentially a strange interference of their ccmp lookup2
subtable with Single substituion Lookup40 in the OTF GSUB).
In TeX, I can manually suppress the i-i mechanism here, and voilà, the
error vanishes. Hence this might well be subtlety related to LuaTeX's
understanding of ambiguities emerging from OpenType. (XeLaTeX has no
problems with the MWE, but actually seems to overlook the GSUB rule in
I am writing this to report
a) my discomfort with this workaround. I would prefer the maximum degree
of non-interactivity. (I have, however, to fiddle around enough with
ligatures not to complain about a single word).
b) reproducibility with in-word junctions of `ii' and `ij' (but not
`ji'). A single word should not make LuaTeX die (given that no
other ligatures, including self-defined ones, don't harm it at
c) TL15/luatex-0.80 did not fail (but came up with Junicode's
``missing dot on the second i'' issue). The fatal error first
occurred on playing with TL16-pretest (march/april?) dozens of times,
at too many seemingly unrelated cases to make a sense of it. Passing
the months (with TL16 release, and occasional tlmgr update --all),
the number of errors mysteriously (?) decreased, until as of some
weeks ago, only the above ii case remained. I haven't tested
luatex-1.0.0 yet (-:
Maybe, this might help in identifying related errors in different
contexts, and in making LuaTeX more robust with respect to font quirks.
More information about the luatex