The different metrics sets have the following meaning:
g
and y
characters). All other font
metrics relate to the baseline. (For programmers: The baseline represents the y
coordinate to all GpiCharString*
calls.)
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).
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.
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.