Part II
17 An Introduction to HP-GL/2 Vector Graphics The PCL 5 printer provides the ability to print vector graphics using the HP-GL/2 graphics language. HP-GL/2 graphics may be created within application software, or imported from existing applications. For various types of images (many technical drawings and business graphics, for example), it is advantageous to use vector graphics instead of raster graphics. The advantages include faster I/O transfer of large images and smaller disk storage requirements.
Learning HP-GL/2 Read through this chapter and Chapter 18 for a general overview of the HP-GL/2 language and its relationship to the PCL printer language. Then, flip through the other HP-GL/2 chapters until you see an example that interests you or fits your objective. Read through the examples and try printing them using your choice of programming languages.
HP-GL/2 Commands and Syntax There are two classes of commands used to print vector graphics: PCL printer language commands and HP-GL/2 commands. As the name implies, the PCL printer language commands are used when in the PCL printer language mode. They define the area on the page where HP-GL/2 graphics are printed and provide a means to enter HP-GL/2 mode. The HP-GL/2 commands are used within HP-GL/2 mode. They define the image that is printed, and allow you to return to the PCL printer language mode.
Table 17-2 The HP-GL/2 Commands by Group (2 of 5) VECTOR GROUP AA Arc Absolute AR Arc Relative AT Absolute Arc Three Point BR Bezier Relative BZ Bezier Absolute CI Circle PA Plot Absolute PD Pen Down PE Polyline Encoded PR Plot Relative PU Pen Up RT Relative Arc Three Point Table 17-3 The HP-GL/2 Commands by Group (3 of 5) POLYGON GROUP EA Edge Rectangle Absolute EP Edge Polygon ER Edge Rectangle Relative EW Edge Wedge FP Fill Polygon PM Polygon Mode RA Fill Rectangl
Table 17-4 The HP-GL/2 Commands by Group (4 of 5) CHARACTER GROUP AD Alternate Font Definition CF Character Fill Mode CP Character Plot DI Absolute Direction DR Relative Direction DT Define Label Terminator DV Define Variable Text Path ES Extra Space FI1 Select Primary Font FN1 Select Secondary Font LB Label LO Label Origin SA Select Alternate Font SB Scalable or Bitmap Fonts SD Standard Font Definition SI Absolute Character Size SL Character Slant SR Relative Character
Table 17-5 The HP-GL/2 Commands by Group (5 of 5) LINE AND FILL ATTRIBUTES GROUP AC Anchor Corner FT Fill Type LA Line Attributes LT Line Type PW Pen Width RF Raster Fill Definition SM Symbol Mode SP Select Pen SV1 Screened Vectors TR1 Transparency Mode UL User-defined Line Type WU Pen Width Unit Selection 1. These commands are part of the Palette Extensions to HP-GL/2.
Figure 17-1 Typical HP-GL/2 Command z Mnemonic--The two-letter mnemonic reminds you of the command’s function. The mnemonic can be uppercase or lowercase. z Parameter(s)--Some commands have no parameters; for those commands which have them, parameters can be either required or optional (as indicated in the description of that command). z Separator(s)--When you use parameters, you must separate them with a comma or space, or in the case of a numeric parameter, with a + or - sign.
The next section explains how the syntax of individual commands is presented. Notations Used to Express Syntax The following describes the notations used in the syntax section of each command description: Mnemonic For readability, the mnemonic is shown in uppercase and separated from the parameters and/or terminator. parameters Parameters are shown in italic. [] Parameters in square brackets are optional. [param1,param2...[,param1,param2]] These optional parameters must be paired. params...
Note Remember that while X,Y coordinates are shown in parentheses in text [for example (3,4) or (0,0)], the parentheses are not part of the syntax. Do not enter these parentheses in your commands. ; iCommand terminator. In most HP-GL/2 commands, a semicolon is optional, and is shown in parentheses in most command syntax. Notes Three exceptions to the optional use of the semicolon as a command terminator occur in the following commands: Polyline Encoded (PE), Label (LB), and Comment (CO).
If you omit the second parameter you must also omit the third parameter, as shown below: LT6 The printer uses the most recently specified pattern length and mode. If you have not specified a length or mode since sending a Default Values (DF) or Initialize (IN) command, the printer uses the parameter’s defaults.
4 Clamped Real—A number with an integer portion from –32,768 to 32,767; you are assured of at least 6 significant digits (including integer and fractional portion). You may omit the decimal point when no decimal fraction is specified. Sending a number outside this range does not cause an error, but the number is “clamped” to the limits of the range. For example, the printer treats all numbers above 32,767 as 32,767. Certain commands have parameters which are restricted to a smaller range.
Notes When LOST mode is entered, the pen is raised and the following commands are ignored: AA, AR, AT, CI, CP, EA, ER, EW, LB, PE, PM, PR, RA, RR, RT, and WG. The commands allowed in LOST mode are: AC, AD, CF, CO, DF, DI, DR, DT, DV, ES, FT, IN, IP, IR, IW, LA, LO, LT, PA, PD, PG, PU, PW, RF, RO, RP, SA, SB, SC, SD, SI, SL, SM, SP, SR, SS, TD, UL, WU, and the PM1/PM2 forms of PM.
Using HP-GL/2 With Programming Languages The HP-GL/2 examples included in this manual are given in a “generic” format (they show the commands required to perform a specific function but usually do not use a specific programming language). In most cases, the commands are accompanied by a brief description of the command being used. To see how HP-GL/2 commands are used in BASIC and the C programming language, see the following examples.
Example:C Programming Language This example uses the C programming language to print the same three lines shown on the previous page. Table 17-6 #include
The HP-GL/2 Coordinate System Both PCL and HP-GL/2 use a Cartesian Coordinate System. The Cartesian coordinate system is a grid formed by two perpendicular axes, usually called the X-axis and Y-axis (refer to Figure 17-4). The intersection of the axes is called the origin of the system and has a location of (0,0). The default HP-GL/2 coordinate system is different than the PCL coordinate system; +Y is down in PCL and up in HP-GL/2.
Study Figure 17-4 to locate these points: (0,0); (-2,2); (6,2); (6,3); (10,0); (6,-3); (6,-2); (-2,-2); (0,0). Draw a straight line between each point in the order listed. (You should have drawn an arrow.) This is a simple demonstration of defining a vector image when in HP-GL/2 mode. Note To specify a point when programming an application, you must always give a complete X,Y coordinate pair; the X coordinate is first and the Y coordinate second.
HP-GL/2 & PCL Orientation Interactions The relationship between the orientation of the HP-GL/2 coordinate system and the PCL coordinate system is important. Figure 17-6 illustrates this relationship for the default HP-GL/2 orientation (RO 0) and the PCL logical page orientation. As shown in the illustration, in the default HP-GL/2 orientation, the origin of the HP-GL/2 coordinate system defaults to the lower-left corner of the PCL Picture Frame.
Figure 17-7 Modifying HP-GL/2 Orientation on a Portrait Page 17-18 An Introduction to HP-GL/2 Vector Graphics EN
The Vector Graphics Limits The area on the page where a vector graphics image can be printed is determined by the intersection of the following four boundaries: z Hard-clip Limits z Soft-clip Window z PCL Logical Page z PCL Picture Frame The hard-clip limit refers to the boundaries resulting from the physical limits of the printer (in PCL mode, this is referred to as the printable area). The soft-clip limit refers to the area defined using the HP-GL/2 Input Window (IW) command.
HP-GL/2 Units of Measure In HP-GL/2 mode, you can measure along the X,Y axes and express coordinates using two types of units: plotter units and user-units. Plotter Units One plotter unit equals 0.025 mm. When specifying distances in plotter units, the printer converts the number of plotter units to equivalent dot coordinates before printing. Under default conditions, the printer uses plotter units. The following table lists equivalent measurements for plotter units.
Pen Status and Location Since printing vector graphics has traditionally been performed with plotters, the terms pen and pen position are used to described the HP-GL/2 cursor, the current active position (CAP) when in HP-GL/2 mode. Like a physical pen, this imaginary pen must be selected if you want to draw images. Commands such as Pen Up (PU) or Pen Down (PD), and phrases such as “current pen position” or “moving the pen” apply to the imaginary pen just as they would a physical pen on a plotter.
Table 17-8 Notes Commands That Include an Automatic Pen Down Command Group CI Circle The Vector Group EA Edge Rectangle Absolute The Polygon Group EP Edge Polygon ER Edge Rectangle Relative EW Edge Wedge FP Fill Polygon RA Fill Rectangle Absolute RR Fill Rectangle Relative WG Fill Wedge LB Label The Character Group SM Symbol Mode The Line and Fill Attributes Group Whenever the printer receives a Pen Down command, it produces a dot at the current pen location.
Pen Location Pen location refers to the X,Y coordinates of the current active position (CAP — the point at which the next HP-GL/2 command begins). Most commands, when completed, update the pen location. The next command then begins at that location. Some commands do not update the current pen location. The definition of each command tells you whether the current pen location is updated or restored. Use the Pen Up (PU) command with the desired X,Y coordinates to lift the pen and move it to a new location.
Scaling When you scale a drawing, you define your own units of measurement instead of using plotter units; the printer converts your units (user-units) to dot positions for placing the image on the page. Scaling allows control of the printer using units that are easy for you to work with. For example, you can scale your drawing to divide the drawing area into 100 squares. As you plan the drawing, you can think in terms of 100 squares rather than plotter units.
Absolute and Relative Pen Movement The Plot Absolute (PA) and Plot Relative (PR) commands allow you to set whether you want to draw using absolute or relative “pen” moves. Absolute pen movement uses X,Y coordinates to specify an exact, fixed point relative to the origin (0,0). In Figure 17-9, the coordinates (3,8), (5,4), and (8,1) are always in the same place with respect to the origin, no matter where the pen is when the coordinates are issued.
Figure 17-10Relative Coordinates Relative movement is useful in many applications where you know the dimensions of the shape you want, but do not want to calculate the absolute coordinates. For example, if you want a box 4 X-units by 8 Y-units, you can use the Edge Rectangle Relative (ER) command to draw the box without having to calculate the absolute coordinates of the opposite corner.
18 The Picture Frame Introduction When importing an existing HP-GL/2 file, or creating an HP-GL/2 image within an application, you use several PCL commands to set up the picture frame size, choose the picture frame location, and enter and exit HP-GL/2 mode. This chapter explains these PCL commands. The following terms are used in this discussion: Picture presentation directives are a group of PCL commands which: z Provide the means to enter and exit HP-GL/2 context.
Defining the Image Area(PCL Picture Frame) There is a group of commands that allows you to specify an area on the page for placing an HP-GL/2 graphic image. These commands are the Picture Presentation Directives and are used to define a bounding rectangle to contain the HP-GL/2 image. Figure 18-1 illustrates the Picture Presentation Directives.
Automatically Adjusting Image Size to Fit the PCL Picture Frame FrameImported HP-GL/2 drawings can be adjusted automatically to fit the size of the PCL Picture Frame without changing the locations of P1 and P2 (in Scale mode, as described earlier). This is called picture frame scaling. When using picture frame scaling, specify the HP-GL/2 plot size unless the drawing is page size-independent (described below).
If a drawing does not meet the above criteria and the drawing is not the same size as the picture frame, the HP-GL/2 plot size must be specified to accomplish the desired scaling. If it is not specified, the image is clipped to the effective window and no scaling occurs. Note The above bulleted items are required for automatic scaling when the picture frame size changes, without specifying the HP-GL/2 plot size.
Typical HP-GL/2 PlotCommand Sequence Before we discuss the actual commands and how they operate, we will demonstrate the general sequence in which these commands are used to print HP-GL/2 files. The following command sequence is usually followed when creating HP-GL/2 images: Note EN z Send the job control and page control commands, and any other PCL commands that you wish to send before drawing the HP-GL/2 image. (See Chapters 3, 4, and 5 for job control and page control information.
Table 18-1 Example: Creating and Using a PCL Picture Frame E CE Reset the printer. E C&l2A Set the page size to letter. E C&l0O Specify portrait orientation. E C*c3060x3960Y Specify a 4.25-inch wide by 5.5-inch high PCL Picture Frame (4.25in. x 720 decipoints/in. = 3060 decipoints; 5.5in. x 720 decipoints/in. = 3960 decipoints). E C*p565x600Y Move the cursor to the point you desire as the picture frame anchor point. E *c0T C Set the picture frame anchor point to the current cursor position.
Table 18-1 Example: Creating and Using a PCL Picture Frame IN;SP1;PU50,50; Send the HP-GL/2 commands you desire to send. (The IN command defaults the pen position to the HP-GL/2 origin, the lower-left corner of the PCL Picture Frame.) E C%1A Enter the PCL mode with the cursor at the current HP-GL/2 pen position. TextTextText Send some text or more PCL commands. E CE Reset the printer to end the job and eject a page.
Note If you have a page size-independent HP-GL/2 image, there is no need to set plot size, otherwise it is good practice to set plot size. The commands that allow you to set up a PCL Picture Frame and enter/exit HP-GL/2 mode are discussed in detail in the rest of this chapter. By reading the following command descriptions, you can see how changing command parameters can affect your printed output.
Example: To specify a horizontal picture frame size of 5 inches, send: E C*c3600X (5 in. x 720 decipoints/in. = 3600 decipoints). Vertical Picture Frame Size (Decipoints) This PCL command specifies the vertical dimension of the window used for printing an HP-GL/2 plot.
Set Picture Frame Anchor Point This command sets the location of the PCL Picture Frame anchor point to the PCL cursor position. E C*c0T Default Range = 0 = 0 The position of the picture frame anchor point defines the location of the upper left corner of the PCL Picture Frame. The “upper left” refers to the corner for which X and Y coordinates are minimized when the print direction is 0. A parameter value of zero (EC*c0T) specifies that the picture frame anchor point should be set to the cursor position.
HP-GL/2 Plot Horizontal Size This command specifies the horizontal size of the HP-GL/2 drawing being imported. E C*c#K # Default Range =The horizontal size in inches = width of the currently selected picture frame = 0 to 32767 (valid to 4 decimal places) The horizontal HP-GL/2 plot size determines the horizontal scaling factor used to fit the drawing into the PCL Picture Frame.
HP-GL/2 Plot Vertical Size This command specifies the vertical size of the HP-GL/2 drawing being imported. E C*c#L # Default Range =The vertical size in inches = height of the currently selected picture frame = 0 to 32767 (valid to 4 decimal places) The vertical HP-GL/2 plot size value determines the vertical scaling factor used to fit the drawing into the PCL Picture Frame.
Enter HP-GL/2 Mode This command causes the printer to interpret subsequent commands as HP-GL/2 commands, instead of PCL printer language commands.
Enter PCL Mode This command causes the printer to return to PCL mode from HP-GL/2 mode. E C%#A # Default Range =0— Position cursor at previous PCL cursor position. 1 — Position cursor at current HP-GL/2 pen position. = 0 = 0, 1 (even values are mapped to 0; odd values are mapped to 1) Sending the Enter PCL Mode command causes the printer to stop interpreting the incoming data as HP-GL/2 commands and to begin interpreting the data as PCL commands.
Default Settings When you enter HP-GL/2 mode, most vector graphics variables retain their previous HP-GL/2 value.
As the printer enters HP-GL/2 mode for the first time since ECE, power-on, or control panel reset, all HP-GL/2 variables are at their default settings, as determined by the Picture Presentation Directives (the PCL Picture Frame Size, Picture Frame Anchor Point, and HP-GL/2 Plot Size commands). Table 18-2 Example: Creating a Simple Drawing E CE Reset the printer. E C&&l2A Set the page size to letter. E C&&l0O Specify portrait orientation.
Table 18-2 EN Example: Creating a Simple Drawing (continued) E C%1B Enter HP-GL/2 mode with the cursor (pen) at the PCL cursor position. In this example, the cursor is at the picture frame anchor point (450 dots [1.5 in.] down from the top margin and 675 dots [2.25 in.] to the right of the left logical page boundary). IN;SP1; Initialize HP-GL/2 command values and select pen number 1 (black).
Table 18-2 Note Example: Creating a Simple Drawing (continued) PU50,50;CI25; Lift the pen and move to the center of the PCL Picture Frame (50,50); draw a circle with a radius that is 25% of the picture frame width. E C%1A Enter the PCL mode with the cursor at the current HP-GL/2 pen position. E E C Reset the printer to end the job and eject a page. Any line drawn along the border of the effective window will cause the line to be clipped, producing a line width one-half of the defined pen width.
19 The Configuration and Status Group Introduction The configuration and status group commands help you: z Establish default conditions and values for HP-GL/2 features. z Scale images in the dimensional units you want to use. z Enlarge/reduce images for different media sizes. z Establish a window (soft-clip limits). z Draw equal-sized and mirror-imaged drawings. z Rotate the HP-GL/2 coordinate system. z Add comments to your HP-GL/2 command sequence.
Table 19-1 The Configuration and Status Group Commands Command Summary CO, Comment Allows comments to be included in an HP-GL/2 command sequence. DF, Default Sets most programmable HP-GL/2 features to their default conditions. IN,Initialize Sets all programmable HP-GL/2 features to their default conditions. IP, Input P1 and P2 Establishes new or default locations for the scaling points P1 and P2.
Establishing Default Conditions Whether you are using HP-GL/2 mode or strictly the PCL printer language mode, you should establish default conditions at the beginning of each print job to prevent unexpected results due to “leftover” command parameters from a previous job. From within HP-GL/2 mode there are two ways to establish default conditions: using the Initialize (IN) command or using the Default (DF) command. Using the IN command sets the printer to its user-selected defaults.
The Scaling Points P1 and P2 When you scale a drawing, you define your own units of measurement, which the printer then converts to plotter units. Scaling relies on the relationship between two points: P1 and P2. These two points are called the scaling points because they take on the user-unit values that you specify with the Scale (SC) command. You can change the locations of P1 and P2 using either the Input P1 and P2 (IP), or Input Relative P1 and P2 (IR) command.
For example, to divide the X-axis into 12 units, and the Y-axis into 10 units, specify the X-axis to scale from 0 to 12, and the Y-axis to scale from 0 to 10. P1 becomes the origin with user-unit coordinate (0,0) and P2 becomes (12,10). The entire plotting area is now divided into the desired units. Subsequent plotting commands use these units (see Figure 19-1). If you command the printer to move to the point (3,4), the printer moves to the location equivalent to (3,4) user-units (not (3,4) plotter units).
Figure 19-2 Same User-Unit Scaling with New P1 and P2 To further illustrate the flexibility of user-unit scaling, Figure 19-3 shows the P1 and P2 locations with negative user-unit values. Note that the framework set by the scaling points P1 and P2 is not a graphics limit. The user-unit coordinate system extends across the entire PCL Picture Frame area. You can print to a point beyond P1 or P2 as long as you are within the PCL Picture Frame. In Figure 19-3, P1 is in the -X and -Y quadrant.
Figure 19-3 New P1 and P2 User-Unit Scaling with Negative Values Refer to the Scale (SC) command at the end of this chapter for more information on scaling drawings.
Using Scaling Effectively The following sections describe how to combine scaling and P1/P2 concepts to do the following. z Enlarge or reduce the size of a drawing z Draw equal-size pictures on the same page. z Create mirror-imaged pictures Enlarging or Reducing a Picture The basic technique for changing a picture’s size is to scale the printing area defined by P1 and P2, then move the locations of P1 and P2 to define a smaller or larger area.
Table 19-2 E EN Example: Changing the Size of a Drawing C%0B Enter HP-GL/2 mode, using the default picture frame size and anchor point. IN; Initialize HP-GL/2 mode. IP0,0,2000,2000; Set P1 to be (0,0) and P2 to be (2000,2000). SC0,10,0,10; Set up user-unit scaling to range from (0,0) to (10,10). SP1; Select pen number 1. Even though there is no physical pen, the SP command must be used to enable printing. PA5,5; Begin absolute plotting from the center of the square (5,5).
Figure 19-4 Changing the size of a drawing Drawing Equal-Size Pictures on a Page You may occasionally want to print more than one drawing on the same page for a side-by-side comparison. This can be useful for comparing parts, assemblies, layouts, or other similar information. The easiest way to draw equal-sized pictures on one piece of paper is to take advantage of the fact that P2 follows P1 whenever you change the location of P1. The following example illustrates this feature.
Table 19-3 EN Example: Drawing Equal-Size Pictures on a Page E CE Reset the printer. E C&l1O Select landscape orientation. E C%0B Enter HP-GL/2 mode, using the default picture frame size and anchor point. IN; Initialize HP-GL/2 mode. IP500,500,5450,7500; Set P1 to be (500,500) and P2 to be (5450,7500). SC0,10,0,15; Set up user-unit scaling to range from (0,0) to (10,15). SP1; Select pen number 1. Even though there is no physical pen, the SP command must be used to enable printing.
Figure 19-5 Drawing equal-size pictures on a page Note The P1/P2 frames are not windows or graphics limits; the pen can print HP-GL/2 images anywhere within the PCL Picture Frame. Note that the new P1 and P2 retain their scaled values. This allows you to use the same coordinates on both halves of the page. In contrast, if you do not assign a scale to P1 and P2, you must calculate the new plotter unit coordinates for the drawing on the second half of the page.
The following example uses a subroutine to draw the same picture (an arrow) four times. Because the program changes the relative locations of P1 and P2, the direction of the arrow is different in each of the four drawings. The program sets P1 and P2, draws the plot, then returns to reset P1 and P2 (using the IP command). This continues until all four possible mirror-images are plotted. (The original drawing is shown in each picture so you can compare the orientation of the mirror-image.
Table 19-4 Example: Creating a Mirror-Image (continued) SUBROUTINE: Subroutine that prints the arrow figure on the next page PA1,2;PD1,4,3,4,3,7,2,7, 4,9,6,7,5,7,5,4,12,4,12, 5,14,3,12,1,12,2,1,2; PU; Figure 19-6 Creating a mirror-image 19-14 The Configuration and Status Group EN
Adapting the HP-GL/2 Coordinate System to Match the PCL System The following example uses the IP and SC commands to change HP-GL/2 coordinate system to match the default PCL coordinate system. The IP command is used to invert the Y-axis so that the Y values increase as the pen moves down the page. The SC command equates user-units to dot positions (300 dots-per-inch).
Table 19-5 Example: Adapting the HP-GL/2 Coordinate System to Match the PCL System in Portrait Orientation IN;SP1; Initialize HP-GL/2 command values and select pen number 1 (black). (The IN command moves the pen position from the anchor point to the HP-GL/2 origin, the lower-left corner of the PCL Picture Frame.) SC0,3.3867,0,-3.3867,2 Set-up a user scale with a user-unit equal to 1/300 inch.
Table 19-5 E Example: Adapting the HP-GL/2 Coordinate System to Match the PCL System in Portrait Orientation C%1BPU;PR300,0; PD;PR0,500; Enter HP-GL/2 mode (inheriting PCL’s CAP) and lift the pen; move to a point 300 user-units (dots) to the right; place the pen down and print a line 500 user-units down. E C%1A Enter the PCL mode with the CAP at the current HP-GL/2 pen position. E CE Reset the printer to end the job and eject a page.
Windowing: Setting Up Soft-Clip Limits Soft-clip limits temporarily restrict pen movement to a rectangular area, or window. When you initialize or set the printer to default conditions, the soft-clip limits are the same as the PCL Picture Frame limits. To create a window, you use the Input Window (IW) command. The printer does not draw outside the window. The following illustration shows the four types of line segments you can specify from one point to another.
The IW command lets you control the size of the HP-GL/2 printing area so that you can draw a particular portion of a drawing. You can leave the rest as white space, or use the remaining area for labels, or another drawing. Refer to “The Vector Graphic Limits” in Chapter 17, and the IW command description later in this chapter. CO, Comment This command allows comments to be inserted within an HP-GL/2 command sequence. The comment string of the CO command must be delimited by double quotes. CO “text ...
Table 19-7 Default Conditions (continued) Absolute Direction DI1,0 Character direction parallel to X-axis. Define Label Terminator DT ETX and non-printing mode. Define Variable Text Path DV Text printed left to right with normal Line Feed. Extra Space ES No extra space. Fill Type FT Solid fill. Input Window IW Set equal to PCL Picture Frame Window. Line Attributes LA Butt caps, mitered joins, and miter limit=5. Label Origin LO1 Standard labeling starting at current location.
Table 19-7 Default Conditions (continued) Transparency Mode TR1 Transparency mode on. Transparent Data TD Normal printing mode. User-Defined Line Type UL Defaults all 8 line types. In addition, the printer updates the Carriage Return point for labeling to the current pen location. (See Chapter 23, The Character Group, for more information on the Carriage Return point.) The DF command does not affect the following HP-GL/2 conditions. z Locations of P1 and P2.
The IN command sets the printer to the same conditions as the DF command, plus the following: z Raises the pen (PU). z Returns the pen location to the lower-left corner of the PCL Picture Frame (PA0,0). z Cancels drawing rotation (RO). z Sets P1 and P2 to the lower-left and upper-right corners, respectively, of the PCL Picture Frame (IP). z Sets pen width mode to metric; units are millimeters (WU). z Sets the pen width to 0.35 mm (PW). z Sets number of pens to 2 (black [1] and white [0]).
IP, Input P1 and P2 This command establishes new or default locations for the scaling points P1 and P2. P1 and P2 are used by the Scale (SC) command to establish user-unit scaling. You can also use IP in advanced techniques such as printing mirror-images, enlarging/reducing drawings, and enlarging/reducing relative character size, or changing label direction (see the previous discussion in this chapter).
z Note No Parameters — Sets P1 and P2 to their default locations, adjusted by any current axis rotation. If an IP command without parameters is executed after the axes are rotated with the RO command, P1 and P2 locations change to reflect the rotation. If the coordinate system orientation subsequently changes (e.g., by sending an RO command), the plotter unit position is maintained with respect to the new orientation. z X,Y Coordinates — Specify the location of P1 (and, optionally, P2) in plotter units.
An IP command remains in effect until another IP command is executed, an IR command is executed, or the printer is initialized.
IR, Input Relative P1 and P2 This command establishes new or default locations for the scaling points P1 and P2 relative to the PCL Picture Frame size. P1 and P2 are used by the Scale (SC) command to establish user-unit scaling. IR can also be used in advanced techniques such as printing mirror-images, enlarging/reducing drawings, and enlarging/reducing relative character size, or changing label (text) direction.
Sending the command IR25,25,75,75 establishes new locations for P1 and P2 that create an area half as high and half as wide as the PCL Picture Frame, in the center of the picture frame. Refer to the following illustration. Figure 19-10Example: P1 and P2 command P1 or P2 can also be set outside the PCL Picture Frame by specifying parameters less than zero and greater than 100. For example, sending (IR-50,0,200,100) would set P1 and P2 as shown in the following illustration.
If you specify P1 and P2 beyond the PCL Picture Frame, your drawing is scaled with respect to those locations; however, only the portion of the drawing fitting within the effective window is drawn. Note The specified P1/P2 percentages are converted to the equivalent plotter unit coordinates. If the coordinate system orientation subsequently changes (for example, by sending an RO command), the plotter unit position is maintained with respect to the new orientation.
Table 19-14 Related Commands Group IP, Input P1 and P2 The Configuration/Status Group IW, Input Window RO, Rotate Coordinate System SC, Scale IW, Input Window This command defines a rectangular area, or window, that establishes soft-clip limits. Subsequent HP-GL/2 drawing is restricted to this area. Use IW to restrict printing to a specified area on the page.
When you turn on the printer, the window is automatically set to the PCL Picture Frame boundaries. You can define a window that extends beyond the picture frame, however the printer cannot print vector graphics beyond the effective window. All programmed pen motion is restricted to this area. For more information, refer to “Windowing: Setting Up Soft-Clip Limits” at the beginning of this chapter.
Table 19-15 Example: The IW Command (continued) SP1; Select pen number 1. Even though there is no physical pen, the SP command must be used to enable printing. SI.2,.35; Set Absolute Character Size to .2 x .35 cm. PA2000,3200; Specify absolute plotting and move to location (2000,3200) (plotter units). DT@,1; Define label terminator to be the “@” character, without printing the character. LBTHIS IS AN EXAMPLE Print a label beginning at (2000,3200).
Figure 19-13Example: IW command Table 19-16 Related Commands Group IP, Input P1 and P2 The Configuration/Status Group IR, Input Relative P1 and P2 RO, Rotate Coordinate System SC, Scale 19-32 The Configuration and Status Group EN
PG, Advance Full Page This HP-GL/2 command is ignored by the printer since it could cause undesirable results when importing plots. A page eject can be accomplished only from the PCL printer language mode.
RO, Rotate Coordinate System This command rotates the printer’s coordinate system relative to the default HP-GL/2 coordinate system, in the following increments of rotation: 90°, 180°, and 270°. Use RO to orient your drawing vertically or horizontally, or to reverse the orientation.
Figure 19-14Angle of rotations Note The relationship of the X-axis to Y-axis can change as a result of the scaling point or scaling factor changes, thus changing the direction of a positive angle of rotation. The physical location of the pen does not change when you rotate the coordinate system. The printer updates the pen’s X,Y coordinate location to reflect the new orientation. The scaling points P1 and P2 rotate with the coordinate system.
Note The RO command also rotates the contents of the polygon buffer. The RO command remains in effect until the rotation is changed by another RO command, or the printer is initialized. Figure 19-15 shows the default orientation and the result of rotating the orientation without relocating P1 and P2.
Figure 19-16 shows the locations of P1 and P2 when you follow the rotation with the IP command. Figure 19-16Using IP after the RO Command When you set-up a soft-clip window (see the IW command), RO also rotates the window. If a portion of a window rotates outside the hard-clip limits, it is clipped. Note that IP does not affect the window limits. Use IW to reset the window to the size of the PCL Picture Frame.
Figure 19-17Using IP and IW after the RO Command Table 19-17 Related Commands Group IP, Input P1 and P2 The Configuration/Status Group IR, Input Relative P1 and P2 IW, Input Window 19-38 The Configuration and Status Group EN
RP, Replot This command is ignored by the printer; to eject a page, the printer must be in PCL printer language mode. The following commands cause a conditional page eject; a page is ejected if there is any printable data in the print buffer: z E CE z UEL (Universal Exit Language) z Flush All Pages z Page Length z Page Size z Orientation z Paper Source Reset The PCL Form Feed control code causes an unconditional page eject and advances the cursor position to the top of form on the next page.
SC, Scale This command establishes a user-unit coordinate system by mapping user-defined coordinate values onto the scaling points P1 and P2.
There are three forms of scaling: anisotropic, isotropic, and point-factor. The Type parameter tells the printer which form you are using. Refer to the following table. Table 19-18 Scaling Form Type Description Anisotropic 0 Establishes standard user-unit scaling allowing different unit size on X-axis and Y-axis. Isotropic 1 Establishes standard user-unit scaling with same unit size on X-axis and Y-axis.
z Note XMIN, XMAX, YMIN, YMAX — These parameters represent the user-unit X- and Y-axis ranges, respectively. For example, SC0,15,0,10 indicates 15 user-units along the X-axis and 10 user-units along the Y-axis. As a result, the first and third parameters (XMIN and YMIN) are the coordinate pair that is mapped onto P1; the second and fourth parameters (XMAX and YMAX) are the coordinate pair mapped onto P2. Using the same example, the coordinate location of P1 is (0,0) and P2 is (15,10).
Figure 19-18Isotropic Scaling z Left, Bottom — Positions the isotropic area in the P1/P2 limits. (These parameters are always specified together and are valid for isotropic scaling only.) The left parameter indicates the percentage of the unused space on the left of the isotropic area; the bottom parameter indicates the percentage of unused space below. • The defaults for the left and bottom parameters are each 50%.
• Although you must specify both parameters, the printer applies only one: the left parameter applies when there is extra horizontal space; the bottom parameter applies when there is extra vertical space. The following examples illustrate left and bottom parameters of 0% and 100%. Figure 19-19The Left and Bottom Parameters For Scaling Type 2: The third form of scaling, point-factor scaling, sets a specific ratio of plotter units to user-units, and establishes the user-units coordinate of P1.
z XMIN,XFACTOR,YMIN,YFACTOR — Establish the user-unit coordinates of P1 and the ratio of plotter to user-units. XMIN and YMIN are the user-unit coordinates of P1. XFACTOR sets the number of plotter units per user-unit on the X-axis; YFACTOR sets the number of plotter units per user-unit on the Y-axis. z Type — Must be 2 for this type of scaling. An SC command remains in effect until another SC command is executed, or the printer is initialized or set to default conditions.
Figure 19-20Example: Printing point-to-point Table 19-22 Related Commands Group IP, Input P1 and P2 The Configuration/Status Group IR, Input Relative P1 and P2 IW, Input Window Table 19-23 Possible Error Conditions for SC Condition Printer Response no parameters turns scaling off more than 7 parameters executes first 7 parameters for types 0 or 1: 6 parameters or less than 4 parameters ignores command for type 2: any more or less than 5 parameters ignores command XMIN=XMAX or YMIN=YMAXor numb
20 The Vector Group Introduction The information in this chapter enables you to achieve the following results in your programs: z Use absolute and relative coordinates when plotting. z Draw lines, arcs, bezier curves, and circles. z Encode coordinates to increase your printer’s throughput. The following commands are described in this chapter. Table 20-1 EN The Vector Group Commands Command Summary AA, Arc Absolute Draws an arc using absolute coordinates.
Table 20-1 The Vector Group Commands (continued) PA, Plot Absolute Enables movement to absolute coordinate locations (with respect to the origin [0,0]). PD, Pen Down Lowers the "pen" to the page. PE, Polyline Encoded Increases throughput by encrypting common HP-GL/2 commands. PR, Plot Relative Enables movement relative to the current pen location. PU, Pen Up Lifts the pen from the page. RT, Relative Arc Three Point Draws an arc from the current pen location through two relative points.
In the following example, note that the PA (Plot Absolute) command specifies absolute plotting, and the coordinate pair (0,0) sets the beginning pen location. Table 20-2 Example: Drawing Lines E CE Reset the printer. E C%ØB Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode. SP1; Select pen number 1 (black). You must use the SP command to be able to print HP-GL/2 images. PA0,0; Begin absolute plotting from coordinate (0,0). PD2500,0,0,1500,0,0; Specify Pen Down and draw lines between the points.
Note Any line drawn along the border of the effective window causes the line to be clipped, producing a line width of one-half of what it should be. For example, in the above plot, the lines from (0,0) to (0,1500), and (0,0) to (2500,0) is clipped. Drawing Circles The Circle (CI) command uses your current pen position as the center of the circle; you specify the radius of the circle. The following example shows a simple command sequence using CI to draw a circle with a radius of 500 plotter units.
Figure 20-2 Drawing circles Drawing Arcs The Arc Absolute (AA) and Arc Relative (AR) commands use the following method for drawing arcs. Your current pen location becomes one end of the arc; you specify the center point with one parameter (setting the radius), and set another parameter to specify the number of degrees through which you want the arc drawn.
Table 20-4 Example: Drawing Arcs AA4600,2500,-180; Using the Arc Absolute command, specify the pivot point of the arc, thereby setting the radius; draw the arc for 180° in a negative angle of rotation. E C%ØA Enter the PCL mode. E CE Send a reset to end the job and eject the page.
Angle of Rotation NoteS A positive angle of rotation is in the direction of the +X-axis to the +Y-axis as shown below. A negative angle of rotation is in the direction of the +X-axis to the −Y-axis. Figure 20-4 Drawing arcs (2 of 3) Note The relationship of the +X-axis to +Y-axis (and -Y-axis) can change as a result of the scaling point or scaling factor changes, thus, changing the direction of a positive (or negative) angle of rotation.
Figure 20-5 Drawing arcs (3 of 3) Drawing Bezier Curves The Bezier Absolute (BZ) and Bezier Relative (BR) commands use your current pen position as the first control point in the Bezier curve. You specify the second, third, and fourth control points. If you are drawing more than one curve, the fourth control point of the first curve (X3, Y3) becomes the first control point of the next curve.
Table 20-5 E Example: Drawing Bezier Curves (continued) CE Send a reset to end the job and eject the page. Figure 20-6 Bezier Curves AA, Arc Absolute This command draws an arc, using absolute coordinates, which starts at the current pen location and pivots around the specified center point.
Note Do not use an adaptive line type when drawing arcs with small chord angles. The printer attempts to draw the complete pattern in every chord (there are 72 chords in a circle using the default chord angle). z XCenter, YCenter — Specify the absolute location of the center of the arc. (The center of the arc is the center of the circle that would be drawn if the arc was 360 degrees.) z Coordinates are interpreted in current units: as user-units when scaling is on; as plotter units when scaling is off.
For a specific chord angle, a circle or arc always has the same number of chords, regardless of its size. For example, for the default chord angle, a circle is always composed of 72 chords (360°/5° per chord = 72 chords). This results in larger circles appearing less smooth than smaller circles with the same chord angle; setting the chord angle to a smaller number will help large circles or arcs appear more smooth (see Figure 20-8).
Table 20-6 Example: Varying the Chord Angle (continued) PU1000,0; Lift the pen and move to (1000,0). PD;AA0,0,45; With the pen down, draw another 45° arc (positive angle) with the same center point, but with the default chord angle (5°). E C%ØA Enter the PCL mode. E CE Send a reset to end the job and eject the page.
Table 20-7 LA, Line Attributes The Line and Fill Attributes Group LT, Line Type PW, Pen Width AR, Arc Relative This command draws an arc, using relative coordinates, which starts at the current pen location and pivots around the specified center point. AR Xincrement,Yincrement,sweep angle[,chord angle;] Parameter Format Functional Range Default Xincrement,Yincrement current units -230 to 230 - 1 no default sweep angle clamped real -32768 to 32767 no default chord angle clamped real 0.
z Sweep Angle — Specifies (in degrees) the angle through which the arc is drawn. A positive angle draws an angle in the positive direction (angle of rotation); a negative angle draws the angle in the negative direction. z Chord Angle — Specifies the chord angle used to draw the arc. The default is a chord angle of 5 degrees. Refer to the Arc Absolute (AA) command discussion (earlier this chapter) for information on setting and determining the chord angle.
Figure 20-10 Table 20-9 Related Commands Group AA, Arc Absolute The Vector Group AT, Absolute Arc Three Point BR, Bezier Relative BZ, Bezier Absolute CI, Circle RT, Relative Arc Three Point LA, Line Attributes The Line and Fill Attributes Group LT, Line Type PW, Pen Width EN AR, Arc Relative 20-15
AT, Absolute Arc Three Point This command draws an arc segment, using absolute coordinates, from a starting point, through an intermediate point, to an end point. Use AT when you know these three points of an arc. AT Xinter,Yinter, Xend,Yend[,chord angle;] Parameter Format Functional Range Default Xinter, Yinter current units -230 to 230 - 1 no default Xend, Yend current units -230 to 230 - 1 no default chord angle clamped real 0.
z If the end point is the same as the current pen location, a circle is drawn, with its diameter being the line from the current pen position to the intermediate point. z If the current pen position, intermediate point, and end point are collinear, a straight line is drawn.
Table 20-10 Example: Using the AT Command (continued) PU650,450; PD1000,450; Lift the pen, move to (650,450), place the pen down, and draw a line to (1000,450). PU1000,100; PD1000,1500, 2500,1500; Lift the pen, move to (1000,100), place the pen down, draw a line to (1000,1500), then to (2500,1500). AT3200,800,2500,100; Print an arc, starting at current pen position (2500,1500), passing through (3200,800) and ending at (2500,100). PU3200,900;PD; Lift the pen, move to (3200,900) and set the pen down.
Table 20-11 Related Commands Group AA, Arc Absolute The Vector Group AR, Arc Relative BR, Bezier Relative BZ, Bezier Absolute CI, Circle RT, Relative Arc Three Point LA, Line Attributes The Line and Fill Attributes Group LT, Line Type PW,Pen Width BR, Bezier Relative This command draws bezier curves using relative coordinates. This command uses the current pen position as the first control point, and specifies the other three control points as relative increments from the first point.
Bezier curves are drawn with the current pen, line type, current line attributes, and pen-state (up/down). The curve is clipped to the hard-clip limits and the soft-clip window. Following the command execution, the current pen position is updated to the end point of the curve. The BR command is allowed in Polygon Mode. (The first chord after PM1 is not treated as a pen-up move.) X1, Y1...
Figure 20-13 Table 20-13 Related Commands Group AA, Arc Absolute The Vector Group BZ, Bezier Absolute AR, Arc Relative AT, Absolute Arc Three Point CI, Circle RT, Relative Arc Three Point LA, Line Attributes The Line and Fill Attributes Group LT, Line Type PW, Pen Width EN BR, Bezier Relative 20-21
BZ, Bezier Absolute This command draws bezier curves using absolute coordinates. The BZ command uses the current pen position as the first control point, and specifies the other three control points as absolute coordinates. BZ X1,Y1, X2,Y2,X3,Y3,...[X1,Y1, X2,Y2,X3,Y3]] Parameter Format X1, Y1... (control points) current units Functional Range Default -223 to 223 - 1 no default The BZ command uses the current pen location and three specified control points to draw a bezier curve.
Table 20-14 Example: Using the BZ Command (Bezier Absolute) PA1016,5080; Specify the absolute point (1016,5080) as the starting location. PR;PD; Specify relative plotting and pen down. BZ1016,8128,5588,5080, 4572,7112,4064,8128, EN 7112,7620,7112,2032; Draw a Bezier using the current position (1016,5080) as the first control point. The specified control points for the first curve are (1016,8128), (5588,5080), and (4572,7112).
Figure 20-14 Table 20-15 Related Commands Group AA, Arc Absolute The Vector Group BR, Bezier Relative AR, Arc Relative AT, Absolute Arc Three Point CI, Circle RT, Relative Arc Three Point LA, Line Attributes The Line and Fill Attributes Group LT, Line Type PW, Pen Width 20-24 The Vector Group EN
CI, Circle This command draws the circumference of a circle using the specified radius and chord angle. If you want a filled circle, refer to the WG or PM commands. CI radius[,chord angle;] Parameter Format Functional Range Default radius current units -230 to 230 - 1 no default chord angle clamped real 0.5° to 180° 5° The CI command includes an automatic pen down.
Figure 20-15 Table 20-16 Example: Effects of Chord Angle on Circle Smoothness E CE Reset the printer. E C%ØB Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode. SP1; Select pen number 1 (black). SC-3000,3000, -2000,2000,1; Specify scaling mode, making P1 equal to (-3000,-2000) user-units and P2 equal to (3000,2000) user-units. Isotropic scaling is specified. PA-1700,2000; CI750,45; Specify absolute plotting and move to (-1700,2000), the center of the circle to be drawn.
Table 20-16 Example: Effects of Chord Angle on Circle Smoothness (continued) PA-1700,-200; CI750,15; Specify absolute plotting and move to (-1700,-200), the center point of a third circle. Draw this circle with a radius of 750 user-units and a chord angle of 15°. PA300,-200;CI750; Specify absolute plotting and move to (300,-200), the center of the fourth circle. Draw this circle with a radius of 750 user-units and a chord angle of 5° (default). E C%ØA Enter the PCL mode.
Table 20-17 Example: Drawing Circles with Different Radii and Line Types E CE Reset the printer. E C%ØB Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode. SP1; Select pen number 1 (black). SC-75,75,-75,75,1; Set up user scaling with (-75,-75) as P1 and (75,75) as P2; the "1" parameter specifies isotropic scaling. PA0,0; Specify absolute plotting and move to user-unit location (0,0). LT;CI5; Specify a default line type (solid) and draw a circle with a radius of 5 user-units.
Figure 20-17 Table 20-18 Related Commands Group EW, Edge Wedge The Polygon Group WG, Fill Wedge SC, Scale The Configuration/Status Group AA, Arc Absolute The Vector Group AR, Arc Relative AT, Absolute Arc Three Point RT, Relative Arc Three Point LA, Line Attributes The Line and Fill Attributes Group LT, Line Type PW, Pen Width EN CI, Circle 20-29
PA, Plot Absolute This command establishes absolute plotting and moves the pen to the specified absolute coordinates from the current pen position. PA X,Y [,...;] or PA [;] Parameter Format Functional Range Default X,Y coordinates current units -230 to 230 - 1 no default The printer interprets the parameters as follows: Note z No Parameters — Establishes absolute plotting for subsequent commands. z X,Y Coordinates — Specify the absolute location to which the pen moves.
Table 20-19 Related Commands Group PE, Polyline Encoded The Vector Group PR, Plot Relative PD, Pen Down PU, Pen Up LA, Line Attributes Line and Fill Attributes Group LT, Line Type PW, Pen Width SM, Symbol Mode PD, Pen Down This command lowers the printer’s "logical pen" and draws subsequent graphics commands. PD X,Y[,...
• Coordinates are interpreted in current units: as user-units when scaling is on; as plotter units when scaling is off. • Whether the PD command uses coordinates or increments depends on the most recently executed PA or PR command. If no PA or PR command is issued, absolute plotting (PA) is used. • When you use the symbol mode (SM) command, PD draws the specified symbol at each X,Y coordinate.
Figure 20-18 Note If an odd number of coordinates is specified (an X coordinate without a corresponding Y coordinate), the printer ignores the last unmatched coordinate .
PE, Polyline Encoded This command incorporates the PA, PR, PU, PD, and SP commands into an encrypted format that substantially decreases the size of your file and the time required for data transmission. (This command is especially useful when using an RS-232-C interface.) PE [flag[value]]|coord_pair...[flag[value]]|coord_pair; or PE; Note Parameter values are self-terminating; do not use commas with this command. Also, you must use a semicolon to terminate PE.
The PE command represents vectors in base 64 (default) or base 32 (explained under Encoding PE Flag Values and X,Y Coordinates). In parameter value data, all spaces, delete characters, control characters, as well as ASCII characters 128-160 and 255 are ignored. z No parameters — Updates the Carriage Return point. The PE command without parameters does not affect the pen’s current location or up/down status. z Flag — Indicates how the printer interprets subsequent values.
Note Because SP is not allowed in polygon mode, if you select a pen within PE while in polygon mode, the Select Pen command is ignored. z Value — Specifies data according to the preceding flag. For example, a value following a select-pen flag should be a pen number. Flag values are encoded in the same manner as coordinate data. Instructions for encoding flag values follow the parameter descriptions. z Pen Number — Specifies the pen to be selected (black [1] or white [0]).
Encoding PE Flag Values and X,Y Coordinates Flag values and X,Y coordinates are encoded into a base 64 (default) or base 32 equivalent (7-bit mode). The following steps give a generic algorithm for encoding a number. Assume x is the number to be encoded. Use steps 1 and 2 only if you are encoding fractional data; otherwise, begin with step 3.
Table 20-24 Procedure to encode a number (continued) 2. Round to an integer. Round the results of step 1 to the nearest integer. x = round (x) x = round (10,525.42) = 10,525 3. Set the sign bit. If x is positive, multiply it by two. If x is negative, multiply the absolute value of x by two and add one. This sets the sign bit. if (x ≥ 0) x=2×x x = 2 × 10,525 = 21,050 else x = 2 × abs(x) + 1 4. Convert the number to base 64 or 32 and encode the data.
Table 20-25 Terminator and non-terminator characters Note Range Type Non-terminator Terminator 8-bit Range (base 64) 63-126 191-254 7-bit Range (base 32) 63-94 95-126 Values following the fractional data or select pen flag also must be encoded. while n ≥ base output CHR$(63 + (n MOD base)) n = n DIV base end if base = 64 then n = 191 + n if base = 32 then n = 95 + n output CHR$(n) Table 20-26 Procedure for determining base range STEPS EXAMPLE Base 64.
Table 20-26 Procedure for determining base range (continued) Next order digit: 64ths place (63-126) 63 + 8 = 71 CHR$ (71) High order digit: 4096ths place (191-254) 191 + 5 = 196 CHR$ (196) Base 32. Encode all the low order digits into the ASCII range 63 to 94. For a digit with value i, use ASCII character CHR$(63 + i).| Encode the highest order digit (or the single digit in a one-digit number) into the range 95 to 126.
When using PE (in the default relative mode), the application program does not know the current pen location after printing a label (normally, the current pen location is updated to the end of the label.) If this presents a problem in your program, follow these steps. Note 1 Create a flag called "lost" in your program. 2 After labeling (or any command which updates the current pen location), set lost to true.
‘‘130 ‘‘140 ‘‘150 ‘‘160 ‘‘170 ‘‘180 ‘‘190 ‘‘200 ‘‘210 ‘‘220 ‘‘230 ‘‘240 ‘‘250 ‘‘260 ‘‘270 ‘‘280 ‘‘290 ‘‘300 ’Convert coordinate data to base 64 ’’ FOR J = 1 to 6 ’’ READ C ’’ C = C * (2^A) ’’ C = INT(C) ’’ IF C = 0 THEN C = 2*C ELSE C = 2*ABS(C)+1 ’’ WHILE C = 64 ’’ LPRINT CHR$(63+(C MOD 64)) ’’ C = C64 ’’ WEND ’’ C = 191+C ’’ LPRINT CHR$(C) ’’ NEXT J ’’ LPRINT ";"; ’’ LPRINT CHR$(27);"%0A"; ’Enter PCL Mode ’’ LPRINT CHR$(27);"E"; ’Reset to eject page.’’ DATA 10.58,0,-5.58,10.67,-5,-10.
Table 20-27 Related Commands Group PA, Plot Absolute The Vector Group PD, Pen Down PR, Plot Relative PU, Pen Up LA, Line Attributes Line and Fill Attributes Group LT, Line Type PW, Pen Width SM, Symbol Mode EN PE, Polyline Encoded 20-43
PR, Plot Relative This command establishes relative plotting and moves the pen to specified points, with each move relative to the current pen location. PR X,Y[,...;] or PR [;] Parameter Format Functional Range Default X,Y (increments) current units -230 to 230 - 1 no default * PR and PE have extended ranges of -230 to 230 - 1 plotter units.
Table 20-28 Example: Using the PR Command E CE Reset the printer. E C%ØB Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode. SP1; Select pen number 1. The SP command must be used to enable printing. PA10,10;PD; Move to absolute position (10,10) and put the pen down. PR2500,0,-2500, 1500,0,-1500; Specify relative plotting and draw lines beginning at (10,10) and then moving the relative coordinate distances indicated. E C%ØA Enter the PCL mode.
Table 20-29 Related Commands Group PA, Plot Absolute The Vector Group PD, Pen Down PE, Polyline Encoded LA, Line Attributes Line and Fill Attributes Group LT, Line Type PW, Pen Width SM, Symbol Mode U, Pen Up This command moves to subsequent points without drawing. Use PU to move to another location without drawing a connecting line. PU X,Y[,...
• When you use the Symbol Mode (SM) command, PU draws the specified symbol at each X,Y coordinate. When you use the polygon mode (PM) command, the X,Y coordinates enter the polygon buffer (for use when the polygon is edged or filled). • Coordinates are interpreted in current units: as user-units when scaling is on; as plotter units when scaling is off. • Whether the PU command uses absolute coordinates or relative coordinates (increments) depends on the most recently executed PA or PR command.
RT, Relative Arc Three Point This command draws an arc segment, using relative coordinates, from a starting point through an intermediate point to an end point. Use RT when you know these three points of an arc. RT X\incr inter,Yincr inter, X\incr end\,Yincr end[,chord angle;] Parameter Format Functional Range Default Xincr inter, Yincr inter current units -230 to 230 - 1 no default Xincr end, Yincr end current units -230 to 230 - 1 no default chord angle 0.
z If the end point is the same as the current pen location, a circle is drawn, with its diameter being the distance between the current pen position and the intermediate point. z If the current pen position, intermediate point, and end point are collinear, a straight line is drawn.
Table 20-31 Example: Using the RT Command (Relative Arc Three Point) (continued) SP1; Select pen number 1. Even though there is no physical pen, the SP command must be used to enable printing. PA1000,100; Specify the absolute point (1000,100) as the starting location. PR;PD1500,0; Specify relative plotting, pen down, and draw (1500,0) relative plotter units from the current pen location (1000,100).
Table 20-31 Example: Using the RT Command (Relative Arc Three Point) (continued) RT100,-100,0,-200; Draw an arc from the current pen position, through a point (100,-100) plu away, with an ending point (0,-200) from the starting point of the arc. PU100,100;PD200,0; Lift the pen and move it (100,100) plu from the current pen position, pen down, and draw a line 200 plu in the X direction. E C%ØA Enter the PCL mode. E E C Send a reset to end the job and eject the page.
Table 20-32 Related Commands Group AA, Arc Absolute The Vector Group AR, Arc Relative AT, Absolute Arc Three Point BR, Bezier Relative BZ, Bezier Absolute CI, Circle LA, Line Attributes The Line and Fill Attributes Group LT, Line Type PW,Pen Width 20-52 The Vector Group EN
21 The Polygon Group Introduction All of the commands in this group use the polygon buffer, a temporary data storage area in your printer. Using the polygon buffer is an integral part of drawing wedges, rectangles, and other types of polygons. Some of the commands in this chapter define and draw complete shapes while others act only on the contents of the polygon buffer. The information in this chapter enables you to achieve the following results in your programs: z Draw circles, wedges, and rectangles.
Table 21-1 The Polygon Group Commands (continued) RA, Fill Rectangle Absolute Fills a rectangle specified with absolute coordinates. RR, Fill Rectangle Relative Fills a rectangle specified with relative coordinates. WG, Fill Wedge Defines and fills a wedge-shaped polygon. Using the Polygon Buffer As mentioned, a buffer is a temporary storage area for information. The polygon buffer collects the commands and coordinates that define a polygon you want to print.
Drawing Rectangles You can draw a rectangle by outlining (edging) the defined area using the Edge Rectangle Absolute (EA) or Edge Rectangle Relative (ER) commands. To draw a rectangle, the printer uses the current pen location for one corner; you give the coordinates for the diagonally opposite corner. The printer draws the rectangle defined by these two points. The following simple command sequence uses EA to draw a rectangle. Table 21-3 Example: Drawing Rectangles EN ?E Reset the printer.
Figure 21-1 The Fill Rectangle Absolute (RA) and Fill Rectangle Relative (RR) commands, both discussed later in this chapter, fill their rectangles with the default or current fill pattern. You may also want to edge (or outline) the rectangle for better image definition with some fill types. The following command sequence draws two filled rectangles: one edged and one not. Table 21-4 Example: Filled Rectangles ?E Reset the printer. ?%0B Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode.
Table 21-4 Example: Filled Rectangles (continued) EP; Draw an edge around the rectangle that was just drawn. Since the previous RR command leaves its definition in the polygon buffer (1500,1000), you do not need to specify the coordinates again. PR2000,0; Specify relative plotting and move the cursor 2000 plu in the X direction from the current pen location. FT4,100,45; Specify fill type number 4 (cross-hatching), set the spacing to 100 plu between fill lines, and set the fill line angle to 45°.
Drawing Wedges A wedge is a section of a circle. Wedges are commonly used to draw pie charts. You can draw a wedge by outlining (edging) the defined area using the Edge Wedge (EW) command, or you can create filled wedges using the Fill Wedge (WG) command. The wedge commands use your current pen location as the center point; you specify the radius, the start angle, and the sweep angle. The radius determines the length of the two sides of the wedge.
Figure 21-4 Drawing Wedges The following example draws a wedge using the EW command. The radius of the wedge is 600 plotter units, the wedge begins 90° from the zero-degree reference point, and the wedge “sweeps” for 60°. Note In the example plots, some reference points are added which are not part of the example plot. These reference points are added for clarification. Table 21-5 EN Example: Drawing Wedges ?E Reset the printer. ?%0B Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode.
Table 21-5 Example: Drawing Wedges (continued) EW600,90,60; Draw the outline of a wedge, using the current pen location (2500,3500) as the point of the wedge. The wedge has a radius of 600 plotter units, begins at 90° from the default zero-degree reference point, and “sweeps” for 60°. ?%0A Enter the PCL mode. ?E Send a reset to end the job and eject the page. Figure 21-5 The following example uses different fill types with wedges and circles.
Table 21-6 EN Example: Filling Wedges and Circles (continued) PA2300,2500;FT3, 75,45; Specify absolute plotting and move to (2300,2500). Select fill type number 3 (hatching--parallel lines), with 75 plu between hatching lines, and hatching lines tilted at 45°. WG600,90,180; Fill a wedge with the current fill type; use a radius of 600 plu, a start angle of 90°, and a sweep angle of 180°.
Figure 21-6 Drawing Polygons A polygon consists of one or more closed sequences of connected line segments (which may cross each other). Drawing polygons requires the use of the polygon mode. The Polygon Mode (PM) command tells the printer to store subsequent commands and coordinates in the polygon buffer before printing the shape. (Rectangles and wedges are polygons which have their own drawing commands; the printer automatically generates and stores the coordinates in the polygon buffer.
Table 21-7 (continued) PR, Plot Relative PU, Pen Up RT, Relative Arc Three Point PM1/PM2, Polygon Mode The Polygon Group Drawing Subpolygons While in polygon mode, you can define either one polygon or a series of subpolygons. Like a polygon, a subpolygon is a closed sequence of connected line segments. For example, the block letter C is one complete polygon. However, the block letter D is actually two subpolygons: the outline and the ‘hole.
To create a series of subpolygons, for example, the letter D, move the pen to the starting location of the first subpolygon, then enter polygon mode. Define the outer shape of the letter D using the appropriate commands and coordinates, then close the subpolygon, staying in polygon mode. Define the inner shape of the D, then exit polygon mode. Now draw the subpolygons using either the Edge Polygon (EP) or Fill Polygon (FP) command.
Figure 21-8 Filling Polygons: Even/Odd Fill Method Non-Zero Winding Fill Method The non-zero winding fill algorithm (fill method 1) determines whether a point is inside a region enclosed by a line path using the following steps: EN 1 Draw a ray from the point across the path segment. 2 Add 1 every time the line segment crosses the ray from left to right or bottom to top. 3 Subtract 1 every time the segment crosses the ray from right to left or top to bottom.
Figure 21-9 Filling Polygons: Non-Zero Winding Fill Method Drawing Circles in Polygon Mode Polygon mode interprets the Circle (CI) command differently than the other HP-GL/2 commands. The printer treats a circle as a complete subpolygon. The printer automatically closes the first polygon (if any) before starting the circle, and uses the first coordinates (if any) after the circle is drawn to start a new subpolygon.
If you multiply 512 points by 8 bytes per point, the result is 4096 bytes (4 Kbytes). That means the minimum your printer can store in the polygon buffer is 4 Kbytes. That is the worst case, however. Unless the printer has a substantial amount of fonts, macros, or graphics already downloaded into user memory, you can put much more into the polygon buffer. As we just calculated, for every 4 Kbytes of extra unused user memory, the polygon buffer can store 512 more points.
The following shape has seven points. Figure 21-11 Counting the Points in a Circle or Arc When a circle or arc defines a polygon, the number of points depends on the number of chords in the arc. There is always one more point than the number of chords, because the starting location is counted again as the ending location.
EA, Edge Rectangle Absolute This command defines and outlines a rectangle using absolute coordinates. Use EA when drawing charts or schematic diagrams that require rectangles. EA X,Y[;] Parameter Format Functional Range Default X,Y coordinates current units -230 to 230 - 1 no default The EA command defines and edges a rectangle using absolute coordinates and the current pen, line type and line attributes. The EA command performs an automatic pen down.
Figure 21-12 Note Any line drawn along the border of the effective window causes the line to be clipped, producing a line width one-half of the defined pen width. For example, all the lines drawn in the above example are half the width of the other lines since they are clipped at the window borders. The only difference between the EA command and the RA (Fill Rectangle Absolute) command is that the EA command produces an outlined rectangle, and RA, a filled one.
Table 21-8 EN Example: Using EA to Draw Rectangles (continued) SP1; Select pen number 1. Even though there is no physical pen, the SP command must be used to enable printing. SC0,150,0,150,1; Set up user scaling, with P1 being (0,0) user-units and P2 being (150,150) user-units. (Isotropic scaling is specified.) PA75,105; EA115,130; Specify absolute plotting mode and move to (75,105).
Figure 21-13 Table 21-9 Related Commands Group EP, Edge Polygon The Polygon Group ER, Edge Rectangle Relative FP, Fill Polygon RA, Fill Rectangle Absolute RR, Fill Rectangle Relative LA, Line Attributes The Line and Fill Attributes Group LT, Line Type PW, Pen Width 21-20 The Polygon Group EN
EP, Edge Polygon This command outlines the polygon currently stored in the polygon buffer. Use EP to edge polygons that you defined in polygon mode and with the Fill Rectangle and Wedge Commands (RA, RR, and WG). EP [;] The EP command outlines any polygon that is currently in the polygon buffer. This includes wedges and rectangles defined using the EA, ER, EW, RA, RR, and WG commands. EP accesses the data in the polygon buffer, but does not clear the buffer or change the data in any way.
Table 21-10 Example: Using the EP Command (continued) EP; Outline the polygon that was just stored in the polygon buffer. ?%0A Enter the PCL mode. ?E Send a reset to end the job and eject the page.
ER, Edge Rectangle Relative This command defines and outlines a rectangle using relative coordinates. Use ER when drawing charts or schematic diagrams that require rectangles. ER X,Y[;] Parameter Format Functional Range Default X,Y increments current units -230 to 230 - 1 no default The ER command defines and edges a rectangle using relative coordinates and the current pen, line type, and line attributes. The ER command includes an automatic pen down.
Figure 21-15Edge Relative Rectangle Command The only difference between the ER command and the RR (Fill Relative Rectangle) command is that the ER command produces an outlined rectangle, and RR, a filled one. The ER command clears the polygon buffer and then uses it to define the rectangle before drawing. Refer to “Drawing Polygons” earlier in this chapter for more information. The following example uses relative coordinates to draw the same image shown in the EA command example.
Table 21-12 Example: Using ER to Draw Rectangles (continued) EN PA75,105;ER40,25; Enter absolute plotting mode and move to (75,105). Draw a rectangle using the current pen location as the lower left corner and a point (40,25) user-units away as the upper right corner. PR20,0;PD0,-10; Specify relative plotting and move the pen 20 user-units to the right. Place the pen down and draw a line to a point 10 user-units down. PD-30,0,0,-5; With the pen down, move 30 user-units to the left and 5 units down.
Figure 21-16 Table 21-13 Related Commands Group EA, Edge Rectangle Absolute The Polygon Group EP, Edge Polygon FP, Fill Polygon RA, Fill Rectangle Absolute RR, Fill Rectangle Relative LA, Line Attributes The Line and Fill Attributes Group LT, Line Type PW, Pen Width 21-26 The Polygon Group EN
EW, Edge Wedge This command outlines any wedge. Use EW to draw sections of pie charts. EW radius,start angle,sweep angle,[,chord angle;] Parameter Format Functional Range Default radius current units -230 to 230 - 1 no default start angle clamped real -32768 to 32767 no default modulo 360 sweep angle clamped real ±360° no default chord angle clamped real 0.5° to 180° 5° The EW command defines and edges a wedge using the current pen, line type and attributes.
Figure 21-17Anisotropic and Isotropic Scaling z Radius — Specifies the distance from the current pen location to the start of the wedge’s arc. Since the wedge is a portion of a circle, this parameter is the radius of the circle. It specifies the distance from the current pen location (which becomes the center of the circle), to any point on the circumference of the circle. The radius is interpreted in current units: as user-units when scaling is on; as plotter units when scaling is off.
Figure 21-18 Table 21-14 Example: Using EW to Draw a Pie Chart EN ?E Reset the printer. ?%0B Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode. SP1; Select pen number 1. Even though there is no physical pen, the SP command must be used to enable printing. SC-3000,3000, -2000,2000,1; Enter the scaling mode, specifying P1 as (-3000,-2000) and P2 as (3000,2000). Use isotropic scaling. PA0,0; Specify absolute plotting and move to user-unit location (0,0).
Table 21-14 Example: Using EW to Draw a Pie Chart EW-1000, 330,120; Using the same center point and zero-degree reference point, draw a wedge section outline starting at 330° and sweeping 120°. PR-60,110; Move the cursor 60 user-units to the left and 110 user-units up. EW-1000,270,60; From the new center point location, draw a wedge using a negative zero-reference point, starting at 270° and sweeping for 60°. ?%0A Enter the PCL mode. ?E Send a reset to end the job and eject the page.
Table 21-15 (continued) LT, Line Type PW, Pen Width Table 21-16 Possible Error Conditions Condition Printer Response polygon buffer overflow edges contents of buffer FP, Fill Polygon This command fills the polygon currently in the polygon buffer. Use FP to fill polygons defined in polygon mode or with the Edge Rectangle or Edge Wedge commands (EA, ER, EW, RA, RR, or WG).
The FP command fills between points defined with either the pen down or the pen up. The polygon is filled using the current pen, fill type, line type and attributes (if the fill type is not raster). The FP command includes an automatic pen down. When the command execution is complete, the original pen location and up/down status are restored. The example on the next page creates a polygon composed of two subpolygons. In this case, the FP command fills alternating areas, beginning with the outside area.
Figure 21-20 Table 21-18 Related Commands Group EA, Edge Rectangle Absolute The Polygon Group ER, Edge Rectangle Relative EW, Edge Wedge PM, Polygon Mode RA, Fill Rectangle Absolute RR, Fill Rectangle Relative WG, Fill Wedge FT, Fill Type The Line and Fill Attributes Group LA, Line Attributes LT, Line Type PW, Pen Width EN FP, Fill Polygon 21-33
PM, Polygon Mode Command This command enters polygon mode for defining shapes, such as block letters or any unique area, and exits for subsequent filling and/or edging. Fill polygons using the Fill Polygon (FP) command and/or outline them using the Edge Polygon (EP) command. PM polygon definition [;] or PM [;] Parameter Format Functional Range Default polygon definition clamped integer 0, 1, and 2 0 In polygon mode, you define the area of the polygon(s) using graphics commands.
Table 21-19 Polygon Mode Allowable Commands Group DF, Default Values The Configuration/Status Group IN, Initialize AA, Arc Absolute The Vector Group AR, Arc Relative AT, Absolute Arc Three Point BR, Bezier Relative BZ, Bezier Absolute CI, Circle PA, Plot Absolute PD, Pen Down PE, Polyline Encoded PR, Plot Relative PU, Pen Up RT, Relative Arc Three Point PM1/PM2, Polygon Mode The Polygon Group The polygon buffer stores the lines (vectors) that define your polygon.
commands (PA0,1750;PM0), the absolute coordinates (0,1750) specify the first point of your polygon. Each subsequent pair of coordinates defines a point, or vertex, of the polygon. You can define points with the pen up or down. However, the EP command only draws between points that are defined when the pen is down. On the other hand, the FP command fills the area(s) between all vertices, regardless of whether the pen is up or down when defined.
(PM2) Use (PM2) to close the current polygon (or subpolygon) and exit polygon mode. Remember, if you have not closed your polygon, executing (PM2) adds a point to close the polygon. Refer to “Pen Status and Location” in Chapter 17, Introduction to HP-GL/2 Graphics. The following example draws the surface area of a 3-prong electrical receptacle as a series of subpolygons, then fills and edges it using the FP and EP commands, respectively. Table 21-20 Example: Using the PM Command EN ?E Reset the printer.
Table 21-20 Example: Using the PM Command (continued) PD2920,2340,2920, 2660,2720,2660; Begin a third subpolygon that draws the ground plug portion of the receptacle. AA2720,2500,180; PD2920,2340; Store a 180° arc that goes from (2720,2660) to (2720,2500). PM2;FP;EP; Close the subpolygon and exit polygon mode. Fill (even/odd), then edge the polygon and subpolygons currently stored in the buffer. ?%0A Enter the PCL mode. ?E Send a reset to end the job and eject the page.
RA, Fill Rectangle Absolute This command defines and fills a rectangle using absolute coordinates. Use RA to fill rectangular shapes in drawings. (To outline a rectangle using absolute coordinates, use the EA command.) RA X,Y[;] Parameter Format Functional Range Default X,Y coordinates current units -230 to 230 - 1 no default The RA command defines and fills a rectangle using the current pen, the current line and fill types, and absolute X,Y coordinates.
The only difference between the RA command and the EA (Edge Rectangle Absolute) command is that the RA command produces a filled rectangle, and EA, an outlined one. The RA command clears the polygon buffer and then uses it to define the rectangle before drawing. Refer to “Using the Polygon Buffer” earlier in this chapter. The following example uses RA with three different fill types to create rectangles such as those you might use in a bar chart.
Table 21-22 Example: Using the RA Command with Different Fill Types (continued) PA1200,1200;FT3 , 50;RA1600,1600; EA1600,1600; Move to absolute position (1200,1200) and select fill type 3, with a 50 plu distance between each line. Draw a rectangle with (1200,1200) as the lower left corner and (1600,1600) as the upper right. Using the default line type, edge the rectangle just drawn. PA1200,1600;FT4 ; RA1600,2000; EA1600,2000; Move to (1200,1600) and select the cross-hatch pattern fill type.
Table 21-23 (continued) FT, Fill Type The Line and Fill Attributes Group LT, Line Type RF, Raster Fill Definition RR, Fill Rectangle Relative This command defines and fills a rectangle using relative coordinates. Use RR to fill rectangular shapes in drawings. (To outline a rectangle using relative coordinates, use the ER command.
Figure 21-24Fill Rectangle Relative The only difference between the RR command and the ER (Edge Relative Rectangle) command is that the RR command produces a filled rectangle, and ER, an outlined one. The RR command clears the polygon buffer and then uses it to define the rectangle before drawing. A rectangle requires enough buffer space to hold five points.
Table 21-24 Example: Using the RR Command with Different Fill Types (continued) PR0,800;FT3,50; RR400,400; Enter the relative plotting mode and move 800 plu in the Y direction and select fill type 3 (parallel lines). Draw a rectangle using the current pen location as the lower left corner; the upper right corner is 400 plu to the right and 400 plu up from the lower left corner. PR0,400;FT4; RR400,400; Move 400 plu up and select fill type 4 (crosshatching).
Figure 21-25 Table 21-25 Related Commands Group EA, Edge Rectangle Absolute The Polygon Group EP, Edge Polygon ER, Edge Rectangle Relative FP, Fill Polygon RA, Fill Rectangle Absolute WG, Fill Wedge This command defines and fills any wedge. Use WG to draw filled sections of a pie chart.
The WG command defines and fills a wedge using the current pen, fill type, and line types. The WG command includes an automatic pen down. When the command operation is complete, the original pen location and up/down status are restored. The only difference between the WG command and the EW (Edge Wedge) command is that the WG command produces a filled wedge, and the EW, an outlined one. Always use isotropic scaling in any drawing that contains wedges (to avoid drawing an elliptical wedge).
z Sweep Angle — Specifies in degrees the angle through which the arc is drawn. A positive angle draws the angle in the positive direction (angle of rotation - +X-axis to the +Y-axis); a negative angle draws the angle in the negative direction (+X-axis to the – Y-axis). (Note, the relation of the +X-axis to the +Y-axis/–Y-axis can change as a result of scaling point or scaling factor changes.) If a sweep angle greater than 360 degrees is specified, a 360-degree angle is used.
Table 21-26 Example: Filling then Edging vs. Edging then Filling Chart ?E Reset the printer. ?%0B Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode. SP1; Select pen number 1. Even though there is no physical pen, the SP command must be used to enable printing. SC-3000,3000, -2000,2000,1; Set up user scaling, with P1 being (-3000,-2000) and P2 being (3000,2000). Specify isotropic scaling. PA0,0;FT3,75,45; WG-1000,90,180; Enter absolute plotting mode and move to user-unit position (0,0).
Table 21-26 Example: Filling then Edging vs. Edging then Filling Chart (continued) ?%0A Enter the PCL mode. ?E Send a reset to end the job and eject the page. Figure 21-28 The center point of the above circle is located at (0,0). Note When transparency mode (TR command) is opaque, filling then edging an object may produce different results from edging and then filling. This is especially true when large pen widths are used. The following example illustrates this.
Table 21-27 Example: (continued) PW5; Select pen width of 5 units. PM0; Enter polygon mode. CI1000; Draw a circle with a radius of 1000 units. PM2; Close polygon and exit polygon mode. FT10,30; Select 30% shading fill type. FP;EP; Fill then Edge polygon. PU4000,3000; Select pen position (4000, 3000) for second circle. PM0; Enter polygon mode. CI1000; Draw another circle with a radius of 1000 units. PM2; Close polygon and exit polygon mode. EP;FP; Edge then fill polygon (circle).
Table 21-28 Related Commands Group EP, Edge Polygon The Polygon Group EW,Edge Wedge EN SC, Scale The Configuration/Status Group CI, Circle The Vector Group FP, Fill Polygon The Polygon Group FT, Fill Type The Line and Fill Attributes Group WG, Fill Wedge 21-51
21-52 The Polygon Group EN
22 The Line and Fill Attributes Group Introduction The information in this chapter enables you to achieve the following results in your HP-GL/2 applications: z Enhance your drawings with various line types. z Enhance your drawings with different fill types. z Position fill type patterns. The following commands are described in this chapter: Table 22-1 EN The Line and Fill Attribute Commands Command Summary AC, Anchor Corner Specifies the starting point for fill patterns.
Table 22-1 The Line and Fill Attribute Commands SV, Screened Vectors Selects the type of area fill to be applied to vectors (lines, cross-hatch lines, arcs, circles, edges of polygons, rectangles, and wedges). TR, Transparency Mode Defines how the white areas of the source graphics image affect the destination graphics image. UL, User-Defined Line Type Defines a line pattern.
Figure 22-2 Line Types Attribute Once you specify a line type and line attributes, all lines created by the following commands are drawn using the new line type and attributes. Line types and their interactions with fill patterns are discussed later in this chapter. Table 22-2 Commands Affectedby Line Types Command Group AA, Arc Absolute AR, Arc Relative AT, Absolute Arc Three Point BR,.Bezier Relative BZ,.
Table 22-2 Commands Affectedby Line Types (continued) EW, Edge Wedge FP, Fill Polygon RA, Fill Rectangle Absolute RR, Fill Rectangle Relative WG, Fill Wedge Using Fill Types Using the Fill Type (FT) command adds detail to your drawings and increases their visual effectiveness. The fill type affects the RA (Fill Rectangle Absolute), RR (Fill Rectangle Relative), WG (Fill Wedge), FP (Fill Polygon) commands, and CF (Character Fill) commands.
Figure 22-4 Fill Area Anchor Corner Use the AC (Anchor Corner) command to position the fill type in relation to the figure. Rectangle 3 has an anchor corner set in its the lower-left corner. Rectangle 4 has an anchor corner set below the lower-left corner to alter the pattern’s position and give contrast to the adjacent figure.
AC, Anchor Corner This command positions the starting point of any fill pattern. Use AC to ensure that the selected fill pattern is positioned as expected within the figure. AC X,Y[;] or AC [;] Parameter Format Functional Range Default X,Y coordinates current units -230 to 230 - 1 no default The ‘anchor corner’ is the point at which any fill pattern starts.
Table 22-3 EN Example: Changing the Anchor Corner (continued) SP1; Select pen number 1. The SP command must be used to enable printing. PA3000,3000; Specify absolute plotting and move to location (3000,3000).
Figure 22-5 Table 22-4 Related Commands Group FT, Fill Type The Line and Fill Attributes Group RF, Raster Fill Definition SV, Screened Vectors FP, Fill Polygon The Polygon Group RA, Fill Rectangle Absolute RR, Fill Rectangle Relative WG, Fill Wedge 22-8 The Line and Fill Attributes Group EN
FT, Fill Type This command selects the shading pattern used to fill polygons (FP), rectangles (RA or RR), wedges (WG), or characters (CF). Use FT to enhance drawings using solid fill, shaded fill, parallel lines (hatching), cross-hatch, patterned (raster) fill, or PCL user-defined patterns.
Table 22-5 (continued) 4 cross-hatch spacing of lines angle of lines 10 shading shading level ignored 11 HP-GL/2 user-defined raster-fill index ignored 21 PCL cross-hatch patterns pattern type ignored 22 PCL user-defined pattern ID ignored For fill types 3 and 4, the option1 parameter specifies the distance between the lines in the fill. This distance is specified in current units measured along the X-axis.
Note The relationship of the +X-axis to the +Y-axis (and the -Y-axis) can be changed as a result of scaling point or scaling factor changes, thus changing the direction of a positive (and negative) angle of rotation. Types 3 and 4 use the current pen and line type defined by the Line Type, Pen Width, and Line Attribute commands. If the spacing between lines is defined in plotter units (no Scale command used), turning scaling on or changing the locations of P1 and P2 has no affect on the spacing.
Figure 22-7 HP-Defined Shading Patterns For fill type 11, the option1 parameter selects the corresponding HP-GL/2 user-defined raster fill using the index number specified in the RF command. Refer to the Raster Fill Definition (RF) command for more information about creating user-defined fill types. If you have not issued an RF command, the printer uses solid fill.
For fill type 21, the option1 parameter selects one of the six predefined PCL cross-hatch patterns using a value between 1 and 6. The following illustration shows the six different PCL cross-hatch patterns, and their corresponding parameter numbers. Figure 22-9 PCL Cross-Hatch Patterns For fill type 22, the optional parameter selects the corresponding PCL user-defined pattern specified by way of the ?*c#W command. Option1 specifies the pattern associated with the user-defined fill pattern.
Table 22-6 Example: Using the FT Command (continued) PA2000,2000; Specify absolute plotting and move to location (2000,2000). FT;RR2500,300; ER2500,300; Select the default fill type (solid black); fill a rectangle using solid black fill, with the lower left corner being the current pen location and the upper right corner a point 2500 plu to the right and 300 plu up; edge the rectangle that was just filled.
Table 22-7 Related Commands Group LA, Line Attributes The Line and Fill Attributes Group LT,Line Type PW,Pen Width RF,Raster Fill Definition FP, Fill Polygon The Polygon Group RA, Fill Rectangle Absolute RR, Fill Rectangle Relative WG, Fill Wedge CF, Character Fill Mode The Character Group SV, Screened Vectors The Line and Fill Attributes Group LA, Line Attributes Specifies how line ends and line joins are physically shaped. Use this command when drawing lines thicker than 0.35 mm.
There are three line attributes: line ends, line joins, and the miter limit. The LA command parameters are used in pairs: the first parameter, kind, selects a line attribute, and the second parameter, value, defines the appearance of that attribute. The printer uses the current line attributes when the optional parameter pairs are omitted. z No Parameters — Defaults the line attributes to butt ends, mitered joins, and a miter limit of 5. Equivalent to (LA1,1,2,1,3,5).
Note Labels are always drawn with rounded ends and joins. Line Ends The value you specify for line ends determines how the ends of line segments are shaped. The following illustration describes the four types of line ends. Figure 22-11Four Line Ends Line Joins The value you specify for the line joins attribute determines how connecting line ends (corners) are shaped. The following illustration describes the five types of line joins.
Figure 22-12Five Line Joins When you select ‘no join’ (LA2,6;), the currently selected line ends for the two lines merely overlap. Refer to the following illustration.
Miter Limit The value you specify for miter limit determines the maximum ‘length’ of a mitered join, as shown in the following illustration. The miter limit is the ratio of the miter length (the length of the diagonal line through the join of two connecting lines), to the line width. For example, with the default miter limit of 5, the miter length can be as long as 5 times the line width.
The following example draws an electrical ground symbol using the LA command. Table 22-9 Example: Using the LA Command ?E Reset the printer. ?%0B Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode. SP1; Select pen number 1. Even though there is no physical pen, the SP command must be used to enable printing. PA4000,3000; Specify absolute plotting and move the pen to (4000,3000).
Figure 22-16 Table 22-10 Related Commands Group FT, Fill Type The Line and Fill Attributes Group LT, Line Type PW, Pen Width UL, User-Defined Line Type AA, Arc Absolute The Vector Group AR, Arc Relative AT, Absolute Arc Three Point BR, Bezier Relative BZ, Bezier Absolute CI, Circle RT, Relative Arc Three Point EA, Edge Rectangle Absolute The Polygon Group EP, Edge Polygon ER, Edge Rectangle Relative EW, Edge Wedge FP, Fill Polygon RA, Fill Rectangle Absolute RR, Fill Rectangle Relative WG, Fill Wedg
LT, Line Type This command specifies the line pattern to be used when drawing lines. Use LT to vary lines and enhance your plot. Note that the ends of dashed line segments in a line pattern are affected by current line attributes (refer to the LA command earlier in this chapter).
z Positive line types (1 - 8) are fixed line types and use the specified pattern length to draw lines. Any unused part of the pattern (the residue) is carried over into the next line. The residue is saved when any of the following commands are received: CI, EA, EP, ER, EW, FP, PM, RA, RR, or WG. The residue is restored when the current pen position is restored upon completion of these HP-GL/2 commands.
A zero line type (0) draws only a dot at the X,Y coordinates for AA, AR, AT, CI, PA, PD, PR, and RT commands. Zero pen down values and zero length lines also produce dots. A dot is a one plotter unit long vector, drawn using the current line end and pen width. (Dots within lines are drawn at the correct angle, but zero length vectors are drawn along the user’s current X-axis.) Negative line types (-1 - -8) are adaptive line types.
Table 22-12 Commands that Affect LT99 (continued) SP,Select Pen TR,Transparency Mode UL,User-Defined Line Type WU,Pen Width Unit Selection DF,Default Values The Configuration IN,Initialize and Status Group IP,Input P1 and P2 IR,Input Relative P1 and P2 IW,Input Window RO,Rotate Coordinate System SC,Scale Figure 22-17 first shows the line type patterns, then gives the pattern percentages. Note EN Do not use an adaptive line type when drawing circles, arcs, wedges, or polygons.
Figure 22-17Line Type Patterns and Pattern Percentages z Pattern Length- Specifies the length of one complete line pattern, either as a percentage of the diagonal distance between the scaling points P1 and P2 or in millimeters (see mode below). You must specify a length greater than zero or the printer ignores the command. If you do not specify a length, the printer uses the last value specified. z Mode- Specifies how the values of the pattern length parameter are interpreted.
z 1 - Absolute mode. Interprets the pattern length parameter in millimeters. z When specified in millimeters, fixed line-type patterns assume the specified length, but adaptive line-type pattern lengths are adjusted to fit an integral number of patterns per vector. (This is true for relative mode and absolute mode.) If you do not specify the pattern length and mode parameters, then the printer uses their current values.
Table 22-13 AA,Arc Absolute The Vector Group AR,Arc Relative AT,Absolute Arc Three Point CI,Circle PA,Plot Absolute PD,Pen Down PE,Polyline Encoded PR,Plot Relative RT,Relative Arc Three Point EA,Edge Rectangle Absolute The Polygon Group EP,Edge Polygon ER,Edge Rectangle Relative EW,Edge Wedge FP,Fill Polygon RA,Fill Rectangle Absolute RR,Fill Rectangle Relative WG,Fill Wedge 22-28 The Line and Fill Attributes Group EN
PW, Pen Width This command specifies a new width for the logical pen. Subsequent lines are drawn in this new width. Use PW to vary your lines and enhance your drawings. Pen width can be specified as a fixed value or relative to the distance between P1 and P2. The pen width units are selected via the WU command (the default is metric-millimeters). PW width[,pen;] or PW [;] Parameter Format Functional Range Default width clamped real -32768 to 32767 Dependent1 pen integer 0 or 1 1 (Black) 1.
z Note Pen- Specifies the pen number to which the new width applies. If the pen parameter is not specified, the printer applies the width to both pens. Specifying pen numbers other than 0 or 1 causes the printer to ignore the command. Pen width does not set the width of lines for drawing labels (unless the stroke weight value is set to 9999 [Stick/Arc fonts only]).
Table 22-14 Example: Using the PW Command (continued) ?%0A Enter the PCL mode. ?E Send a reset to end the job and eject the page.
RF, Raster Fill Definition This command defines a rectangular pattern that may be used as area fill and for screened vectors (see the SV command). Use RF to create your own fill types and screen patterns. RF index,width,height,pen number[,...
Note A pixel is equal to the size of one dot at the current printer resolution. z Pen Number - Represents a pixel in the pattern being defined and indicates its color (black or white). 0- White >0 - Black The pen number parameter defines pixels left to right, top to bottom. The total number of pen number parameters should be equal to the width times height parameters. For example, to define a pattern that is 8 x 16 pixels, you need 128 pen number parameters.
Table 22-16 Example: Creating and Printing a Fill Pattern RR4000,800;EP; Fill a rectangle with the fill pattern just specified, with a lower left corner of (3500,2500) and an upper right corner 4000 plu to the right and 800 plu up; edge the outline of the rectangle. ?%0A Enter the PCL mode. ?E Send a reset to end the job and eject the page.
SM, Symbol Mode This command draws the specified symbol at each X,Y coordinate point using the PA, PD, PE, PR, and PU commands. Use SM to create scattergrams, indicate points on geometric drawings, and differentiate data points on multiline graphs.
The following example shows several uses of symbol mode: with the pen down for a line graph, with the pen up for a scattergram, and with the pen down for geometric drawings. Note Symbol mode works only with the PA, PD, PE, PR, and PU commands. Notice that the circle and rectangle have symbols only for the PA command coordinate point. Table 22-18 Example: Using the Symbol Mode Command ?E Reset the printer. ?%0B Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode. SP1; Select pen number 1.
Table 22-18 Example: Using the Symbol Mode Command PA4600,1590;SMX; PA3300,1100;PU; Draw a line to (4600,1590) and print a “Z”; specify “X” as the next symbol, move to (3300,1100), and print an “X”; lift the pen. SMA;PA4000,400; CI400; Specify “A” as the new symbol and move to (4000,400); draw a circle with a radius of 400 plu and print an “A” in the center.
SP, Select Pen This command selects the printer’s ‘logical’ pen for subsequent plotting. An SP command must be included at the beginning of each command sequence to enable the printer to draw. SP pen number[;] or SP [;] Parameter Format Functional Range Default pen number integer 0 or 1 No pen Although your printer does not have physical pens, for the purpose of compatibility it has a ‘logical’ pen which you must select to print your drawing.
Table 22-20 Related Commands Group PW, Pen Width The Line and Fill Attributes Group WU, Pen Width Unit Selection TR, Transparency Mode SV, Screened Vectors This command selects the type of screening (area fill) to be applied to vectors. Options include lines, hatching patterns (fill types 3 and 4), arcs, circles, edges of polygons, rectangles, wedges and PCL user-defined patterns. SV does not affect solid fill types, stroked characters, or edges of characters.
z screen_type— Selects the types of screening as follows: • 0— No screening • 1— Shaded fill • 2— HP-GL/2 User-defined raster fill (RF command) • 21— Predefined PCL cross-hatch patterns • 22— PCL user-defined raster fill (RF command) • Option1, Option2— The definition of these optional parameters depends on the screen type selected. The following table lists the options available for each fill type.
For Type 22, the optional parameter selects the corresponding PCL user-defined pattern specified by way of the ?*c#W command. Option1 specifies the pattern associated with the user-defined fill pattern. Option2 is ignored if present. See “User-Defined Pattern Graphics” in Chapter 13 for a discussion of PCL user-defined patterns. All parameters are optional. If all parameters are omitted, screening is turned off (the vectors are solid).
TR, Transparency Mode This command defines how the white areas of the source graphics image affect the destination graphics image. TR [n][;] or TR [;] Parameter Format Functional Range Default n clamped integer 0 or 1 1 (on) z No Parameters— Defaults to transparency mode = on (TR1;). z n— Specifies whether transparency mode is on or off: z 0— Transparency mode = off. z 1— Transparency mode = on (default).
When transparency mode is off, all source pixels are written to the destination, obscuring any underlying images. Figure 22-23Transparency Mode = OFF The transparency mode is defaulted by the ?E Reset, IN, or DF commands. Note EN For more information on the transparency mode, see the discussion of the “Source Transparency Mode” in Chapter 13, The PCL Print Model.
UL, User-Defined Line Type This command creates line types by specifying gap patterns, which define the lengths of spaces and lines comprising a line type. UL index [,gap1,...,gap20;] or UL [;] Parameter Format Functional Range Default index clamped integer 1 through 8 — gaps clamped real 0 to 32767 default line types The UL command allows you to define and store your own line types. The command does not itself select a line type.
The following example demonstrates redefining and printing a line type. Table 22-24 Example: Using the UL Command ?E Reset the printer. ?%0B Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode. SP1; Select pen number 1. Even though there is no physical pen, the SP command must be used to enable printing. PA4000,3000; Specify absolute plotting and move to (4000,3000).
Table 22-25 Related Commands Group LA, Line Attributes The Line and Fill Attributes Group LT, Line Type Table 22-26 POSSIBLE ERROR CONDITIONS: Condition Printer Response sum of gap parameters equals zero ignores command a gap is negative ignores command index = 0 or|index| > 8 ignores command WU, Pen Width Unit Selection This command specifies how the width parameter of the Pen Width (PW) command is interpreted (whether metric or relative units).
z Type — Specifies how the width parameter of the Pen Width (PW) command is interpreted. • 0 — Metric. Interprets the pen width parameter in millimeters. Specifying type 0 defaults all pen widths to 0.35mm. • 1 — Relative. Interprets the pen width parameter as a percentage of the diagonal distance between P1 and P2. Specifying type 1 defaults all pen widths to 0.1% of the diagonal distance from P1 to P2. If the specified type parameter is not 0 or 1, the printer ignores the command.
22-48 The Line and Fill Attributes Group EN
23 The Character Group Introduction When you create an HP-GL/2 graphic and want to add text, you can either enter PCL mode to add text to your image or you can print text from within HP-GL/2 mode. If this is your first experience with HP-GL/2, you should know that the term “label” is used throughout this chapter to indicate the printing of text. This chapter discusses the various ways you can “label” your images using the printer’s vector graphics commands.
Table 23-1 The Character Group Commands (continued) DR,Relative Direction Specifies the slope of labels relative to P1 and P2 locations. DT,Define Label Terminator Defines the character or code that ‘turns off’ labeling. DV,Define Variable Text Path Specifies the label path as right, left, up, or down. ES,Extra Space Increases or reduces space between label characters and lines. FI,Select Primary Font Selects as standard a font previously assigned a PCL font ID number.
Table 23-1 The Character Group Commands (continued) TD, Transparent Data Specifies whether control characters perform their function or are printed as characters when printing text. Printing Labels Use the Label command (LB) to create text charts or to emphasize areas of a diagram or graph that need special attention or explanation. You can control almost all aspects of the label’s appearance: its position, size, slant, spacing, and direction.
Note In the examples in this chapter, the left column identifies the command sequence data for the plot. If the label command text is too wide for the column width, is it continued on a second line (which might indicate a Carriage Return in the text). In actual use, the text should be presented on one line, with no carriage-returns. If a Carriage Return is required in the example, it is indicated as “CR-LF.” Table 23-2 Example: Printing Labels E CE Reset the printer. E C%0B Enter HP-GL/2 mode.
Figure 23-1 Moving to the Carriage Return Point When you begin labeling, the current pen location is the Carriage Return point (the beginning of your line of text is the point at which the pen is “returned” when a Carriage Return control code is sent to the printer). When the printer encounters a Character Plot (CP) command, or a Carriage Return control code within a Label command, the pen moves to the Carriage Return point, adjusted up or down by any line feeds.
Table 23-3 Commands Updating Carriage Return Point to Current Location (continued) DV Define Variable Text Path IN Initialize LO Label Origin PA Plot Absolute PE Polyline Encoded PR Plot Relative RO Rotate Coordinate System RT Relative Arc (Three Point) 1. A PD or PU command with parameters also updates the Carriage Return point. The CP command with a nonzero lines parameter updates the Carriage Return point’s vertical location.
Table 23-4 Commands Updating Carriage Return Point to Current Location (continued) Shift In2 15 Space 32 1. Equivalent to Select Alternate Font (SA) command. 2. Equivalent to Select Standard Font (SS) command. Default Label Conditions The following label default conditions are established when the printer is initialized, or set to default conditions. To change these settings, refer to the appropriate chapter or command. EN z Symbol Set (Character Set) — Roman-8. z Font Spacing — Fixed.
Enhancing Labels You can enhance your labels by changing such aspects as the character size and slant, the space between characters and lines, and the orientation and/or placement of the label on the page. To effectively use these enhancements you should understand the properties of the character cell. Refer to “Working with the Character Cell” later in this chapter.
You can use the Character Plot (CP) command to move the pen a specific number of lines or spaces (character cells) from the current pen location. Use the CP command, for example, to indent a label a certain number of spaces. Label Orientation and Placement You can place your labels anywhere on the page in any orientation. The Absolute Direction (DI) command specifies the angle at which you want to print the characters, independent of the location of P1 and P2.
The Define Variable Text Path (DV) command allows you to specify the text path (right, left, up, or down) and the direction of Line Feeds with respect to the text path. Figure 23-3 Define Variable Text Path Command The Label Origin (LO) command simplifies placing labels on a drawing. Normally, the first character origin is the current pen location when the Label command is issued. The LO command allows you to specify that the label be centered and/or right- or left-justified from the current pen location.
These lines use one (X,Y) coordinate pair, one LO command to center labels, and a Carriage Return and Line Feed after each line. Without this command, an alternative method would involve calculating the length of the line in CP (Character Plot) cells, dividing by two, and using the CP command to ‘Backspace’ the required number of cells.
Working with the Character Cell In each font, the basis for each character or space is the character cell. Think of the character cell as a rectangular area around a character that includes blank areas above and to the right of the character. Refer to the Figure 23-5. Figure 23-5 The Character Cell and HP-GL/2 Table 23-5 Term Description Baseline The imaginary line on which a line of text rests. A character’s descender (such as the bottom of a lowercase “g”) extends below the baseline.
Table 23-5 (continued) Cap Height The distance from the baseline to the top of a capital letter. Character Origin The point at which the baseline meets the left edge of the character cell. Character Width The lateral area allocated for character rendering. Character Plot (CP) Cell Width The distance from the left edge of one character to the beginning of the next character.
Figure 23-7 Stick Font Character Cell When you use the SI (Absolute Character Size) or SR (Relative Character Size) commands to change the size of the characters, or use the ES (Extra Space) command to add extra space around them, you alter the size of the CP (Character Plot) cell. You can control almost all aspects of the label’s appearance: its position, size, slant, spacing, and direction. This chapter explains the commands that control these features.
Using Fonts In HP-GL/2 mode, the printer uses three different types of fonts: z Scalable fonts — Characters can be displayed at any size. The characters are defined as a set of points on the outline of a character and corresponding mathematical relationships describing the interaction between these outline points. A scalable outline character can be resized (using SI and SR), rotated (using DI and DR), and distorted (using SL). z Bitmap fonts — Characters defined as an array of dots in a raster pattern.
Figure 23-8 and Figure 23-9 show the difference between fixed-spaced and proportional fonts. Figure 23-8 Fixed-Spaced Font With proportional fonts, the actual space occupied by each character varies according to the character’s width (Figure 23-9).
When printing proportional fonts, the Character Plot (CP) command uses the width of the Space control code to determine horizontal spaces and the Line Feed height for determining vertical spacing. The Extra Space (ES) command uses the horizontal escapement distance (a font metric) to compute horizontal spaces and the Line Feed height for determining vertical spacing. Both of the character size commands (SI and SR) use cap height and average character width in calculating character size.
AD, Alternate Font Definition This command is similar to the Standard Font Definition (SD) command that defines the primary HP-GL/2 font. In addition the AD command defines an alternate HP-GL/2 font and its characteristics: font spacing, pitch, height, posture, stroke weight, and typeface. It allows the font characteristics to be assigned to the secondary (alternate) font definition. Use AD to set up an alternate font that you can easily access when labeling. AD kind,value...
Table 23-6 (continued) 6 Stroke Weight 0 medium 7 Typeface 48 Stick (fixed vector) z Value — Defines the properties of the characteristic specified by the kind parameter. Note When selecting fonts, the different characteristics (symbol set, spacing, pitch, etc.) are prioritized as shown in the table above, with symbol set being the highest priority and typeface being the lowest. The font selection priority is the same for HP-GL/2 as for PCL font selection.
Table 23-7 (continued) SA, Select Alternate Font SB, Scalable or Bitmap Fonts SD, Standard Font Definition SI, Absolute Character Size SR, Relative Character Size SS, Select Standard Font TD, Transparent Data CF, Character Fill Mode The Character Fill Mode command specifies the way scalable fonts are filled and edged; bitmap and Stick fonts cannot be edged and can be filled only with raster fill, shading, or PCL cross-hatch patterns.
z Fill mode— Specifies how the printer renders filled characters according to the following parameter values. • 0— Specifies solid fill using the current pen and edging with the specified pen (or current pen if the edge pen parameter is not specified). • 1— Specifies edging with the specified pen (or current pen if the edge pen parameter is not specified). Characters are filled only if they cannot be edged (bitmap or stick characters), using the edge pen.
The thickness of fill lines for hatching and cross hatch is selected using the PW (Pen Width) command. Due to the way hatching and cross-hatch lines are drawn, they may extend beyond the character outline by up to 1/2 of the current pen width. When using a small pen width and specifying a black edge pen, the edging covers up hatching lines that extend outside the character outline.
Table 23-8 Example: Using the CF Command (continued) PW.1;CF3,1;LBB*; Set the pen width to .1 mm; select character fill mode 3 (fill & edge) and edge with pen number 1 (black); print the letter “B”. PW.5;LBC*; Set the pen width to .5 mm to change the thickness of the fill lines; print the letter “C”. E C%0A Enter the PCL mode. E CE Send a reset to end the job and eject the page.
CP, Character Plot This command moves the pen the specified number of spaces and lines from the current pen location. Use CP to position a label for indenting, centering, etc. CP spaces,lines [;] or CP [;] Parameter Format Functional Range Default spaces clamped real –32768 to 32767 no default lines clamped real –32768 to 32767 no default The CP (Character Plot) command includes an automatic pen up. When the command is completed, the original pen up/down status is restored.
z Lines — Specifies the number of lines the pen moves relative to the current pen location. Positive values specify the number of lines the pen moves up from the current pen position; negative values specify the number of lines the pen moves down (a value of –1 is equivalent to a Line Feed). Up and down are relative to the current label direction. The Line Feed distance is uniquely defined for each font; use the Extra Space (ES) command to adjust the height.
The following illustration shows the direction of labeling with a vertical text path (set by (DV1) or (DV1,0); refer to the Define Variable Text Path (DV) command for more information). Figure 23-13Labeling with a Vertical Text Path The following example produces lettering along a line (but not directly on top of it), and aligns labels along a left margin. Movement of the Carriage Return point is demonstrated, as well as different methods of placing the text.
Table 23-10 Example: Using the CP Command EN PA5000,2500; PD1500,2500; PU; Specify absolute plotting and move to (5000,2500); set the pen down and draw a line to (1500,2500); lift the pen. CP5,.35; Move the pen 5 spaces to the right and .35 lines up so that the label is placed just above the line. DT$,1; Define a label terminator ($) and specify that it does not print. SD1,21,2,1,4,14,5, 0,6,3,7,4148;SS; Designate a 14-point Univers Bold font and select it.
Figure 23-14 Table 23-11 Related Commands Group DI, Absolute Direction The Character Group DR, Relative Direction DV, Define Variable Text Path ES, Extra Space LB, Label LO, Label Origin SB, Scalable or Bitmap Fonts SI, Absolute Character Size SR, Relative Character Size 23-28 The Character Group EN
DI, Absolute Direction This command specifies the slope or direction at which characters are drawn, independent of P1 and P2 settings. Use DI to change labeling direction when you are labeling curves in line charts, schematic drawings, blueprints, and survey boundaries.
You can express the parameters in measured units as rise and run, or using the trigonometric functions cosine and sine according to the following relationship. Where: run and rise = number of measured units θ = the angle measured in degrees sin θ/cos θ = rise/run θ = tan–1(rise/run) and tan θ = sin θ/cos θ Note that the run and rise determine the slope or angle of an imaginary line under the base of each character in the label. Refer to the following illustration.
Figure 23-16Effect of Horizontal and Vertical Text Paths Note If an SB1; command has been sent, the printer draws the label along the nearest perpendicular. In the case of bisection, the angle is rounded down (e.g., 45° would round to 0°). Refer to the following illustration. Figure 23-17Scalable Versus Bitmap Variable Text Path Printing Suppose you want your label plotted in the direction shown in the following illustration.
Figure 23-18Label Print Direction Rise and Run To measure the run and rise, first draw a grid with the lines parallel to the X- and Y-axis. The grid units should be the same size on all sides, but their actual size is irrelevant. Then, draw a line parallel to the label and one parallel to the X-axis. The lines should intersect to form an angle. Select a point on the open end of your angle (where another line would create a triangle).
When using either method, at least one parameter must not be zero. The ratio of one parameter to the other is more important than the actual numbers. The following table lists three common label angles produced by using 1’s and 0’s. Table 23-13 DI Command Label Direction DI 1,0 horizontal DI 0,1 vertical DI 1,1 or DI 0.7,0.7 (or any parameters equal to each other) 45° angle The relative size and sign of the two parameters determine the amount of rotation.
Table 23-14 Example: Using the DI Command (continued) DI-1,-1;LB DIRECTIONCR*; Print the same word in the third quadrant and Carriage Return. DI-1,1;LB DIRECTIONCR*; Print the word in the fourth quadrant and Carriage Return. E C%0A Enter the PCL mode. E CE Send a reset to end the job and eject the page.
Table 23-15 Example: Another DI Example EN E CE Reset the printer. E C%0B Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode. SP1; Select pen number 1. Even though there is no physical pen, the SP command must be used to enable printing. PA3500,2500; Specify absolute plotting and move to (3500,2500). DT#,1; Define the “#” character as the label terminator. DI0,1;LB__1990#; Set the label direction to print at 90° and print “__1990”.
Figure 23-20 Table 23-16 Related Commands Group CF, Character Fill Mode The Character Group CP, Character Plot DR, Relative Direction DV, Define Variable Text Path LB, Label SB, Scalable or Bitmap Fonts SI, Absolute Character Size SL, Character Slant SR, Relative Character Size Table 23-17 POSSIBLE ERROR CONDITIONS Error Condition Printer Response both parameters = 0 or number out of range ignores command 23-36 The Character Group EN
DR, Relative Direction This command specifies the direction in which labels are drawn, relative to the scaling points P1 and P2. Label direction is adjusted when P1 and P2 change so that labels maintain the same relationship to the scaled data. Use DR to change labeling direction when you are labeling curves.
You define the parameters of run and rise as shown in the following illustration: Figure 23-21Rise and Run Parameters With the DR command, the use of run and rise is somewhat different than with DI. Run is expressed as a percentage of the horizontal distance between P1 and P2; rise is expressed as a percentage of the vertical distance between P1 and P2.
The following illustration shows the effects of using three different sets of run/rise parameters. Notice how the text baseline varies as the run percentage is greater than, equal to, and less than the value for rise. Figure 23-22Effects of Different Rise/Run Parameters If the P1/P2 rectangle is square, the DR and DI commands have exactly the same effect.
Figure 23-23Effects of Scaling on Label Direction Labels begin at the current pen location and thus are drawn parallel to the directional line, not necessarily on it. Also, negative parameters have the same effect on direction as described for the DI command. At least one parameter must not be zero. The ratio of the parameters to each other is more important than the actual numbers. The table below lists three common label angles produced by using ones and zeros.
Figure 23-24Varying Print Direction with DR Command Parameter Sign A DR command remains in effect until another DR or DI command is executed, or until the printer is initialized or set to default conditions. Example:Using the DR Command This example illustrates the use of positive and negative parameters, how the LB command updates the current pen location, and how DR updates the Carriage Return point. Note that this is the same example shown with the DI command.
Table 23-20 Example: Using the DR Command E CE Reset the printer. E C%0B Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode. SP1; Select pen number 1 (black). PA3500,2500; Specify absolute plotting and move to (3500,2500). DT#,1; Define the “#” character as the label terminator. DR0,1;LB __1990#; Set the label direction and print “__1990”. DR1,1;LB __1991#; Set the label direction and print “__1991”. DR1,0;LB__1992#; Set the label direction and print “__1992”.
Figure 23-25 Table 23-21 Related Commands Group CF, Character Fill Mode The Character Group CP, Character Plot DI, Absolute Direction DV, Define Variable Text Path LB, Label SB, Scalable or Bitmap Fonts SI, Absolute Character Size SL, Character Slant SR, Relative Character Size IP, Input P1 and P2 The Configuration/Status Group IR, Input Relative P1 and P2 EN DR, Relative Direction 23-43
Table 23-22 POSSIBLE ERROR CONDITIONS: Error Condition Printer Response both parameters = 0 or number out of range ignores command DT, Define Label Terminator This command specifies the character to be used as the label terminator and whether it is printed. Use DT to define a new label terminator if you desire a different one or if your computer cannot use the default (ETX, decimal code 3).
z Mode— Specifies whether the label terminator is printed. 0— The label terminator prints if it is a printable character and performs its function if it is a control code. 1— (Default) The label terminator does not print if it is a printing character and does not perform its function if it is a control code. A DT command remains in effect until another DT command is executed, or the printer is initialized or set to default conditions.
DV, Define Variable Text Path This command specifies the text path for subsequent labels and the direction of Line Feeds as either right, left, up, or down. Use DV to “stack” characters in a column.
• 3 — –270 degrees.(Up) Within a label, each character begins above the previous character. This is a vertical text path (unless altered by DI or DR). The following illustration shows the four text paths. Figure 23-26Four Text Paths EN z Line— Specifies the location of each character with respect to the preceding character, relative to the labeling direction defined by the DI or DR commands. z 0 — –90 degrees.
Figure 23-27DV Command Character Position for Normal (0) Parameter z 0 — +90 degrees.(Reverse Line Feed) Sets the direction of Line Feeds +90 degrees with respect to the text path.
Example:Using theDV Command The following example illustrates how Line Feeds and Carriage Returns affect vertical labels. Horizontal labels are shown for comparison. Table 23-24 Example: Using the DV Command EN E CE Reset the printer. E C%0B Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode. SP1; Select pen number 1. Even though there is no physical pen, the SP command must be used to enable printing. PA2000,3000;DV1; Specify absolute plotting and move to (2000,3000).
Table 23-24 Example: Using the DV Command (continued) E C%0A Enter the PCL mode. E CE Send a reset to end the job and eject the page. Figure 23-29 Table 23-25 Related Commands Group CP, Character Plot The Character Group DI, Absolute Direction DR, Relative Direction LB, Label LO, Label Origin Note Used with specific LO (Label Origin) settings, labels can be concatenated (see LO command description, later in this chapter).
ES, Extra Space This command adjusts space between characters and lines of labels without affecting character size. ES width[,height;] or ES [;] Parameter Format Functional Range Default width clamped real –32768 to 32767 0 height clamped real –32768 to 32767 0 The printer interprets the parameters as follows: z No Parameters— Defaults the spaces and lines between characters to no extra space. Equivalent to (ES0,0).
Table 23-26 Example: Using the ES Command (continued) PA2500,3200; SI.187,.269; Specify absolute plotting and move to (2500,3200); specify a relative character size of .187 cm wide by .269 cm high. DT#;ES; Define the “#” character as the label terminator and set the extra space setting to default (no extra space). LBES; CAUSES#; Print “ES; CAUSES”. CP;LBTHIS SPACING.#; Send a CP command as a CR-LF and print “THIS SPACING.” PA2500,2500; Move to (2500,2500). ES-.1,-.25; LBES-.1,-.
Table 23-27 Related Commands Group CP, Character Plot The Character Group LB, Label EN ES, Extra Space 23-53
FI, Select Primary Font This command allows any accessible font that has been assigned a font ID number to be selected as the primary (standard) font (the font characteristics are assigned to the standard font). As mentioned, the font must be accessible to the printer as either a resident font, a downloaded font, or a loaded cartridge font. To be selected, the font must have been previously assigned a font ID number in PCL mode.
Table 23-28 Example: Using the FI Command E CE Reset the printer. E C*c15D Specify a font ID number of 15. E C(s1p18v0s3b4148T Select an 18-point Univers Bold font as the primary font. E C*c6F Assign the currently selected font as a temporary font with the current ID number (15). E C%0B Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode. SP1; Select pen number 1. Even though there is no physical pen, the SP command must be used to enable printing. PA1500,1500; Move to location (1500,1500).
Figure 23-30 Table 23-29 Related Commands Group AD, Alternate Font Definition The Character Group LB, Label SA, Select Alternate Font SD, Standard Font Definition SS, Select Standard Font E C(#X, Select Primary Font by ID # E C)#X, Select Secondary Font by ID # E C)*c#D, Assign Font ID E C)*c6F, Font Control, Copy Assign PCL Commands FN, Select Secondary Font This command allows any accessible font that has been assigned a font ID number to be selected as the secondary (alternate) font (the
When the printer receives this command and the requested font is present, the secondary font characteristics are set to those of the requested font. If the selected font is proportionally spaced, the pitch characteristic is not changed. Notes This command does not select the font for label printing if you are currently using the standard font. The FI and FN commands implicitly change the value of SB. For example, if SB = 0 and FI selects a bitmap font, SB is set to 1.
Table 23-30 Example: Using the FN Command LBLaserJetPrinters CR-LF#; Print “LaserJet Printers” in the currently selected font, which is the default Stick font; Carriage Return/Line Feed. AD4,18;FN28;SA; Use the AD command to designate an 18-point font from within HP-GL/2 mode; then assign the PCL font with font ID number of 28 as the secondary font. Then select the font. LBLaserJetPrinters#; Print “LaserJet Printers” in the newly selected font. E C%0A Enter the PCL mode.
Table 23-31 E C*c#D, Font ID (assign) E C*c6F, Font Control, Copy Assign E C(#X, Designate Font # as Primary E C)#X, Designate Font # as Secondary PCL Commands LB, Label This command prints text using the currently defined font. Use LB to annotate drawings or create text-only charts. LB text . . . text label terminator Parameter Format Functional Range Default text . . . text character any character(s) no default The LB command includes an automatic pen down function.
Label Terminator— Terminates the LB command. You must use the special label terminator (refer to the DT command) to tell the printer to exit the label mode. If you do not use the label terminator, everything following the LB mnemonic is printed in the label, including other commands. The default label terminator is the non-printing end-of-text character ETX (decimal code 3). You can define a different terminator using the DT command.
Table 23-33 Related Commands Group AD, Alternate Font Definition The Character Group CP, Character Plot DI, Absolute Direction DR, Relative Direction DT, Define Label Terminator DV, Define Variable Text Path ES, Extra Space FI, Select Primary Font FN, Select Secondary Font LO, Label Origin SA, Select Alternate Font SB, Scalable or Bitmap Fonts SD, Standard Font Definition SI, Absolute Character Size SL, Character Slant SR, Relative Character Size SS, Select Standard Font TD, Transparent Data EN LB, La
LO, Label Origin This command positions labels relative to the current pen location. Use the LO command to center, left justify, or right justify labels. The label can be drawn above or below the current pen location and can also be offset by an amount equal to .25 times the point size (or 16 grid units [0.33 times the point size] for the Stick font).
Figure 23-33Label Origin Positioning Each time an LO command is sent, the Carriage Return point is updated to the location the pen was in when the LO command was received. The current pen location (but not the Carriage Return point) is updated after each character is drawn and the pen automatically moves to the next character origin. If you want to return a pen to its previous location prior to the next label command, you can send a Carriage Return after the label text but before the label terminator.
Table 23-34 Example: Using the LO Command (continued) SI.17,.26;PA0,500; Set the absolute character size to .17 cm wide by .26 cm high; move to (0,500). PD-500,0,0,-500, 500,0,0,500; Set the pen down and draw lines from (0,500) to (-500,0), to (0,-500), to (500,0), and then to (0,500). DT#; Define label terminator as “#” character. CI10;LO4; LBCentered on point#; Draw a small circle (radius – 10 plu) to represent the label origin point, specify a label origin of 4, and print “Centered on point.
The pen position at the end of the label string depends on whether two successive LB commands concatenate together as though only one label was given. The DV/LO combinations which permit concatenation are: Table 23-35 Text Path Label Origin DV0 (right) LO’s 1,2,3, and 11,12,13,21 DV1 (down) LO’s 3,6,9, and 13,16,19 DV2 (left) LO’s 7,8,9, and 17,18,19 DV3 (up) LO’s 1,4,7, and 11,14,17,21 The following two rules determine where the pen is positioned after a label string is drawn.
Table 23-36 Related Commands Group CP, Character Plot The Character Group DV, Define Variable Text Path LB, Label SA, Select Alternate Font This command selects the alternate font (already designated by the AD command) for subsequent labeling. Use the SA command to shift from the currently selected standard font to the designated alternate font.
SB, Scalable or Bitmap Fonts This command specifies which types of fonts are used for labeling commands. It allows you to restrict font selection to only scalable fonts and the Stick and Arc fonts, disregarding bitmap fonts. SB [n;] or SB [;] Parameter Format Functional Range Default n clamped integer 0 or 1 0 This command is defaulted by the Default Values (DF) command.
Table 23-38 AffectedCommands Command Limitation CF Bitmapped characters cannot be edged. DI,DR Bitmapped characters can be printed only with orthogonal directions (0°, 90°, 180°, or 270°). SI,SR Sizes of bitmapped fonts are approximate only. SL The Slant command is ignored for bitmapped fonts. AD,SD,CP,LB Note The FI and FN commands implicitly change the value of SB. For example, if SB = 0 and FI selects a bitmap font, SB is set to 1.
z No Parameters— Defaults the standard font characteristics. z Kind— Specifies the characteristic for which you are setting a value. Table 23-39 Kind z Note Characteristic Default Value Description 1 Symbol Set 277 Roman-8 2 Font Spacing 0 fixed spacing 3 Pitch 9 characters per inch 4 Height 11.
Note Stick font is available only in ASCII, Roman-8, and Roman Extension symbol sets. Kind 2: Font Spacing The font spacing characteristic defines whether the spacing is fixed (all characters occupying an equal horizontal space) or proportional (each character occupying a space proportional to its size). Refer to “Using Fonts” in the beginning of this chapter.
Kind 4: Height For proportional fonts, the height characteristic defines the font point size (the height of the character cell). (Fixed-spaced fonts ignore height; the point size is calculated using the font pitch.) There are approximately 72 points in an inch. Note that with the font definition command (SD or AD)., you cannot create tall, skinny characters or short, wide characters; the character aspect ratio is preserved. Table 23-42 Kind 4: Height Values Height Values Description 0 to 32 767.
Table 23-44 Kind 6: Stroke Weight Values Stroke WeightValue Description -7 Ultra Thin -6 Extra Thin -5 Thin -4 Extra Light -3 Light -2 Demi Light -1 Semi Light 0 Medium, Book or Text 1 Semi Bold 2 Demi Bold 3 Bold 4 Extra Bold 5 Black 6 Extra Black 7 Ultra Black 9999 Stick font only1 1. When the Stick font (typeface 48) is selected, the value 9999 renders it using the current pen width.
Example:Using the SD Command The following example shows the SD command used to designate a 25-point Univers Bold font in the ASCII symbol set (use the Select Standard Font (SS) command to select this font after it is designated): Note that the pitch parameter is missing in the above command because the designated font is proportionally spaced.
SI, Absolute Character Size This command specifies the size of labeling characters in centimeters. Use SI to establish character size independent of P1 and P2. SI width, height[;] or SI [;] Parameter Format Functional Range Default width clamped real –32768 to 32767 dependent* height clamped real –32768 to 32767 dependent* * Dependent on the current pitch and font height set by the AD or SD commands.
Notes If the (SB1;) command is in effect, an SI command may not be executed accurately. Labels are rendered using the bitmap font that most closely approximates the character height or width specified by SI (character size is determined by height for proportional fonts and by width for fixed-spaced fonts). When (SB1;) is in effect, characters cannot be mirrored with negative SI parameters.
Table 23-46 Example: Using the SI Command (continued) PA4000,3000; LBPrint#; Move to (4000,3000) and print “Print” in 12-point Univers. PA4000,2000; SI1,1.5;LBPrint#; Move the pen to (4000,2000) and specify a character size of 1 cm by 1.5 cm, then print “Print”. E C%0A Enter the PCL mode. E CE Send a reset to end the job and eject the page. Figure 23-34 The following are examples of negative parameters producing mirror-images of labels.
A negative height parameter mirrors labels in the top-to-bottom direction. SI.6,-.9;LBPrint#; Figure 23-36 Negative width and height parameters together mirror labels in both directions, causing the label to appear to be rotated 180 degrees. SI-.6,-.
SL, Character Slant This command specifies the slant at which labels are drawn. Use SL to create slanted text for emphasis, or to re-establish upright labeling after an SL command with parameters has been in effect. (Note that the SL command has no effect when an (SB1;) command is in effect.
The SL command only affects each character relative to an imaginary line beside the label. The direction or placement of the label on the drawing does not affect the SL command; neither do the settings of P1 and P2. The DI and DR commands, however, do affect the slant direction, since the base of a character always stays on the baseline of the label. You can specify the actual tangent value, or you can use the TAN function available in most computer languages.
Table 23-49 Example: Using the SL Command (continued) PA1000,300; SL-.36;LBSlant#; Move to (1000,300), change the slant angle to -20° from upright and print “Slant.” E C%0A Enter the PCL mode. E CE Send a reset to end the job and eject the page.
SR, Relative Character Size This command specifies the size of characters as a percentage of the distance between P1 and P2. Use SR to establish relative character size so that if the P1/P2 distance changes, the character size adjusts to occupy the same relative amount of space. SR width height[;] or SR [;] Functional Range Parameter Format Default width clamped real –32768 to 32767 0.75% of P2X–P1X height clamped real –32768 to 32767 1.
The character size you specify with SR is a percentage of (P2X – P1X) and (P2Y – P1Y). The printer calculates the actual character width and height from the specified parameters as follows: actual width = (width parameter/100) x (P2X – P1X) actual height = (height parameter/100) x (P2Y – P1Y) For example, suppose P1 and P2 are located at (–6956,–4388) and (6956,4388), respectively. If you establish relative sizing and specify a width of 2 and a height of 3.
Example:Using the SR Command The following example first shows a label with a character size relative to P1 and P2 (SR). Next, the locations of P1 and P2 are changed; then, the character size percentages are specified. Notice that the new character size has equal parameters of 2.5; because the P1/P2 area is square, the resulting characters are square. Table 23-51 Example: Using the SR Command EN E CE Reset the printer. E C%0B Enter HP-GL/2 mode. IN; Initialize HP-GL/2 mode.
Figure 23-40 Table 23-52 Related Commands Group CP, Character Plot The Character Group SB, Scalable or Bitmap Fonts DI, Absolute Direction DR, Relative Direction IP, Input P1 and P2 IR, Input Relative P1 and P2 SI, Absolute Character Size 23-84 The Character Group EN
SS, Select Standard Font This command selects the standard font (already designated by the Standard Font Definition (SD) command) for subsequent labeling. Use the SS command to shift from the currently selected alternate font to the designated standard font. SS [;] The SS command tells the printer to print subsequent labeling commands using characters from the standard symbol set designated by the SD command.
TD, Transparent Data This command specifies whether control characters perform their associated function or print as characters when labeling. Use the TD command to print characters that function only as control characters in normal mode. TD mode[;] or TD [;] Table 23-54 Parameter Format Functional Range Default mode clamped integer 0 or 1 0 (normal) The printer interprets the parameters as follows: z No Parameters– Defaults the labeling mode to normal. Equivalent to (TD0).
Table 23-55 Related Commands Group AD, Alternate Font Definition The Character Group DT, Define Label Terminator LB, Label SA, Select Alternate Font SD, Standard Font Definition SS, Select Standard Font EN TD, Transparent Data 23-87
23-88 The Character Group EN
24 Programming Hints Introduction This chapter provides information for use during the development of PCL software.
PCL Command Parsing A job stream may contain commands that are device specific. If these commands are not supported by the PCL device, they are ignored. For example, a Duplex Print command has no effect on the HP LaserJet III, IIIP or LaserJet 4 printers, since these are non-duplexing printers. However, on printers which support duplex printing (such as the HP LaserJet IIID and LaserJet IIISi), the job is printed in duplex mode.
Job Control Printer Reset Hewlett-Packard strongly recommends the use of both the ECE command and the EC%–12345X command (Universal Exit Language/Start of PJL — also referred to as the UEL Command) at the beginning and end of each job. (The order of these commands is critical; refer to Table 24-1 for an example.) This allows the next job to start with the default settings as a known base.
PCL Page Control 1 Paper Source The primary use for the paper source command is to allow access to “locked out” (secured) paper trays. Page Size This command specifies the exact size of the page (media) to be used. Text Area/Margins Avoid setting the top margin or text length to values outside of the printable area. This may cause data loss. Top Margin and Text Length commands use the current line spacing (the last VMI or lpi commands). Specifying the text length establishes the bottom margin.
PCL Cursor Positioning Horizontal (decipoint, dot and column) positioning ignores margins, and therefore can be used to move the cursor anywhere along the present line. When performing cursor positioning with decipoints, PCL Units, or rows and columns, do not use margins. Margins are intended for print and space (i.e., CR, LF, FF) applications. Vertical (decipoint, dot and row) positioning allows the cursor to be moved into the perforation region.
To ensure compatibility with future products, select fonts by specifying all of the font characteristics. If all of the characteristics are not designated, the primary and secondary font tables in the printer may not contain the correct information to select the requested font from those available in the printer. The shortcut method of font selection is not recommended (as documented in some previous font product literature) and may not result in the desired font change.
PCL Raster Graphics To minimize I/O transmission time and conserve memory, avoid sending unnecessary raster data to the printer that represents white space. This is accomplished using the raster compression modes and raster reduction techniques available with the raster picture area. Set resolution prior to the start raster graphics command. Once the start raster command is received, the resolution cannot be set until after a subsequent end raster graphics command.
Macros When a macro ID is specified for which no macro has been defined, the macro invocation, macro deletion, and make macro permanent or temporary commands are ignored. The macro enabled for auto macro overlay is executed on each page, until the macro is disabled or deleted, a reset occurs (“ECE” “UEL” or control panel), or the page length, page size or orientation is changed.
HP-GL/2 Vector Graphics There are different approaches (commands) and techniques that can be used to create an HP-GL/2 image.
Performance PCL Commands Since PCL printers are command driven devices and each command takes a finite amount of time to process, pages composed of a large number of commands may not print at maximum speed. Most commands can be used frequently on a page without adversely affecting the printer’s performance; however, certain commands take more time to process and therefore, if used frequently on a page, may decrease printer performance.
Note The page protection feature is available only with additional optional memory on many HP LaserJet printers. (One exception is the LaserJet 4 printer, which supports page protection for letter-size paper in 300 dpi mode with the standard 2 Mbytes memory.) Refer to the appropriate User’s Manual for specific memory requirements. The Page Protection feature can be used to prevent possible ERROR 21 conditions.
Troubleshooting Commands End-of-Line Wrap The End-of-Line Wrap command defines the action that occurs when a line of text reaches the right margin. E C&s#C # =0 - Enables End-of-Line Wrap 1 - Disables End-of-Line Wrap When end-of-line wrap is enabled, a character or space that moves the cursor to the right of the right margin executes a CR-LF (prior to the printing of the character or space).
When the printer is in display functions mode, all control codes and escape sequences are printed and not executed, with the following exceptions: z CR is printed and executed as CR-LF. z E CZ is printed and executed. Display functions mode instructs the printer to display rather than execute the data it receives. The data is printed using the current text area and selected font.
Auto Continue Mode Automatic error clearing (refer to the printer User’s Manual for a list of clearable errors) can be achieved by setting Auto-Continue Mode to ON, using the Operator Control Panel configuration menu. When “Auto-Cont” is set to ON, the device displays a message for 10 seconds, and then attempts to continue printing the job. When “Auto-Cont” mode is set to OFF, all errors cause the device to stop printing.
Common Errors 20 ERROR This error occurs when the printer runs out of memory during a font download, macro creation, raster graphic download, or page composition. To alleviate this error, the quantity of data sent to the printer must be reduced. This can be accomplished by eliminating unnecessary fonts or macros, reducing the raster graphics white space sent to the printer, or selecting a lower resolution for the raster graphics. An alternative solution is to install additional memory.
24-16 Programming Hints EN
Customer Support Support services are available to help you in case you have a question about your HP LaserJet printer. Following are some places to turn for this support. Help From Your Organization If you organization has many HP printers, the best source of assistance may be within your own company. Many organizations designate central support personnel to help when you have any problems with your computer system or when you need consumable items such as toner cartridges or paper.
If you are not a member of CompuServe, but would like to join, call CompuServe at 1-800-848-8199 (operator #51) and take advantage of the Free Introductory Membership, which includes: z A $15 introductory usage credit to CompuServe. z A private User ID number and Password. z A complimentary subscription to CompuServe’s monthly publication, CompuServe Magazine.
When you call the Personal Peripherals Assist Line, please have the following information available to help us answer your questions: EN z Identify which computer you are using. z Identify any special equipment or software you are using (for example, spoolers, networks, switch boxes, modems or special software drivers). z Identify the cable you are using and who sold it to you. z Identify any special interface, I/O, or RAM boards installed in your printer.
Customer Support-4 EN
Glossary Auto-Continue Auto-Continue mode can be configured using the printer’s control panel (refer to the printer User’s Manual). Aspect Ratio The ratio of the width to height of an image. Baud Rate Baud rate is the rate at which information is transferred between the computer and the printer. To communicate properly, the computer and printer must both be configured to the same baud rate.
Centronics I/O An industry standard parallel input/output (I/O) interface. (Also see Parallel I/O.) Character Descriptor The character descriptor is a block of data that identifies the characteristics for a specific character, such as its position, and the cursor position after printing. The character data which follows, defines the shape of the character. Chapter 11 describes the character definition and descriptor formats for PCL bitmap fonts, as well as Intellifont and TrueType scalable fonts.
Control Code A control code is a type of PCL language command that initiates a printer function, for example CR (Carriage Return), LF (Line Feed), and FF (Form Feed). Control Panel The combination of keys, LEDs, and a display that allows an operator to communicate with a device and allows the device to communicate with an operator. Current Active Position (CAP) See CAP.
Downloading The process of transferring soft fonts, macros, or raster data from a host computer to the printer’s user memory is called downloading. DTR Polarity The configuration of DTR polarity determines whether pin 20, on the serial interface connector, is high or low when the printer is ready. If DTR polarity is HI, pin 20 is high when the printer is ready. If DTR polarity is LO, pin 20 is low when the printer is ready.
Factory Default Environment A factory default is a setting programmed into the printer at the factory. The group of all the printer’s factory settings is referred to as the factory default environment. The factory default symbol set is selectable from the control panel configuration menu (refer to the printer User’s Manual). Font A font is a set of characters that have similar characteristics.
Horizontal Motion Index (HMI) HMI defines the distance between columns in 1/120 inch increments. When fixed pitch fonts are selected, all printable characters including the space and backspace characters are affected by HMI. When proportional fonts are selected, the HMI affects only the space character. HMI is defaulted when font orientation, symbol set, pitch, spacing or height is specified and when switching between primary and secondary fonts with Shift In and Shift Out.
Internal Fonts Internal fonts are the fonts resident in the printer when shipped. Landscape See Orientation. Logical Page The PCL logical page (also referred to as the addressable area) defines the area in which the 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 printing position (CAP).
MSL (Master Symbol List) This is a group of symbols (a symbol index). An unbound font has the capacity to be bound to a set of symbols selected from a complementary symbol index (such as the MSL or Unicode symbol indexes). Each symbol in the index is identified by a unique MSL number. Appendix D of the PCL 5 Comparison Guide contains the MSL symbol index. Negative angle of rotation An angle used to create a plot in HP-GL/2 which is rotated in the direction of the +X-axis to the –Y-axis.
Parallel I/O An input/output (I/O) interface that transmits more than one bit of information simultaneously (in a “parallel” mode). Centronics is an industry-wide parallel interface standard. (Also see Serial I/O.) PCL Commands PCL commands provide access to printer features. Once a PCL command sets a parameter, that parameter remains set until the same PCL command is repeated with a new value, or the printer is reset.
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 proportionally-spaced fonts. PJL PJL (Printer Job Language) commands provide job-level control, such as the ability to switch printer languages (or “personalities” such as PCL to PostScript) between jobs. PJL also provides two-way communications with the printer.
Portrait See Orientation. Print Environment The group of all the printer’s current feature settings, collectively, is referred to as the print environment. The printer identifies four levels of changes of this print environment: the factory default environment, the user default environment, the modified print environment and the overlay environment. Printer Commands See PCL Commands and HP-GL/2.
Resolution The high quality output achieved by HP LaserJet printers is due in part to the ability to lay down a fine grid of “dots” on the page. The density of this grid is referred to as the printer’s resolution. Resolution is expressed as a value of dots-per-inch. Until recently, all HP LaserJet family printers printed at a resolution of 300 dots-per-inch.
Serial I/O An input/output (I/O) interface that transmits information bit-by-bit (in “serial” mode). RS-232 is an industry-wide standard form of a serial interface. Soft Font Soft fonts are fonts stored on disks. These fonts can be transferred to the printer’s memory and used the same way as cartridge or resident fonts. Spacing Fonts have either fixed or proportional spacing. Fixed-spaced fonts are those for which the inter-character spacing is constant.
Symbol Set A symbol set is a unique ordering of the characters in a font. Each symbol set is defined with a unique set of applications in mind. Symbol sets are created for many purposes, for example, the PC-8 symbol set was designed to support US IBM-PC applications. Treatment Treatment is the combination of font style and/or weight. For example, some treatments of Times Roman font include: upright, or bold, or italic. Typeface Typeface is a generic name for graphics symbols having common design features.
Unit of Measure The number of units-per-inch used in PCL cursor moves is determined by the current setting of the Unit of Measure command. 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). See “Unit of Measure Command” in Chapter 4. User Default A default selectable through the printer’s control panel.
Vertical Motion Index (VMI) VMI (vertical motion index) VMI defines the distance between rows in 1/48th inch increments. This command affects the Line Feed and Half-Line Feed spacing. The factory default VMI is eight, which corresponds to six lines per inch. A user default VMI can be selected from the control panel using the FORM menu item.
Index Symbols !!PCL 5 Comparison Guide!! x !!Software Application Notes!! vi !!TrueType Font File Specification!! x #A - Page Size 5-2 #C - Vertical Motion Index 5-22 #D - Line Spacing 5-24 #E - Top Margin 5-16 #F - Text Length 5-18 #G - Output Bin Selection 4-12 #H - Paper Source 5-4 #L - Perforation Skip 5-19 #O - Page Orientation 5-5 #S - Simplex/Duplex Print 4-5 #U - Left Offset Registration 4-7 #X - Number of Copies 4-4 #Z - Top Offset Registration 4-8 %&minus 4-3 &&&ell 4-4, 4-5, 4-7, 4-8, 4-11, 4-12,
*c#V - Vertical Rectangle Size (Decipoints) 14-4 *c#W - User-Defined Pattern 13-16 *p#R - Set Pattern Reference Point 13-22 *p#X - Horizontal Cursor Positioning (PCL Units) 6-6 *p#Y - Vertical Cursor Positioning (PCL Units) 6-12 *r#A - Start Raster Graphics 15-14 *r#F - Raster Graphics Presentation 15-8 *r#T - Raster Height 15-11 *r#T - Raster Width 15-13 *rC - End Raster Graphics 15-30 *s#M - Free Space 16-21 *s#X - Echo 16-25 *t#R - Raster Graphics Resolution 15-6 *v#N - Source Transparency Mode 13-6 *v#O
character design data 11-57 coordinate system 11-4 header 11-7, 11-8 status readback 16-12 black fill 14-9 black rule 13-12 block size, adaptive compression 15-25 bold stroke weight 7-6 boolean (B), data type 10-5, 11-14, 11-51 bottom margin 24-4 bound font 9-8, Glossary-1 boundaries landscape page 2-8 limiting, HP-GL/2 17-19 PCL Picture Frame 19-6 portrait page 2-7 printable area 2-7, 2-8 boundaries, page 2-2 BR command 20-8, 20-19 BS, Backspace 6-7 buffer overflow, (``ERROR 22')' 24-15 byte counts 15-29 B
xy data offset 11-64 character design 7-7 Character Fill Mode command 23-20 Character Group (HP-GL/2) 23-1 commands list 17-5 commands summary 23-1 character orientation 7-8 character origin 23-63 Character Plot (CP) command 23-5, 23-8, 23-16, 23-24 character positioning 6-1 character requirement MSL 10-7 number 9-10 Unicode 10-9 user-defined symbol set header 10-7 character row height 5-22 character sets (fonts) 7-1 character size (HP-GL/2) 23-8, 23-74 Character Slant command 23-8, 23-78 character slope 23
FN (Select Secondary Font) 23-56 FP (Fill Polygon) 21-12, 21-31 FT (Fill Type) 22-9 Horizontal Picture Frame Size 18-8 HP-GL/2 Plot Horizontal Size 18-11 HP-GL/2 Plot Vertical Size 18-12 IN (Initialize) 19-3, 19-15, 19-21 IP (Input P1 and P2) 19-23, 19-36 IR (Input Relative P1 and P2) 19-26 IW (Input Window) 19-18, 19-29 LA (Line Attribute) 22-2 LA (Line Attributes) 22-15 LB (Label) 23-3, 23-59 LO (Label Origin) 23-10, 23-62 LT (Line Type) 22-2, 22-22 PA (Plot Absolute) 17-25, 20-30 PD (Pen Down) 17-21, 20-
Select Default Font 8-27 Set Pattern Reference Point 13-22 Set Raster Compression Method 15-16 set status readback location type 16-8 set status readback location unit 16-9 simplex/duplex print 4-5 Source Transparency Mode 13-6 spacing 8-9 stroke weight, font selection 8-16 Style, Font Selection 8-14 symbol set 8-6 symbol set control 10-12 symbol set ID code 10-2 Text Length 5-18 top margin 5-16 Top Offset Registration 4-8 transfer raster data 15-29 Transparent Print Data 8-28 typeface, font selection 8-18
control codes, horizontal 6-7 control codes, vertical 6-13 decipoints 6-6, 6-11 End-of-Line Wrap 24-12 half-line 6-13 hints 24-5 HP-GL 6-1 PCL Units 6-6, 6-12 printing characters 11-57 raster graphic 15-29 relative 6-2, 24-5 rows 6-9 saving 6-14 stack 6-14 top margins 5-16 units 6-3 vertical 5-16 customer support Customer Support-1 D data block, adaptive compression 15-25 data compression 15-2 bitmap character 11-53 class 2 character data 11-54 raster data 15-13 data offset, scalable character descriptor,
wedges 21-6 driver, design for status 16-2 DT command 23-11, 23-44 DTR polarity Glossary-4 Duplex Page Side Selection command 4-10 duplex printing 4-5 duplicate row, adaptive compression 15-25 DV command 23-9, 23-29, 23-30, 23-37, 23-46 example 23-49 E E - Printer Reset 4-2 EA command 21-3, 21-17 Echo command 16-25 edge pen 23-21 Edge Polygon command 21-21 Edge Rectangle Absolute command 21-17 Edge Rectangle Absolute command 21-3 Edge Rectangle Relative command 21-3, 21-23 Edge Wedge (EW) command 21-7, 21-
Fill Rectangular Area command 14-9 Fill Type command 22-9 fill types 22-4 Fill Wedge (WG) command 21-27, 21-45 filled rectangles 21-4 filling characters (HP-GL/2) 23-20 filling polygons 21-12 final font selection 9-11 first code font header 11-30 user-defined symbol set header 10-7 fixed underline 8-29 fixed-spaced fonts character spacing 5-20, 7-4, 8-9 font selection 8-23 printing 23-15 floating underline 8-29 Flush All Pages command 16-24 FN command 23-56 font 7-1 (defined) Glossary-5 alternate font defin
Font Control command 9-5 font header 11-1, Glossary-5 baseline position 11-18 bitmap 11-7 bitmap character cell 11-19 bitmap example 11-43 calculating symbol set value 11-20 cap height, formula 11-31 cell height 11-18 cell width 11-18 character complement 11-35 checksum 11-39, 11-42 command 11-6 copyright 11-39 examples 11-43, 11-44 first code 11-30 font naming (ASC16) 11-33 font number 11-32 font scaling technology 11-34 font type 11-15 format byte 11-15 formats 11-7 formats of data segments 11-41 global I
Free Space command, status readback 16-21 FT command 22-9 G gaps, in user-defined line types 22-44 GI (Global Intellifont Data) 11-35, 11-41 global italic angle, font header 11-35 glyph ID, TrueType 11-69 glyphs, TrueType, downloading 11-49 graphic patterns 13-8, 14-5 graphics cross-hatch patterns 14-1, 14-8 errors 24-15 limits (HP-GL/2) 17-19, 19-12 patterns 14-1 raster 15-1 resolution 14-2 shading 14-1, 14-6 special effects 13-1 transparency mode 13-1 user-defined patterns 13-13 vector Glossary-15 group
image creation hints 24-9 importing existing images 17-25 labels 23-1 Line and Fill Attributes Group 17-6, 22-1 line segments, four types 19-18 line types/patterns 22-22 listing of commands 17-3 macro overlay environment 12-4 matching coordinate system with PCL 19-15 omitting optional parameters 17-9 orientation 17-17 page size-independent image 18-3 parameter formats 17-10 PCL picture frame 18-1 pen location 17-23 picture frame 2-6 picture frame scaling 18-3 Plot Horizontal Size 18-11 Plot Vertical Size 18
direction 23-29 orientation and placement 23-9 terminator 23-11, 23-44 text 17-11 text (HP-GL/2) 23-1, 23-3, 23-8 Label (LB) command 23-3, 23-59 Label Origin (LO) command 23-10, 23-62 labeling, pen movement 23-24 landscape (defined) Glossary-8 character data example 11-73 orientation 5-5 print boundaries 2-8 LaserJet customer assistance Customer Support-1 printer features v last code 10-7 font header 11-30 layers, and transparency mode 22-42 LB command 23-3, 23-59 example 23-60 Left Margin command 5-13 Left
position field 11-34 thickness field 11-34 master x resolution, pattern descriptor 13-18 master y resolution, pattern descriptor 13-18 matching coordinates, HP-GL/2 and PCL 19-15 measure, unit of Glossary-15 medium stroke weight 7-6 memory available 16-21, 16-24 entity storage 16-3 font usage 7-8, 16-22 macro 12-3 overflow, avoiding 16-2, 24-15 RAM 8-3 raster graphics usage 15-6 ROM 8-3 status readback, free space 16-4 user 8-3 menu Glossary-7 metric data, Intellifont 11-63, 11-64 mirror-image 19-8 creating
parameters formats (HP-GL/2) 17-10 HP-GL/2 syntax 17-7 scaling 19-45 user-units in scaling 19-41 parentheses 17-9 parsing, PCL commands 24-2 Pattern 13-8, 14-5 pattern black fill 14-9 cross-hatch 14-8 cross-hatch fill 14-9 current 13-2 erase fill 14-9 fonts 7-11 line 13-11 raster fill 22-9 reference point 13-14 shaded fill 14-9 shading 13-9, 14-6 transparency mode 13-2 user-defined Glossary-15 user-defined - !!also see!! user-defined pattern 13-13 Pattern ID (Area Fill ID) command 13-8, 14-5 Pattern Transpa
HP-GL/2 2-6 size (vertical) 18-9 picture presentation directives 18-1 pie charts 21-27, 21-45 pitch 7-5, 23-70, 23-73, Glossary-10 computing 8-11 extended, font header 11-30 font header 11-21 font selection command 8-10 in font selection 8-23 selections, range of valid 8-10 pixel 22-33 pixel encoding, user-defined pattern descriptor 13-17 pixel level clipping 2-8 PJL Glossary-10 PJL commands 1-4 placement, font header 11-28 placing text 23-10 Plot Absolute command 17-25, 20-30 Plot Relative command 20-44 pl
characters 24-13 control codes 24-13 printed dots 2-3 printer commands (defined) Glossary-11 internal units 2-5 performance/speed 24-10 program language 1-1 resets 3-8 printer commands combining 1-8 shortening 1-8 Printer Job Language (PJL) commands 1-4 Printer Reset command 4-2 printing a character 9-13 control codes 8-28, 23-86, 24-12 different characters 7-1 duplex 4-5 fixed-spaced fonts 23-15 labels 23-3 menu (defined) Glossary-11 patterns/shading 7-11 processing time 24-10 proportional fonts 23-15 rast
real number 17-10 rectangle drawing (HP-GL/2 mode) 21-3 effect of transparency mode 14-11 fill 14-1 fill (examples) 14-13 fill (transparency mode) 14-11 Fill command 14-9 fill procedure 14-1 Horizontal Size command 14-3 pattern transparency mode 14-2 position 14-10 rectangular area definition 14-1 transparency mode 14-10 Vertical Size command 14-4 reducing/enlarging HP-GL/2 images 19-8 registration text 4-7 Top Offset command 4-8 related manuals x !!Intellifont Scalable Typeface Format!! x !!PCL 5 Compariso
user-units (pictured) 19-5 Screened Vectors command 22-39 screening (area fill) 22-39 SD command 23-68 example 23-73 secondary font 8-5, Glossary-10 HP-GL/2 23-56 HP-GL/2) 23-18 secured paper source 24-4 seed row 15-20, 15-22 adaptive compression 15-27 raster graphic termination 15-15 segment identifier, Format 15 11-40 segment size, Format 15 font header 11-41 segmented font data, Format 15 11-39 Select Alternate Font command 23-66 Select Current Pattern command 13-12 Select Default Font command 8-27 Selec
Error=INVALID UNIT 16-23 Error=NONE 16-20 Flush All Pages command 16-24 font extended 16-10 font status 16-10 Free Space command 16-21 IDLIST= 16-16, 16-17, 16-18 inquire entity command 16-10 LARGEST= 16-22 location type 16-3 location unit 16-3 LOCTYPE= 16-14, 16-17 LOCUNIT= 16-14, 16-17 macro status 16-10 memory 16-2 memory response 16-22 NAME= 16-16 response 16-5 response buffer 16-5 response syntax 16-6 response, font 16-11 response, font extended 16-15 response, macro 16-16 response, symbol set 16-18 re
status readback 16-8 temporary macros 12-5 terminating labels 23-11 termination character 1-6 terminator (HP-GL/2 syntax) 17-7 text angle, varying with DI 23-9 area 5-11, 5-18, 24-4 character positioning (HP-GL/2) 23-62 first line 5-16 height, font header 11-29 length 24-4 length, computing user default 5-18 orienting and placing 23-10 path 23-46 placing HP-GL/2 23-9 positioning 4-7, 4-8 printing 5-11 printing (HP-GL/2) 23-59 Text Length command 5-18 width, font header 11-29 thickness, character 8-16 TIFF a
units coordinate system 6-3 cursor positioning 6-3 design window 11-4 internal printer 2-5 of measure (HP-GL/2) 17-20 PCL coordinate system 2-5 Universal Exit Language (UEL) Glossary-14 Universal Exit Language command 4-3 unsigned byte (UB) 10-5, 11-14 character descriptor 11-51 unsigned integer (UI) 10-5, 11-14 character descriptor 11-51 unsigned long integer (ULI) 10-5, 11-14 upright style 7-6 user default Glossary-15 computing text length 5-18 environment 3-1, Glossary-15 environment (settings) 3-6 symbo
wedges and circles, filling (example) 21-8 WG command 21-6, 21-27, 21-45 white fill 14-9, 14-10 white rule 13-12 width character descriptor 11-57 lines 22-5 pixel, user-defined pattern descriptor 13-18 type (font header) 11-23 windowing 19-18 WU command 22-46 X X resolution, font header 11-33 X,Y axis ranges, user-units in scaling 19-41 coordinate pairs 17-16 X-axis 17-15 PCL coordinate system 2-5 units 6-3 EN xHeight, font header 11-22 XW (x-windows font name), format of data segment 11-42 XY coordinate
Index-24 EN