A font is a set of glyphs which map to known characters in one or more
languages. The glyphs within a font usually all share common characteristics
such as size, style, and design. The Font properties allow control
over many different font criteria such as boldness, italics, size, and
specific or generic font name.
In CSS1, fonts were identified only by their name. If none of the fonts
an author specified were available, the browser had to resort to using
default fonts. This is clearly not the best solution when documents are
available in an environment as heterogeneous as the web.
CSS2 font selection greatly expands the capabilities of browsers with respect
to matching fonts when the intended font is not available. Dozens of
"font descriptors" have been introduced which break down a desired font's
characteristics. When a desired font is not present, all of these descriptors
can be used to make an intelligent "best-choice" for an alternate font match.
In the event a best match can not be generated, fonts may even be generated
on the fly or downloaded as needed over the web.