It actually seems as if the documentation of LuaTeX is wrong here, because the behaviour of `\adjustspacing=1' is compatible with `\pdfadjustspacing=1` in pdfTeX. From the pdfTeX manual: When \pdfadjustspacing is set to 1, font expansion is applied after TeX’s normal paragraph breaking routines have broken the paragraph into lines. In this case, line breaks are identical to standard TeX behavior. So maybe just copy this paragraph to the LuaTeX manual. On 12/5/19 1:34 PM, Henri Menke wrote:
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