In a font object sample view, four different metric sets can be displayed, which can each be enabled or disabled in the sample view's &popmenu;. If all four settings are enabled, each line of the font display will look like the following:

The different metrics sets have the following meaning:

  1. The red line right right below the "72" characters in the above image is the baseline. This is what the characters "sit" on. Most characters will completely be painted on top of that line, except those that have "descents" that go below the baseline (like the g and y characters). All other font metrics relate to the baseline. (For programmers: The baseline represents the y coordinate to all GpiCharString* calls.)

  2. The rectangle in light gray on the left of each line (marked with A in the above image) represents the maximum ascender of the font (but is really larger than that -- see C below). This is the amount of space that the font wants to have above the baseline. (For programmers: This is contained in the lMaxAscender field of &os2;'s FONTMETRICS structure.)*

    By contrast, the dark gray rectangle (marked with B) represents the maximum descender of the font (FONTMETRICS.lMaxDescender). This is the maximum amount that letters like g or y will go below beyond the baseline (but is really larger than that -- see 2 below).

  3. The vertical lines in dark gray (marked with C) represent the internal leading (FONTMETRICS.lInternalLeading). This is the subpart of the "maximum ascender" (A) which is only ever used as a spacing by the font. Since for the large majority of fonts the "maximum ascender" value (A) is actually much larger than the real maximum ascender in the font, this value can be subtracted from the maximum ascender to get the "real" extension of characters above the baseline.

  4. The red rectangles with the diagonal lines (marked with 1, 2) represent the lower case ascent/descent. The PM Programming Reference specifies that this is the extent that the tallest lowercase character will go above the baseline. Since with many fonts some lower-case characters such as d are actually taller than upper-case letters (e.g. in Times New Roman), this should contain the real space above the baseline that the font will use.

    Unfortunately, this value is wrong with most TrueType fonts. This might either be a bug in the FreeType/2 engine or maybe many TrueType fonts are badly designed.