Hello All,

I am investigating TrueType fonts on Windows (specifically 2K, XP, Vista,
and 2K3 Server), and am trying to understand how Windows parses the cmap
table within a TTF file. I have read the various TrueType specs, and
understand that the various subtables present different encodings for glyph
indices. I also know that 3.1 is Microsoft Unicode, 3.0 is Microsoft
Symbol, and 1.0 is Macintosh Roman, and that these three are the most
common. What does Windows do if some if other subtables appear, or some are
missing? When I install a TrueType font via the Control Panel, does Windows
execute psuedo-code such as:

if (3.1 subtable exists)
use 3.1 Unicode subtable info in AddFontResource to get the font info
into the system font table
else if (3.0 subtable exists)
use 3.0 Symbol subtable info in AddFontResource to get the font info
into the system font table
else ...

Does anyone know what really happens? What happens if 3.1 and 3.0 are both
defined? Is that a TrueType error and therefore Windows won't allow it?
What if only a 1.0 subtable exists?

Does it depend on the version of Windows? What happens if I display on the
screen, or print to a PS printer, or save to the clipboard? Does anyone
know of a reference or a URL that I should consult?

Thanks very much,
Brian O'Toole