On 2/5/2016 8:47 AM, Pablo Rodriguez wrote:
On 02/04/2016 10:13 PM, Hans Hagen wrote:
On 2/4/2016 9:27 PM, Pablo Rodriguez wrote:
[...] The ff-ligature prevents hyphenation with TeX Gyre Pagella, but not with MinionPro. (This is the opposite of what I reported before.)
it depends on the complexity of the ligature .. ff is not so much an issue but you can have ff + i = ffi etc and we need to deal with kerning too (it depends a bit on how the opentype features are applied and we can handle quite some weird ligature implementations)
the latest mechanism in context can deal with quite some situations but at some point has to make decisions (in order not to loose for instance kerns; double chained ligatures would result in way more overhead and is not worth the trouble)
one might wonder if we never had these f[fil] ligatures of if ancient technology had provides hundreds of them combining upto 4 characters etc etc.
Many thanks for the explanation, Hans.
I see the decisions ConTeXt has to make may be compromises in some cases.
the f + f can become a ff glyph but also a special first or second f or even two special f's and the same can happen with this result and the following i which can become a special i, or just the i partly overlayed or a ligature or break the ff into f and fi or there can be no replacements but just kerning tex does have a concept of chained discretionary nodes (max 2) but that is pretty complex; such a chained discretionary node set + complex ligatures is no fun to deal with and because we also want to do other things in context (font handling is only one of the many things we do at that level) we don't want to build a solution tree of thousands of possibilities to feed into the par builder (the current mechanism is already quite complex but still quite fast too) just for the sake of an occasional three character ligature in latin which is not even always permitted due to language constraints Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------