PCLT - PCL 5 Table
The 'PCLT' table is strongly discouraged 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:
|Type||Name of Entry|
Major and Minor Version
The current PCLT table version is 1.0.
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.
|H||Bigelow & Holmes|
|M||Monotype Typography Ltd.|
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.
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.
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)
|0||Solid (normal, black)|
|2||Inline (incised, engraved)|
|3||Contour, edged (antique, distressed)|
|4||Solid with shadow|
|5||Outline with shadow|
|6||Inline with shadow|
|7||Contour, or edged, with shadow|
|9||Pattern filled #1 (when more than one pattern)|
|10||Pattern filled #2 (when more than two patterns)|
|11||Pattern filled #3 (when more than three patterns)|
|12||Pattern filled with shadow|
|13||Pattern filled with shadow #1 (when more than one pattern or shadow)|
|14||Pattern filled with shadow #2 (when more than two patterns or shadows)|
|15||Pattern filled with shadow #3 (when more than three patterns or shadows)|
|17||Inverse with border|
Width (bits 2-4)
|2||compressed, extra condensed|
|7||extra expanded, extra extended|
Posture (bits 0-1)
|2||alternate italic (backslanted, cursive, swash)|
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)
|4||Monotype Typography Ltd.|
|7||vendors of unique typefaces|
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.
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.
|Windows 3.1 “ANSI”||19U||629|
|Windows 3.0 “ANSI”||9U||309|
|PostScript ISO Latin 1||11J||362|
|PostScript Std. Encoding||10J||330|
|Code Page 1004||9J||298|
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.
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).
|Windows 3.1 “ANSI”||0xFFFFFFFF37FFFFFE|
|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:
|31||ASCII (supports several standard interpretations)|
|30||Latin 1 extensions|
|29||Latin 2 extensions|
|28||Latin 5 extensions|
|27||Desktop Publishing Extensions|
|26||Accent Extensions (East and West Europe)|
|22||Code 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.
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.
|TNRR00||Times New (text weight, upright)|
|TNRI00||Times New Italic|
|TNRB00||Times New Bold|
|TNRJ00||Times New Bold Italic|
|COUJ00||Courier Bold Italic|
|R||Text, normal, book, etc.|
|I||Italic, oblique, slanted, etc.|
|J||Bold Italic, Bold Oblique|
|E||Demibold Italic, Demibold Oblique|
|G||Black Italic, Black Oblique|
|P||Light Italic, Light Oblique|
|A||Condensed Italic, Condensed Oblique|
|H||Bold Condensed Italic, Bold Condensed Oblique|
|S||Semibold (lighter than demibold)|
|T||Semibold Italic, Semibold Oblique|
other treatment flags are assigned over time.
This int8 field contains the PCL stroke weight value. Only values in the range -7 to 7 are valid:
|0||Book, text, regular, etc.|
|1||Semibold (Medium, when darker than Book)|
|7||Ultra 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.
This int8 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.
|-3||Compressed, or Extra Condensed|
This uint8 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:
|0||Sans Serif Square|
|1||Sans Serif Round|
|8||Flair Serif, Modified Sans|
|12||Script Broken Letter|
Top 2 bit values:
Should be set to zero.