D.6. The TrueType Tables That Affect PostScript-Style Glyph Descriptions

D.6.1. The Table CFF

The table CFF contains a PostScript CFF font with Type 2 charstrings. We have described this type of table in Appendix C, §C.8.

D.6.2. The Table VORG

This table was born from a small gap in the TrueType structure. When we want to calculate a glyph's offset, we know that the starting point of the width vector is the point (0,0) and that the table hmtx contains the magnitude of the vector. All, then, is well.

But here we find ourselves in utter political incorrectness: that approach works only for horizontal movement, and not everyone in the world uses horizontal movement only. What happens if we move vertically? Well, there is, of course, the table vmtx, which contains the magnitude of the vertical width vector.

But what is that vector's starting point? Without that information, we cannot compute its ending point. Fortunately, the coordinates of the starting point and the ending point appear in the table glyf: they are the last two points described in the table, the phantom points.

Yes, but OpenType fonts with a CFF table do not have a glyf table! Where, then, shall we find even the height of the starting point of the width vector?

We have a hard way and an easy way to go about it. The hard way involves interpreting the charstring and calculating the vertical extrema of all the Bézier curves. The easy way is to use the VORG table.

This table has only one piece of information to offer ...

Get Fonts & Encodings now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.