Re: [NTG-context] (bug?) wrong hyphenation with external fonts

2016-02-05 Thread Hans Hagen

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
___

Re: [NTG-context] (bug?) wrong hyphenation with external fonts

2016-02-04 Thread Hans Hagen

On 2/4/2016 9:27 PM, Pablo Rodriguez wrote:

On 02/03/2016 02:18 PM, Hans Hagen wrote:

On 2/2/2016 12:28 PM, Pablo Rodriguez wrote:

Dear list,
[...]
Hyphenation is wrong with fonts that don’t come with the ConTeXt
distribution. TeX Gyre Pagella is hyphenated right, but MinionPro or
even TeX Gyre Pagella Math are wrong hyphenated.

I’m afraid it may be a bug. Could anyone confirm it?


to what extend hyphenation is supported depends on the interaction
between ligature building / kerning / trickery and possible hyohenation
points; the font handler tries to do its best


Many thanks for your reply, Hans.

I reported the issue in the opposite way it happens:

 \definefontfamily[mainface][rm][MinionPro]
 \definefontfamily[anotherface][rm][TeX Gyre Pagella]
 \setupbodyfont[mainface]

 \starttext
 \startTEXpage[offset=1em]
 \hyphenatedword{LibreOffice libre office}

 \setupbodyfont[anotherface]%
 \hyphenatedword{LibreOffice libre office}
 \stopTEXpage
 \stoptext

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.


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
___

Re: [NTG-context] (bug?) wrong hyphenation with external fonts

2016-02-04 Thread Pablo Rodriguez
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.

Many thanks for your help again,

Pablo
-- 
http://www.ousia.tk
___
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
___

Re: [NTG-context] (bug?) wrong hyphenation with external fonts

2016-02-04 Thread Pablo Rodriguez
On 02/03/2016 02:18 PM, Hans Hagen wrote:
> On 2/2/2016 12:28 PM, Pablo Rodriguez wrote:
>> Dear list,
>> [...]
>> Hyphenation is wrong with fonts that don’t come with the ConTeXt
>> distribution. TeX Gyre Pagella is hyphenated right, but MinionPro or
>> even TeX Gyre Pagella Math are wrong hyphenated.
>>
>> I’m afraid it may be a bug. Could anyone confirm it?
> 
> to what extend hyphenation is supported depends on the interaction 
> between ligature building / kerning / trickery and possible hyohenation 
> points; the font handler tries to do its best

Many thanks for your reply, Hans.

I reported the issue in the opposite way it happens:

\definefontfamily[mainface][rm][MinionPro]
\definefontfamily[anotherface][rm][TeX Gyre Pagella]
\setupbodyfont[mainface]

\starttext
\startTEXpage[offset=1em]
\hyphenatedword{LibreOffice libre office}

\setupbodyfont[anotherface]%
\hyphenatedword{LibreOffice libre office}
\stopTEXpage
\stoptext

The ff-ligature prevents hyphenation with TeX Gyre Pagella, but not with
MinionPro. (This is the opposite of what I reported before.)

> math: don't use math fonts for text

I never do it. Reported only for the record.

Sorry for the previous inaccurate report. Many thanks for your help,


Pablo
-- 
http://www.ousia.tk
___
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
___

Re: [NTG-context] (bug?) wrong hyphenation with external fonts

2016-02-03 Thread Hans Hagen

On 2/2/2016 12:28 PM, Pablo Rodriguez wrote:

Dear list,

just accidentally I discovered the following issue:

 \definefontfamily[mainface][rm][MinionPro]
 \definefontfamily[anotherface][rm][TeX Gyre Pagella]
 % wrong hyphenation too with TeX Gyre Pagella Math
 \setupbodyfont[mainface]

 \starttext
 \startTEXpage[offset=1em]
 \hyphenatedword{LibreOffice libre office}

 \es\hyphenatedword{LibreOffice libre office}
 \stopTEXpage
 \startTEXpage[offset=1em]
 \setupbodyfont[anotherface]%
 \hyphenatedword{LibreOffice libre office}

 \es\hyphenatedword{LibreOffice libre office}
 \stopTEXpage
 \stoptext

Hyphenation is wrong with fonts that don’t come with the ConTeXt
distribution. TeX Gyre Pagella is hyphenated right, but MinionPro or
even TeX Gyre Pagella Math are wrong hyphenated.

I’m afraid it may be a bug. Could anyone confirm it?


to what extend hyphenation is supported depends on the interaction 
between ligature building / kerning / trickery and possible hyohenation 
points; the font handler tries to do its best


math: don't use math fonts for text

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
___