HP PCL 5 Reference Manual

HP PCL 5 Reference Manual

Printer language technical reference manual
Hide thumbs Also See for PCL 5:
Table of Contents

Advertisement

Part I
Click here to access Part II
on hp.com.

Advertisement

Table of Contents
loading

Summary of Contents for HP PCL 5

  • Page 1 Part I Click here to access Part II on hp.com.
  • Page 3 PCL 5 Printer LanguageTechnical Reference Manual HP Part No. 5961-0509 Printed in USA First Edition - October 1992...
  • Page 4: Notice

    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.
  • Page 5: Printing History

    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.
  • Page 6: Trademark Credits

    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.
  • Page 7: Inside This Manual

    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.
  • Page 8: Job Control

    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.
  • Page 9 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.
  • Page 10 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.
  • Page 11: The Hp-Gl/2 Coordinate System

    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.
  • Page 12: Related Documentation

    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...
  • Page 13: Table Of Contents

    PCL 5 Comparison Guide........
  • Page 14 The Print Environment Factory Default Environment ......... . .3-2 User Default Environment .
  • Page 15 Cursor Positioning Absolute vs. Relative Cursor Positioning........6-2 Cursor Positioning Units .
  • Page 16 HP-GL/2 Font Selection ........
  • Page 17 User-Defined Symbol Sets Symbol Set ID Code Command ........10-2 Define Symbol Set.
  • Page 18 Underline Position (Distance) (SB) ....... . .11-29 Underline Thickness (UB) ........11-29 Text Height (UI) .
  • Page 19 Macro Control ........... . .12-7 Example .
  • Page 20 Raster Graphics Presentation Mode Command ......15-8 Raster Height Command..........15-11 Raster Width Command .
  • Page 21 HP-GL/2 Commands and Syntax ........17-3...
  • Page 22 Creating Mirror-Images ......... .19-12 Adapting the HP-GL/2 Coordinate System to Match the PCL System ..19-15 Windowing: Setting Up Soft-Clip Limits.
  • Page 23 The Polygon Group Using the Polygon Buffer..........21-2 Drawing Rectangles .
  • Page 24 The Character Group Printing Labels ........... .23-3 Moving to the Carriage Return Point.
  • Page 25 Help from HP ........
  • Page 26 Contents-14...
  • Page 27: Introduction To Hp Pcl

    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.
  • Page 28: Pcl Printer Language Architecture

    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.
  • Page 29: What Are Printer 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.
  • Page 30: Hp-Gl/2 Commands

    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.
  • Page 31: Syntax Of Escape Sequences

    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.
  • Page 32: Parameterized Escape Sequences

    #, 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.
  • Page 33 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.
  • Page 34 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”. &...
  • Page 35: The Page

    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...
  • Page 36: Logical Page

    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).
  • Page 37: Printed Dots

    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.
  • Page 38: Pcl Coordinate System

    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...
  • Page 39: Units Of The Pcl Coordinate System

    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.
  • Page 40: Hp-Gl/2 Picture Frame

    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.
  • Page 41: Printable Area

    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.
  • Page 42 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...
  • Page 43 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).
  • Page 44 2-10 The Page...
  • Page 45: The Print Environment

    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.
  • Page 46: Factory Default Environment

    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.
  • Page 47: Paper Source

    Left Graphics Margin Resolution Compression Mode Raster Height Raster Width Raster Graphics Presentation Mode PICTURE FRAME Picture Frame Width Picture Frame Height Picture Frame Anchor Point HP-GL/2 plot Horizontal Size HP-GL/2 Plot Vertical Size MACRO Macro ID Factory Default Environment 3-3...
  • Page 48 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.
  • Page 49: Line Joins

    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...
  • Page 50: Fonts

    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...
  • Page 51: Modified Print Environment

    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...
  • Page 52: Resetting The Print 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).
  • Page 53: Cold Reset

    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...
  • Page 54 3-10 The Print Environment...
  • Page 55: Pcl Job Control Commands

    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.
  • Page 56: Printer Reset Command

    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.
  • Page 57: Universal Exit Language Command

    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...
  • Page 58: Number Of Copies Command

    ?&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.
  • Page 59: Simplex/Duplex Print Command

    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...
  • Page 60 Figure 4-2 Long-Edge Binding Mode Figure 4-3 Short-Edge Binding Mode 4-6 PCL Job Control Commands...
  • Page 61: Left Offset Registration Command

    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. ? &...
  • Page 62: Top Offset Registration Command

    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.
  • Page 63 Figure 4-4 Short-Edge Binding Mode Offsets Figure 4-5 Long-Edge Binding Mode Offsets Top Offset Registration Command 4-9...
  • Page 64: Duplex Page Side Selection Command

    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.
  • Page 65: Job Separation Command

    ? & 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.
  • Page 66: Output Bin Selection Command

    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.
  • Page 67: Unit Of Measure Command

    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).
  • Page 68 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).
  • Page 69 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 70 4-16 PCL Job Control Commands...
  • Page 71: Page Control Commands

    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...
  • Page 72: Page Size Command

    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.
  • Page 73 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: ? &...
  • Page 74: Paper Source Command

    Refer to the “PCL Feature Support Matrix” in Chapter 1 of the PCL 5 Comparison Guide or the printer User’s Manual for paper source feature implementation details for specific HP LaserJet printers.
  • Page 75: Hp-Gl/2 & Pcl Orientation Interactions

    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,...
  • Page 76: Scaling

    5-6 Page Control Commands HP-GL/2 State Variables executes “IN” command defaults picture frame defaults picture frame anchor point defaults HP-GL/2 plot size Defaults picture frame anchor point. Defaults picture frame. Defaults HP-GL/2 plot size. Defaults P1 and P2 (“IP;”). Defaults soft-clip window (“IW;’”).
  • Page 77 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...
  • Page 78 Figure 5-2 HP-GL/2 Picture Orientation with Respect to Logical Page Orientation 5-8 Page Control Commands...
  • Page 79: Print Direction Command

    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.
  • Page 80 Figure 5-3 Changing Print Direction on a Page 5-10 Page Control Commands...
  • Page 81: Text Area

    (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...
  • Page 82 Figure 5-4 Text Area Within the Page 5-12 Page Control Commands...
  • Page 83: Left Margin Command

    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).
  • Page 84: Right Margin Command

    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...
  • Page 85: Clear Horizontal Margins Command

    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.
  • Page 86: Top Margin Command

    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.
  • Page 87 Note The first line of the logical page is line 0. Figure 5-5 Margin Cursor Positioning Top Margin Command 5-17...
  • Page 88: Text Length Command

    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).
  • Page 89: Perforation Skip Command

    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.
  • Page 90: Horizontal Motion Index (Hmi) Command

    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.
  • Page 91 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.
  • Page 92: Vertical Motion Index (Vmi) Command

    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.
  • Page 93: Common Vmi Settings

    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...
  • Page 94: Line Spacing Command

    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).
  • Page 95: Cursor Positioning

    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.
  • Page 96: Absolute Vs. Relative Cursor Positioning

    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.
  • Page 97: Cursor Positioning Units

    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...
  • Page 98: Decipoints

    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.
  • Page 99: Horizontal Cursor Positioning (Columns) Command

    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.
  • Page 100: Horizontal Cursor Positioning (Decipoints) Command

    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;...
  • Page 101: Horizontal Cursor Positioning (Pcl Units) Command

    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;...
  • Page 102: Horizontal Cursor Positioning Control Codes

    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.
  • Page 103: Bs - Backspace

    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.
  • Page 104: Vertical Cursor Positioning (Rows) Command

    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;...
  • Page 105: Vertical Cursor Positioning (Decipoints) Command

    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;...
  • Page 106: Vertical Cursor Positioning (Pcl Units) Command

    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;...
  • Page 107: Half-Line Feed Command

    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.
  • Page 108: Line Termination Command

    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...
  • Page 109: Push/Pop Cursor Position Command

    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.
  • Page 110 6-16 Cursor Positioning...
  • Page 111: Fonts

    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...
  • Page 112: Font Sources

    (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”...
  • Page 113: Symbol Set

    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...
  • Page 114: Spacing

    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...
  • Page 115: Pitch

    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.
  • Page 116: Style

    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.
  • Page 117: Typeface Family

    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...
  • Page 118: Orientation

    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.
  • Page 119: Example:

    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.
  • Page 120 Figure 7-11 Bitmap Character Figure 7-12 Scalable Character 7-10 Fonts...
  • Page 121: Internal 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.
  • Page 122 7-12 Fonts...
  • Page 123: Pcl Font Selection

    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.
  • Page 124 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...
  • Page 125 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.
  • Page 126: Using Fonts

    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.
  • Page 127: Primary And Secondary Fonts

    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.
  • Page 128: Symbol Set Command

    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...
  • Page 129: Example

    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)
  • Page 130: 7-Bit Iso Symbol Sets

    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.
  • Page 131: Spacing Command

    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.
  • Page 132: Pitch Command

    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...
  • Page 133: Example

    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.
  • Page 134: Height Command

    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.
  • Page 135: Example

    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”...
  • Page 136: Style 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...
  • Page 137: Example

    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.
  • Page 138: Stroke Weight Command

    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.
  • Page 139: Example

    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.
  • Page 140: Typeface Family Command

    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.
  • Page 141: Example

    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:...
  • Page 142: Orientation

    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;...
  • Page 143: Font Selection Examples

    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...
  • Page 144: Scalable, Proportional-Spaced Font

    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...
  • Page 145: Summary Of Font Selection By Characteristic

    (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.
  • Page 146 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...
  • Page 147 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...
  • Page 148: Font Selectionby Id Command

    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.
  • Page 149: Examples

    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.
  • Page 150: Transparent Print Data Command

    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.
  • Page 151: Underline Command

    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.
  • Page 152 8-30 PCL Font Selection...
  • Page 153: Font Management

    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.
  • Page 154: Downloading Soft Fonts

    Scalable fonts and typefaces may be prepared by font management software such as HP’s Type Director. Once prepared, scalable fonts are downloaded in much the same manner as bitmap fonts.
  • Page 155: Temporary Vs. Permanent Fonts

    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.
  • Page 156: Font Id Command

    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”...
  • Page 157: Font Control Command

    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:...
  • Page 158 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:...
  • Page 159: Font Management Example

    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.
  • Page 160: Unbound Scalable Fonts

    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.
  • Page 161 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.
  • Page 162 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...
  • Page 163 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).
  • Page 164 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.
  • Page 165 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).
  • Page 166 9-14 Font Management...
  • Page 167: User-Defined Symbol Sets

    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.
  • Page 168: Symbol Set Id Code Command

    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.
  • Page 169 (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.
  • Page 170: Define Symbol Set

    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.
  • Page 171: Header Size (Ui)

    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.
  • Page 172: Encoded Symbol Set Designator (Ui)

    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...
  • Page 173: First Code (Ui)

    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...
  • Page 174 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)
  • Page 175 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).
  • Page 176 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...
  • Page 177: Symbol Map (Array Of Ui)

    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.
  • Page 178: Symbol Set Control Command

    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...
  • Page 179: User-Defined Symbol Set Examples

    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...
  • Page 180: Msl Symbol Index Example

    Symbol Map Data: (continued) 00 41 (character code 65) 00 61 (character code 97) 20 7f (character code 252) 00 b2 (character code 253) 25 a0 (character code 254) *c341r5S MSL Symbol Index Example Symbol Map Data: *c341R (f528W 00 12 01 55 00 01 00 ff...
  • Page 181 Symbol Map Data: (continued) 00 cf (character code 5) 00 e7 (character code 31) 00 00 (character code 32) 00 01 (character code 33) 00 22 (character code 65) 00 43 (character code 97) 01 4c (character code 252) 00 c5 (character code 253) 01 31 (character code 254) 00 00 (character code 255) *c341r5S...
  • Page 182 10-16 User-Defined Symbol Sets...
  • Page 183: Soft Font Creation

    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.
  • Page 184: Font Classifications

    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.
  • Page 185 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.
  • Page 186: Coordinate System

    (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).
  • Page 187: Truetype Scalable Fonts

    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.
  • Page 188: Font Header Command

    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.
  • Page 189 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.
  • Page 190 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...
  • Page 191 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...
  • Page 192 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...
  • Page 193 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)
  • Page 194 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...
  • Page 195 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...
  • Page 196: Data Types

    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)
  • Page 197: Font Descriptor Size (Ui)

    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)
  • Page 198: Style Msb (Ui)

    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).
  • Page 199 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...
  • Page 200: Baseline Position (Ui)

    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”...
  • Page 201: Orientation (Ub)

    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.
  • Page 202: Spacing (B)

    (0&deg;), 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.
  • Page 203: Pitch (Ui)

    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.
  • Page 204: Height (Ui)

    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,...
  • Page 205: Width Type (Sb)

    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.
  • Page 206: Typeface (Ub)

    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.
  • Page 207 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.
  • Page 208 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.
  • Page 209: Serif Style (Ub)

    (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.
  • Page 210: Quality (Ub)

    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.
  • Page 211: Underline Position (Distance) (Sb)

    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.
  • Page 212: First Code (Ui)

    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...
  • Page 213: Height Extended (Ub)

    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.
  • Page 214: Font Number (Uli)

    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.
  • Page 215: Font Name (Asc16)

    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).
  • Page 216: Y Resolution (Ui)

    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.
  • Page 217: Variety (Ub)

    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.
  • Page 218 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...
  • Page 219 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.
  • Page 220 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);...
  • Page 221: Checksum

    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.
  • Page 222 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 # –...
  • Page 223 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.
  • Page 224 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.
  • Page 225: Font Header Examples

    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.
  • Page 226 ...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:...
  • Page 227 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...
  • Page 228 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...
  • Page 229 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...
  • Page 230: Character Definitions

    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.
  • Page 231: Character Code Command

    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.
  • Page 232: Character Definition Command

    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.
  • Page 233: Character Descriptor Formats

    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)
  • Page 234 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.
  • Page 235 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.
  • Page 236 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).
  • Page 237 Figure 11-5 Class 2 Character Data Character Descriptor Formats 11-55...
  • Page 238 (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.
  • Page 239 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.
  • Page 240 Figure 11-6 Portrait Character Example 11-58 Soft Font Creation...
  • Page 241 Figure 11-7 Landscape Character Example Character Descriptor Formats 11-59...
  • Page 242: Character Descriptor And Data Format For Intellifont Scalable Fonts

    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)
  • Page 243 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.
  • Page 244 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.
  • Page 245 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.
  • Page 246 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.
  • Page 247: Character Descriptor And Data Format For Truetype Fonts

    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.
  • Page 248 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.
  • Page 249 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.
  • Page 250 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.
  • Page 251 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.
  • Page 252: Character Definition Examples

    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.
  • Page 253 Table 11-53 Portrait Character Data Example 00000000 00001111 11000000 00000000 11111100 01111111 11111000 00000000 11111100 11111111 11111100 00000000 11111101 11110000 00111110 00000000 00011111 11000000 00001111 00000000 00011111 10000000 00000111 00000000 00011111 00000000 00000111 10000000 00011110 00000000 00000011 10000000 00011110 00000000 00000011 11000000 00011100 00000000 00000001 11000000 00011100 00000000 00000001 11000000 00011100 00000000 00000001 11000000...
  • Page 254 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...
  • Page 255 Table 11-55 Landscape Character Data Example Bit Map 00000000 01111110 00000000 00000000 00000011 11111111 11000000 00000000 00001111 11111111 11110000 00000000 00011111 10000001 11111000 00000000 00111110 00000000 01111100 00000000 00111000 00000000 00111100 00000000 01111000 00000000 00011110 00000000 01110000 00000000 00001110 00000000 11100000 00000000 00001111 00000000 11100000 00000000 00000111 00000000 11100000 00000000 00000111 00000000...
  • Page 256 Table 11-55 Landscape Character Data Example (continued) 01110000 00000000 00000000 00001110 01110000 00000000 00000000 00001110 11-74 Soft Font Creation...
  • Page 257 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.
  • Page 258 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...
  • Page 259: Macro Creation

    (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).
  • Page 260: Macro Invocation

    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...
  • Page 261: Temporary / Permanent 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.
  • Page 262: Deleting Macros

    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.
  • Page 263: Macro Control

    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.
  • Page 264: Example

    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.
  • Page 265: Macro Control Example

    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.
  • Page 266 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.
  • Page 267: The Pcl Print Model

    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);...
  • Page 268 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.
  • Page 269 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.
  • Page 270 Figure 13-3 Effect of Transparency Modes on Images 13-4 The PCL Print Model...
  • Page 271: Command Sequence

    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...
  • Page 272: Source Transparency Mode Command

    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”...
  • Page 273: Pattern Transparency Mode Command

    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”...
  • Page 274: Pattern Id (Area Fill Id) Command

    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.
  • Page 275 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.
  • Page 276 Figure 13-4 Shading Patterns 13-10 The PCL Print Model...
  • Page 277 Figure 13-5 Cross-Hatch Patterns Pattern ID (Area Fill ID) Command 13-11...
  • Page 278: Select Current Pattern Command

    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.
  • Page 279: User-Defined Pattern Graphics

    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...
  • Page 280 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.
  • Page 281 Figure 13-8 Moving Pattern Reference Point for Pattern Filling User-Defined Pattern Graphics 13-15...
  • Page 282: User-Defined Pattern Command

    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.
  • Page 283: Format (Byte 0)

    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.
  • Page 284: Reserved (Byte 3)

    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.
  • Page 285: User-Defined Pattern Example

    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...
  • Page 286 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)
  • Page 287 Send the pattern header and binary data: Table 13-6 00 00 01 00 00 10 00 20 FF FF FF FF 7F FF FF FE 3F FF FF FC 1F FF FF F8 0F FF FF F0 07 FF FF E0 03 FF FF C0 01 FF FF 80 00 FF FF 00...
  • Page 288: Set Pattern Reference Point Command

    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).
  • Page 289: Pattern Control 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 &...
  • Page 290 13-24 The PCL Print Model...
  • Page 291: Pcl Rectangular Area Fill Graphics

    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...
  • Page 292 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.
  • Page 293: Horizontal Rectangle Size (Decipoints) Command

    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.
  • Page 294: Vertical Rectangle Size (Decipoints) Command

    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.
  • Page 295: Pattern Id (Area Fill Id) Command

    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.
  • Page 296 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.
  • Page 297 Figure 14-1 Shading Patterns Pattern ID (Area Fill ID) Command 14-7...
  • Page 298 Figure 14-2 Cross-hatch Patterns 14-8 PCL Rectangular Area Fill Graphics...
  • Page 299: Fill Rectangular Area Command

    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).
  • Page 300 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.
  • Page 301: Pattern Transparency For Rectangular Area Fill

    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).
  • Page 302 Figure 14-3 Effect of Transparency Modes on Rectangular Areas 14-12 PCL Rectangular Area Fill Graphics...
  • Page 303: Rectangular Area Fill Examples

    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.
  • Page 304 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.
  • Page 305 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...
  • Page 306 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.
  • Page 307: User-Defined Pattern Example

    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.”...
  • Page 308 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...
  • Page 309: Raster Graphics

    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.
  • Page 310 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.
  • Page 311 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.
  • Page 312: Raster Graphics Command Sequence

    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.
  • Page 313 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.
  • Page 314: Raster Graphics Resolution Command

    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.
  • Page 315 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.
  • Page 316: Raster Graphics Presentation Mode Command

    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.
  • Page 317 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...
  • Page 318 Figure 15-6 Raster Graphics Presentation Mode for Landscape Orientation 15-10 Raster Graphics...
  • Page 319: Raster Height Command

    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 –...
  • Page 320 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...
  • Page 321: Raster Width Command

    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 –...
  • Page 322: Start Raster Graphics Command

    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).
  • Page 323: Raster Y Offset Command

    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...
  • Page 324: Set Compression Method Command

    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.
  • Page 325: Tagged Image File Format Encoding (Method 2)

    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).
  • Page 326 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.
  • Page 327: Example:

    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.
  • Page 328: Delta Row Compression (Method 3)

    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”...
  • Page 329 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).
  • Page 330 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.
  • Page 331 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.
  • Page 332: Example: Delta Row Compression

    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...
  • Page 333: Adaptive Compression (Method 5)

    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.
  • Page 334 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;...
  • Page 335 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.
  • Page 336 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.
  • Page 337: Transfer Raster Data Command

    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.
  • Page 338: End Raster Graphics Command

    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.
  • Page 339: Raster Graphics Example

    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.
  • Page 340 Table 15-11 Example of Raster Graphic Image Data (continued) 6 00000000 00000000 7 00000000 00000000 8 00000000 00000000 9 00000000 00000000 10 11111111 11111111 11 11111111 11111111 12 11111111 11111111 13 11111111 11111111 14 11111111 11111111 15 11111111 11111111 16 11111111 11111111 17 11111111 11111111 18 11111111 11111111 19 11111111 11111111...
  • Page 341 Figure 15-11Example of Raster Graphic Image Data Raster Graphics Example 15-33...
  • Page 342 15-34 Raster Graphics...
  • Page 343: Status Readback

    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.
  • Page 344: Memory Status Request

    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.
  • Page 345: Entity Status

    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.
  • Page 346 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.
  • Page 347: Status Response

    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.
  • Page 348: Status Response Syntax

    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.
  • Page 349 “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...
  • Page 350: Set Status Readback Location Type Command

    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).
  • Page 351: Set Status Readback Location Unit 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...
  • Page 352: Inquire Status Readback Entity Command

    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.
  • Page 353: Entity Status Responses

    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.
  • Page 354 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=”...
  • Page 355 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.
  • Page 356 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.
  • Page 357: Font Extended Response

    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”.
  • Page 358: Macro Response

    “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.
  • Page 359: User-Defined Pattern Response

    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...
  • Page 360: Symbol Set Response

    “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...
  • Page 361: Entity Error Codes

    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...
  • Page 362 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...
  • Page 363: Free Space Command

    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,”...
  • Page 364: Memory Status Response

    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.
  • Page 365: Memory Error Response

    “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.
  • Page 366: Flush All Pages Command

    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.
  • Page 367: Echo Command

    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.”...
  • Page 368: Echo Response

    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.
  • Page 369: Status Readback Programming Hints

    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.
  • Page 370 16-28 Status Readback...

This manual is also suitable for:

Laserjet 4100

Table of Contents