On Wed, Feb 17, 2021 at 12:12:40PM +0100, luigi scarso wrote:
On Wed, Feb 17, 2021 at 10:10 AM luigi scarso
wrote: On Tue, Feb 16, 2021 at 3:27 PM Marcel Fabian Krüger
wrote: Hi,
as documented in the manual, LuaTeX supports a restricted form of nested discretionaries to handle cases like "of\-f\-ice" with ffi/ff/fi ligatures. Sadly this does not seem to work correctly.
Confirmed. I hope that it will be fixed for tl 2021.
Hans and I discussed it in the perspective of the upcoming code freeze. As this is an intrusive patch (parbuilder), because there has been demands for stability, and because this is a corner case that has not given issues for over a decade, we don't feel comfortable with substantial patching before the tex live 2021 code freeze. We are willing to apply the patch after the code freeze in experimental so that those who need this can test it and are served. In the process we might introduce an option to disable init/select disc handling altogether.
While I had hoped to get this in TeX Live 2021 and think that especially since it's a corner case and the old behavior is clearly wrong, it shouldn't cause compatibility issues, I completely understand your position and will adjust luaotfload not to rely on it for the time being. By the way while working on this I thought that it should be relatively easy to add a variant of init/select (init/chained?) which allows an arbitrary number of such discretionary nodes (e.g. f\-f\-f\-f\-f in a font with ligatures for upto fffff) as long as only one of the breaks can be taken at a time (which seems like a valid rule in all reasonable cases). This would be very useful for our HarfBuzz support code. Is there any chance to get this integrated? (some time after the freeze of course) I can provide an implementation but I wanted to check if there is any interest first. Best regards, Marcel