Type Talk III: Leading and Spacing

When we wrote text to the display in Chapter 2, we obtained information from GetTextMetrics that allowed us to space the text properly. The five values from the TEXTMETRIC structure that describe the size of a character were shown in a diagram (Figure 2-3). Those five character-height values are shown again in Figure 14-4 on the following page.

The word leading (pronounced ”ledding“) is derived from the lead that typesetters insert between blocks of metal type to add white space between lines of text. The tmInternalLeading value is the space for diacritics. (For the terminal font, tmInternalLeading is 0, and characters with diacritics are simply reduced in size to make room for the diacritics.) The tmExternalLeading ”suggests“ an additional space to leave between lines of characters. Programmers can use or ignore the external leading value. The Courier, Helvetica, and Times Roman fonts usually have tmExternalLeading values of 0 and have positive tmInternalLeading values (except in the very smallest sizes) to more closely approximate how fonts are used in printed material.

When we refer to a font as being 8-point or 12-point, we're actually talking about the height of the font less the internal leading. The diacritics on certain capitals are considered to occupy the space that normally separates lines of type. The tmHeight value refers to the line spacing. In the case of the 24-point Times Roman font for the EGA (which conveniently has 72 pixels per logical inch vertically, or 1 pixel per logical point), the tmHeight value is 26 and the tmInternalLeading is 2. The line spacing is 28 points. The size of the font is 26 minus 2, or 24 points. We speak of this as a 24-point font on a 26-point line spacing, which is often abbreviated as 24/26 (and pronounced ”twenty-four on twenty-six“). The 10-point Courier, Helvetica, and Times Roman fonts designed for the EGA all have a tmHeight value of 12 and a tmInternalLeading value of 2. The line spacing is 12 points, or 1/6 logical inch, which is the normal line spacing of a printer or typewriter.