Re: [NTG-context] kerning with buggy libertine

2013-08-07 Thread Philipp Gesang
···date: 2013-08-05, Monday···from: Hans Hagen···

 On 8/4/2013 3:43 PM, Philipp Gesang wrote:
 Hi Hans,
 
 this is a bug report thanks to Khaled:
 
http://tex.stackexchange.com/a/126650/14066
 
 In short: the font loader applies the kerning of libertine
 version 5.3.0 even though this appears to be broken in the font.
 Context translation of the example:
 
\definefontfeature [kerning] [mode=node,smcp=yes,kern=yes]
\definefont [libertineserifsmallcaps] [file:LinLibertine_R.otf*kerning]
\definefont [libertinesanssmallcaps]  [file:LinBiolinum_R.otf*kerning]
 
\def\demotext{Vacillate Vaccine Vapour Vanish Va...}
 
\starttext
  {\libertineserifsmallcaps \demotext}\par
  {\libertinesanssmallcaps  \demotext}\par
\stoptext
 
 (Doesn’t occur in base mode.) The technical details are in the
 thread Khaled references.
 
 \showotfcomposition{file:LinLibertine_R.otf*kerning}{+1}{Va} \page
 \showotfcomposition{file:LinBiolinum_R.otf*kerning} {+1}{Va} \page
 
 You need to be more explicit (which font, where to download the
 problematic one, etc ... i downloaded the 5.3 version - i think - of
 ll). In what sense is it broken in the font?

It’s that version (5.3.0). To quote Jonathan Kew [1]:

The problem arises because the first subtable includes the
V (and T) glyphs in its coverage (as first glyph of the
pair), but then the a.sc and hyphen.sc glyphs are not
included in the ClassDef2 table, so they map to class 0, for
which the kerning is zero. [...]

The description of ClassDefFormat2 says that Any glyph not
covered by a ClassRangeRecord is assumed to belong to Class
0. If that is the case, then I think this is a font bug: any
first-glyph mentioned in a PairPosFormat2 subtable's coverage
when ClassDef2 uses format 2 will, in effect, shadow all
subsequent subtables, so the same first-glyph cannot be used
again.

And the follow up [2]:

FWIW, testing LinLibertine in IE10 on Win8, I see the same
behavior as in Firefox (using harfbuzz): the V, a.sc and
T, hyphen.sc pairs are NOT kerned.

So I believe this supports the interpretation that this is a
font bug, and we should -not- special-case Class0 as per the
experimental harfbuzz patch.

(In principle, a font could have real kerning values
specified for classN, class0, although it's most likely
that class0 will always be used for the default do-nothing
case.)


Best,
Philipp

[1] http://lists.freedesktop.org/archives/harfbuzz/2013-August/003469.html
[2] http://lists.freedesktop.org/archives/harfbuzz/2013-August/003470.html


pgpskZBCaZqPl.pgp
Description: PGP signature
___
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] kerning with buggy libertine

2013-08-07 Thread Hans Hagen

On 8/7/2013 10:08 AM, Philipp Gesang wrote:


It’s that version (5.3.0). To quote Jonathan Kew [1]:
And the follow up [2]:


it all makes me wonder if otf is that clear and clean and good ... font 
designers nowadays need to be programmers and close-readers-of-specs too 
(esp because it seem to take years to uncover such aspects)


anyhow, new beta ... plus some extra messages (the first concern fixing 
a luatex table ... not related to the issue but nicer anyway)


fontsotf loading  fixing kernclass table of lookup 
'pp_l_3_k_0'
fontsotf loading  fixing kernclass table of lookup 
'pp_l_3_k_1'
fontsotf loading  fixing kernclass table of lookup 
'pp_l_3_k_2'
fontsotf loading  fixing kernclass table of lookup 
'pp_l_3_k_3'


fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of A (U+00041)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of À (U+000C0)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of Á (U+000C1)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of  (U+000C2)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of à (U+000C3)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of Ä (U+000C4)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of Å (U+000C5)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of Ă (U+00102)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of V (U+00056)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of W (U+00057)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of Y (U+00059)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of Ÿ (U+00178)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of P (U+00050)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of K (U+0004B)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of X (U+00058)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of T (U+00054)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of Ţ (U+00162)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of Ť (U+00164)
fontsotf loading  lookup 'pp_l_3_k_3': ignoring further 
kerns of Ț (U+0021A)


the message is a signal for users not to complain too loudly if some 
expected kern doesn't show up


(i didn't test side effects so we might now run into other cases)

Hans

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | 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] kerning with buggy libertine

2013-08-07 Thread Philipp Gesang
···date: 2013-08-07, Wednesday···from: Hans Hagen···

 On 8/7/2013 10:08 AM, Philipp Gesang wrote:
 
 It’s that version (5.3.0). To quote Jonathan Kew [1]:
 And the follow up [2]:
 
 it all makes me wonder if otf is that clear and clean and good ...
 font designers nowadays need to be programmers and
 close-readers-of-specs too (esp because it seem to take years to
 uncover such aspects)
 
 anyhow, new beta ... plus some extra messages (the first concern
 fixing a luatex table ... not related to the issue but nicer anyway)

Thanks, Libertine is now as broken as it should be ;-)

 fontsotf loading  fixing kernclass table of lookup
 'pp_l_3_k_0'
 fontsotf loading  fixing kernclass table of lookup
 'pp_l_3_k_1'
 fontsotf loading  fixing kernclass table of lookup
 'pp_l_3_k_2'
 fontsotf loading  fixing kernclass table of lookup
 'pp_l_3_k_3'
 
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of A (U+00041)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of À (U+000C0)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of Á (U+000C1)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of  (U+000C2)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of à (U+000C3)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of Ä (U+000C4)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of Å (U+000C5)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of Ă (U+00102)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of V (U+00056)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of W (U+00057)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of Y (U+00059)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of Ÿ (U+00178)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of P (U+00050)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of K (U+0004B)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of X (U+00058)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of T (U+00054)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of Ţ (U+00162)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of Ť (U+00164)
 fontsotf loading  lookup 'pp_l_3_k_3': ignoring
 further kerns of Ț (U+0021A)
 
 the message is a signal for users not to complain too loudly if some
 expected kern doesn't show up

As most of those go away once the font is cached it is not a big
deal anyways.

Best,
Philipp




pgpa8xdCjR0Mw.pgp
Description: PGP signature
___
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] kerning with buggy libertine

2013-08-05 Thread Hans Hagen

On 8/4/2013 3:43 PM, Philipp Gesang wrote:

Hi Hans,

this is a bug report thanks to Khaled:

   http://tex.stackexchange.com/a/126650/14066

In short: the font loader applies the kerning of libertine
version 5.3.0 even though this appears to be broken in the font.
Context translation of the example:

   \definefontfeature [kerning] [mode=node,smcp=yes,kern=yes]
   \definefont [libertineserifsmallcaps] [file:LinLibertine_R.otf*kerning]
   \definefont [libertinesanssmallcaps]  [file:LinBiolinum_R.otf*kerning]

   \def\demotext{Vacillate Vaccine Vapour Vanish Va...}

   \starttext
 {\libertineserifsmallcaps \demotext}\par
 {\libertinesanssmallcaps  \demotext}\par
   \stoptext

(Doesn’t occur in base mode.) The technical details are in the
thread Khaled references.


\showotfcomposition{file:LinLibertine_R.otf*kerning}{+1}{Va} \page
\showotfcomposition{file:LinBiolinum_R.otf*kerning} {+1}{Va} \page

You need to be more explicit (which font, where to download the 
problematic one, etc ... i downloaded the 5.3 version - i think - of 
ll). In what sense is it broken in the font?


Hans


-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | 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
___


[NTG-context] kerning with buggy libertine

2013-08-04 Thread Philipp Gesang
Hi Hans,

this is a bug report thanks to Khaled:

  http://tex.stackexchange.com/a/126650/14066

In short: the font loader applies the kerning of libertine
version 5.3.0 even though this appears to be broken in the font.
Context translation of the example:

  \definefontfeature [kerning] [mode=node,smcp=yes,kern=yes]
  \definefont [libertineserifsmallcaps] [file:LinLibertine_R.otf*kerning]
  \definefont [libertinesanssmallcaps]  [file:LinBiolinum_R.otf*kerning]

  \def\demotext{Vacillate Vaccine Vapour Vanish Va...}

  \starttext
{\libertineserifsmallcaps \demotext}\par
{\libertinesanssmallcaps  \demotext}\par
  \stoptext

(Doesn’t occur in base mode.) The technical details are in the
thread Khaled references.

Best regards,
Philipp


-- 
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments


pgpy5SiJrrAe1.pgp
Description: PGP signature
___
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
___