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

Reply via email to