PCLT - PCL 5 Table

The 'PCLT' table is strongly recommended for OpenType fonts with TrueType outlines. Extra information on many of these fields can be found in the HP PCL 5 Printer Language Technical Reference Manual available from Hewlett-Packard Boise Printer Division.

The format for the table is:
TypeName of Entry
FIXEDVersion
ULONGFontNumber
USHORTPitch
USHORTxHeight
USHORTStyle
USHORTTypeFamily
USHORTCapHeight
USHORTSymbolSet
CHARTypeface[16]
CHARCharacterComplement[8]
CHARFileName[6]
CHARStrokeWeight
CHARWidthType
BYTESerifStyle
BYTEReserved (pad)
  

Version Table version number 1.0 is represented as 0x00010000. FontNumber This 32-bit number is segmented in two parts. The most significant bit indicates native versus converted format. Only font vendors should create fonts with this bit zeroed. The 7 next most significant bits are assigned by Hewlett-Packard Boise Printer Division to major font vendors. The least significant 24 bits are assigned by the vendor. Font vendors should attempt to insure that each of their fonts are marked with unique values.

Vendor codes:
AAdobe Systems
BBitstream Inc.
CAgfa Corporation
HBigelow & Holmes
LLinotype Company
MMonotype Typography Ltd.
  

Pitch The width of the space in FUnits (FUnits are described by the unitsPerEm field of the 'head' table). Monospace fonts derive the width of all characters from this field. xHeight The height of the optical line describing the height of the lowercase x in FUnits. This might not be the same as the measured height of the lowercase x. Style The most significant 6 bits are reserved. The 5 next most significant bits encode structure. The next 3 most significant bits encode appearance width. The 2 least significant bits encode posture.

Structure (bits 5-9)
0Solid (normal, black)
1Outline (hollow)
2Inline (incised, engraved)
3Contour, edged (antique, distressed)
4Solid with shadow
5Outline with shadow
6Inline with shadow
7Contour, or edged, with shadow
8Pattern filled
9Pattern filled #1 (when more than one pattern)
10Pattern filled #2 (when more than two patterns)
11Pattern filled #3 (when more than three patterns)
12Pattern filled with shadow
13Pattern filled with shadow #1 (when more than one pattern or shadow)
14Pattern filled with shadow #2 (when more than two patterns or shadows)
15Pattern filled with shadow #3 (when more than three patterns or shadows)
16Inverse
17Inverse with border
18-31reserved
  

Width (bits 2-4)
0normal
1condensed
2compressed, extra condensed
3extra compressed
4ultra compressed
5reserved
6expanded, extended
7extra expanded, extra extended
  

Posture (bits 0-1)
0upright
1oblique, italic
2alternate italic (backslanted, cursive, swash)
3reserved
  

TypeFamily The 4 most significant bits are font vendor codes. The 12 least significant bits are typeface family codes. Both are assigned by HP Boise Division.

Vendor Codes (bits 12-15)
0reserved
1Agfa Corporation
2Bitstream Inc.
3Linotype Company
4Monotype Typography Ltd.
5Adobe Systems
6font repackagers
7vendors of unique typefaces
8-15reserved
  

CapHeight The height of the optical line describing the top of the uppercase H in FUnits. This might not be the same as the measured height of the uppercase H.

SymbolSet The most significant 11 bits are the value of the symbol set "number" field. The value of the least significant 5 bits, when added to 64, is the ASCII value of the symbol set "ID" field. Symbol set values are assigned by HP Boise Division. Unbound fonts, or "typefaces" should have a symbol set value of 0. See the PCL 5 Printer Language Technical Reference Manual or the PCL 5 Comparison Guide for the most recent published list of codes.

Examples
 PCLdecimal
Windows 3.1 "ANSI" 19U629
Windows 3.0 "ANSI" 9U309
Adobe "Symbol" 19M621
Macintosh12J 394
PostScript ISO Latin 1 11J362
PostScript Std. Encoding 10J330
Code Page 1004 9J298
DeskTop7J 234
  

TypeFace
This 16-byte ASCII string appears in the "font print" of PCL printers. Care should be taken to insure that the base string for all typefaces of a family are consistent, and that the designators for bold, italic, etc. are standardized.

Example:
 Times New  
 Times New  Bd
 Times New  It
 Times New  BdIt
 Courier New  
 Courier New  Bd
 Courier New  It
 Courier New  BdIt
  


CharacterComplement
This 8-byte field identifies the symbol collections provided by the font, each bit identifies a symbol collection and is independently interpreted. Symbol set bound fonts should have this field set to all F's (except bit 0).

Example:
DOS/PCL Complement 0xFFFFFFFF003FFFFE
Windows 3.1 "ANSI" 0xFFFFFFFF37FFFFFE
Macintosh0xFFFFFFFF36FFFFFE
ISO 8859-1 Latin 1 0xFFFFFFFF3BFFFFFE
ISO 8859-1,2,9 Latin 1,2,5 0xFFFFFFFF0BFFFFFE
  

The character collections identified by each bit are as follows:
31ASCII (supports several standard interpretations)
30Latin 1 extensions
29Latin 2 extensions
28Latin 5 extensions
27Desktop Publishing Extensions
26Accent Extensions (East and West Europe)
25PCL Extensions
24Macintosh Extensions
23PostScript Extensions
22Code Page Extensions
  

The character complement field also indicates the index mechanism used with an unbound font. Bit 0 must always be cleared when the font elements are provided in Unicode order.

FileName
This 6-byte field is composed of 3 parts. The first 3 bytes are an industry standard typeface family string. The fourth byte is a treatment character, such as R, B, I. The last two characters are either zeroes for an unbound font or a two character mnemonic for a symbol set if symbol set found.

Examples:
 TNRR00 Times New (text weight, upright)
 TNRI00 Times New Italic
 TNRB00 Times New Bold
 TNRJ00 Times New Bold Italic
 COUR00 Courier
 COUI00 Courier Italic
 COUB00 Courier Bold
 COUJ00 Courier Bold Italic
  

Treatment Flags:
RText, normal, book, etc.
IItalic, oblique, slanted, etc.
BBold
JBold Italic, Bold Oblique
DDemibold
EDemibold Italic, Demibold Oblique
KBlack
GBlack Italic, Black Oblique
LLight
PLight Italic, Light Oblique
CCondensed
ACondensed Italic, Condensed Oblique
FBold Condensed
HBold Condensed Italic, Bold Condensed Oblique
SSemibold (lighter than demibold)
TSemibold Italic, Semibold Oblique
  

other treatment flags are assigned over time.

StrokeWeight
This signed 1-byte field contains the PCL stroke weight value. Only values in the range -7 to 7 are valid:
-7Ultra Thin
-6Extra Thin
-5 Thin
-4Extra Light
-3Light
-2Demilight
-1Semilight
0Book, text, regular, etc.
1Semibold (Medium, when darker than Book)
2Demibold
3Bold
4Extra Bold
5Black
6Extra Black
7Ultra Black, or Ultra
  

Type designers often use interesting names for weights or combinations of weights and styles, such as Heavy, Compact, Inserat, Bold No. 2, etc. PCL stroke weights are assigned on the basis of the entire family and use of the faces. Typically, display faces don't have a "text" weight assignment.

WidthType
This signed 1-byte field contains the PCL appearance width value. The values are not directly related to those in the appearance with field of the style word above. Only values in the range -5 to 5 are valid.
-5Ultra Compressed
-4Extra Compressed
-3Compressed, or Extra Condensed
-2Condensed
0Normal
2Expanded
3Extra Expanded
  

SerifStyle
This signed 1-byte field contains the PCL serif style value. The most significant 2 bits of this byte specify the serif/sans or contrast/monoline characterisitics of the typeface.

Bottom 6 bit values:
0Sans Serif Square
1Sans Serif Round
2Serif Line
3Serif Triangle
4Serif Swath
5Serif Block
6Serif Bracket
7Rounded Bracket
8Flair Serif, Modified Sans
9Script Nonconnecting
10Script Joining
11Script Calligraphic
12Script Broken Letter
  

Top 2 bit values:
0reserved
1Sans Serif/Monoline
2Serif/Contrasting
3reserved
  


Reserved
Should be set to zero.