[luatex] LuaTeX v1: Two questions from testing

Hans Hagen pragma at wxs.nl
Thu Oct 13 10:51:21 CEST 2016


On 10/13/2016 8:33 AM, Joseph Wright wrote:
> Hello,
>
> Testing LuaTeX v1, there are relatively few changes from v0.95. However,
> I've found one logging (?) change and one hyphenation change I didn't
> expect. With example
>
>     \hsize 15em
>     This is a supercalifragilisticexpialidocious%
>      \hbox to 1em{}
>      sentence.
>     \tracingall
>     \belowdisplayskip=0pt %
>     $$
>     y = mx + c
>     $$
>      \bye
>
> The results are different from pdfTeX in two ways. The empty \hbox does
> not prevent hyphenation, which it has to-date (so this is not a result
> of other hyphenation changes). The log also lacks the zero skip after
> the display.
>
> It's not clear to me if either of these changes is deliberate: what's
> the situation?

The criteria for not hyphenating are somewhat arbitrary esp since 
engines started adding features (literals, whatsits, etc). So, why stop 
at a whatsit that in fact could be a box (ximage) but not at a hbox and 
what about rules (ximages are no longer whatsits but a kind of rule). So 
this is what happens now:

\hyphenationbounds:

0 : not strict
1 : strict start
2 : strict end
3 : strict start and strict end

So the rules are (i'll add the next info to the manual):

start:

boundary  : yes when wordboundary
hlist     : when hyphenationbounds 1 or 3
vlist     : when hyphenationbounds 1 or 3
rule      : when hyphenationbounds 1 or 3
dir       : when hyphenationbounds 1 or 3
whatsit   : when hyphenationbounds 1 or 3
glue      : yes
math      : skipped
glyph     : exhyphenchar (one only) : yes (so no -- ---)
otherwise : yes

end:

boundary  : yes
glyph     : yes when different language
glue      : yes
penalty   : yes
kern      : yes when not italic (for some historic reason)
hlist     : when hyphenationbounds 2 or 3
vlist     : when hyphenationbounds 2 or 3
rule      : when hyphenationbounds 2 or 3
dir       : when hyphenationbounds 2 or 3
whatsit   : when hyphenationbounds 2 or 3
ins       : when hyphenationbounds 2 or 3
adjust    : when hyphenationbounds 2 or 3

So you can decide to default to \hyphenationbounds=3

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------


More information about the luatex mailing list