[luatex] letterspacing in LuaTeX

Ulrike Fischer luatex at nililand.de
Mon Jul 26 17:09:19 CEST 2010

Am Mon, 26 Jul 2010 16:27:39 +0200 schrieb Taco Hoekwater:

> On 07/26/2010 11:04 AM, Ulrike Fischer wrote:
>> The problem has nothing to do with fonts or utf8. I get the same
>> error with lualatex (Version beta-0.61.0-2010061910 (rev 3724))
>> (xelatex + pdflatex works fine) with this example:
> This sounds like an engine error, but I am missing what is actually
> wrong. Is there a problem with \lastbox ?

I don't know. But I now also looked at box \z@ 

And there you get with luatex as first box:

> \box0=
\vbox(12.0+0.0)x0.00002, direction TLT
.\hbox(0.0+0.0)x0.00002, direction TLT
..\glue(\rightskip) 0.0
.\penalty 300
.\glue(\baselineskip) 7.6955
.\hbox(4.3045+0.0)x0.00002, direction TLT
..\SOUL at tt a
..\penalty 10000
..\glue(\parfillskip) 0.0 plus 1.0fil
..\glue(\leftskip) 0.0

While pdflatex shows

> \box0=
..\glue 0.0
..\SOUL at tt a
..\penalty 10000
..\glue(\parfillskip) 0.0 plus 1.0fil
..\glue(\rightskip) 0.0

So box0 contains in luatex at the start 2 hboxes and so needs one
step more to get void than in pdflatex.

The additional box disappears (and also the errors) if I remove the
\tolerance\@M from SOUL at doword:

\def\SOUL at doword{%
    \edef\x{\the\SOUL at word}%
        \SOUL at buffer={}%
            \SOUL at tt
            \pretolerance\m at ne
       %     \tolerance\@M %<--------------
            \the\SOUL at word}%
        \showbox\z@    %<------show
        \let\SOUL at errmsg\SOUL at error
        \count@\m at ne
        \SOUL at analyze
        \SOUL at word={}%


Ulrike Fischer 

More information about the luatex mailing list