Font Combiner font metrics


Font vertical metrics provide applications with a way to establish line spacing. Ideally, metrics should be set in a way that provides consistent spacing across as many browsers, applications and operating systems as possible.

Added to the goal of establishing consistency across platforms is a decision to be made regarding placement of a line of text within the line-height boundaries.

In some cases it may be desirable to place a line of text towards the top of the line boundary as shown in this image:

Inverted metrics
Inverted metrics

This approach allows for more consistent alignment of ascender lines where sections of text of different size are placed side-by-side, and possibly lends itself well to mixed text and icon fonts.

In the case of web fonts in particular, however, and more inline with convention, it may be appropriate to have text positioned towards the bottom of a line boundary, as shown here:

Standard metrics
Standard metrics

Metrics set in this way provide a descender line closer to the bottom of its containing element, which is convenient in cases where one might want to position other elements to match:

Metrics demo

Both systems appear to have merit given Font Combiner's facility for including a limited set of characters in a font, and for example potentially removing the need to allow for (unused) diacritics above capital letters.


Technical:


The most correct approach to setting vertical metrics is in contention, with varied and numerous opinions on how best to achieve consistency across platforms and browsers.

Font Combiner attempts to set usWinAscent + usWinDescent and hheaAscender - hheaDescender equal to a line height of 1.25 em, with either sTypoAscender - sTypoDescender equal to the same, or, with the typo metrics option selected, sTypoAscender - sTypoDescender to 1 em and sTypoLineGap to 0.25 em and the USE_TYPO_METRICS flag set as per Microsoft OpenType specification recommendations.