Notice This document contains proprietary information which is protected by copyright. All rights are reserved. No part of this document may be photocopied, reproduced, or translated to another language without the prior written consent of Hewlett-Packard Company. The information contained in this document is subject to change without notice.
First Edition – October 1992 This document is the current edition of the technical reference manual for PCL 5 and earlier printers. It replaces the September 1990 edition of the HP PCL 5 Printer Language Technical Reference Manual (p/n 33459-90903). If you have ordered another PCL Technical Reference document, this manual and the PCL 5 Comparison Guide are the updated replacement documents.
Trademark Credits Intellifont and Garth Graphic are U.S. registered trademarks of Agfa Division, Miles Inc. CG Triumvirate and Shannon are trademarks of Agfa Division, Miles Inc. CG Bodoni, CG Century Schoolbook, CG Goudy Old Style, CG Melliza, Microstyle, CG Omega, CG Palacio, CG Times and CG Trump Mediaeval are products of Agfa Division, Miles Inc.
PCL base set. Features of future printer releases are not covered in this document. The new features are described in the latest version of the PCL 5 Comparison Guide. Programmers should familiarize themselves with the information provided in the PCL 5 Comparison Guide in addition to the information in this document.
The most current versions of software application notes can be obtained through the HP Forum on CompuServe, by fax using the HP FIRST fax service, or through HP’s literature distribution. Refer to Appendix A for more information.
This chapter describes font management which provides mechanisms for downloading and manipulating soft fonts. Chapter 10 - This chapter describes the capability of some PCL 5 printers to enable users to define their own symbol sets for special needs. Chapter 11 - This chapter describes how to organize font/character data for downloading to the printer.
Chapter 17 - Graphics This chapter introduces basic information for HP-GL/2. It lists the vector graphics commands, and describes the HP-GL/2 command syntax. An overview of several important topics is also provided, such as the PCL Picture Frame concept, scaling, pen status and location, and absolute vs.
HP-GL/2 graphics. Chapter 23 - This chapter contains information about the commands used to print text (labels) in HP-GL/2 mode. This allows you to print HP-GL/2 labels in almost any size, slant and direction using proportional or fixed-spaced scalable fonts.
PCL 5 Comparison Guide This document contains supplemental information for programming PCL 5 LaserJet printers. It identifies how different HP PCL 5 LaserJet printers implement the commands described in the HP PCL 5 Printer Language Technical Reference Manual. It provides printer-specific information on feature sets, paper handling, fonts, and the printer’s...
HP has evolved both the definition and implementations of PCL to provide the optimal price and performance balance. PCL 5 represents a new breakthrough in price/performance leadership. Its features were selected in direct response to customer requests.
The PCL printer language model succeeds because the following points are observed: All HP LaserJet printers implement PCL printer language features consistently. HP printers implement the above language feature groups in very cost-effective formatters. HP printers have the ability to ignore most unsupported commands.
PCL commands provide access to the printer’s PCL control structure. The PCL structure controls all of the printer’s features except those used for vector graphics, which are controlled by the HP-GL/2 commands. PCL printer commands consist of two or more characters. The first character is always the ASCII escape character, identified by the ? symbol.
Following the two letter mnemonic may be one or more parameters, which identify details of how to process the command. For additional information on HP-GL/2 commands, refer to Chapters 17 through 23. PJL Commands PJL (Printer Job Language) commands provide a different type of printer control.
48-126 decimal (“0” through “~” - see Appendix A). For a list of the two-character escape sequences supported by the printer, refer to the “PCL Feature Support Matrix” in Chapter 1 of the PCL 5 Comparison Guide. Following are examples of two-character escape sequences: a two-character escape sequence used for resetting the printer.
#, zi (z1, z2, z3...) and [data] may be optional, depending on the command. [data] 1-6 Introduction to HP PCL Parameterized Character - A character from the ASCII table within the range 33-47 decimal (“!” through “/”) indicating that the escape sequence is parameterized.
The following is an example of an escape sequence with a termination character and no parameter character. This escape sequence performs a single function. Notes Some escape sequences shown in this manual contain spaces between characters for clarity. Do not include these spaces when using escape sequences.
The printer commands are performed in the order that they are combined (from left to right). Be sure to combine commands in the order that they are to be performed. 1-8 Introduction to HP PCL ” and “l”. &...
The Page Introduction This chapter describes the PCL coordinate system. It defines the logical page and the printable area; it introduces the HP-GL/2 (vector graphics) picture frame, and identifies the boundaries of each. Introduction 2-1...
Logical Page The PCL logical page (also referred to as the PCL addressable area) defines the area in which the PCL cursor can be positioned. Although the printer does not actually have a cursor (like the blinking underline character used on most computer terminals), the cursor position refers to the Currently Active Position of the cursor (also referred to as the CAP).
PJL commands. Figure 2-1 300 vs 600 DPI Dot Sizes Note Refer to Appendix E of the PCL 5 Comparison Guide or the printer User’s Manual to determine the default print resolution for a specific HP LaserJet printer.
PCL Coordinate System The PCL coordinate system is defined as shown in Figure 2-2. Figure 2-2 X,Y PCL Coordinates The point (0,0) is at the intersection of the left edge of the logical page and the current top margin position. Note Since the point (0,0) is always at the intersection of the left edge of the logical page and the current top margin position, it moves if the...
Units of the PCL Coordinate System The units of the X-axis of the PCL coordinate system may be PCL Units, decipoints, or columns. The units of the Y-axis may be PCL Units, decipoints, or rows. PCL Units These are user-definable units of measure which are used in PCL commands affecting various PCL cursor moves.
HP-GL/2 Picture Frame In addition to text and raster graphics, HP-GL/2 vector graphics can be placed on the PCL logical page. HP-GL/2 vector graphics are incorporated using the concept of the HP-GL/2 picture frame (see Figure 2-3). Within this picture frame, HP-GL/2 uses its own coordinate system and units of measure.
Printable Area The printable area is the area of the physical page in which the printer is able to place a dot. The physical page refers to the size of the media (letter, legal, etc.) installed in the printer. The relationship between physical page, logical page, default picture frame, and printable area is defined in Table 2-1 and Table 2-2.
Table 2-2 Landscape Logical Page & Printable Area Boundaries PAPER SIZE LETTER 3300 2550 Legal List 1 4200 2550 LEDGER 5100 3300 EXECUTIVE 3150 2175 3507 2480 4960 3507 COM-10 2850 1237 MONARCH 2250 1162 2704 1913 2952 2078 2598 1299 2-8 The Page DIMENSIONS...
Pixel level clipping can also occur at the logical page for PCL when the page is positioned using the Left Registration command. Pixel level clipping also occurs at the picture frame for HP-GL/2. Characters are clipped if they fall across a margin (left, right, top, and bottom).
Note The print environment features presented in this chapter are for a variety of HP LaserJet printers. Not all of the features are applicable to every printer. To identify variations and default settings for specific printers, refer to Chapter 3 of the PCL 5 Comparison Guide.
The group of all of the printer’s feature settings set to their factory settings is referred to as the Factory Default Environment. These features are described in this manual. Since the HP-GL/2 features are used for HP-GL/2 operation only, the print environment features are separated, for convenience, into two lists or contexts: PCL and HP-GL/2.
Table 3-1 RECTANGULAR AREA FILL Horizontal Rectangle Size Vertical Rectangle Size Pattern (Area Fill) ID STATUS READBACK Current Location Type Current Location Unit 1. The font characteristics are determined by the default font. The default font can be the factory default font or the user-selected default font from the printer’s control panel or from a font cartridge containing a default font.
Primary Font ID Secondary Font ID Scalable or Bitmap Font VECTOR GROUP Plotting Mode Pen State Factory Default Print Environment Features – HP-GL/2 Context Polygon Buffer Polygon Mode LINE AND FILL ATTRIBUTE GROUP Line Type Line Type Repeat Length Line Cap...
OFF. Some of these features are listed below (for a complete set of the control panel user default features refer to Chapter 3 of the PCL 5 Comparison Guide.) Number of Copies Font Selection (Font Source, Font Number, Pitch...
Note Not all of the Modified Print Environment features are applicable to every printer. To identify variations and default settings for specific printers, refer to the PCL 5 Comparison Guide. Items Not Included in Modified Print Environment PCL Context HP-GL/2 overlay environment...
HP-GL/2 settings to their default values. returns the printer to PCL mode in addition to resetting the print environment. The HP-GL/2 IN (Initialize) command resets HP-GL/2 settings to their default values without affecting the PCL settings (refer to the Initialize command described in Chapter 19, The Configuration and Status Group, for additional information).
Cold Reset A Cold Reset restores the Factory Default Environment which includes resetting the control panel items to their factory default settings. A Cold Reset is performed by power cycling the printer while holding [ON LINE] until a 08 COLD RESET is displayed. Resetting the Print Environment 3-9...
PCL Job Control Commands Introduction A job typically consists of three parts: Commands providing job control. Commands providing page control. Print data. Table 4-1 ?%–12345X Preamble Page 1 Page 2 Page n ?%–12345X 1. If a number of consecutive pages within a job have the same format (such as margins, VMI, HMI, etc.), the associated page control commands only need to be sent once for that group of pages.
This chapter describes the commands providing job control. Job control commands are usually grouped together and sent at the beginning of a job. Page control commands and data are associated with each printed page of a job. Job control commands include the following: Printer Reset.
The Universal Exit Language (UEL) command causes the PCL printer language to shut down and exit. Control is then returned to the Printer Job Language (PJL). Both PCL 5 and HP-GL/2 recognize this command. ? % – 1 2 3 4 5 X Default = N/A Range = –12345...
?&l3X Figure 4-1 Number of Copies Note The HP-GL/2 Replot (RP) command is inactive for PCL 5 printers; use the Number of Copies command for multiple HP-GL/2 plots. To be effective, the Number of Copies command must be issued from PCL prior to closing the page on which the plot is defined.
Simplex/Duplex Print Command This command designates either simplex or duplex printing mode for duplex printers. Simplex mode prints an image on only one side of a sheet (page). Duplex mode prints images on both sides of a sheet. ? & l # S Default = 0 Range = 0-2 (Other values ignored) Long-Edge bound duplexed pages are bound along the length of the...
Left Offset Registration Command The Left (long-edge) Offset Registration command designates the position of the logical page across the width (short side) of the physical page. This command can be used to adjust the text position on the page to allow additional room for the page binding. ? &...
Top Offset Registration Command The Top (short-edge) Offset Registration command designates the position of the logical page along the length (long side) of the physical page. ? & l # Z Default = 0 Range = –32767 to 32767 The value (#) is a signed number valid to 2 decimal places. The units are decipoints.
Duplex Page Side Selection Command The Duplex Page Side Selection command causes a Form Feed and designates which side of the sheet to print. The ability to skip a page while duplexing may be required at certain locations in a document. For example, a chapter typically begins on the front side of a page.
? & l 1 T HP recommends that the Job Separation command be included at the end of each job, just before the Printer Reset command. HP also recommends that this command be included in the programs even though printers with job separation are not currently being used. This ensures that if a printer with job separation is eventually added, job separation will be performed.
Output Bin Selection Command The Output Bin Selection command selects either of the two output paper bins (upper or lower [rear]) for paper output. ? & l # G Default = Upper Output Bin Range = 1, 2 Note If this command is received by a printer which does not contain the dual output bin feature, it is ignored.
Unit of Measure Command The Unit of Measure command establishes the unit of measure for PCL Unit cursor movements. ? & u # D Default = 300 Range = 96, 100, 120, 144, 150, 160, 180, 200, 225, 240, 288, 300, 360, The value field defines the number of units-per-inch used in the following commands: Vertical Cursor Position (PCL Units).
The current unit of measure setting affects all PCL Unit moves, horizontal and vertical rectangle size, bitmap and scalable font metrics (how the cursor moves after printing a character). The Unit of Measure command does not affect the interpretation of binary raster data (bitmap fonts, raster graphics or patterns).
Figure 4-6 Cursor Moves at Different Unit of Measure Settings The printer’s physical dot size has no direct bearing on the size of PCL Units used in cursor movements. In addition, PCL Units are not affected by the current control panel or PJL resolution setting. Note If no other unit of measure value has been specified, then the default is one Unit equals 1/300 inch.
Page Control Commands Introduction Page control commands and data are associated with each printed page of a job. These commands determine such features as page source, size, orientation, margins, and text spacing. This chapter describes the commands providing page format control. Note If a number of consecutive pages within a job have the same format, the associated page control commands should be sent...
Range = 1, 2, 3, 6, 26, 27, 80, 81, 90, 91, 100 (Other values ignored) Note Refer to the “PCL Feature Support Matrix” in Chapter 1 of the PCL 5 Comparison Guide or the printer User’s Manual for lists of supported paper and/or envelope sizes on specific printers.
Note The Page Size command is not supported on the HP LaserJet,, LaserJet+, or the LaserJet 500+ printers. Example To select a legal size page, send: ? &...
Note The HP LaserJet 2000, LaserJet IID, LaserJet IIP and all PCL 5 printers automatically rotate all fonts to the current orientation. Table 5-1 shows how changing certain PCL features (such as a reset,...
Figure 5-1 Page Orientation With Default Print Direction The orientation of the HP-GL/2 picture is also affected by the logical page orientation. Figure 5-2 illustrates the effect of logical page orientation on the HP-GL/2 picture orientation. It is possible to alter...
Figure 5-2 HP-GL/2 Picture Orientation with Respect to Logical Page Orientation 5-8 Page Control Commands...
Any current raster graphics end when the print direction changes. Print Direction does not default HMI. Note The Print Direction Command does not affect HP-GL/2 vector graphic images. HP-GL/2 graphics can be rotated only with the Orientation command (?&l#O) or the HP-GL/2 “RO” command.
Figure 5-3 Changing Print Direction on a Page 5-10 Page Control Commands...
(not printed). Notes Attempting to print characters across a margin results in the characters being discarded. The default text area and the default HP-GL/2 picture frame are the same. Text Area 5-11...
Figure 5-4 Text Area Within the Page 5-12 Page Control Commands...
Left Margin Command The Left Margin command sets the left margin to the left edge of the specified column. ? & a # L Default = Column 0 (Left bound of logical page) Range = 0 - Right margin The first column within a line is column 0, which is located at the left edge of the logical page (the HMI setting defines the distance between columns, which thereby defines the maximum number of columns on the logical page).
Right Margin Command The Right Margin command sets the right margin to the right edge of the specified column. ? & a # M Default = Logical Page right bound Range = Current left margin - Logical page right bound The maximum right column is located at the right edge of the logical page (the HMI setting defines the distance between columns, which thereby defines the maximum number of columns on the logical...
Clear Horizontal Margins Command The Clear Horizontal Margins command resets the left and right margins. The left margin is set to the left edge of the logical page (column 0) and the right margin is set to the right edge of the logical page.
Top Margin Command The Top Margin command designates the number of lines between the top of the logical page and the top of the text area. ? & l # E Default = 1/2 inch down from top of logical page Range = 0 - Length of logical page (Other values ignored) 1 If logical page length is <½inch, then the top margin is set to top of logical page.
Note The first line of the logical page is line 0. Figure 5-5 Margin Cursor Positioning Top Margin Command 5-17...
Text Length Command The Text Length command designates the number of lines (at a given VMI) within the logical page available for printing text, the text area. This effectively defines the bottom margin. ? & l # F Default = 1/2 inch less than maximum text length1 Range = Logical page length minus top margin 1 Maximum text length = INT(logical page length - top margin).
Perforation Skip Command The perforation region is the distance from the bottom of the text area of one page to the top of the text area (top margin) of the next page. When perforation skip is enabled, a Line Feed or Half-Line Feed, which would move the cursor beyond the bottom of the text area, causes the cursor to move to the top of the text area on the next page.
Horizontal Motion Index (HMI) Command The Horizontal Motion Index (HMI) command designates the width of the columns. ? & k # H Default = Determined by the pitch value in the default font header. Range = 0 - 32767 (valid to four decimal places) The value field is valid to 4 decimal places.
Example To print the printer’s resident 16.66 pitch Line Printer font at 17.75 cpi, send ?(s16.66H to select the Line Printer font, then send the command ?&k6.76H to change HMI. This value field is calculated as follows: Each character then occupies 6.76/120 inch or 1/17.75 inch. To use Courier 12 point (10 cpi) and print 80 characters across A4 paper, requires adjusting the HMI value.
Vertical Motion Index (VMI) Command The Vertical Motion Index (VMI) command designates the height of the rows. (The vertical distance the cursor moves for a Line Feed operation.) ? & l # C Default = 8 Range = 0 - Current logical page length up to a maximum of 32767 If the specified VMI is greater than the current logical page length, the command is ignored.
Common VMI Settings To print 66 lines per page on letter-size paper, in portrait orientation (with one-half inch top and bottom margins) send: ?&l7.27C To print 66 lines per page on letter or legal-size paper, in landscape orientation (with one-half inch top and bottom margins) send: ?&l5.45C 7.27 = (10/66) x 48 5.45 = (7.5/66) x 48...
Line Spacing Command The Line Spacing command sets the number of lines printed per inch. Only the values listed below are valid. ? & l # D Default = 6 Range = 0,1,2,3,4,6,8,12,16,24,48 (Other values are ignored) This command performs the same function as the Vertical Motion Index (VMI) command except that it identifies the VMI in lines-per-inch (lpi).
HP-GL/2 vector graphics has its own HP-GL/2 cursor (referred to as the “pen”) that can be positioned within the HP-GL/2 addressable area. For additional information on HP-GL/2 pen positioning refer to Chapter 17, An Introduction to HP-GL/2 Vector Graphics.
Absolute vs. Relative Cursor Positioning Either absolute or relative motion can be specified. Absolute motion always specifies the distance to move referenced from the top margin at the left bound of the logical page (0,0), regardless of the current active position (CAP) (see Figure 6-1). An unsigned value field in a cursor position command indicates absolute cursor movement.
Cursor Positioning Units Cursor positioning is done in PCL coordinate system units. The units of the X-axis of the PCL coordinate system may be PCL Units, decipoints, or columns. The units of the Y-axis of the PCL coordinate system may be PCL Units, decipoints, or rows. PCL Units The current unit size used in PCL Unit moves is determined by the value specified in the Unit of Measure command, defining the number...
HMI and VMI are described in more detail in Chapter 5. HP-GL/2 has its own coordinate system and units. For additional information about the HP-GL/2 coordinate system and units, refer to Chapter 17, An Introduction to HP-GL/2 Vector Graphics.
Horizontal Cursor Positioning (Columns) Command This Horizontal Cursor Positioning command moves the cursor to a new column on the current line. ? & a # C Default = NA Range = 0 - logical page right bound (valid to 4 decimal places) The width of a column is defined by the current HMI.
Horizontal Cursor Positioning (Decipoints) Command This Horizontal Cursor Positioning command moves the cursor to a new position along the horizontal axis. ? & a # H Default = NA Range = 0 - logical page right bound (rounded to the first decimal place) A value field (#) with a plus sign (+) indicates the new position is to the right of and relative to the current cursor position;...
Horizontal Cursor Positioning (PCL Units) Command This Horizontal Cursor Positioning command moves the cursor to a new position along the horizontal axis. ? * p # X Default = NA Range = 0 - logical page right bound A value field (#) with a plus sign (+) indicates the new position is to the right of and relative to the current cursor position;...
Horizontal Cursor Positioning Control Codes Four control codes can be used to position the cursor horizontally on the current line. These control codes are explained below. Note The distance which the cursor is moved by the Space (SP), Backspace (BS), and Horizontal Tab (HT) control codes is defined by the current HMI value.
BS - Backspace Moves the current active position (CAP) left a distance equal to the width of the last printed symbol or space. If the active position is already at the left margin, no action is taken. If the cursor is currently beyond the right margin, BS positions the cursor just to the left of the right margin.
Vertical Cursor Positioning (Rows) Command This Vertical Cursor Positioning command moves the cursor to a new line in the same column position. ? & a # R Default = NA Range = –32767 to 32767 (valid to 4 decimal places) A value field (#) with a plus sign (+) indicates the new position is downward from and relative to the current cursor position;...
Vertical Cursor Positioning (Decipoints) Command This Vertical Cursor Positioning command moves the cursor to a new position along the vertical axis. ? & a # V Default = NA Range = A value field (#) with a plus sign (+) indicates the new position is downward from and relative to the current cursor position;...
Vertical Cursor Positioning (PCL Units) Command This Vertical Cursor Positioning command moves the cursor to a new position along the vertical axis. ? * p # Y Default = NA Range = A value field (#) with a plus sign (+) indicates the new position is downward from and relative to the current cursor position;...
Half-Line Feed Command The Half-Line Feed command moves the cursor to the same character position one half-line down. The distance moved for a Half-Line Feed is one-half of the current line spacing (defined by the last VMI or line spacing setting). Vertical Cursor Positioning Control Codes Two control codes can be used to position the cursor vertically.
Line Termination Command The Line Termination command controls the way the printer interprets CR, LF, and FF control characters. All CR, LF and FF control characters received after the Line Termination Command are interpreted as shown below. ? & k # G Default = 0 Range = 0-3 For example, if a value field of 1 is sent, the printer interprets each...
Push/Pop Cursor Position Command The Push/Pop Cursor Position command allows the current cursor position to be stored and recalled. ? & f # S Default = 0 Range = 0, 1 (Values outside range are ignored) A value field of 0 pushes the cursor position onto the stack, leaving the current position unaffected.
Fonts Introduction A font is a group of symbols that have similar characteristics. A font is described by its symbol set, spacing, height, pitch, style, stroke weight, typeface and orientation. A typical document is printed using several fonts. A large font may be used for the title and chapter headings of a document, a standard size font may be used for the body of the document, and key words or phrases may be highlighted, using a bold or...
(refer to Summary of Font Selection by Characteristic for detailed font selection information). PCL 5 printers feature scalable fonts. With the addition of this feature, the printer has two font formats available: bitmap and scalable. A bitmap font is available in its one, defined size only. A scalable font, on the other hand, can be selected (scaled) for a range of sizes (refer to “Bitmap Fonts and Scalable Typefaces”...
Roman-8 symbol set, while the Roman-8 set contains European characters not contained in the PC-8 symbol set. Note User-defined symbol sets are supported by some HP LaserJet printers. See Chapter 10 for more information. Figure 7-2 Symbol Sets...
Spacing Another characteristic that differentiates fonts is spacing. Fonts have either fixed or proportional spacing. Fixed-spaced fonts (Figure 7-3) are those in which the inter-character spacing is constant. Proportionally-spaced fonts (Figure 7-4) are those in which the inter-character spacing varies with the natural shape of a character. Figure 7-3 Fixed Spacing Figure 7-4 Proportional Spacing 7-4 Fonts...
Pitch Pitch describes the number of characters printed in a horizontal inch. Pitch only applies to fixed-spaced fonts, since the number of characters per inch varies for proportional fonts. Figure 7-5 Pitch Height The height of a font is the measurement of the body of the type in PCL points.
Style Style is defined by three characteristics: posture (upright, italic), width (condensed, normal, expanded, etc.), and structure (solid, outline, shadow etc.). Examples of upright and italic styles are shown. Figure 7-7 Style Stroke Weight Stroke weight describes the thickness of the strokes that compose characters.
Typeface Family Typeface identifies the design of the symbols of the font. Each typeface family has unique and distinguishing design characteristics. The following example shows typefaces from various typeface families. Figure 7-9 Typeface Typeface Family 7-7...
Figure 7-10. Figure 7-10 Orientation The HP LaserJet IID, IIP, 2000, and all PCL 5 LaserJet printers automatically rotate fonts to the current orientation (all fonts are available in all four orientations). (Earlier printers required fonts in the orientation which matched the orientation of the page.
Bitmap Fonts and Scalable Typefaces There are two basic formats of fonts used by HP PCL 5 printers: bitmap (Figure 7-11) and scalable (Figure 7-12). Earlier HP LaserJet printers supported only bitmap fonts. Bitmap fonts have a fixed bit-pattern for each character. The size of the character is fixed, depending on the bit-pattern.
Figure 7-11 Bitmap Character Figure 7-12 Scalable Character 7-10 Fonts...
Both internal bitmap and scalable font formats are provided. Internal bitmap and scalable fonts and symbol sets for current models of HP LaserJet family printers are listed in Chapter 2 of the PCL 5 Comparison Guide. Font and symbol set listings for earlier printer models can be found in the User’s Manual for each printer.
PCL Font Selection Introduction Several characteristics identify a font (as described in Chapter 7, Fonts). Font characteristic selection commands, described in this chapter, are used to specify the desired font characteristics for printing. Commands are included for the following characteristics: symbol set, spacing, pitch, height, style, stroke weight, and typeface family.
Font Selection Priority The printer selects a font based on a prioritization of its design characteristics, then its resolution, then its physical location in the printer, and finally, its orientation. Font selection priority considerations are shown in the following list: Symbol Set Spacing Pitch...
SIMM Font Internal Font 1. In printers with two cartridge slots, one slot has priority over the other. Refer to Appendix E of the PCL 5 Comparison Guide for cartridge slot priority information for the different HP LaserJet printers. Note In 600 dpi mode: A 600 dpi font has priority over a 300 dpi font.
Font Select Table The initial font specification in a job should be made using all of the font characteristics. To select a Roman-8, fixed-spaced, 10 pitch, 12 point, upright, bold, Courier font, for the current page orientation, specify each of the characteristics using font selection escape sequences.
Note PCL 5 printers can print any number of distinct fonts per page, limited only by available memory. Primary and Secondary Fonts The printer maintains two independent font select tables for use in selecting a primary font and a secondary font.
8-6 PCL Font Selection Primary Symbol Set Command ( ID ID = Symbol Set ID value (see Appendix C in the PCL 5 Comparison Guide) ) ID Secondary Symbol Set Command ID = Symbol Set ID value (see Appendix C in the PCL 5...
A few symbol sets are listed below. For a more complete list, refer to Appendix C in the PCL 5 Comparison Guide. ISO 69: French ISO 8859-1 Latin 1 (ECMA-94) ISO 6:ASCII Legal Roman-8 PC-8 3 of 9 Barcode Windows 3.1 Latin 1 (ANSI)
European languages. Each ISO symbol set is a unique ordering of symbols contained within the Roman-8 symbol set (see Appendix B in the PCL 5 Comparison Guide). The printer automatically generates the requested ISO font from an HP Roman-8 font.
Spacing Command Inter-character spacing can be specified as either proportional or fixed. Default = 0 Range = 0, 1 (values outside the range are ignored) When proportional spacing is specified and a proportionally-spaced font is not available (in the requested symbol set), a fixed pitch font with the current pitch specification is selected.
4 points. For Courier, this translates to a maximum recommended pitch of 30 (30 cpi), while for Letter Gothic the maximum recommended pitch is 36. When requested pitch values are outside of HP’s recommended limits, unsatisfactory results can occur. 8-10 PCL Font Selection...
The following formula can be used to as a rule of thumb for computing a maximum recommended pitch: The character (“contour”) width in the above formula is expressed as a percentage of an Em. For example, the width of characters in Courier is very close to 60% of an Em, and (The width of characters in Letter Gothic is approximately 50% of an Em.
Height Command The Height command specifies the height of the font in points. This characteristic is ignored when selecting a fixed-spaced scalable font; however, the value is saved and available when a bitmap font or a proportionally-spaced scalable font is selected. Default = 12 Range = 0.25 - 999.75 The value field (#) is valid to two decimal places.
Note If a proportional-spaced scalable font is selected using an ID number, send the Height command to specify the point size otherwise, the size is determined by the height characteristic value of the former font (as listed in the font select table) See “Font Selection by ID Command”...
Range = 0 - 32767 (values greater than 32767 are set to 32767) Style values for the most common typefaces are listed in Table 8-1. Additional style values may also be obtained from the related font documentation provided with HP’s font products. Table 8-1 Value...
Notes With the introduction of the HP LaserJet IID printer, Hewlett-Packard expanded the style values (in the Font Header style value field) from a one-byte to a two-byte value field, expanding the style range from 0-255 to 0-32767. This expansion allows for additional styles.
Stroke Weight Command The Stroke Weight command designates the thickness of the strokes that compose the characters of a font. Default = 0 Range = The value field (#) specifies the thickness of the strokes used in the design of the font. The supported stroke weight values are –7 through 7.
If the specified stroke weight is greater than or equal to 0 and is not available, the next thicker available stroke weight is selected. If no thicker stroke weight is available, the closest available thinner stroke weight is selected. If the specified stroke weight is less than zero and is not available, the next thinner available stroke weight is selected.
Chapter 2 of the PCL 5 Comparison Guide. Note Use the typeface family values, listed in Appendix C in the PCL 5 Comparison Guide, for future typeface selection. These values are not applicable to all HP LaserJet family printers. See the PCL 5 Comparison Guide for specifics.
Some typeface (two-byte) family values are listed below. For a complete listing of typeface family and base values, refer to Appendix C in the PCL 5 Comparison Guide. FamilyValue 16602 4168 4127 4119 4101 4148 Example To specify CG Times as the typeface family for the primary font, send:...
Earlier printers could only print bitmap fonts and raster graphics in the orientation for which they were designed. However, the HP LaserJet IID, IIP, 2000, and all PCL 5 HP LaserJet printers have the capability to automatically rotate bitmap fonts and raster graphics to match the page orientation;...
Font Selection Examples Bitmap, Fixed-Spaced Font This example illustrates how to select a primary, bitmap, Line Printer, fixed-spaced font with the following characteristics (note that all of the font characteristics are specified): Table 8-3 CHARACTERISTIC Symbol set Spacing Pitch Height Style Stroke weight Typeface family...
Scalable, Proportional-Spaced Font This example illustrates how to select a primary, scalable, CG Times, proportional-spaced font with the following characteristics (note that all of the font characteristics are specified except pitch which is not required for a proportional font): CHARACTERISTIC Symbol set Spacing Height...
(A proportionally-spaced font is always available in PCL 5 printers, but it may not be available in the specified symbol set.) Pitch - applies only to fixed spaced fonts. If fixed spacing is specified and available, fixed spacing in the specified pitch is selected.
Internal Font 1. In printers with two cartridge slots, one slot has priority over the other. Refer to Appendix E of the PCL 5 Comparison Guide for cartridge slot priority information for the different HP LaserJet printers. 8-24 PCL Font Selection...
Orientation - for bitmap fonts the last criteria considered for the selection is its orientation. If two fonts still remain and match in all the above characteristics except orientation, that font which matches the current page orientation is selected. If there is a soft font (highest priority location) available that matches all selection characteristics, but is not in the current orientation, and there is an identical font available in a cartridge or internal font (lower priority location) that is in the current...
Font Selectionby ID Command Soft fonts can be specified using their associated ID numbers. (ID numbers are assigned to soft fonts using the Font ID command described in Chapter 9, Font Management). Default = 0 Range = If the designated font is present, the font is selected as the primary/ secondary font and all primary/secondary font characteristics in the printer’s Font Select Table are set to those of the selected font.
HP-GL/2 Font Selection In addition to selecting fonts using the PCL font selection commands, fonts can also be selected and printed in HP-GL/2 mode using the HP-GL/2 label commands (refer to Chapter 23, Character Group). The HP-GL/2 font selection commands allow you to label vector graphic images and to create some special effects with fonts not otherwise available.
Transparent Print Data Command The Transparent Print Data command provides printing access to those characters which the printer normally defines as unprintable. These characters include decimal character codes 0, 7-15, and 27. Default = N/A Range = Each transparent print data byte is interpreted as a single character code.
Underline Command The Underline command controls automatic text underlining. Default = 0 Range = 0, 3 (values outside range are ignored) Once underlining is enabled, any positive horizontal movement causes an underline to be drawn. Positive horizontal movement includes the printing of text and positive horizontal cursor motion. When fixed position underlining is enabled, the underline is drawn five dots below the baseline and is three dots thick.
Font Management Introduction Font management provides mechanisms for manipulating soft fonts. It provides the means for controlling which soft fonts are saved in user memory (RAM) or deleted. This is accomplished by assigning a font as either temporary or permanent, or deleting a soft font.
Temporary vs. Permanent Fonts Once downloaded, a font is automatically designated as temporary. A temporary soft font is deleted from user memory during a printer reset or when a Typeface List, a Font Printout or a self-test is performed from the printer’s control panel. A soft font can be designated as permanent to prevent the printer from deleting it during a printer reset.
Font ID Command The Font ID command is used to specify an ID number for use in subsequent font management commands. The ID number of a font can be used to select the font for printing (refer to “Font Selection by ID”...
Font Control Command The Font Control command provides mechanisms for manipulating soft fonts. Default = N/A Range = 0 - 6 (values outside range are ignored) Note If the primary or secondary font is deleted, a new primary or secondary font is selected automatically from the remaining fonts. Examples To remove all soft fonts from user memory, send: To remove only those soft fonts that are temporary, send:...
To delete the character “p” (112 decimal) in a bitmap or bound scalable font with an ID of 1, send: (A space is printed in place of the deleted character. Also, the Character Code command used in the above sequence “...112e...,” is described in Chapter 11.) To make the soft font with an ID of 2 temporary, send: To make the soft font with an ID of 2 permanent, send:...
Font Management Example This example illustrates several typical font management operations. It assumes a bitmap soft font is stored and available on an MS-DOS based hard disk. Set the font ID number to 2: Download a soft font file using the MS-DOS COPY command with the /B option: COPY /B filename PRN Note that the soft font is associated with font ID 2.
Unbound Scalable Fonts Prior to introduction of the HP LaserJet IIIP printer, a downloaded scalable font was restricted to a single symbol set. Now scalable fonts with no symbol set affiliation can be downloaded. These new fonts are called unbound fonts.
Note See Appendix D in the PCL 5 Comparison Guide to identify symbols in the various collections. The symbols within a symbol collection do not change from one unbound font to the next.
The Character Complement number identifies the symbol collections in the font. Each bit in this field corresponds to a symbol collection (not all bits are currently defined; refer to Appendix D in the PCL 5 Comparison Guide). Intellifont example: If bits 63 and 34 are cleared (set to zero) it...
ASCII collection and some of the characters from the Latin 5 collection, then bits 31, 28 and 0 are set to one (refer to Appendix D in the PCL 5 Comparison Guide for information regarding the various symbol collections).
Since the printer identifies symbols by their symbol index number (range from 0 to 65535), but receives character codes (range 0-255), a relation must be made between the character codes and the larger range of symbol index numbers. This relation is defined by the symbol set mapping table.
Printing a Character When an unbound font is selected for printing and a character code is received, the printer accesses the requested symbol set mapping table to identify the MSL or Unicode number. For example, if the Roman-8 symbol set is selected and the printer receives character code 254, the printer accesses the Roman-8 symbol set mapping table (Table 9-1).
User-Defined Symbol Sets Introduction User-defined symbol sets are used with unbound scalable fonts. Three new commands provide for the implementation of user-defined symbol sets: To define a symbol set, you must first designate a symbol set ID code. Next, use the Define Symbol Set command to download the list of characters (character codes and related symbol index numbers) for the symbol set.
Symbol Set ID Code Command The Symbol Set ID Code command assigns a symbol set ID code to a user-defined symbol set. This ID code is used by the Symbol Set Control command for symbol set management. The ID code corresponds to the symbol set ID selection value which is used to identify the symbol set during font selection.
(shown above) to convert the ID value to an ID code. To create a user-defined symbol set: Identify the symbols (symbol index numbers) for the symbol set from the MSL or Unicode list in Appendix D of the PCL 5 Comparison Guide. List them in the appropriate character code order.
Define Symbol Set This command defines the characters and character mapping for a user-defined symbol set. Default = n/a Range = If a user-defined symbol set is already present in the printer and a new, valid symbol set is downloaded with the same Symbol Set ID Code, then the old symbol set is deleted.
The following abbreviations are used to define the data type of each field in the symbol set header: (UB) (SB) (UI) (SI) (ULI) (SLI) (ASCxx) Header Size (UI) Set the header size to the size of the header data — the number of bytes from Header Size (byte 0) to the last byte just before the beginning of the Symbol Map data bytes.
Encoded Symbol Set Designator (UI) This field must match the ID code in the Symbol Set ID code command. This field contains the symbol set ID code. The symbol set ID code is calculated from a symbol set ID selection value using the following formula: Symbol Set ID Code = (# * 32) + (ID - 64) where # is the decimal number (0 to 1023) and ID is the ASCII...
0 refers to the least significant bit of the eight byte field.) The bit representations for the collections are shown below. (The symbols for each collection are shown in Appendix D of the PCL 5 Comparison Guide.) Define Symbol Set 10-7...
Value 2,1,0 10-8 User-Defined Symbol Sets MSL Symbol Index Character Requirements Designated Use Basic Latin required (such as ISO 8859/1 Latin Basic Latin not required East European Latin required (such as ISO 8859/2 Latin 2). East European Latin not required Turkish required (such as ISO 8859/9 Latin 5) Turkish not required Math required (such as Math-8)
Unicode Symbol Index Character Requirements Bits Value Designated Use 2,1,0 (numbers/values) ASCII required (such as ISO 6 ASCII) ASCII not required. West Europe extensions required (such as ISO 69 French). West Europe extensions not required. East Europe extensions required (such as ISO 8859/2 Latin 2).
Examples of values for the field include: Bit Field Value (Hex) 0000000000000000 8000000000000000 0000000100000000 0000000000000001 00000000A0000001 0000000088000001 10-10 User-Defined Symbol Sets Designated Use Meaning Default requirement (MSL); symbol set can be used with any typeface indexed bu MSL. Symbol set (MSL) requires only the Basic Latin Symbol Collection (such as Roman-8) Symbol set (MSL) requires only the...
Symbol Map (Array of UI) The symbol map contains a list of symbol index numbers. This list identifies symbols for the symbol set. (Refer to Appendix D in the PCL 5 Comparison Guide for a MSL and Unicode symbol indexes.) The symbol map pairs (maps) a character code to a symbol index number.
Symbol Set Control Command This command provides a means for making user-defined symbol sets permanent or temporary, and for deleting them. Default = Range = Downloaded symbol sets default to temporary. Internal symbol sets cannot be deleted or made temporary. 10-12 User-Defined Symbol Sets * c # S = 0 -Delete all temporary and permanent user-defined...
User-Defined Symbol Set Examples The following two examples illustrate the concept of user-defined symbol sets. They create symbol sets for PC-8 in MSL and Unicode symbol indexes. The necessary escape sequences are shown in each example. Unicode Symbol Index Example Symbol Map Data: *c341R (f526W...
The font header and character definitions contain all the information needed to format a font for use in the HP LaserJet printers. Every PCL font header begins with a font descriptor, which identifies the basic characteristics common to all characters of a font, such as font type, baseline position, character cell width and height, character orientation, symbol set, etc.
Note Not all font classifications are supported in all HP LaserJet Family printers. Refer to the PCL 5 Comparison Guide or the printer User’s Manual for specific information. With the information provided in the section for bitmap fonts, it is possible to format a PCL bitmap character/font for the printer.
TrueType scalable fonts are described in detail in the document, True Type Font Files. (Refer to Related Documents, located in the front of this manual, for information on how to obtain this document.) Note The documents, Intellifont Scalable Typeface Format and True Type Font Files do not contain descriptions of scalable PCL fonts.
(Y), as illustrated in the following figure. Figure 11-1 Bitmap Physical Coordinate System Note The LaserJet IID, IIP, 2000, and all LaserJet PCL 5 printers rotate fonts to match the paper’s physical coordinate system. Intellifont Scalable Fonts Characters of an Intellifont scalable font are designed within a rectangular area known as the Agfa Design Window (Figure 11-2).
The master font design size is 250 points (a CG point=.01383 inches). There are 8782 units per Em at the Master Font Size. Figure 11-2 Agfa Design Window TrueType Scalable Fonts TrueType scalable font character coordinates are typically based on a system of 2048 units per Em. The baseline is defined by y-coordinate=0.
Font Header Command The Font Header command is used to download font header data to the printer. Default Range The value field (#) identifies the number of bytes in the font header. The font header fields are described under Font Header Format, later in this chapter.
Note Use the Font ID command to designate a unique ID number prior to the download of a font header. If an existing font is already associated with this ID, the existing font is deleted upon the download of the font header.
Table 11-2 44-47 48-63 Table 11-3 Byte 11-8 Soft Font Creation Format 0 Font Header (for PCL Bitmapped Fonts) Pitch (Default HMI) Height x-Height Width Type Stroke Weight Typeface MSB Quality Underline Position (Distance) Text Height Text Width First Code Last Code Pitch Extended Cap Height...
Table 11-3 44-47 48-63 Format 20 Font Header (for Resolution-Specified Bitmapped) (continued) Cell Width Cell Height Orientation Spacing Symbol Set Pitch (Default HMI) Height x-Height Width Type Style LSB Stroke Weight Typeface LSB Typeface MSB Serif Style Quality Placement Underline Position Underline Thickness (Height) (Distance) Text Height...
Table 11-4 Byte 44-47 11-10 Soft Font Creation Format 10 Font Header (for Intellifont Bound Scalable) 15 (MSB) Font Descriptor Size (minimum 80) Header Format (10) Style MSB Baseline Position Cell Width Cell Height Orientation Symbol Set Pitch (default HMI) Height x-Height Width Type...
Table 11-4 48-63 Desc. Size-2 Table 11-5 Byte Format 10 Font Header (for Intellifont Bound Scalable) (continued) Font Name Scale Factor X Resolution Y Resolution Master Underline Position Master Underline Thickness (Height) OR Threshold Global Italic Angle Global Intellifont Data Size Global Intellifont Data Copyright (optional) Reserved (0)
Table 11-5 44-47 48-63 78-85 11-12 Soft Font Creation Format 11 Font Header (for Intellifont Unbound Scalable Fonts) (continued) Pitch (default HMI) Height x-Height Width Type Stroke Weight Typeface MSB Quality Underline Position (Distance) Text Height Text Width Reserved Number of Contours (Characters) Pitch Extended Cap Height Font Number...
Table 11-5 Desc. Size-2 Desc. Size Table 11-6 Byte Format 11 Font Header (for Intellifont Unbound Scalable Fonts) (continued) Global Intellifont Data Size Global Intellifont Data Copyright (optional) Reserved (0) Format 15 Font Header (for TrueType Scalable Fonts) 15 (MSB) Font Descriptor Size (minimum 72) Header Format (15) Style MSB...
Table 11-6 44-47 48-63 Desc. Size # - 2 Data Types In the font header and character descriptor information that follows, the abbreviations shown below are used to define the data type of each field: Table 11-7 (UB) (SB) (UI) 11-14 Soft Font Creation Format 15 Font Header (for TrueType Scalable Fonts) (continued)
Table 11-7 (SI) (ULI) (SLI) (ASCxx) Font Descriptor Size (UI) Specifies the number of bytes in the font descriptor. See the font header figure for the appropriate font descriptor size. Header Format (UB) The Header Format byte identifies the font to format (see below). Table 11-8 Value Font Type (UB)
Bound font. All character codes 0 to 255 are printable, except 0, 7 to 15, and 27 [decimal] (see note below). Unbound font. Character codes correspond to HP MSL numbers (for Intellifont unbound scalable fonts). Unbound font. Character codes correspond to Unicode numbers (for TrueType unbound scalable fonts).
Table 11-11 Value Table 11-12 Value 8-11 12-15 18-30 Appearance Width (multiply by 4 for StyleWord partial sum) Normal Condensed Compressed or Extra Condensed Extra Compressed Ultra Compressed Reserved Extended or Expanded Extra Extended or Extra Expanded Structure (multiply by 32 for StyleWord partial sum) Solid Outline Inline...
Note The reserved bits (15 - 10) should be set to zero. If a value is requested, and a match not made, the request is ignored and the current font selection process continues as if the parameter was never requested (but it is saved in the attribute table). Example Assuming a font style of “italic compressed contour”...
Bitmap Font - Specified in PCL coordinate system dots. Scalable Font - Specified in design units. Figure 11-3 Character Cell - Bitmap Orientation (UB) Specifies the orientation of the font. All characters within the font must have the same orientation as those specified in the font header; otherwise they are discarded as they are downloaded.
(0°), using the paper motion and raster scan direction of the HP LaserJet Plus and LaserJet series II printers. The HP LaserJet IID, IIP, 2000, and PCL 5 LaserJet printers rotate the fonts to match the paper’s physical coordinate system for the various paper sizes.
Symbol set escape sequence termination characters can be any upper case ASCII character “A” through “Z.” “Q” is reserved for use with HP “Specials” symbol sets and is not recommended for general use. Notes Symbol set ID’s of “@” and “X” do not have a corresponding Symbol Set selection command, sets marked as such can be selected only with the Font ID.
Height (UI) Bitmap Font - Specifies the design height of the font in quarter-dots (radix dots). This value, converted to points, is used as the height characteristic value of the font. A PCL point is It combines with Height Extended to specify the design height of the font in 1024 For example, a 10 point font at 300 dpi has a height of 166 quarter-dots (radix dots) (1200 quarter dots/inch,...
Specifies the proportionate width of characters in the font. Table 11-13 Width Type Values Value Additional width types may be added by HP. Style LSB (UB) The least significant byte (LSB) of the Style word. Refer to Style MSB for a description of the Style word.
Table 11-14 Stroke Weight Values (continued) Typeface (UB) This field specifies the HP typeface number of the font. The current version of this field, supported by the &payette; printer, is described first. Then a previous field, supported in earlier printers, is described.
Table 11-15 Typeface Family Value (Current) Vendor Vendor Number - Bits 15 - 12. This value is assigned by HP and is between decimal values 0 and 15. Table 11-16 Current Vendor Number Values Value = 6-15 Typeface Family Number - Bits 11 - 0 This value is between 0 and 4095.
Previous Usage The previous treatment of the Typeface field supported the LaserJet IIP, IID and LaserJet III family printers. It consisted of the Typeface Least Significant Byte (LSB; the original, one-byte typeface value used prior to the LaserJet IID printer) and the Typeface Most Significant Byte (MSB) in the font header.
(such as Helvetica Condensed, Helvetica Outline, etc.). Do not use these values in new designs since they are being deleted. Refer to Appendix C in the PCL 5 Comparison Guide for a list of typeface families and their typeface base values. Note For future compatibility, use the two-byte (typeface MSB/LSB) typeface family value.
Table 11-19 Serif Style Values (continued) 13-63 Values for bits 6 & 7 Quality (UB) This field specifies the quality of the font. Table 11-20 Quality Values Value Placement (SB) Placement specifies the position of character patterns relative to the baseline.
Underline Position (Distance) (SB) Bitmap Font - Specifies the distance from the baseline to the top dot row of the underline in font design dots. Zero specifies an underline position at the baseline. A positive value specifies an underline position above the baseline. A negative value specifies an underline position below the baseline.
This value is between 0 and 255 inclusive. The Space Character may be printable and will print an image if one is defined, otherwise a Space control code is executed. Currently, PCL 5 LaserJet printers use the Font Type field to determine the first and...
Scalable Font - Set Pitch Extended field to zero. Height Extended (UB) Bitmap Font - This is an addition to the Height field which extends the height an extra eight bits. The value of this field is in font design units.
Font Number (ULI) The Font Number field uses four bytes (byte 44, 45, 46, and 47). The lower three bytes (45, 46, and 47) contain the font number in hexadecimal. This is the number the vendor assigns to their typeface. The most significant byte (byte 44) consists of a flag in the most significant bit indicating whether the font is in its native (0) format or has been converted (1) from another format.
Figure 11-4 This field is ignored by the printer for bitmap fonts. Font Name (ASC16) This is a 16 character ASCII field to which you may assign a font name. The font name is used in the Typeface List (or Font List printout), under Name or Typeface (if the printer does not have a name string assigned to the typeface family code in its font selection table).
Y Resolution (UI) The Y Resolution field is the pixel resolution in the Y scan direction at which the font was designed. Note This field is not present in the Format 15 Font Header and is not necessary for TrueType fonts. Scale Factor (UI) The Scale Factor field indicates the number of design units per Em, and is the unit used for all scalable metrics in the font header.
Variety (UB) The interpretation of this field depends on the value of the preceding (Font Scaling Technology) byte. For TrueType fonts, this field must be set to zero. OR Threshold (UI) Formerly called the “LRE Threshold,” this is the pixel size in design units above which the missing pixel recovery process is switched on in Intellifont scaling and rasterization.
Note In the Format 15 Font Header for TrueType Scalable Fonts, the data in this field is contained in the “CC” (Character Complement) field in the Segmented Font Data section immediately following the descriptor data. See “Segmented Font Data” later in this chapter Table 11-25 MSL Symbol Index Bit Field 58-63...
Individually defined bits are shown in the following two tables: Table 11-27 MSL Symbol Index Character Complement Bits 2, 1, 0 Table 11-28 Unicode Symbol Index Character Complement Bits Value 0 if font is compatible with standard Latin character sets (e.g., Roman-8, ISO 8859-1 Latin 1); 1 otherwise.
Table 11-28 Unicode Symbol Index Character Complement Bits 2,1,0 There are no invalid Character Complement field values. Examples of values for the field include: Table 11-29 Value (hex) MSL: ‘‘0000000000000000’’ ‘‘7fffffffffffffff’’ ‘‘fffffffeffffffff’’ Unicode: ‘‘ffffffff3ffffffe’’ 11-38 Soft Font Creation 0 if font is compatible with character sets requiring a wider selection of accents (e.g., MC Text, ISO 8859/1 Latin 1);...
Table 11-29 (continued) ‘‘ffffffff5ffffffe’’ Checksum The Checksum field is over bytes 64 through the end of the header. The checksum should contain a value which, when added to the sum of byte 64 through the reserved byte, equals a value which, when divided by 256 (modulo 256 arithmetic), results in a remainder of 0.
Table 11-30 below shows the structure of the Segmented Font Data section. Table 11-30 Segmented Font Data Byte x + 0 x + 2 x + 4 x + 4 + 1st seg size # – 6 # – 4 # –...
Data segments with an unrecognized identifier are ignored. Segment Size (UI) For each entry in the Segmented Font Data section, the Segment Size indicates the number of bytes in the immediately following Data Segment. The size for the Null Segment is 0. Formats of Data Segments AP (Application Support Segment) The definition of this segment is reserved.
The optional cvt, fpgm and prep tables, as defined in True Type Font Files, typically appear in the Global TrueType Data Segments of hinted TrueType soft fonts, but should not appear in unhinted fonts. IF (Intellifont Face Data) Reserved for future use. PA (PANOSE Description) This data segment of variable length may be used for the purpose of font selection and substitution.
Intellifont scalable font. Bitmap Example To download a bitmap font header for a portrait HP Roman-8, 10 pitch, 12 point, upright, medium, Courier font, with an ID number of one, send: + x bytes of optional data) An example of the bitmap header is shown on the following page.
...Copyright Statement ... (optional) }= x bytes added to header data ...Application Support ...(optional) }= x bytes added to header data Intellifont Scalable Example To download an Intellifont scalable header for an HP Roman-8, upright, medium, CG Times scalable font, with an ID number of one, send:...
Table 11-33 FIELD NAME Descriptor Size Header Format Font Type Style MSB Reserved Baseline Location Cell Width Cell Height Orientation Spacing Symbol Set Pitch Design Height x-Height Appearance Width Style LSB Stroke Weight Typeface LSB Typeface MSB Serif Style Quality VALUE DESCRIPTION Bytes...
Table 11-33 (continued) Placement Underline Position Underline Thickness Text Height Text Width First code Last Code Pitch Extended Height Extended Cap Height Font Number Font Name Scale Factor X Resolution Y Resolution Master Underline Position Master Underline Thickness OR Threshold Global Italic Angle Global Intellifont...
Table 11-33 (continued) ...Global Intellifont Data ..Copyright Statement (optional) ..Application Support (optional) ... }= 112 bytes added to header data }= x bytes added to header data }= x bytes added to header data Font Header Examples 11-47...
Character Definitions Following the font header, the individual characters must be defined. Every PCL character definition contains a character descriptor and a body of character data. The character definition always consists of one or more character data blocks. Each character data block begins with its own header.
Character Code Command The Character Code command establishes the decimal code that is associated with the next character downloaded. This value is used to reference the character for printing. Default Range Notes For unbound fonts, the character code for a given character equals its symbol index value.
Character Definition Command The Character Descriptor and Data command is used to download character data blocks to the printer for both bitmap and scalable fonts. Default Range The value field (#) identifies the number of bytes in the immediately following character data block. The maximum number is 32767. For a detailed description of the Character Descriptor fields for bitmap fonts refer to Character Descriptor and Data Format for PCL Bitmap Fonts.
Character Descriptor Formats Character definition formats for PCL Bitmap, Intellifont Scalable and TrueType Scalable fonts are shown on the following pages. Note The following notation is used to define the data type of each field in the character descriptors. Table 11-34 Character Descriptors/Data Continuation Block (UB) (SB) (UI)
Table 11-35 PCL Bitmap Character Descriptor Left Offset Top Offset Character Width Character Height Delta X Raster Character Data: (in bytes) Table 11-36 PCL Bitmap Continuation Character Descriptor and Byte 15 (MSB) Format (4) Raster Character Data: (in bytes) Format (UB) This is the first byte of every character data block header.
This is the first byte of the character descriptor. It specifies the size of the character descriptor in bytes. The descriptor size used by the HP LaserJet printer family for bitmap fonts is 14. Class (UB) Specifies the format of the character data. For bitmap fonts only values 1 and 2 are used, as described below.
Class 1 - Bitmap Data Class 1 or bitmap (raster) character data is a string of bytes containing the dot-per-bit image of the character, no data compression. If a bit is set to one, the corresponding dot is printed. The data is grouped in dot rows. A row describes a one-dot-high strip of the character from left to right, in the direction of the printer’s raster scan (see the Portrait Bitmap Character Data Example, at the end of this chapter).
Figure 11-5 Class 2 Character Data Character Descriptor Formats 11-55...
(see Figure 11-6 and Figure 11-7). PCL 5 printers support kerning (both negative left and right side bearings) of both fixed-pitch and proportionally-spaced fonts. Note that large offsets could place the character off the printable area of the page causing the character to be clipped.
Character Width (UI) The Character Width, used for bitmap fonts only, identifies the width of the character in dots on the physical coordinate system. Generally, this width is from the farthest left black dot to the farthest right black dot. Character width is orientation dependent. The legal range for character width is 1 to 16384 dots.
Figure 11-6 Portrait Character Example 11-58 Soft Font Creation...
Figure 11-7 Landscape Character Example Character Descriptor Formats 11-59...
Character Descriptor and Data Format for Intellifont Scalable Fonts The character header contains a block of bytes that identify character outline data. Table 11-40 and Table 11-41 show the format of the Intellifont scalable character descriptor and data Table 11-40 Intellifont Scalable Character Descriptor and Byte 15 (MSB) Format (10)
Table 11-41 Intellifont Scalable Contour Data Format Contour Tree Data XY Coordinate Data Table 11-42 Intellifont Scalable Character Descriptors/Data Byte 15 (MSB) Format (10) Contour Character Data, resumed: (in bytes, see Table 11-41. #–2 Reserved 1. Continuation is supported for Intellifont scalable fonts for class 3 only. 2.
Format (UB) This is the first byte of every character data block header. It specifies the format of the character descriptor and data. The format number for Intellifont scalable fonts is 10. Table 11-44 Value * These are described elsewhere in this chapter. If the format number is different from that expected by the device, the character is discarded.
Table 11-45 Value * These are described elsewhere in this chapter. Class 3 -Intellifont Scalable Character Contour Data Class 3 is for Intellifont scalable contour character data. The contour character data is organized as described in Table 11-41. Bytes 0-3 contain the character descriptor.
Character Intellifont Data Offset (SI) The offset to the Character Intellifont Data relative to the address of the Contour Data Size field. Contour Tree Offset (SI) The offset to the contour Tree Data relative to the address of the Contour Data Size field. XY Data Offset (SI) The offset to the XY data relative to the address of the Contour Data Size field.
Compound Character Escapement (SI) The escapement in design units of a compound character. Number of Components (UB) The number of components of a compound character. Component List This is a list of component descriptions. The list contains Number of Components elements. Each component descriptor consists of 6 bytes as described in Table 11-46 below.
Table 11-47 TrueType Character Descriptor (no continuation Byte 15 (MSB) Format (15) Descriptor Size [additional descriptor data may be inserted here] Character Data Size Desc Size Glyph ID Desc Size TrueType Glyph Data Desc Size # – 2 Reserved # = Character data block size as defined in Character Definition command.
Table 11-48 (continued) beginning of TrueType Glyph Data Desc Size Table 11-49 TrueType Character Descriptor (multiple character Byte 15 (MSB) Format (15) conclusion of TrueType Glyph Data # – 2 Reserved # = Character data block size as defined in Character Definition command.
Continuation (B) This is the second (and last) byte of every character data block header. It specifies whether the following data is the first (0) data block of a new character definition, or a continuation (1) block for a character definition which has already been received by the printer. Because the value field in a Character Definition command is limited to 32767 bytes, characters whose byte count exceed this must be sent in two or more blocks.
Character Data Size (UI) The value of the Character Data Size should equal the sum of the sizes of the Character Data Size, Glyph ID, and TrueType Glyph Data fields. This value alerts the PCL interpreter when a continuation block is needed.
Character Definition Examples Bitmap Portrait Character Example To download a bitmap character descriptor and data for a portrait, 10 Pitch, 12 point, upright medium, Courier lower-case “p”, send: lower-case “p”) Note Notice that the 140 appearing in the Character Definition Command accounts for 2 bytes of the Character Data Block Header, 14 bytes of Character Descriptor, and 124 bytes of Character Data.
Table 11-53 Portrait Character Data Example (continued) 00011100 00000000 00000000 00000000 00011100 00000000 00000000 00000000 00011100 00000000 00000000 00000000 00011100 00000000 00000000 00000000 11111111 11111100 00000000 00000000 11111111 11111100 00000000 00000000 11111111 11111100 00000000 00000000 Bitmap Landscape Character Example To download the character descriptor and data for a landscape, 10 pitch, 12 point, upright, medium, Courier lower-case “p”, send: lower-case “p”) Table 11-54 Character Format, Continuation and Descriptor...
Table 11-55 Landscape Character Data Example (continued) 01110000 00000000 00000000 00001110 01110000 00000000 00000000 00001110 11-74 Soft Font Creation...
HP-GL/2 commands are not supported within macros on all HP LaserJet printers. Refer to the “PCL Feature Support Matrix” in Chapter 1 of the PCL 5 Comparison Guide for specifics. Macros eliminate the need to download the same information repeatedly, thus saving transmission time. However, the trade-off is that they consume user memory.
Hewlett-Packard provides a service to assist you by developing these custom products. For information contact: Hewlett-Packard Boise Printer Division Attention: Product Specials 11311 Chinden Blvd. Boise, ID 83714 (208) 323-3684 12-2 Macros...
(14) to the macro. Macro Control command, following commands and data are to be stored as a macro. Escape sequences, control codes, HP-GL/2 commands and text required to perform the desired operation. Macro Control command, end of the macro data (definition).
The modified print environment that existed prior to the macro overlay is restored. Note HP-GL/2 commands are not supported within macros on all HP LaserJet printers. Refer to the “PCL Feature Support Matrix” in Chapter 1 of the PCL 5 Comparison Guide for specifics. 12-4 Macros...
Table 12-2 PCL CONTEXT: Page length Page size Orientation Registration HP-GL/2 CONTEXT: Current Pen Position Hard Clip Limits Logical Page Boundaries Line Attributes Refer to Chapter 3 for descriptions of environments. Note The current active position (CAP, or cursor position) is not part of the modified print environment.
Deleting Macros There are several mechanisms provided by PCL macro control for explicit deletion of macros from user memory. These include commands to delete all macros, all temporary macros, or an individual macro by reference to its macro ID number, using the Macro Control command described later in this chapter.
A printer reset command ( HP-GL/2 commands are not supported within macros on all HP LaserJet printers. Refer to the “PCL Feature Support Matrix” in Chapter 1 of the &cguide; for specifics. HP-GL/2 commands as well as the PCL command “Enter HP-GL/2 mode” ( picture frame directives are not recommended within a macro.
Cartridge macros. (In printers that have two cartridge slots, one cartridge has priority over the other. This priority depends on the printer. Refer to Appendix E of the PCL 5 Comparison Guide for the macro cartridge priority.) SIMM macros. SIMM 1=highest, then SIMM 2, etc.
To enable the macro with an ID of 7 for automatic overlay, send: To delete the macro with an ID of 7, send: Macro Control Example The following illustrates the definition of a letterhead macro. Table 12-4 &f1Y &f0X &a540h360V *t150R 150 dots-per-inch.
Table 12-4 Fred, Texas 83707 &a540h960V *c10v4680H *c0P &a540h980V *c&zero;P &a54&zero;h12&zero;& zero;V &f1X This macro now can be executed, called, or enabled for automatic overlay. 12-10 Macros (continued) Text Position first rule at (540, 960) decipoints Set rule height and width. Print the first rule.
The PCL Print Model Introduction The Print Model feature allows images and characters to be filled with any of the printer’s predefined shading or cross-hatch patterns, or with a user-defined pattern. Images include any raster graphic, such as one created with PCL raster graphics commands (as described in Chapter 15, Raster Graphics);...
Pattern The design which is “painted” through the black (“1” bits) area of the source image onto the destination image. For patterns, the Print Model uses one of the printer’s internal predefined eight shading patterns (see Figure 13-4) or one of the six cross-hatch patterns (see Figure 13-5), or a user-defined pattern.
Pattern Transparency Mode The transparency or opaqueness of the white pixels in the pattern. When set to 0 (transparent), these pixels have no effect on the destination; when set to 1 (opaque), they are applied through the black pixels of the source pattern to the destination. Figure 13-2 Opaque and Transparency Modes Figure 13-3 illustrates the effects of the source and pattern transparency modes on the final image.
Figure 13-3 Effect of Transparency Modes on Images 13-4 The PCL Print Model...
Command Sequence The following illustration shows the Print Model Command Sequence for selecting a current pattern and using it to fill a destination image. Table 13-1 Download Page Data Select Transparency Modes Select Specific Pattern ID Download Page Data (Source Image data) Return to regular print mode Download remaining page data Operation...
Table 13-1 End of Page Data Source Transparency Mode Command The Select Source Transparency Mode command sets the source image’s transparency mode to transparent or opaque. Default Range With a transparency mode of “0” (transparent), the white regions of the source image are not be copied onto the destination. With a transparency mode of “1”...
Pattern Transparency Mode Command The Pattern Transparency Mode command sets the pattern’s transparency mode to transparent or opaque. Default Range A transparency mode of “0” (transparent) means that the white regions of the pattern image are not copied onto the destination. A transparency mode of “1”...
Selecting User-Defined patterns: # = ID number of user-defined pattern 1. Not supported on all LaserJet family printers. Refer to the “PCL Feature Support Matrix” in Chapter 1 of the PCL 5 Comparison Guide for specifics. Default Range For rectangular areas, the pattern material is determined by both the pattern ID and the value of the Fill Rectangular Area command.
Notes This command is used for both the Select Pattern and Area Fill graphics (it is also described in Chapter 14, PCL Rectangular Area Fill Graphics). It is duplicated here for convenience. For user-defined patterns, this command, sent prior to downloading a user-defined pattern, assigns an ID pattern number to the downloaded pattern.
Select Current Pattern Command The Select Current Pattern command identifies the type of pattern to be applied onto the destination. Default Range This command selects which type of pattern is applied. For values 2, 3, and 4, the shading level (Figure 13-4), cross-hatch pattern (Figure 13-5), or user-defined pattern number is identified by the Pattern ID command described earlier in this chapter.
User-Defined Pattern Graphics In addition to the eight shading patterns and six cross-hatch patterns, users can design their own patterns (area fill). These user-defined patterns are downloaded to the printer and controlled using three new commands: User-Defined Pattern Set Pattern Reference Point Pattern Control User-Defined Pattern Implementation To create a user pattern, a user defines a binary raster data image...
Figure 13-7 Pattern Layout Across the Printable Area Pattern Reference Point The pattern reference point is a position on the logical page at which the base pattern is positioned for tiling. The upper left corner of the base pattern is positioned at this point (see ). The default pattern reference point is position 0,0.
Figure 13-8 Moving Pattern Reference Point for Pattern Filling User-Defined Pattern Graphics 13-15...
User-Defined Pattern Command The User-Defined Pattern command provides the means for downloading the binary pattern data that defines the user pattern. Default Range The value field (#) identifies the number of pattern data bytes that follow the User-Defined Pattern command. In addition to the binary pattern data, there are eight bytes of pattern descriptor (header) information included in this pattern data.
Table 13-4 Height in Pixels Width in Pixels X Resolution Y Resolution Pattern image Notes The Master X and Master Y Resolution fields can be used to specify 600 dpi resolution for a pattern originally designed at 300 dpi. However, a pattern which was designed at 600 dpi is not available for selection at 300 dpi resolution.
Reserved (Byte 3) This field, byte 3, is not currently used and must be set to 0. Height in Pixels (Bytes 4 and 5) This field, bytes 4 and 5, identifies the number of rows (height) of the pattern. Width in Pixels (Bytes 6 and 7) This field, bytes 6 and 7, identifies the number of pixels (width) of the pattern.
User-defined Pattern Example This example shows how the user-defined pattern command is used to create a user-defined patterns. For this example, a pattern of triangles is used. The first step is to design the base pattern triangle (in this case, using 64 bytes of data). The base pattern binary data is shown below: 11111111111111111111111111111111 01111111111111111111111111111110...
When using the 300 dpi User-Defined Pattern header (see Table 13-3). Set the eight bytes of header information to the following values: Byte 0 - Format = 0 (00 hex) Byte 1 - Continuation = 0 (00 hex) Byte 2 - Pixel Encoding = 1 (01 hex) Byte 3 - Reserved = 0 (00 hex) Byte 4/5 - Height in Pixels = 0 / 16 (00 / 10 hex) Byte 6/7 - Width in Pixels = 0 / 32 (00 / 20 hex)
Set Pattern Reference Point Command The Set Pattern Reference Point command causes the printer to tile patterns with respect to the current cursor position. This command also specifies whether the pattern rotates with the print direction or remains fixed. Default Range A value field of 0 rotates the patterns with changes in the print direction (see Print Direction command).
Pattern Control Command The Pattern Control command provides a means for manipulating user-defined patterns. Default Range For value fields 2, 4, and 5, the Pattern ID ( prior to the Pattern Control command to identify the specific pattern for the Pattern Control command action. * c # Q =0 - Delete all patterns (temporary &...
Note User-defined patterns are not supported on all LaserJet family printers. Refer to the “PCL Feature Support Matrix” in the PCL 5 Comparison Guide. The first step in filling an area, if using a user-defined pattern, is to download the pattern (see Chapter 13). Next, position the...
Specify width of rectangle (Horizontal Rectangle Size Command - Decipoints= Specify height of rectangle (Vertical Rectangle Size Command - Decipoints= Select specific shade, cross-hatch, or user-defined pattern (Pattern ID Command - Fill rectangular area with pattern (Fill Rectangular Area Command - patterned area.
Horizontal Rectangle Size (Decipoints) Command This Horizontal Rectangle Size command specifies the rectangle width in decipoints. Default Range The printer converts the specified width to printer dots by rounding up to an integral number of dots. For example, 5 decipoints, which corresponds to 2.08 dots in 300 dpi mode, is converted to 3 dots.
Vertical Rectangle Size (Decipoints) Command This Vertical Rectangle Size command specifies the rectangle height in decipoints. Default Range The printer converts the specified width to printer dots by rounding up to an integral number of dots. For example, 5 decipoints, which corresponds to 2.08 dots in 300 dpi mode, is converted to 3 dots.
Selecting User-Defined patterns: # = ID number of user-defined pattern 1. Not supported on all LaserJet family printers. Refer to the “PCL Feature Support Matrix” in Chapter 1 of the PCL 5 Comparison Guide for specifics. Default Range The value field (#) identifies the level of shading, the cross-hatch pattern, or the user-defined pattern.
There are six HP defined cross-hatch patterns. To specify a cross- hatch pattern type, use a value between 1 and 6 to select a pattern as shown in Figure 14-2. For user-defined patterns, this command, sent prior to downloading a user-defined pattern, assigns an ID pattern number to the downloaded pattern.
Figure 14-1 Shading Patterns Pattern ID (Area Fill ID) Command 14-7...
Figure 14-2 Cross-hatch Patterns 14-8 PCL Rectangular Area Fill Graphics...
Fill Rectangular Area Command This command fills (prints) a rectangular area of the specified width and height with the specified area fill. Default Range Black fill — fills the rectangular area with black fill. White fill — erases any fill in the rectangular area (it fills the rectangular area with white fill).
The upper left corner of the rectangular area is located at the cursor position when printing a rectangular area. After printing the rectangular area the cursor is returned to the upper left corner; the cursor position does not change positions as a result of printing a rectangular area.
Pattern Transparency for Rectangular Area Fill Pattern transparency, described in Chapter 13, under “Pattern Transparency Mode Command,” affects how a pattern is applied to the rectangular fill area. Rectangular areas are special case images for transparency mode. The pattern and pattern type are selected by the Pattern ID command ( Rectangular Area chapter).
Figure 14-3 Effect of Transparency Modes on Rectangular Areas 14-12 PCL Rectangular Area Fill Graphics...
Rectangular Area Fill Examples This section shows example usage of area fill commands to print pre-defined patterns as well as user-defined patterns. Pre-defined Pattern Examples Solid Fill (Black/White) To print a 900 by 1500 Unit black rule (3 inches by 5 inches at 300 units-per-inch), then white fill a small area inside the black rectangle, perform the following steps.
6. Specify the width and height for the smaller white fill rectangular area: 7. Select the white fill and print. Figure 14-4 Solid Fill Example Shaded Fill To print a 900 by 1500 Unit 25% shaded rectangle (3 inches by 5 inches at 300 units-per-inch), perform the following steps.
Specify the height of the rectangle: This sets the rectangle to 1500 PCL Units (5 inches at 300 units-per-inch). Specify the Pattern ID: This sets the Pattern ID to 25. Print the rectangular shaded area: This example prints the following: Figure 14-5 Shaded Fill Example *c1500B *c25G...
Cross-hatch Fill To print a 900 by 1500 Unit rectangular area (3 inches by 5 inches at 300 units-per-inch), filled with a horizontal cross-hatch pattern, perform the following steps: 1. Position the cursor: Moves the cursor to PCL Unit position (300,400) within the PCL coordinate systems.
This example prints the following: Figure 14-6 Patterned Fill Example User-defined Pattern Example This example shows how to print a user-defined pattern which has already been downloaded to the printer. For this example we will print the pattern of triangles which was downloaded in the example in Chapter 13, under “User-Defined Pattern Command.”...
Sets the rectangle width and height both to 600 PCL Units (2 x 2 inches at 300 Units/inch). Specify the Pattern ID: Sets the Pattern ID to 3. Print the user-defined pattern-filled area: This example prints as shown in Figure 14-7. Figure 14-7 User-Defined Pattern Fill Example 14-18 PCL Rectangular Area Fill Graphics *c3G...
Raster Graphics Introduction A raster image is an image composed of dots. Pictures in newspapers or on television screens (also, a page printed by this printer) are examples of raster images. The PCL language includes commands for printing raster graphic images. These commands enable the LaserJet printer to receive binary data and print it as a raster image.
several binary data compression methods, and additional reduction techniques associated with the raster area feature (see Figure 15-2). Figure 15-2 Raster Area Data compression methods include: run-length encoding, tagged image file format (TIFF), delta row, and adaptive compression. These techniques are described in detail later in this section, under the Set Compression Method command.
The final data reduction technique provided by the raster area involves the printer’s ability to fill in trailing zeros to the edge of the raster area. Any zeros following the last “1“ in the raster row to the edge of the picture area need not be sent. The printer automatically fills them.
Raster Graphics Command Sequence PCL raster commands include: Start Raster Graphics and End Raster Graphics commands, Transfer Raster Data by Row, Raster Compression, Raster Presentation, Raster Resolution, Raster Height and Raster Width (which define the raster area), and Raster Y Offset commands.
Raster Presentation, Raster Resolution, Raster Height, Raster Width, and Raster Compression are all true modes. Once specified, the printer remains in that mode unless explicitly changed by issuing the command again, or reset to default values by a soft reset, self test, font printout, or power cycle.
Raster Graphics Resolution Command Raster graphics can be printed at various resolutions. This command designates the resolution of subsequent raster data transfers in dots-per inch. Default Range This command must be sent prior to the start graphics command. The factory default resolution is 75 dots-per-inch. Note Lower resolution graphics occupy less user memory.
Figure 15-3 Raster Graphics Expansion - at 300 dpi Note Rectangular area fills and character data are not affected by changes in resolution. Rectangular Area fills and character data always print at the maximum resolution, regardless of the resolution setting. When configured for 600 dpi resolution, the printer automatically expands raster graphics transferred at resolutions less than 600 dots-per-inch to 600 dots-per-inch during printing.
Raster Graphics Presentation Mode Command The Raster Graphics Presentation command specifies the orientation of the raster image on the logical page. Default Range A value of 0 indicates that a raster row ‘will be printed in the positive X-direction of the PCL coordinate system. (The print direction translates the PCL coordinate system.) A value of 3 indicates that the raster graphics will be printed along the width of the physical page, regardless of logical page orientation.
Table 15-2 Figure 15-5 Raster Graphics Presentation Mode for Portrait (continued) landscape 50 dots in from the logical page top bound reverse 50 dots in from the logical landscape page top bound Orientation Raster Graphics Presentation Mode Command 15-9...
Raster Height Command The Raster Height command specifies the height in raster rows of the raster area. Height is the direction perpendicular to the direction that raster rows are laid down, hence, height is subject to the current raster presentation mode and print direction (see Figure 15-7). Default Range Greater values default to (logical page length –...
Upon receiving an End Raster Graphics ( ) command, the cursor position is set to the left graphics margin of the next raster row after the raster height boundary. Figure 15-7 Maximum Raster Height 15-12 Raster Graphics...
Raster Width Command The Raster Width command specifies the width in pixels of the raster area. Width is in the direction that the raster rows are laid down, hence, width is subject to the current raster presentation mode and print direction (see Figure 15-8). Default Range Greater values default to the (logical page width –...
Figure 15-8 Maximum Raster Width Start Raster Graphics Command The Start Raster Graphics command identifies the beginning of the raster data and also specifies the left graphics margin. Default Range A value of 0 specifies that the left graphics margin is at the default left margin of the page (X-position 0).
Once in Raster Graphics Mode, PCL commands and text imply an End Raster Graphics ( Transfer Raster Data Set Raster Compression Method Raster Y Offset In addition, the following commands are ignored (i.e., locked out) while in Raster Graphics Mode and do not imply an End Raster Graphics command: Start Raster Graphics Set Raster Width...
Set Compression Method Command The Set Compression Method command allows you to code raster data in one of four compressed formats: Run-length encoding, tagged imaged file format (TIFF) rev. 4.0, delta row compression, and adaptive compression. The choice of compression methods affects both the amount of code needed to generate a raster graphic image and the efficiency with which the image is printed.
Tagged Image File Format Encoding (Method 2) Tagged image file format encoding interprets raster data as TIFF “Packbits.” This format combines features of methods 0 and 1. A control byte precedes the raster data (pattern bytes). The control byte identifies whether the pattern byte(s) represent a byte that is to be repeated some number of times (up to 127), or represent some number of bytes (up to 127) which are to be printed as is (literal).
The range of numbers for the control byte is shown below. Table 15-3 # of Bytes Table 15-4 NOP value 128 (-128) Table 15-5 # of Repetitions 1 (-1) 127 (-127) 1. These negative values are represented by taking the twos complement of the value of the number.
TIFF encoding also allows you to include a non-operative (NOP) control byte, represented by the value –128. This byte is ignored, and the subsequent byte is treated as the new control byte. Note It is more efficient to code two consecutive identical bytes as a repeated byte.
TIFF Encoding In the TIFF encoding example above, parenthetical expressions are used to identify control bytes. For example, the byte (-3) is shown to represent the control byte for a repetition (minus value) of 3. The actual value for this position is the decimal value 253. Additional “encoded”...
Table 15-7 Number of bytes to replace (1-8) Relative offset from last If more than eight replacement (delta) bytes are needed, additional command byte/replacement bytes may be added, as shown below: Bytes)][(Command Byte)(1 to 8 Replacement Bytes)]. . . In the command byte, the upper three bits identify the number of replacement (delta) bytes (which can be 1 to 8 bytes).
As mentioned, the offset is contained in the lower five bits of the command byte allows for offset values from 0 to 31. Compression mode allows offsets larger than 31 bytes as follows: An offset value of 0-30 indicates that the replacement bytes are offset from the 1st byte to the 31st byte.
Repeating a Row When using the delta compression method, it is possible to repeat or copy the previous raster row using the Raster Data Transfer command. This is accomplished by setting the Raster Data Transfer command, value field, to zero. Printing A Zeroed Row (Setting the Seed Row to Zero) It is possible to print a row of all zeros using the Raster Y-Offset command.
Example: Delta Row Compression The following example demonstrates how to compress the following data using the delta row compression. (The bytes highlighted in italic type indicate those bytes needing replacement — those bytes that are different from the previous row, the seed row.) Table 15-8 Byte Row 1...
Adaptive Compression (Method 5) Adaptive compression enables the combined use of any of the four previous compression methods (0 through 3), and it includes the ability to print empty (all zeros) rows or to duplicate rows. Adaptive compression interprets a raster image as a block of raster data rather than as individual rows.
For command byte values 0 - 3, the two <# of bytes/rows> bytes specify the number of bytes (row length) for the row. For command byte values 4 and 5, these bytes identify the number of empty or duplicate rows to print. The maximum value for these two bytes is 65,535;...
Adaptive Compression Operation Hints Note Some HP LaserJet printers perform internal compression techniques to support full-page graphics. Refer to Chapter 1 of the PCL 5 Comparison Guide for specifics. The compression methods cannot be mixed within one raster row. A raster row must be compressed using only one method.
For method 3 - Since delta row compression requires that the seed row be available whenever raster graphics mode is entered, the seed row is initialized to zeros upon raster graphics mode entry ( *r#A). The seed row is also initialized upon receipt and completion of each raster block.
Transfer Raster Data Command The Transfer Raster Data command is used to transfer a row of raster data to the printer. Default Range The value field (#) identifies the number of bytes in the raster row. These bytes are interpreted as one row of raster graphics data that is printed at the current Y position at the left raster graphics margin.
HP LaserJet IIID printers. Use the command to terminate raster graphic data transfers for these printers. Refer to the “PCL Feature Support Matrix” in Chapter 1 of the PCL 5 Comparison Guide for specific printers which support these commands.
Raster Graphics Example To transfer an unencoded raster graphic image (see Figure 15-11) in the shape of an arrow, perform the following steps: Table 15-10 1. Position the cursor: 2. Specify the raster graphics resolution: 3. Specify the raster graphics presentation method: 4.
Status Readback Introduction This chapter describes the PCL status readback features. PCL status is requested from the printer with the commands described in this chapter. Following a status request, the printer generates a status response. This response consists of ASCII data which is sent directly from the printer, through the I/O, back to the host.
Flush All Pages Command Echo Command Status Readback Programming Hints For status readback to work, the host system must contain a bi-directional driver to receive status response data. In network operations, some printing environments do not support bi-directional communication, such as many printer sharing devices which spool data, and some network operating systems.
Table 16-1 Status response sent from printer to host Entity Status It is possible to request status for the printer’s entities. An entity is a font, symbol set, macro, or user-defined pattern stored in the printer. Each individual entity request is limited to one specific entity, and is further limited to a specific location.
A basic entity status request is shown in the example below. This example identifies a status request for downloaded permanent fonts. The example also includes a status readback response at the bottom. Note that this example shows only one possible request/response; for more detailed information, refer to the status readback command descriptions provided later in this chapter.
Note The number of status responses a printer can buffer varies from printer to printer. The HP LaserJet 4 printer can store 5 responses. Refer to the PCL 5 Comparison Guide for printer specific information. A status response is returned to the printer I/O port from which it was requested.
Status Response Syntax All status responses start with the letters “PCL” followed by a Carriage Return control code (decimal 13; <CR>) and a Line Feed control code (decimal 10; <LF>). In addition, each remaining line of the response is terminated by a Carriage Return and Line Feed control code.
“0D,0I,0N,0S,0U,1E,1F,1G,...” The internal symbol sets are printer dependent and may vary from printer to printer. Refer to the PCL 5 Comparison Guide for printer specific information. Status Response Syntax 16-7...
Set Status Readback Location Type Command The Set Location Type command sets the status location type to the specified value. Location type is used in conjunction with the location unit to identify an entity location for a status request (Inquire Status Readback Entity command).
* s # U Set Status Readback Location Unit Command Location Unit = 0 through n, where n is printer dependent. Refer to the PCL 5 Comparison Guide. Set Status Readback Location Unit Command 16-9 Invalid location Currently selected All Locations...
A value of 0 indicates all units of the location type. A printer reset ( The printer retains the location unit setting. If this command is not sent to change the setting for an entity request, then the existing location unit setting is used. Note The location type and unit may be set in any order.
Entity Status Responses The status response for an Inquire Status Readback Entity command varies depending on the type of entity requested. The status responses for font, font extended, macro, user-defined pattern, and symbol set are described below. Font Response The status response information returned for font (inquire entity value field 0) varies.
As mentioned, variations in the font response occur as a result of the font being a bitmap, bound scalable, unbound scalable, soft (downloaded) font, or the location type set to 1 (currently selected). These variations include slight differences in the information included in the “SELECT=”...
Unbound Scalable Fonts For unbound fonts, since multiple symbol sets can be associated with an unbound font, the “SYMBOLSETS=” keyword is added to list the available symbol sets and the symbol set sequence is no longer present in the “SELECT=” line. For example, the printer’s internal unbound scalable Courier (medium, fixed spaced) font and CG Times (bold italic, proportional spaced) fonts would be returned as shown below.
For all fonts, if the font is a secondary font, then the “(“ characters are replaced by ”)” characters in the “SELECT=” line. “LOCTYPE=” identifies the location type of the currently selected font. The value returned corresponds to the value field of the Set Status Readback Type command.
NONE Note The cartridge (Cn) and SIMMs (Mn) location identifiers are printer specific. Refer to Chapter 1 of the PCL 5 Comparison Guide for printer-specific values for “n.” Since temporary soft fonts do not have an internal ID number (they cannot be selected as the default from the control panel or PJL), NONE is returned as their “DEFID=NONE”.
“NAME=” is returned for font extended status requests only. It identifies the name of the font, such as, Courier, Times Roman, Univers, etc., and its treatment (such as BdIt - bold italic) as listed in the font printout. For example, the font extended response for the printer’s internal bitmap Line Printer font and a downloaded unbound CG Palacio temporary font would be returned as shown below.
INFO PATTERNS IDLIST=“88” LOCTYPE=4 LOCUNIT=2 If the current pattern is set to one of the internal HP-defined patterns (no pattern ID number assigned), then no number is available and the response, “ERROR=NONE” is returned. INFO PATTERNS ERROR=NONE...
“0D,0I,0N,0S,0U,1E,1F,1G,...” The internal symbol sets are printer dependent and may vary from printer to printer; refer to the PCL 5 Comparison Guide for printer specific information. 16-18 Status Readback...
Entity Error Codes If you request out-of-range values in the command value fields, or if the entity is unsupported or does not exist, or if the request is inappropriate, the printer responds with one of four possible errors: Invalid Entity Invalid Location None Internal Error...
ERROR=NONE If the entity type and location are valid, but there are no entities of the specified type in that location, or if the type is inappropriate for the specified entity (internal user-defined pattern or currently selected macro), then an error response is generated. For example, if you request the downloaded symbol sets and there are no downloaded symbol sets, the following error response would be generated: INFO SYMBOLSETS...
Free Space Command The Free Space command returns the amount of available memory. This response returns two values: the total available memory, and the largest available block of memory (refer to the “Memory Status Response” section later in this chapter for additional information). If a value other than 1 is sent, this command returns an error (“ERROR = INVALID UNIT,”...
Note When an HP LaserJet 4 printer (or later) reaches a memory low condition it automatically deletes all of the font cache. It is possible to delete the cache immediately using a Printer Reset command.
“LARGEST=” identifies the largest continuous block of available memory (in bytes). An example response is shown below: INFO MEMORY TOTAL=100000 LARGEST=25000 The above example indicates that the printer has 100,000 bytes of available memory and the largest continuous block is 25,000 bytes. Memory Error Response If the Free Memory command value field is out of range (not 1), then the memory status response returns an invalid unit error.
Flush All Pages Command The Flush All Pages command suspends accepting input data until all pages currently in the printer are printed. This gives the printer time to clear some memory. Default Range A value of 0 indicates that only complete pages are to be processed. If a partial page exists, it is not processed.
Echo Command The Echo command echoes its value field (in ASCII format) back to the host. Default Range If multiple users are requesting status, it can be difficult to distinguish one user’s status response from another. The Echo command provides the means to label status responses. Since the user-selected value for the value field is returned, this command can be used as a user identification mark or “place holder.”...
If the application sends the Echo command and Free Space command, the printer returns the response to the first Echo command and Free Space command, along with the response to the second request. The application will assume that the response received is the response to its last request.
Status Readback Programming Hints The following hints can assist in using the status readback feature. PCL status readback is useful during the development of applications. Status readback allows you to determine that fonts, macros, user-defined patterns, and symbol set resources you have downloaded were accepted by the printer.