TrueType is not standardized
George Williams explains why there is not one universal truetype format: "TrueType is not standardized. It is an evolving specification with at least three groups working on it and changing it in different ways. The major players are Apple, Microsoft and Adobe. None of these is entirely consistent with the others. Examples of differences:
- Apple and Adobe call a field in the cmap table "language", while Microsoft (which doesn't use it) calls it "version".
- Apple calls the bitmap data table "bdat" while MicroSoft and Adobe call it "EBDT". This means that a font's bitmaps need to be specified twice to work on both systems. (!!!!!)
- Apple and MS interpret the offsets of compound glyphs quite differently when scaling factors/rotations are present. Apple doesn't even describe its interpretation well enough to implement it. OpenType provides a mechanism for distinguishing between the two (without describing what Apple does), but Apple doesn't mention this, and anyway old fonts won't have it.
- Old MS docs claim that in the cmap table the big5 encoding_id is 3 (and the PRC encoding is 4), while the new docs claim it is 4 (and the PRC encoding is 3).
- Apple and MS/Adobe have gone in different directions for some of the more advanced typographic effects and the two ways these are described are completely different.
Truetype font software ⦿