From: Hans Hagen <pragma@wxs.nl>
To: ntg-context@ntg.nl
Subject: Re: (bug?) wrong hyphenation with external fonts
Date: Fri, 5 Feb 2016 09:42:54 +0100 [thread overview]
Message-ID: <56B4608E.9020404@wxs.nl> (raw)
In-Reply-To: <56B45397.1090806@gmx.es>
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
-----------------------------------------------------------------
___________________________________________________________________________________
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://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
prev parent reply other threads:[~2016-02-05 8:42 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-02 11:28 Pablo Rodriguez
2016-02-03 13:18 ` Hans Hagen
2016-02-04 20:27 ` Pablo Rodriguez
2016-02-04 21:13 ` Hans Hagen
2016-02-05 7:47 ` Pablo Rodriguez
2016-02-05 8:42 ` Hans Hagen [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56B4608E.9020404@wxs.nl \
--to=pragma@wxs.nl \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).