[luatex] fine grained discretionary's penalty

Élie Roux elie.roux at telecom-bretagne.eu
Sat Mar 14 17:57:10 CET 2015

Le 14/03/2015 15:17, Élie Roux a écrit :
> Dear All,
> First I would like to remind a bug I've reported here[1] and that has
> already been discussed on the list here[2]. It starts to be blocking for
> me... do you think it's possible for someone who doesn't really know
> LuaTeX codebase to work on it?

The answer seems to be yes: this patch fixes the issue for my case:

Index: source/texk/web2c/luatexdir/tex/linebreak.w
--- source/texk/web2c/luatexdir/tex/linebreak.w	(révision 5187)
+++ source/texk/web2c/luatexdir/tex/linebreak.w	(copie de travail)
@@ -1950,7 +1950,7 @@
                 /* The following code knows that discretionary texts
                    only character nodes, kern nodes, box nodes, and rule
                    nodes. */
-                if (second_pass) {
+                if (second_pass || subtype(cur_p) == discretionary_disc) {
                     int actual_penalty = hyphen_penalty;
                     if (subtype(cur_p) == automatic_disc)
                         actual_penalty = ex_hyphen_penalty;

Is it ok or are there other subtypes that need to be included?

Thank you,

More information about the luatex mailing list