TrueType Typography
TrueType Glossary - P
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

N.B. An asterisk before a word means it has its own entry in the glossary.


PANOSE
A font substitution system (in full, PANOSE 1.0) stored in TrueType fonts as 10 digits in the *'OS/2' table. Applications wishing to determine the closest installed font to a requested, but absent, font compute the typographic "distance" (that's a distance measured in 10-dimensional PANOSE-space!) from each installed font to the requested one, whose PANOSE bytes are known. Finally, the installed font with the minimum distance is used.
    The system was developed by ElseWare Corporation, which was taken over by Hewlett-Packard. There's also PANOSE 2.0, a major extension into parametric font territory. The PANOSE 2.0 White Paper describes the system in some detail.

PCLETTO
PCL Encapsulated TrueType Outline. A font format for downloading TrueType fonts to PCL printers (from the LaserJet 4 onwards), where they are processed by a genuine TrueType *rasterizer. For efficiency, PCLETTO fonts ere often *subsetted.

'PCLT' table
A really annoying table that Microsoft recommends you put in your fonts to make life easier for certain Hewlett-Packard printers. Most of us leave it out. See Microsoft's PCLT spec for the format in detail.

PFR
Portable font resource file, the font format "played" and "recorded" by Bitstream's *TrueDoc system.

phantom points
During TrueType *hinting, after the *rasterizer has scaled the *outline but just before it starts to interpret *instructions, two extra points are added to the points for a *glyph. These "phantom" points are the glyph's *LSB and *advance width. One can modify their position with TrueType *instructions just like any other glyph point - this is how one adjusts spacing for different *ppem sizes.
    In *composite glyphs, the two points are added just once after creating the complete glyph. Note that if USEMYMETRICS is set, they will be taken from the (already hinted) relevant *component rather than the 'hmtx' table.

pixels per em
The size of the output grid on which the *rasterizer is to create a *glyph *bitmap from an *outline; abbreviated "ppem". It is a combination of *point-size and device *resolution.
    The value is important within TrueType: in *Delta instructions, precise adjustments are made at particular "ppem" sizes. Using the MPPEM *instruction, you can instruct glyphs differently depending on their ppem.
    Ppem can be evaluated by: point-size * resolution / 72

point-size
The physical size of a font, irrespective of the *resolution of the device it's being displayed on.
    Although TrueType has the MPS instruction to measure point-size, it is rarely used; TrueType is much more interested in *ppem, the combination of point-size and resolution that determines the number of pixels available for the *glyph. In fact, Windows always returns "12" to the MPS instruction. (Theoretically, had MPS worked, one could have built "standard" TrueType fonts with an optical size *axis.)

'post' table
The mandatory TrueType table that holds information that is required not only in PostScript environments, but also the names of each glyph. See Apple's spec or Microsoft's spec for the format in detail.

ppem
See *pixels per em.

'prep' table
The part of a TrueType font file where the *preprogram is stored. See Apple's spec or Microsoft's spec for the format in detail.

preprogram
An optional program in a TrueType font, executed by the TrueType *rasterizer whenever the point-size, *resolution, or *transformation matrix of a font changes. The preprogram typically sets up values that are used by many characters in the font, for maintaining consistency, including those in the *CVT. The preprogram is the *'prep' table in the TrueType font file.

projection vector
The vector P along which all measurements are taken by TrueType hinting *instructions. It can be set to any angle. Contrast with the *freedom vector F along which points are moved.
    Although most TrueType programming keeps P and F identical, they can be set differently to control diagonal strokes.


TYPE*chimérique | TrueType Typography | TYPE*links