You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The feature description for 'kern' has the following:
Application interface: The application passes a sequence of GIDs to the 'kern' table, and gets back adjusted positions (XPlacement, XAdvance, YPlacement and YAdvance) for those GIDs. When using the type 2 lookup on a run of glyphs, it’s critical to remember to not consume the last glyph, but to keep it available as the first glyph in a subsequent run (this is a departure from normal lookup behavior).
This seems to be indicating that applications for implement feature-specific processing for the 'kern' feature, and that, moreover, contradicts this guidance from the Lookup spec:
During text processing, a client applies a lookup to each glyph in the string before moving to the next lookup. A lookup is finished for a glyph after the client makes the substitution/positioning operation. To move to the “next” glyph, the client will typically skip all the glyphs that participated in the lookup operation: glyphs that were substituted/positioned as well as any other glyphs that formed a context for the operation. However, in the case of pair positioning operations (i.e., kerning), the “next” glyph in a sequence may be the second glyph of the positioned pair (see pair positioning lookup for details).
That spec allows for special behaviour for GPOS type 2 lookups, but that is contingent on the lookup data. The feature description doesn't mention the lookup data as a contingent condition for the behaviour.
Neither MS or Apple implementations do any feature-specific processing of lookups.
It appears the actual intent was not guidance for applications but rather guidance for font developers: make sure in 'kern' type 2 lookups to have valueFormat2 set to 0 so that the second glyph is not adjusted and consumed.
Thus, the 'kern' feature description should be revised to correct the currently misleading guidance.
This same issue also affects 'vkrn', 'chws' and 'vchw' feature descriptions.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
ID: 61a9106c-ca98-1891-2c00-ace78615994f
Version Independent ID: 0feefbc8-23a7-5bc8-76dc-0a336a1c7968
Ah, yes, That! There are a bazillion feature descriptions using this wording, as though it actually made sense. In TTO, the feature descriptions didn't have this; but it was there by OT 1.25.
I'll work on better wording for these four feature descriptions. Cleaning up all occurrences would be a much longer task.
The feature description for 'kern' has the following:
This seems to be indicating that applications for implement feature-specific processing for the 'kern' feature, and that, moreover, contradicts this guidance from the Lookup spec:
That spec allows for special behaviour for GPOS type 2 lookups, but that is contingent on the lookup data. The feature description doesn't mention the lookup data as a contingent condition for the behaviour.
Neither MS or Apple implementations do any feature-specific processing of lookups.
It appears the actual intent was not guidance for applications but rather guidance for font developers: make sure in 'kern' type 2 lookups to have valueFormat2 set to 0 so that the second glyph is not adjusted and consumed.
Thus, the 'kern' feature description should be revised to correct the currently misleading guidance.
This same issue also affects 'vkrn', 'chws' and 'vchw' feature descriptions.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
The text was updated successfully, but these errors were encountered: