ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Philipp Gesang <Philipp.Gesang@alumni.uni-heidelberg.de>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: kerning with buggy libertine
Date: Wed, 7 Aug 2013 10:08:43 +0200	[thread overview]
Message-ID: <20130807080843.GA22003@phlegethon> (raw)
In-Reply-To: <51FF7F95.1010800@wxs.nl>


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

  reply	other threads:[~2013-08-07  8:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-04 13:43 Philipp Gesang
2013-08-05 10:33 ` Hans Hagen
2013-08-07  8:08   ` Philipp Gesang [this message]
2013-08-07 12:37     ` Hans Hagen
2013-08-07 13:51       ` Philipp Gesang

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=20130807080843.GA22003@phlegethon \
    --to=philipp.gesang@alumni.uni-heidelberg.de \
    --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).