ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
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
___________________________________________________________________________________

      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).