ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* kerning with buggy libertine
@ 2013-08-04 13:43 Philipp Gesang
  2013-08-05 10:33 ` Hans Hagen
  0 siblings, 1 reply; 5+ messages in thread
From: Philipp Gesang @ 2013-08-04 13:43 UTC (permalink / raw)
  To: ConTeXt ML


[-- Attachment #1.1: Type: text/plain, Size: 898 bytes --]

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

[-- Attachment #1.2: Type: application/pgp-signature, Size: 490 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: kerning with buggy libertine
  2013-08-04 13:43 kerning with buggy libertine Philipp Gesang
@ 2013-08-05 10:33 ` Hans Hagen
  2013-08-07  8:08   ` Philipp Gesang
  0 siblings, 1 reply; 5+ messages in thread
From: Hans Hagen @ 2013-08-05 10:33 UTC (permalink / raw)
  To: ntg-context

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
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: kerning with buggy libertine
  2013-08-05 10:33 ` Hans Hagen
@ 2013-08-07  8:08   ` Philipp Gesang
  2013-08-07 12:37     ` Hans Hagen
  0 siblings, 1 reply; 5+ messages in thread
From: Philipp Gesang @ 2013-08-07  8:08 UTC (permalink / raw)
  To: mailing list for ConTeXt users


[-- Attachment #1.1: Type: text/plain, Size: 2786 bytes --]

···<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

[-- Attachment #1.2: Type: application/pgp-signature, Size: 490 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: kerning with buggy libertine
  2013-08-07  8:08   ` Philipp Gesang
@ 2013-08-07 12:37     ` Hans Hagen
  2013-08-07 13:51       ` Philipp Gesang
  0 siblings, 1 reply; 5+ messages in thread
From: Hans Hagen @ 2013-08-07 12:37 UTC (permalink / raw)
  To: ntg-context

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)

fonts           > otf loading > fixing kernclass table of lookup 
'pp_l_3_k_0'
fonts           > otf loading > fixing kernclass table of lookup 
'pp_l_3_k_1'
fonts           > otf loading > fixing kernclass table of lookup 
'pp_l_3_k_2'
fonts           > otf loading > fixing kernclass table of lookup 
'pp_l_3_k_3'

fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of A (U+00041)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of À (U+000C0)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of Á (U+000C1)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of  (U+000C2)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of à (U+000C3)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of Ä (U+000C4)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of Å (U+000C5)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of Ă (U+00102)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of V (U+00056)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of W (U+00057)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of Y (U+00059)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of Ÿ (U+00178)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of P (U+00050)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of K (U+0004B)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of X (U+00058)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of T (U+00054)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of Ţ (U+00162)
fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring further 
kerns of Ť (U+00164)
fonts           > otf 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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: kerning with buggy libertine
  2013-08-07 12:37     ` Hans Hagen
@ 2013-08-07 13:51       ` Philipp Gesang
  0 siblings, 0 replies; 5+ messages in thread
From: Philipp Gesang @ 2013-08-07 13:51 UTC (permalink / raw)
  To: mailing list for ConTeXt users


[-- Attachment #1.1: Type: text/plain, Size: 3040 bytes --]

···<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 ;-)

> fonts           > otf loading > fixing kernclass table of lookup
> 'pp_l_3_k_0'
> fonts           > otf loading > fixing kernclass table of lookup
> 'pp_l_3_k_1'
> fonts           > otf loading > fixing kernclass table of lookup
> 'pp_l_3_k_2'
> fonts           > otf loading > fixing kernclass table of lookup
> 'pp_l_3_k_3'
> 
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of A (U+00041)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of À (U+000C0)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of Á (U+000C1)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of  (U+000C2)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of à (U+000C3)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of Ä (U+000C4)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of Å (U+000C5)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of Ă (U+00102)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of V (U+00056)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of W (U+00057)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of Y (U+00059)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of Ÿ (U+00178)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of P (U+00050)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of K (U+0004B)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of X (U+00058)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of T (U+00054)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of Ţ (U+00162)
> fonts           > otf loading > lookup 'pp_l_3_k_3': ignoring
> further kerns of Ť (U+00164)
> fonts           > otf 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



[-- Attachment #1.2: Type: application/pgp-signature, Size: 490 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-08-07 13:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-04 13:43 kerning with buggy libertine Philipp Gesang
2013-08-05 10:33 ` Hans Hagen
2013-08-07  8:08   ` Philipp Gesang
2013-08-07 12:37     ` Hans Hagen
2013-08-07 13:51       ` Philipp Gesang

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