Possible patch (can be directly used with `git apply') diff --git a/source/texk/web2c/luatexdir/tex/postlinebreak.c b/source/texk/web2c/luatexdir/tex/postlinebreak.c index cbc77e556..9cd76b5fa 100644 --- a/source/texk/web2c/luatexdir/tex/postlinebreak.c +++ b/source/texk/web2c/luatexdir/tex/postlinebreak.c @@ -440,7 +440,7 @@ void ext_post_line_break(int paragraph_dir, } adjust_tail = adjust_head; pre_adjust_tail = pre_adjust_head; - if (adjust_spacing > 0) { + if (adjust_spacing > 1) { just_box = hpack(q, cur_width, cal_expand_ratio, paragraph_dir); } else { just_box = hpack(q, cur_width, exactly, paragraph_dir); On 12/5/19 10:04 AM, Henri Menke wrote:
Dear devs,
The \adjustspacing register is described in the LuaTeX manual as follows:
When \adjustspacing has value 2, hz optimization will be applied to glyphs and kerns. When the value is 3, only glyphs will be treated. A value smaller than 2 disables this feature.
However, setting \adjustspacing=1 will only disable shrink but not stretch. Please find a minimal example example, where I have used exaggerated values for shrink and stretch to emphasize the issue. It can be reproduced with both mtxrun --script plain and luatex with luaotfload.sty.
I have already checked linebreak.c but add_to_widths looks innocuous and properly checks the adjust_spacing parameter.
Cheers, Henri
---
%\input luaotfload.sty \directlua{ fonts.expansions.setups.default.stretch = 2000 fonts.expansions.setups.default.shrink = 2000 } \adjustspacing=1 \font\1="file:lmroman10-regular.otf:expansion=default" \hsize=5em \1 \input lorem \bye