On 1/13/2026 1:30 PM, Vítek Starý Novotný wrote:

Thank you, Hans, this is very helpful for isolating the cause of the
issue. Setting `\automatichyphenmode = 1` or `\automatichyphenmode = 2`
resolves the problem for the minimal working example(s) discussed in
this thread.

(I am still seeing protrusion-related issues in the original document
that prompted this investigation, and those are not fixed by changing
the value of `\automatichyphenmode`. This suggests that my format may
also be doing something with hyphenation in the background [1], but I
have not yet managed to isolate a minimal working example.)
> > More generally, I wonder how much sense it makes to suppress protrusion
in the presence of discretionary nodes. From a typographic perspective,
wouldn't we want margin protrusion to apply regardless of whether a
hyphen is discretionary or not? Is this primarily a technical
limitation? Because from the typographic standpoint, I do not quite
understand the rationale.

  [1]: https://github.com/schlcht/microtype/issues/61#issuecomment-3743992442

It's not only about what is or should be possible or limitations in the engine. If in context one sets the lefthyphenchar to - as well as left protrusion on the - (which we don't do by default) one gets hanging left hyphens, assuming protrusion is enabled (so test-test-test can break and have left and right -) I have no cleu what other macro packages do or set up or what interferences might happen.

In luametatex a leading - also works but there we have more granular control anyway and i'm not going to backport any of that (so -test-test-test can break and have left and right - but i admit that i have no clue what a user actually expects).

Starting with a - and expecting it to protrude is a kind of weird situation anyway, so one can then as well llap that hyphen in the specific case where it is needed. Like expansion, protrusion is to be used in controlled situations; it doesn't always give nicer results.

Whatever trickery we add to luatex, it will eventually (maybe after years) result in some complaint or additional control request and we can't even be sure if it concerns just some experiment or a realistic situation, or it even being applied or well tested.

Sometimes one just as to accept a limitation (40 years of tex probably force accepting limitations anyway) ... it happens all over life.

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
-----------------------------------------------------------------

Reply via email to