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? Best, Denis
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 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. 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 -----------------------------------------------------------------
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
Am 12.10.2020 um 22:35 schrieb Hans Hagen: like hyphenation exceptions? Any drawbacks? Performance hit with large exception lists? Kerning?
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? Best, Denis
On 10/12/2020 11:09 PM, Denis Maier wrote:
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
Am 12.10.2020 um 22:35 schrieb Hans Hagen: 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 -----------------------------------------------------------------
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 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)asseyou 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 \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? in a next release a
\zwj block ligature, permit kern \zwnj block ligature, also inhibit kern for now, lmtx only 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 -----------------------------------------------------------------
participants (2)
-
Denis Maier
-
Hans Hagen