[OpenType] Kerning

Sairus Patel sppatel at adobe.com
Thu Mar 25 01:01:02 CET 2010


Behdad's observation that the kern table encodes data in visual order ("left-hand glyph", etc) whereas GPOS describes sequences in "logical" order is accurate.

However, I don't believe it follows from this that the GPOS needs to be applied before the kern table in the situation described below. Bidi level partitioning needs to happen before either the kern table or GPOS table is applied, it's just that the kern table needs to be looked up with glyphs in visual order and the GPOS needs to be looked up with glyphs in "logical" order. Applying either table requires knowledge of the bidi level of the sub-run.

Here is the reasoning behind the Adobe proposal choosing to apply the kern table before the GPOS table in the situation described below:

If kerning was done in the GPOS, its lookups normally would be applied before the mark positioning lookups -- you'd want the base glyphs to be kerned first, and then position the marks over them. Positioning the marks over the base glyphs first and then kerning base glyphs with each other could result in the marks being misaligned. Thus, kerning conceptually comes before mark positioning. (Yes, you can use the kern table to kern mark glyphs but that doesn't allow for easy positioning of multiple marks on a glyph.)

Remember, the context for this proposal is to provide recommended guidance for OT layout engines on how to handle the (apparently increasingly) common phenomenon of fonts with both kern and GPOS tables. The proposal already states that "If compatibility with legacy environments is not a concern, font vendors are encouraged to record kerning in the GPOS table's kern feature and not in the kern table."

Vlad:

Unless we hear any additional feedback, the only changes to Adobe's kerning proposal in the draft corrigendum thus far would be to change the "must"s to "should"s.

Thanks!
Sairus


-----Original Message-----
From: listmaster at indx.co.uk [mailto:listmaster at indx.co.uk] On Behalf Of Behdad Esfahbod 
Sent: Friday, March 12, 2010 7:44 AM
To: multiple recipients of OpenType - sent by
Subject: Re: [OpenType] Kerning

Message from OpenType list:


On 03/10/2010 03:03 PM, Levantovsky, Vladimir wrote:
> (a) If the number of kern feature lookups in the resolved language system in the GPOS table is zero, then the kern table must be applied, followed by any remaining GPOS features requested.


I believe the order should be the other way around.  GPOS applies on the
logical glyph stream whereas 'kern' applies on the visual glyphs.  So,
normally, GPOS is applied, glyphs reversed for RTL runs, then kern applies.

behdad


subscribe: opentype-migration-sub at indx.co.uk
unsubscribe: opentype-migration-unsub at indx.co.uk
messages: opentype-migration-list at indx.co.uk




More information about the mpeg-otspec mailing list