On 10/12/2020 11:09 PM, Denis Maier wrote:
Am 12.10.2020 um 22:35 schrieb Hans Hagen:
On 10/12/2020 4:55 PM, Denis Maier wrote:
Hi,

with LuaLaTeX I used to use the selnolig package to disable inappropriate ligatures. With ConTeXt I have just inputted the list prepared by Hraban (based on a wordlist originating from selnolig), but then ran into a curious bug (?) with disappearing characters (see my posts from a couple of days ago). I'm now converting this list to the \blockligatures mechanism (instead of using \replaceword), which also has better kerning support due to Hans. When done, I'll of course share this on the Wiki if there's any need for this.

Now I'm wondering how others deal with inappropriate ligatures. Do you just ignore them? Do you block them on an ad-hoc basis, like whenever they occur? Do you use scripts to pre-process your files before typesetting? Do you just disable ligatures globally?

I tend to think there must be an automatic way to deal with the most awkward cases. The problem is that there just so many.

What do you think?
I played a bit with what we have and in a next upload you can do this:

\startexceptions[de]
au{f-}{f}{ff}(f\zwnj f)asse
\stopexceptions

\showglyphs

\starttext

auffasse

then is like:

au\discretionary{f-}{-f}{f\zwnj f}asse

\stoptext
Oh, that looks interesting. So that would essentially be implemented like hyphenation exceptions? Any drawbacks? Performance hit with large exception lists? Kerning?

probably kerning between the (here) ff but you probably don't want that anyway there

performance wise parsing these specs is always delayed till there is a word match (and actually every word that fits lrmin criteria is checked in the exception wordlist so as soon as one has one or more exceptions there is always a bit overhead, but it's nothing compared to the impact of some bad styling options) .. this is not where tex spends most of its time (and context spends more than half its time in lua so that is the slow down part, not that I hear users complain)

(if needed we can always have some more advanced mechanism, like wiping those joiners before kerning happens .. in principle all is doable which doesn't mean all has to be done)

Just an experiment. I don't know when there will be an update because first WS and I have to test and double check some new stuff as we don't want users to suffer too much from a couple of fundamental new features.
Is there a patch so the brave can help with testing?
no patch, just wait for an update (luametatex + context lmtx)

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
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to