Font Terminology
The smallest element in any type of font is a character, which is a symbol that
represents the concept of, for example, a lowercase “b”, the number “2”, or
the arithmetic operator “+”. You cannot show a generic lowercase “b” on a
display device; no matter how you might decide to show the character, certain
features of representation distinguish your lowercase “b” from someone
else's lowercase “b”. What you actually see on a display device is a glyph, the
distinct visual representation of the character. One glyph can represent one
character, such as a lowercase “b”; more than one character, such as the “fi”
ligature, which is two characters but only one glyph; or a nonprinting
character, such as the space character.
Because there are two types of fonts, there are two types of glyphs. A
bitmapped glyph is a bitmap designed at a fixed point size for a particular
display device, such as a monitor or a printer. A font designer, having decided
that a glyph should be so many pixels tall and so many pixels wide, carefully
chooses the pixels that create the finished glyph image or bitmap. (A pixel is
the smallest dot the screen can display. The resolution of a screen or printer is
measured in dots per inch or dpi.) The font stores the bitmapped glyph as a
picture for the display device.
An outline glyph is a model of how a glyph should look. A font designer uses
lines and curves, not pixels, to draw the glyph. The outline, a mathematical
description of an outline glyph, has no designated point size or display device
characteristic (such as the size of a pixel) attached to it. The
Font Manager uses the outline as a pattern to create bitmaps at any size for any display device.
Remember that a glyph is a representation of a character, and every glyph
has some characteristics that distinguish it from the other glyphs that
represent the same character: for example, the shape of the oval, the design of
the stem, whether or not the glyph has a serif. If all the glyphs for a
particular character set share the same characteristics, they form a typeface,
which is a distinctly designed collection of glyphs. Each typeface has its own
name, such as New York, Geneva, or Symbol. The same typeface can be used
with different hardware, such as a typesetting machine, monitor, or laser
printer.
Certain stylized changes can be made to the look of a glyph. Font styles
(character styles) are variations in the appearance of a typeface. Styles
available on the Macintosh computer include plain, bold, italic, underline,
outline, shadow, condensed, and extended. QuickDraw can add stylistic variations such as bold or italic to bitmaps, or a font designer can design a font
in a specific style (for instance, Courier Bold).
The term "font" refers to a complete set of glyphs in a particular typeface,
size, and style. Courier plain 10- point, Courier bold 10- point, and Courier
plain 12- point, for example, are considered three different fonts. This
definition still works well for bitmapped fonts (of resource type 'FONT' or
'NFNT'). Manufacturers of bitmapped fonts design an individual bitmap for
each glyph in each size and style. If the user requests a font that is not
available in a particular size, QuickDraw can alter a bitmapped font at a different size to create the required glyphs. However, this generated bitmap
often appears to be slightly irregular in some way.
An outline font (of resource type 'sfnt') is a collection of outline glyphs in a
particular typeface and style with no size restriction. The Font Manager can generate thousands of point sizes from the same TrueType font: a single outline Courier font can produce Courier 10- point, Courier 12- point, and Courier
200- point. Handles to font records, found in data structures such as the global
width table or the FMOutput record, point to fonts named by the 'sfnt' resource, as well as to fonts named by the 'FONT' and 'NFNT' resources.
When there are two or more fonts of the same typeface (whether of different
styles, point sizes, or type-bitmapped or outline), the
Font Manager groups them into font families (of resource type 'FOND'). An outline plain font for Geneva and two bitmapped fonts for Geneva plain
12-point and Geneva italic 12-point might make up one font family, to which a
user could subsequently add other sizes or styles.
When you want to print or display a particular glyph, you need to refer
directly to the character that the glyph represents. The Font Manager accesses an individual character by a character code-a hexadecimal number
from $00 through $FF-and displays the glyph for that character in the font of
the current grafPort record.
Font Manager uses the missing character glyph if a font manufacturer does not include a particular character in a font. It is commonly represented on the
Macintosh computer by an empty rectangle, such as . A font manufacturer
must include the missing character glyph for a font. The Font Manager does not use the missing character glyph for nonprinting characters, such as the
space character, that are included in the 'FONT', 'NFNT', or 'sfnt' resource.