advertisement
▼
Scroll to page 2
of 408
Panasonic Software Commands Manual for KX-P7200 Table of Contents Printing Description PCL Commands HP-GL/2 Command PJL Commands Appendix A Character Tables Appendix B Unicode Symbol List MSL Symbol List Index PCL Commands Page Formatting Font Selection Moving the Printing Position Raster Graphics Macros Print Model Advanced Graphics Status Readback Miscellaneous HP-GL/2 Commands The Configuration and Status The Polygon Group The Vector Group The Line and Fill Attributes Group The Character Group PJL Commands Introduction PJL Command Syntax and Format Print Environment Composition PJL Reset Conditions Environment Variables Status Message Usage of Command PJL Commands Printing Description Introduction The items discussed in the following sections are listed below: • Page Orientation, Paper Length, Paper Width • Printable Area • Coordinate System • Fonts • Terms for Bitmap Font • Paper Formatting • Print Start Conditions Page Orientation, Paper Length, Paper Width Only single sheet paper can be used with this printer. The size of the paper is determined by the paper length and paper width settings. Both paper length and paper width are decided by the direction of printing, i.e., page orientation. There are two page orientations: portrait printing mode and landscape printing mode. In the portrait printing mode, the text is printed perpendicular to the longer side of the paper. On the other hand, in the landscape printing mode, the text is printed parallel with the long side of the paper. The method of paper setting and the paper feed direction are the same in both modes. The paper feed direction, paper length, paper width and paper orientation are shown in Figure 2.1. Paper width Paper length ABCDEFG Paper width ABCDEFG Paper length Portrait printing mode Figure2.1 Portrait and landscape orientation Landscape printing mode Printable Area The printable area refers to the area where texts and figures can be printed. There exists an unprintable area on the margins of the paper where texts and figures cannot be printed (illustrated below by oblique lines). The printable area size shown in the table is for the printer with 300 dpi resolution. Multiply the dots by 2 for the printer with 600 dpi resolution. For the printer with 600 dpi resolution, 1 dot is equal to 1/600". B C B C A D Printing area Printing area A D C F V C A: B: C: D: G E Portrait F C Paper length Paper width Distance between the edge of the paper and the printable area Length of the printable area C F C E: F: G: Figure 2.2 printable area and unprintable area G E Landscape F C Width of the printable area Distance between the edge of the paper and the logical page Width of the logical page Paper Type Paper Size Letter 8. 5"x11" (215.9x279.4 mm) P L 3,300 2,550 2,550 3,300 50 50 3,200 2,450 2,450 3,200 75 60 2,400 3,180 Legal 8. 5"x14" (215.9x355.6 mm) P L 4,200 2,550 2,550 4,200 50 50 4,100 2,450 2,450 4,100 75 60 2,400 4,080 (1 dot=1/300") A4 210x297 mm (8.27"x11.7") Portrait/ Landscape P L A(dots) 3,507 2,480 B(dots) 2,480 3,507 C(dots) 50 50 D(dots) 3,407 2,380 E(dots) 2,380 3,407 F(dots) 71 59 G(dots) 2,338 3,389 Table 2.1 Printable area size (continued) EXECUTIVE 7. 25"x10.5" (184.1x266.7 mm) P L 3,150 2,175 2,175 3,150 50 50 3,050 2,075 2,075 3,050 75 60 2,025 3,030 (1 dot=1/300") Portrait/ Landscape A(dots) B(dots) C(dots) D(dots) E(dots) F(dots) G(dots) Table 2.1 Printable area size Paper Type Paper Size Paper Type Paper Size Envelope #10 4.13"x9.5" (104.9x241.3 mm) P L 2,850 1,237 1,237 2,850 50 50 2,750 1,137 1,137 2,750 75 60 1,087 2,730 Monarch 3.88"x7.5" (98.5x190.5 mm) P L 2,250 1,162 1,162 2,250 50 50 2,150 1,062 1,062 2,150 75 60 1,012 2,130 (1 dot=1/300") International DL Paper Size 110x220 mm (4.33"x8.66") Portrait/ Landscape P L A(dots) 2,598 1,299 B(dots) 1,299 2,598 C(dots) 50 50 D(dots) 2,498 1,199 E(dots) 1,199 2,498 F(dots) 71 59 G(dots) 1,157 2,480 Table 2.1 Printable area size (continued) International C5 162x229 mm (6.4"x9.02") P L 2,704 1,913 1,913 2,704 50 50 2,604 1,813 1,813 2,604 71 59 1,771 2,586 (1 dot=1/300") Portrait/ Landscape A(dots) B(dots) C(dots) D(dots) E(dots) F(dots) G(dots) Table 2.1 Printable area size Paper Type Paper Type Paper Size Portrait/ Landscape A(dots) B(dots) C(dots) D(dots) E(dots) F(dots) G(dots) Table 2.1 Printable area size Custom maximum 215.9x355.6 mm (8.5"x14") P L 4,200 2,550 2,550 4,200 50 50 4,100 2,450 2,450 4,100 75 60 2,400 4,080 (1 dot=1/300") Coordinate System A coordinate system should be set up as a standard for deciding the location where texts or figures are printed. The origin of the coordinate system is initialized at the left upper corner of the paper in accordance with the printing direction in both portrait printing mode and landscape printing mode. Refer to Figure 2.3. Origin (0,0) X Origin (0,0) ABCDEFG X ABCDEFG Y Y Portrait printing mode Figure 2.3 Origin of the coordinate system Landscape printing mode Built-in Fonts The fonts except Line Printer are all scalable fonts. Proportional spacing for a scalable font can be set from 4 to 999.75 points. The value is increased or decreased by 0.25. Fixed pitch for a scalable font can be set from 0.44 to 99.99 cpi (characters per inch). The value is increased or decreased by 0.01. Line Printer is the only supported Bitmap Font (16.66 pitch, 8.5 points). Font Pitch Albertus ps Antique Olive ps Style Upright Upright Italic Upright Arial ps Italic Upright CG Omega ps Italic Upright CG Times ps Italic Table 2.2 Built-in fonts (continued) Stroke Weight Medium Extra Bold Medium Bold Medium Medium Bold Medium Bold Medium Bold Medium Bold Medium Bold Medium Bold ps=proportional spacing Font Clarendon Condensed Coronet Pitch ps ps Courier fixed Style Condensed Italic Upright Italic Garamond Antiqua Garamond Halbfett Garamond Kursiv Garamond Kursiv Halbfett ps ps ps ps Letter Gothic fixed Line Printer Marigold Symbol fixed ps ps Times New Roman ps Upright Upright Italic Italic Upright Italic Upright Upright Upright Upright Italic Table 2.2 Built-in fonts (continued) Stroke Weight Bold Medium Medium Bold Medium Bold Medium Bold Medium Bold Medium Bold Medium Medium Medium Medium Medium Bold Medium Bold ps=proportional spacing Font Univers Wingdings Table 2.2 Built-in fonts Pitch ps ps Style Stroke Weight Medium Upright Bold Medium Italic Bold Medium Condensed Bold Condensed Medium Italic Bold Upright Medium ps=proportional spacing Terms for Bitmap Font Cell The term “cell” refers to the frame of the character which decides the size of bitmap when designing a font. The horizontal line of dots is called the dot line and vertical line is called dot column. The bottom line of the cell is called the first line and the leftmost column is called the first column. Baseline The term “baseline” refers to a standard line for printing characters in line. The position of a baseline is decided when designing a font. For example, when consecutive characters have different cell heights, they are printed so that the baseline of each character is aligned. Cell Cell Cell height Cell height Baseline Figure 2 4 Baseline Left/Right Offset of a Character Left offset of character means the number of the dot lines on the left of a character where no dots are printed, and right offset refers to the number of the dot lines on the right of a character where no dots are printed. Cell width Cell height Baseline Left offset Figure 2.5 Character cell Right offset Fixed Pitch Characters The cell width is constant for fixed pitch characters. HMI Baseline Figure 2.6 Fixed character pitch Proportional Spacing Characters Proportional spacing means the character width of the cell is different for each character according to the width of each character. An “M” is a wider character than an “I”. A B Baseline A≠B Figure 2.7 Proportional spacing Paper Formatting The printer has the following paper formatting requirements: • Page width is the distance from the left edge to the right margin of the paper and must be less than or equal to the paper width. • Page length must be greater than or equal to 1 line and less than or equal to the paper length. Portrait Printing Mode Single page Origin Page width TM BM LM Page length RM Page length TM: BM: LM: RM: Page width Figure 2.8 Paper formatting-portrait Top margin Bottom margin Left margin Right margin Landscape Printing Mode Single page Origin Page width TM BM LM Page length Page length RM Paper width Figure 2.9 Paper formatting-landscape TM: BM: LM: RM: Top margin Bottom margin Left margin Right margin Print Start Conditions This printer is a page printer. As such it will only begin printing when print start conditions are satisfied, that is, after the layout of data for one sheet of print has been completed. Therefore, if the print start conditions are not satisfied, the data to be printed remains in the printer even if all the printing data has been sent from the computer. • FF is received. • Reset command is received. • Orientation is changed. • DATA TIME OUT is set to ON and the time set has passed. • PRINT key has been pressed. • Page size or page length is changed. PCL Commands Command Group Page Formatting Font Selection Function Orientation Page Size Print Direction Top Margin Text Length Skip Perforation Left Margin Right Margin Margin Clear Lines Per Inch VMI HMI Shift In Shift Out Symbol Set Spacing Print Pitch Character Height Character Style Stroke Weight Typeface Default Font Control code comparison chart-page reference table (continued) Name ESC “&l#O” ESC “&l#A” ESC “&a#P” ESC “&l#E” ESC “&l#F” ESC “&l#L” ESC “&a#L” ESC “&a#M” ESC “9” ESC “&l#D” ESC “&l#C” ESC “&k#H” SI SO ESC “(ID” ESC “(s#P” ESC “(s#H” ESC “&k#S” ESC “(s#V” ESC “(s#S” ESC “(s#B” ESC “(s#T” ESC “(#@” Command Group Moving the Printing Position Function Horizontal Vertical Resolution Set Graphics Presentation Mode Height Width Graphics Start Y Offset Compression Mode Data Sending Graphics End Version B Version C Font ID define Font Downloading Font Header Character Code Define Download Character Font Define Font/character Control User-Defined Symbol Set ID Code Define User-Defined Symbol Set User-Defined Symbol Set Control Control code comparison chart-page reference table (continued) Raster Graphics Name ESC “&a#C” ESC “*p#X” ESC “&a#H” ESC “&a#R” ESC “*p#Y” ESC “&a#V” ESC “*t#R” ESC “*r#F” ESC “*r#T” ESC “*r#S” ESC “*r#A” ESC “*b#Y” ESC “*b#M” ESC “*b#W” ESC “*rB” ESC “*rC” ESC “*c#D” ESC “)s#W” ESC “*c#E” ESC “(s#W” ESC “(#X” ESC “*c#F” ESC “*c#R” ESC “(f#W” ESC “*c#S” Command Group Macros Print Model Advanced Graphics Function Macro ID Macro Control Pattern Transparency Mode Source Transparency Mode Current Pattern Designating Graphics Pattern Logical Operation Pixel Placement Rule Width Rule Height Pattern ID Rule/Pattern Print Download Pattern Data Tile Pattern Control Pattern Set Status Readback Location Type Status Readback Set Status Readback Location Unit Inquire Status Readback Entity Free Space Flush All Pages Echo Control code comparison chart-page reference table (continued) Name ESC “&f#Y” ESC “&f#X” ESC “*v#O” ESC “*v#N” ESC “*v#T” ESC “*c#G” ESC “*l#O” ESC “*l#R” ESC “*c#A” ESC “*c#H” ESC “*c#B” ESC “*c#V” ESC “*c#G” ESC “*c#P” ESC “*c#W” ESC “*p#R” ESC “*c#Q” ESC “*s#T” ESC “*s#U” ESC “*s#I” ESC “*s1M” ESC “&r#F” ESC “*s#X” Command Group Miscellaneous Function Display Function Transparent Print Underlining Setting Release Push/Pop Printing Position Half Line Feed CR/LF/FF Action Wrap Around Number of Copies Paper Input Control Duplex Page Side Selection Simplex/Duplex Print Printer Reset Self-test Left Offset Registration Top Offset Registration Universal Exit/Start of PCL Decide PCL Units Picture frame Horizontal Plotting Picture size-Decipoints Frame Picture frame Vertical size-Decipoints Set picture frame anchor point GL Plot Horizontal size-Inches GL Plot Vertical size-Inches Enter PCL Mode Enter GL Mode Control code comparison chart-page reference table Name ESC “Y” ESC “Z” ESC “&p#X” ESC “&d#D” ESC “&d@” ESC “&f#S” ESC “=” ESC “&k#G” ESC “&s#C” ESC “&l#X” ESC “&l#H” ESC “&a#G” ESC “&l#S” ESC “E” ESC “z” ESC “&l#U” ESC “&l#Z” ESC “%-12345X” ESC “&u#D” ESC “*c#X” ESC “*c#Y” ESC “*c#T” ESC “*c#K” ESC “*c#L” ESC “%#A” ESC “%#B” PCL Commands Page Formatting Page formatting is executed by setting the following: orientation, page size, page length, top margin, text length, skip perforation, vertical line feed, horizontal spacing, left margin and right margin. Format can be classified by orientation in two ways; portrait printing mode and landscape printing mode. Top margin Top margin Bottom Text length margin Page length Page length Left margin Right margin Portrait printing mode Figure 3.1 Page formatting Text length Left margin Right margin Landscape printing mode Bottom margin Orientation Setting: ESC “&l#O” #=0: Portrait printing mode 1: Landscape printing mode 2: Reverse portrait printing mode 3: Reverse landscape printing mode This command decides the page orientation. When the orientation is changed, top margin, text length, left margin, right margin, HMI and VMI return to the default setting and the primary and secondary fonts are changed and reevaluated. Therefore, this command should be sent from the computer as the first command of the page. When data already exists in the printer and the printer receives this command, printing automatically starts and the printing position is moved to the first column of the first line. Page Size Setting: ESC “&l#A” #= 1: Executive (71/4x101/2 inch) 3: Legal (81/2x14 inch) 2: Letter (81/2x11 inch) 6: Ledger (11x17 inch) 26: A4 (210x297 mm) 27: A3 (297x420 mm) 80: Monarch (Letter37/8x71/2 inch) 81: Commercial #10 (Business41/8x91/2 inch) 90: International DL (110x220 mm) 91: International C5 (162x229 mm) 101: Custom (maximum 13x19 inch) This command sets the page size and also sets page length, page width, top margin, bottom margin, left margin and right margin to default setting values. Print Direction Setting: ESC “&a#P” #= 0 90 180 270 0° 90° 180° 270° Portrait Landscape Reverse prtrait Reverse landscape This command rotates the logical page coordinate system in the current orientation without outputting a page. You are able to print in four orientations on the same page. This command rotates the coordinate system in 90 degrees increments counterclockwise. Top Margin Setting: ESC “&l#E” #=Number of lines This command sets the top margin. The top margin indicates the margin on the upper end of the printing paper. The desired length of the margin is entered by the number of the lines(1 line = VMI) in the value field #, and any value from 0 to the page length can be used. The default setting is ½ inch from top of logical page. When the top margin is set, the text length returns to the default setting. Since an unprintable area of 60 dots exists on the upper end of the printing paper, some upper part of text cannot be printed when the top margin is set as 0 or 1 line. This command only sets the top margin. It does not move the printing position to the top margin. Therefore, the printing position must be moved to the top margin by the vertical movement of the printing position command when printing from the top margin is required. Otherwise the printing from the top margin is effective only on the next page. When VMI is 0, this command is invalid. Text Length, Bottom Margin Setting: ESC “&l#F” #=Number of lines This command sets the text length. Text length refers to the number of lines to be printed on the paper. Enter the desired number of lines in the value field #. When # exceeds the value of “Page Length-Top Margin”, this command is invalid. When the text length is set, the bottom margin (the margin on the lower end of paper) can be automatically determined by the following formula: Bottom Margin = Page Length − Top Margin − Text Length The text length returns to the default setting in the following cases: • When • When • When • When the page size is changed the orientation is changed the page length is set the top margin is set Skip Perforation Setting: ESC “&l1L” Release: ESC “&l0L” The bottom margin is controlled by the skip perforation mode command. When the skip perforation is set, as soon as the printing position enters the bottom margin area, the paper feed is performed and the printing starts from the top margin of the next page. When the skip perforation is released, the printing continues even after the printing position enters the bottom margin area. When the printing position exceeds the page length, the paper feed is executed and printing starts from the top of the next page. In this case, any characters in the unprintable area cannot be printed. The default setting of the bottom margin is 1/2". Therefore, the default setting of the text length is; Page Length − Top Margin − 1/2". Left Margin Setting: ESC “&a#L” #=Column number Release: ESC “9” This command defines the left margin. Enter the desired number of columns from the origin in the value field # to set the left margin. One column is equal to one HMI. ESC “9” is used to clear the left and right margins at the same time. Right Margin Setting: ESC “&a#M” #=Column number Release: ESC “9” This command defines the right margin. Enter the desired number of columns from the origin in the value field # to set the right margin. One column is equal to one HMI. Default setting of the left margin is column 0 and the right margin is the page width. ESC “9” is used to clear the left and right margins at the same time. Vertical Motion Amount Vertical motion amount is the amount of the line feed, and is a unit of one line of page length, top margin, text length and vertical movement of printing position. Vertical motion amount is set by either of the following two methods: • By the number of lines per inch Setting: ESC “&l#D” #= 1: 1 lpi 2: 2 lpi 3: 3 lpi 4: 4 lpi 6: 6 lpi 8: 8 lpi 12: 12 lpi 16: 16 lpi 24: 24 lpi 48: 48 lpi Enter a desired number of lines per inch. 1, 2, 3, 4, 6, 8, 12, 16, 24 and 48 are acceptable values as the value field #. For example, to print 6 lines per inch, the computer must send ESC “&l6D”. • By VMI (Vertical Motion Index) VMI sets the vertical motion amount in multiples of 1/48 inch. Setting: ESC “&l#C” #= Multiples of 1/48 inch Enter a desired number for VMI from 0 to 32767 in the value field #. This value field can be specified to four decimal places. For example, when VMI = 8, the vertical motion amount is 8 x 1/48"= 1/6", thus 6 lines are printed per inch. The default setting of the vertical motion amount is 1/6", or 8 as VMI. Horizontal Motion Amount Horizontal motion amount is the amount of horizontal space between characters and is a unit of the left and right margins in the fixed pitch mode. This overrides the print pitch set by the font selection. This is set by HMI (Horizontal Motion Index). HMI sets the horizontal motion amount in multiples of 1/120 inch. Setting: ESC “&k#H” #= Multiples of 1/120 inch Enter a desired number of HMI from 0 to 32767 in the value field #. This value field can be specified to four decimal places. For example, when HMI is 12, the horizontal motion amount is 12 x 1/120"= 1/10", thus 10 characters are printed per inch. The default setting of HMI is the width of the SP (20HEX) code of the font which is selected at present. The HMI returns to the default setting in the following cases: • When • When • When • When • When • When the orientation is changed the symbol set of the font which is valid at present is changed the print pitch of the font which is valid at present is changed the spacing of the font which is valid at present is changed the point size of the font which is valid at present is changed the primary font and the secondary font are changed In the proportional space (PS) mode, the HMI is valid only on SP code. Font Selection Commands that set font characteristic enable font selection of internal or download fonts, and fonts from external font cards. The printer has seven font characteristics as follows: Symbol Set: the set of characters available for printing. Spacing: is either fixed or proportional. Fixed spaced characters all have the same width; proportional character widths vary from character to character. In proportional spacing, an “M” takes up more space than an “I”. Pitch: is the number of characters printed per inch in a font with fixed spacing. Because proportional widths vary, pitch is not applicable to proportional fonts. Point Size: describes the vertical size of a character. One inch is equal to 72 points. Style: can be either upright or italic. Stroke Weight: describes the “heaviness” of the font. Type Face: refers to the design of the character set. After checking the font characteristics and giving them a priority, the printer selects the font in the printer that most closely matches the font described by the font selection commands. The default characteristics are those of default fonts. Primary/Secondary Font Attribute Font characteristics are set on both primary and secondary fonts, therefore two fonts can be selected. Only one of these attributes can be given to a font. The primary font attribute is given to the font that is used most often in the document, while the secondary attribute is given to an auxiliary font. These fonts can be alternated by using the control codes SI and SO. The commands to select fonts assign each font characteristic to these attributes; as a result they give these attributes to the fonts. SI (Shift In): This command assigns the font to be printed after this command as the primary font until SO is received (primary select mode). SO (Shift Out): This command assigns the font to be printed after this command as the secondary font until SI is received (secondary select mode). Detailed explanations of how each font characteristic is set are as follows: Symbol Set Setting/Primary: ESC “(ID” Setting/Secondary: ESC “)ID” This command selects a symbol set. Enter a symbol set ID number in the ID field of the above command. Symbol Set ISO 60 Norwegian V1 ISO 4 United Kingdom Windows 3.1 Latin 2 ISO 69 French ISO 21 German ISO 15 Italian Microsoft Publishing DeskTop PS Text MC Text Ventura International Ventura US Wingdings PS Math Ventura Math Math-8 Symbol ISO 8859/1 Latin 1 (ECMA-94) ISO 8859/2 Latin 2 ISO 8859/9 Latin 5 ISO 11 Swedish ISO 17 Spanish Windows 3.1 Latin 5 PC-Turkish Table 3.2 Symbol set ID numbers(continued) ID 0D 1E 9E 1F 1G 0I 6J 7J 10J 12J 13J 14J 579L 5M 6M 8M 19M 0N 2N 5N 0S 2S 5T 9T Symbol Set ISO 6 ASCII Legal Roman-8 Windows 3.0 Latin 1 PC-8 PC-8 Danish/Norwegian PC-850 Multilingual Pi Font PC-852 Latin 2 Windows 3.1 Latin 1 Table 3.2 Symbol set ID numbers Spacing Setting/Primary: ESC “(s#P” Setting/Secondary: ESC “)s#P” #=0: Fixed spacing 1: Proportional spacing This command selects fixed pitch or proportional spacing. ID 0U 1U 8U 9U 10U 11U 12U 15U 17U 19U Print Pitch • Case 1 Setting/Primary: ESC“(s#H” Setting/Secondary: ESC “)s#H” #=Number of characters per inch This command sets the print pitch by entering the pitch (number of characters per inch) in the value field #. If proportional spacing is set, this setting is registered as a characteristic, but is invalid. • Case 2 Setting: ESC “&k#S” #=0: 10 cpi 2: 16.66 cpi 4: 12 cpi This command sets the print pitch for both the primary and secondary fonts. HMI and the print pitch are also changed by this command, but the print pitch of the font is not affected. Only the spacing amount is changed. Character Height Setting/Primary: ESC “(s#V” Setting/Secondary: ESC “)s#V” #=Height of the font cell in points (1 point is 1/72"). This command sets the character height. VMI is not affected by setting the point size. Character Style Setting/Primary: ESC “(s#S” Setting/Secondary: ESC “)s#S” #=Character style value Value (#) Character Style 0 Upright, Solid 1 Italic 4 Condensed 5 Condensed Italic 8 Compressed, or Extra Condensed 24 Expanded 32 Outline 64 Inline 128 Shadowed 160 Outline Shadowed Table 3.3 Character style value This command sets character style listed in Table 3.3. Stroke Weight Setting/Primary: ESC “(s#B” Setting/Secondary: ESC “)s#B” #=Thickness value Value (#) Typeface -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 Table 3.4 Typeface value This command selects the thickness of the characters. Typeface Setting/Primary: ESC “(s#T” Setting/Secondary: ESC “)s#T” #=Typeface value This command selects the design of characters. Typeface Family Typeface Base Value (#) Value (#) 4096 0 4099 3 4101 5 4102 6 4113 17 4116 20 4140 44 4148 52 4168 72 4197 101 4297 201 4314 218 4362 266 4398 302 4613 517 6826 2730 Table 3.5 Typeface value Typeface Line Printer Courier CG Times Letter Gothic CG Omega Coronet Clarendon Univers Antique Olive Garamond Marigold Arial Albertus Symbol Times New Roman Wingdings Typeface Selection Command Two-Byte Printer Font One-Byte/Two-Byte Typeface Descriptor Two-Byte Your Printer Typeface selected. Typeface for font Two-Byte One-Byte selection is ignored. One-Byte Two-Byte Typeface* selected. One-Byte One-Byte Typeface selected. Table 3.6 One-Byte/Two-Byte typeface selection compatibility *If you can have two fonts in the printer which have the same value in the lower (LSB) byte of the font descriptor typeface field, the selected typeface will be one of these selected at random. Default Font Selection The default font command sets the font to default value. • To make the primary font default. Setting: ESC “(#@” #=3: To select all characteristics of the default font as characteristics of the primary font. Any value except 3 is invalid • To make the secondary font default. Setting: ESC “)#@” #=3: To select all characteristics of the default font as characteristics of the secondary font. Any value except 3 is invalid Moving the Printing Position The printing position can be moved horizontally or vertically by commands that change the location of printing data. Two methods of moving the print position are available; relative movement from the current printing position and absolute movement from the origin. When the value in the value field # is prefixed with “+”, the printing position moves relative to the right in horizontal movement mode and downward in vertical movement mode. When the value is prefixed with “-” , the printing position moves relative to the left in horizontal movement mode and upward in vertical movement mode. When neither “+” or “−” is prefixed, the printing position moves by the designated distance from the origin. Three kinds of units for moving the printing position in both horizontal and vertical directions are available; columns/lines, decipoints (1/720") and PCL Units. Horizontal Movement • By columns Setting: ESC “&a#C” #=Number of columns This command moves the current printing position to a new column position. The width of a column depends on the current HMI. • By decipoints Setting: ESC “&a#H” #=Number of decipoints ( 1/720inch) This command moves the current printing position to a new decipoint position. • By PCL units Setting: ESC “*p#X” #=Number of PCL units This command moves the current printing position to a new PCL units position. See “Deciding PCL Units”. Vertical Movement • By lines Setting: ESC “&a#R” #=Number of lines This command moves the current printing position to the same position on a new line. The height of a line depends on the current VMI. • By decipoints Setting: ESC “&a#V” #=Number of decipoints ( 1/720inch) This command moves the current printing position to a new decipoint position. • By PCL units Setting: ESC “*p#Y” #=Number of PCL units This command moves the current printing position to a new PCL units position. See “Deciding PCL Units”. Raster Graphics Raster Graphics is a printing function that prints graphic patterns by sending dot image data by raster units (scanning line) from the computer. Raster graphics are printed by using the following procedures: Setting the Resolution Setting: ESC “*t#R” #=Resolution (75, 100, 150, 200, 300 or 600) This command sets the dot resolution at 75, 100, 150, 200, 300 or 600 dpi. The default setting is 75 dpi. Once raster graphics printing is started, this command is invalid until printing ends. It is necessary to set the command before starting to print. The details of the resolution are explained below. The size of 1 bit of the raster image data actually printed is; 1 /600"x1/600" /300"x1/300" 1 /200"x1/200" 2 /300"x2/300" 3 /300"x3/300" 4 /300"x4/300" 1 at at at at at at 600 dpi 300 dpi 200 dpi 150 dpi 100 dpi 75 dpi That is, the size at 600, 150, 100 or 75 dpi is , 4, 9 or 16 times as large as that at 300 dpi. Therefore, when the same raster image data is printed in different resolutions, each dot is printed larger or smaller depending on the selected resolution. The printed image pattern appears larger and rougher at 75 dpi, and smaller and finer at 600 dpi as shown in Figure 3.5. Raster Graphics Presentation Mode Setting: ESC “*r#F” #=0: To print raster image in orientation of logical page #=3: To print raster image along the width of physical page This command sets the orientation for raster image on the logical page. The default is 3. Raster Height Setting: ESC “*r#T” #=Height in raster rows This command sets the height in raster rows of the raster areas denoted when the start raster graphics mode command (ESC “*r#A”) being executed. The height is the direction perpendicular to that of the arranged raster rows. The value field # is 0 to logical page length (Y-position of the cursor position). E: Width of logical page A: Height of logical page A=B B: Raster height C: Height of logical page C=D Portrait mode 0 & 3 Figure 3.2 Maximum raster height F: Raster height D: Raster height E=F Landscape mode 0 Landscape mode 3 Raster Width Setting: ESC “*r#S” #=Width in pixels of the specified resolution This command sets the width in pixels of the raster areas denoted when the start raster graphics mode command (ESC “*r#A”) being executed. The width is the same direction as the raster rows are positioned. The value field # is 0 to logical page width (left graphics margin). A: Width of logical page C: Width of logical page B: Raster width A=B Portrait mode 0 & 3 D: Raster width E : Height of logical page C=D Landscape mode 0 Figure 3.3 Maximum raster height E=F F: Raster width Landscape mode 3 Start the Raster Graphics Mode Setting: ESC “*r#A” #=0 or 1 This command directs the printer to start raster graphics printing as well as deciding the starting point of the graphic to be printed. When the value field # is 0, printing starts vertically from the left end of the printing area, while printing starts from the current printing position when the # is 1. When # is 1, the printing position must be moved to the upper left position of the graphics pattern before entering this command. Raster Y Offset Setting: ESC “*b#Y” #=Number of raster line of vertical movement (0 to 32767) This command moves the raster line by the set number from the current raster position in the Y-position of the cursor position. This command is valid only in the raster graphics mode and within the raster area. Set Compression Mode Setting: ESC “*b#M” #=0: Unencoded 1: Run-length encoding 2: Tagged imaged file format (TIFF) rev. 4.0 3: Delta row compression 5: Adaptive compression Any value except 0, 1, 2, 3 and 5 is invalid. This command encodes the raster data by one of four compressed formats: Run-length encoding, Tagged imaged file format (TIFF) rev. 4.0, Delta row compression and Adaptive compression. • Unencoded This code sends data in the form of binary, without compressing data. One bit indicates a single dot. Bit 7 of the first byte indicates the first dot of the raster row. Bit 0 indicates the eighth dot. • Run-length encoding This format receives raster data in pairs of bytes. The first byte indicates the number of repeated data in the second byte. The number is 0:the pattern of data byte is printed once. The number is 1:the pattern of data byte is printed twice. The range of number is from 0 to 255. [(Repetition count byte 1-256)(Pattern byte)].[.][] • Tagged Image File Format Encoding This format has features of Unencoded and Run-length encoding. A control byte in the raster data determines whether the subsequent data is unencoded or encoded. If you send unencoded data, send subsequently bytes of literal data. If you send encoded data, send subsequently literal patterns and the number of repetitions. When the control byte value is negative (-1 to -127), the printer repeats the subsequent data byte the times of the absolute value. When a control byte is -7, the raster pattern in the next data byte are repeatedly printed 8 times. [Control byte (-1 to -127)](Pattern byte) When the control byte value is positive (1 to 127) including 0, the printer does not repeat the data byte. The positive value plus one indicates the number of unencoded data. When a control byte is 5, the following 6 bytes are literal raster data bytes. [Control byte (0 to 127)](Pattern byte)(Pattern byte)... When a control byte is set to -128, the printer ignores -128 and the subsequent byte becomes a new control byte. Note: We recommend encoding two subsequent identical bytes for a repeated byte, or encoding the whole codes as literal bytes when literal bytes follow or procede the two identical bytes. • Delta Row Compression When a part of bytes in a row are different from those of the preceding row, this format identifies the difference and sends only the data which is different (the delta data). When you encode the row completely different from its preceding row, you must send the whole data for the row as the delta. When only one bit in a row is different, you need to send only one byte. The printer picks up the current row (we call it seed row) to construct the raster data rows (image) and changes (part of) raster image to make the new row. The printer uses the subsequent delta compression data to make another one. A command byte and the replacement bytes are the components of a delta compression row. [(Command byte)(1 to 8 Replacement bytes)] The command bytes indicate: how many replacement (delta) bytes are followed. where byte string (the left offset) is replaced. The replacement bytes indicate: How many bytes (up to eight bytes) are used to make the new row from the seed row. When you need more than eight replacement bytes, you must add command byte and replacement bytes as follows. [(Command byte)(1 to 8 Replacement bytes)][(Command byte)(1 to 8 Replacement bytes)] Example: Indicates 2 bytes Delta row Command byte compression mode SC “*b3m2W”(00000000)2(01111111)2 Number of bytes to replace Replacement byte Relative offset The upper three bits: shows the number of replacement bytes (1 to 8 bytes) The lower five bits: shows the location for the replacement bytes. When a row has more than one replacement, the second offset begins at the next untreated byte in the row. An offset value varies from 0 to 31. Offsets larger than 31 bytes are available: Offset value 0 to 30: The printer offsets replacement bytes from the first byte to the thirty-first byte. Offset value 31: An offset byte is added to the command byte. If 255 is set for additional offset bytes, offset bytes must be added until the required offset value is entered. If the offset byte is set to less than 255, the printer interprets that the last offset value and the offset bytes are added. Example: Replacement byte ESC “*b3m4W”(00011111)2(11111111)2(00000001)2(11010001)2 Replace 1 byte Final offset byte Relative offset; 31 Additional byte offset;255 The three offset values are summed up to 287 by the total of (31+255+1). For more efficient compression encoding The seed row is overridden by every raster graphic transfer, regardless of the compression mode. The delta compression mode can be used with other modes thanks to the feature mentioned on the previous page. When the Raster Graphic Data Sending command, ESC “*b#W”, is set to #=0, the printer repeats or copies the previous raster row. When the Raster Y Offset command, ESC “*b#Y”, is set to #=1, the printer sets the seed row to the row of zero. A seed row of zero becomes the next delta row. • Adaptive Compression This code can be used with the other modes (#=0, 1, 2 and 3). Example: ESC “*b5m16W”03(h)00(h)0a(h)ff(h)....ff(h)04(h)00(h)05(h) Command byte; 3 Number of bytes in raster rows;10 bytes Number of repeated empty rows; 5 Raster data;10 bytes Command byte;4 The 0: 1: 2: 3: 4: 5: values of command byte Unencoded Run-length encoding Tagged image file format Delta row Empty row Duplicate row When the command byte value is 0, 1, 2 or 3, two bytes after the command byte is interpreted as the number of raster rows. When the command byte is 4 or 5, the two bytes are interpreted as the number of empty rows or the number of duplicate rows. Four program samples to print the raster graphics are shown: Program sample 1: Unencoded 10 OPEN "lPt1:" FOR RANDOM AS #1 20 WIDTH #1, 255 30 PRINT #1, CHR$(27); "*t75R"; 40 PRINT #1, CHR$(27); "*r0F"; 50 PRINT #1, CHR$(27); "*r0A"; 60 PRINT #1, CHR$(27); "*b0m6Wn; 70 PRINT #1, CHR$(&H0);CHR$(&H0);CHR$(&H0);CHR$(&H0);CHR$(&H0);CHR$(&H0); 80 PRINT #1, CHR$(27); "*b0m6W"; 90 PRINT #1, CHR$(&H0);CHR$(&H0);CHR$(&H1);CHR$(&H0);CHR$(&H0);CHR$(&H0); 100 PRINT #1, CHR$(27); "*b0m6W"; 110 PRINT #1, CHR$(&H0);CHR$(&H0);CHR$(&H3);CHR$(&H130);CHR$(&H0);CHR$(&H0); 120 PRINT #1, CHR$(27); "*b0m6W"; 130 PRINT #1, CHR$(&H0);CHR$(&H0);CHR$(&H7);CHR$(&HC0);CHR$(&H0);CHR$(&H0); 140 PRINT #1, CHR$(27); "*b0m6W"; 150 PRINT #1, CHR$(&H0);CHR$(&H0);CHR$(&HF);CHR$(&HE0);CHR$(&H0);CHR$(&H0); 160 PRINT #1, CHR$(27); "*b0m6W"; 170 PRINT #1, CHR$(&H0);CHR$(&H0);CHR$(&H1F);CHR$(&HF0);CHR$(&H0);CHR$(&H0); 180 PRINT #1, CHR$(27); "*b0m6W"; 190 PRINT #1, CHR$(6H0);CHR$(&H0);CHR$(&H3F);CHR$(&HF8);CHR$(&H0);CHR$(&H0); 200 PRINT #1, CHR$(27); "*b0m6W"; 210 PRINT #1, CHR$(&H0);CHR$(&H0);CHR$(&H7F);CHR$(&HFC) HR$(&H0);CHR$(&H0); 220 PRINT #1, CHR$(27); "*b0m6W"; 230 PRINT #1, CHR$(&H0);CHR$(&H0);CHR$(&HFF);CHR$(&HFE);CHR$(&H0);CHR$(&H0); 240 PRINT #1, CHR$(27); "*b0m6W"; 250 PRINT #1, CHR$(&H0);CHR$(&H1);CHR$(&HFF);CHR$(&HFF);CHR$(&H0);CHR$(&H0); 260 PRINT #1, CHR$(27); "*b0m6W"; 270 PRINT #1, CHR$(&H0);CHR$(&H3);CHR$(&HFF);CHR$(&HFF);CHR$(&H130);CHR$(&H0); 280 PRINT #1, CHR$(27); "*b0m6W"; Figure 3.4 Raster graphics compression examples (continued) 290 300 310 320 330 340 350 360 370 380 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570 PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, CHR$(&H0);CHR$(&H7);CHR$(&HFF);CHR$(&HFF);CHR$(&HC0);CHR$(&H0); CHR$(27); "*b0m6W"; CHR$(&H0);CHR$(&HF);CHR$(&HFF);CHR$(SHFF);CHR$(&HE0);CHR$(&H0); CHR$(27); "*b0m6W"; CHR$(&H0);CHR$(&H1F);CHR$(&HFF);CHR$(&HFF);CHR$(&HF0);HR$(&H0); CHR$(27); "*b0m6W"; CHR$(&H0);CHR$(&H3F);CHR$(&HFF);CHR$(&HFF);CHR$(&HF8);CHR$(&H0); CHR$(27); "*b0m6W"; CHR$(&H0);CHR$(&H7F);CHR$(&HFF);CHR$(&HFF);CHR$(&HFC);CHR$(&H0); CHR$(27); "*b0m6W"; CHR$(&H0);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HFE);CHR$(&H0); CHR$(27); "*b0m6W"; CHR$(&H1);CHR$(&HFF);CHR$(&HFF);CHR$(KHFF);CHR$(&HFF);CHR$(&H0); CHR$(27); "*b0m6W"; CHR$(&H3);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&H80); CHR$(27); "*b0m6W"; CHR$(&H7);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HC0); CHR$(27); "*b0m6W"; CHR$(&HF);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HE0); CHR$(27); "*b0m6W"; CHR$(6H1F);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HF0); CHR$(27); "*b0m6W"; CHR$(&H3F);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HF8); CHR$(27); "*b0m6W"; CHR$(&H7F);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HFC); CHR$(27); "*b0m6W"; CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HFF);CHR$(&HFE); CHR$(27); "*rB"; CHR$(12); Program sample 2: Run-length encoding 10 OPEN "lpt1:" FOR RANDOM AS #1 20 WIDTH #1, 255 30 PRINT #1, CHR$(27); "*t75R" ; Figure 3.4 Raster graphics compression examples (continued) 40 PRINT #1, CHR$(27); "*r0F" ; 50 PRINT #1, CHR$(27); "*r0A" ; 60 PRINT #1, CHR$(27); "*b1m2W"; 70 PRINT #1, CHR$(5); CHR$(&H0); 80 PRINT #1, CHR$(27); "*b1m6W"; 90 PRINT #1, CHRS(&H1);CHR$(&H0);CHR$(&H0);CHR$(&H1);CHR$(&H2);CHR$(&H0); 100 PRINT #1, CHR$(27); "*b1m8W"; 110 PRINT #1, CHR$(&H1);CHR$(&H0);CHR$(&H0);CHR$(&H3) 115 PRINT #1, CHR$(&H0);CHR$(&H80);CHR$(&H1);CHR$(&H0); 120 PRINT #1, CHR$(27); "*b1m8W"; 130 PRINT #1, CHR$(&H1);CHR$(&H0);CHR$(&H0);CHR$(&H7) 135 PRINT #1, CHR$(&H0);CHR$(&HC0);CHR(&H1);CHR$(&H0) 140 PRINT #1, CHR$(27); "*b1m8W"; 150 PRINT #1, CHR$(&H1);CHR$(&H0);CHR$(&H0);CHR$(&HF); 155 PRINT #1, CHR$(&H0);CHR$(&HE0);CHR$(&H1);CHR$(&H0); 160 PRINT #1, CHR$(27); "*blm8W"; 170 PRINT #1, CHR$(&H1);CHR$(&H0);CHR$(&H0);CHR$(&H1F); 175 PRINT #1, CHR$(&H0);CHR$(&HF0);CHR$(&H1);CHR$(&H0); 180 PRINT #1, CHR$(27); "*b1m8W"'; 190 PRINT #1, CHR$(&H1);CHR$(&H0);CHR$(&H0);CHR$(&H3F); 195 PRINT #1, CHR$(&H0);CHR$(&HF8);CHR$(&H1);CHR$(&H0); 200 PRINT #1, CHR$(27); "*b1m8W"; 210 PRINT #1, CHR$(&H1);CHR$(&H0);CHR$(&H0);CHR$(&H7F); 215 PRINT #1, CHR$(&H0);CHR$(&HFC);CHR$(&H1);CHR$(&H0) ; 220 PRINT #1, CHR$(27); "*b1m8W"; 230 PRINT #1, CHR$(&H1);CHR$(&H0);CHR$(&H0); 235 PRINT #1, CHR$(&HFF);CHR$(&H0);CHR$(&HFE);CHR$(&H1); CHR$(&H0); 240 PRINT #1, CHR$(27); "*b1m8W"; 250 PRINT #1, CHR$(&H0);CHR$(&H0);CHR$(&H0);CHR$(&H1); 255 PRINT #1, CHR$(&H1);CHR$(&HFF);CHR$(&H1);CHR$(&H0); 260 PRINT #1, CHR$(27); "*b1m10W"; 270 PRINT #1, CHR$(&H0);CHR$(&H0);CHR$(&H0);CHR$(&H3);CHR$(&H1); 280 PRINT #1, CHR$(&HFF);CHR$(&H0);CHR$(&H80);CHR$(&H0); CHR$(&H0); 290 PRINT #1, CHR$(27); "*b1m10W"; 300 PRINT #1, CHR$(&H0);CHR$(&H0);CHR$(&H0);CHR$(&H7);CHR$(&H1); Figure 3.4 Raster graphics compression examples (continued) 310 320 330 340 350 360 370 380 390 400 410 420 430 440 450 455 460 470 480 490 500 510 520 530 540 550 560 570 580 590 600 610 620 630 PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT #1, CHR$(&HFF);CHR$(&H0);CHR$(&HC0);CHR$(&H0);CHR$(&H0); #1, CHR$(27); "*b1m10W"; #1r CHR$(&H0);CHR$(&H0);CHR$(&H0);CHR$(&HF);CHR$(&H1); #1, CHR$(&HFF);CHR$(&H0);CHR$(&HE0);CHR$(&H0);CHR$(&H0); #1, CHR$(27); "*b1m10W"; #1, CHR$(&H0);CHR$(&H0);CHR$(&H0);CHR$(&H1F);CHR$(&H1); #1, CHR$(&HFF);CHR$(&H0);CHR$(&HF0);CHR$(&H0);CHR$(&H0); #1, CHR$(27); "*b1m10W"; #1, CHR$(&H0);CHR$(&H0);CHR$(&H0);CHR$(&H3F);CHR$(&H1); #1, CHR$(&HFF);CHR$(&H0);CHR$(&HF8);CHR$(&H0);CHR$(&H0); #1, CHR$(27); "*b1m10W"; #1, CHR$(&H0);CHR$(&H0);CHR$(&H0);CHR$(&H7F);CHR$(&H1) ; #1, CHR$(&HFF);CHR$(&H0);CHR$(&HFC);CHR$(&H0);CHR$(&H0) ; #1, CHR$(27); "*b1m8W"; #1, CHR$(&H0);CHR$(&H0);CHR$(&H2);CHR$(&HFF); #1, CHR$(&H0);CHR$(&HFE);CHR$(&H0);CHR$(&H0); #1, CHR$(27); "*b1m6W"; #1, CHR$(&H0);CHR$(&H1);CHR$(&H3);CHR$(&HFF);CHR$(&H0);CHR$(&H0); #1, CHR$(27); "*b1m6W"; #1, CHR$(&H0);CHR$(&H3);CHR$(&H3);CHR$(&HFF);CHR$(&H0);CHR$(&H80); #1, CHR$(27); "*b1m6W"; #1, CHR$(&HO);CHR$(&H7);CHR$(&H3);CHR$(&HFF);CHR$(&H0);CHR$(&HC0); #1, CHR$(27); "*b1m6W"; #1, CHR$(&H0);CHR$(&HF);CHR$(&H3);CHR$(&HFF);CHR$(&H0);CHR$(&HE0); #1, CHR$(27); "*b1m6W"; #1, CHR$(&H0);CHR$(&H1F);CHR$(&H3);CHR$(&HFF);CHR$(&H0);CHR$(&HF0); #1, CHR$(27); "*b1m6W"; #1, CHR$(6H0);CHR$(&H3F);CHR$(&H3);CHR$(&HFF);CHR$(&H0);CHR$(&HF8); #1, CHR$(27); "*b1m6W"'; #1, CHR$(&H0);CHR$(&H7F);CHR$(&H3);CHR$(&HFF);CHR$(&H0);CHR$(&HFC); #1, CHR$(27); "*b1m4W"; #1, CHR$(&H4) ;CHR$(&HFF);CHR$($H0);CHR$(&HFE); #1, CHR$(27); "*rB"; #1, CHR$(12); Figure 3.4 Raster graphics compression examples (continued) Program sample 3: Tagged imaged file format (TIFF) rev. 4.0 10 OPEN "lpt1:" FOR RANDOM AS #1 20 WIDTH #1, 255 30 PRINT #1, CHR$(27); "*t75R"; 40 PRINT #1, CHR$(27); "*r0F"; 50 PRINT #1, CHR$(27); "*r0A"; 60 PRINT #1, CHR$(27); "*b2m2W"; 70 PRINT #1, CHR$(&HFB); CHR$(&H0); 80 PRINT #1, CHR$(27); "*b2m6W"; 90 PRINT #1, CHR$(&HFF);CHR$(&H0);CHR$(0);CHR$(&H1);CHR$(&HFE);CHR$(&H0); 100 PRINT #1, CHR$(27); "*b2m7W"; 110 PRINT #1, CHR$(&HFF);CHR$(&H0);CHR$(1);CHR$(&H3);CHR$(&H80);CHR$(&HFF);CHR$(&H0); 120 PRINT #1, CHR$(27); "*b2m7W"; 130 PRINT #1, CHR$(&HFF);CHR$(&H0);CHR$(1);CHR$(&H7);CHR$(&HC0);CHR$(&HFF);CHR$(&H0); 140 PRINT #1, CHR$(27); "*b2m7W"; 150 PRINT #1, CHR$(&HFF);CHR$(&H0);CHR$(1);CHR$(&HF);CHR$(&HE0);CHR$(&HFF);CHR$(&H0); 160 PRINT #1, CHR$(27); "*b2m7W"; 170 PRINT #1, CHR$(&HFF);CHR$(&H0);CHR$(1);CHR$(&H1F);CHR$(&HF0);CHR$(&HFF);CHR$(&H0); 180 PRINT #1, CHR$(27); "*b2m7W"; 190 PRINT #1, CHR$(&HFF);CHR$(&H0);CHR$(1);CHR$(&H3F);CHR$(&HF8);CHR$(&HFF);CHR$(&H0); 200 PRINT #1, CHR$(27); "*b2m7W"; 210 PRINT #1, CHR$(&HFF);CHR$(&H0);CHR$(1);CHR$(&H7F);CHR$(&HFC);CHR$(&HFF);CHR$(&H0); 220 PRINT #1, CHR$(27); "*b2m7W"; 230 PRINT #1, CHR$(&HFF);CHR$(&H0);CHR$(1);CHR$(&HFF);CHR$(&HFE);CHR$(&HFF);CHR$(&H0); 240 PRINT #1, CHR$(27); "*b2m7W"; 250 PRINT #1, CHR$(1);CHR$(&H0);CHR$(&H1);CHR$(&HFF);CHR$(&HFF);CHR$(&H0);CHR$(&H0); 260 PRINT #1, CHR$(27); "*b2m7W"; 270 PRINT #1, CHR$(1);CHR$(&H0);CHR$(&H3);CHR$(&HFF);CHR$(&HFF);CHR$(1);CHR$(&H80);HR$(&H0); 280 PRINT #1, CHR$(27); "*b2m8W"; 290 PRINT #1, CHR$(1);CHR$(&H0);CHR$(&H7);CHR$(&HFF);CHR$(&HFF);CHR$(1);CHR$(&HC0);CHR$(&H0); 300 PRINT #1, CHR$(27); "*b2mBW"; 310 PRINT #1, CHR$(1);CHR$(&H0);CHR$(&HF);CHR$(&HFF);CHR$(&HFF);CHR$(1);CHR$(&HE0);CHR$(&H0); 320 PRINT #1, CHR$(27); "*b2m8W"; 330 PRINT #1, CHR$(1);CHR$(&H0);CHR$(&H1F);CHR$(&HFF);CHR$(&HFF);CHR$(1);CHR$(&HF0);CHR$(&H0); Figure 3.4 Raster graphics compression examples (continued) 340 350 360 370 380 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570 PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, CHR$(27); "*b2m8W"; CHR$(1);CHR$(&H0);CHR$(&H3F);CHR$(&HFF);CHR$(&HFF);CHR$(1);CHR$(&HF8);CHR$(&H0); CHR$(27); "*b2m8W"; CHR$(1);CHR$(&H0);CHR$(&H7F);CHR$(&HFF);CHR$(&HFF);CHR$(1);CHR$(&HFC);CHR$(&H0); CHR$(27); "*b2m7W"; CHR$(0);CHR$(&H0);CHR$(&HFE);CHR$(&HFF);CHR$(1);CHR$(&HFE);CHR$(&H0); CHR$(27); "*b2m6W"; CHR$(0);CHR$(&H1);CHR$(&HFD);CHR$(&HFF);CHR$(0);CHR$(&H0); CHR$(27); "*b2m6W"; CHR$(0);CHR$(&H3);CHR$(&HFD);CHR$(&HFF);CHR$(0);CHR$(&H80); CHR$(27); "*b2m6W" ; CHR$(0);CHR$(&H7);CHR$(&HFD);CHR$(&HFF);CHR$(0);CHR$(&HC0); CHR$ (27); "*b2m6W"; CHR$(0);CHR$(&HF);CHR$(&HFD);CHR$(&HFF);CHR$(0);CHR$(&HE0); CHR$(27); "*b2m6W"; CHR$(0);CHR$(&HIF);CHR$(&HFD);CHR$(&HFF);CHR$(0);CHR$(&HF0); CHR$(27); "*b2m6W"; CHR$(0);CHR$(&H3F);CHR$(&HFD);CHR$(&HFF);CHR$(0);CHR$(&HF8); CHR$(27); "*b2m6W"; CHR$(0);CHR$(&H7F);CHR$(&HFD);CHR$(&HFF);CHR$(0);CHR$(&HFC); CHR$(27); "*b2m4W"; CHR$(&HFC);CHR$(&HFF);CHR$(0):CHR$(&HFE); CHR$(27);"*rB"; CHR$(12); Program sample 4: Delta row compression 10 20 22 30 40 50 60 70 OPEN "lPt1:" FOR RANDOM AS #l WIDTH #1, 255 PRINT #1, CHR$(27); ")s0P12H"; PRINT #1, CHR$(27); "*t75R"; PRINT #1, CHR$(27); "*r0F"; PRINT #1, CHR$(27); "*r0A"; PRINT #1, CHR$(27); "*b0m6W"; PRINT #1, CHR$(&H0);CHR$(&H0);CHR$(&H0);CHR$(&H0);CHR$(&H0);CHR$(&H0); Figure 3.4 Raster graphics compression examples (continued) 80 PRINT #1, CHR$(27); "*b3m2W"; 90 PRINT #1, CHR$(&H2);CHR$(&H1); 100 PRINT #1, CHR$(27); "*b3m3W"; 110 PRINT #1, CHR$(&H22);CHR$(&H3);CHR$(&H80); 120 PRINT #1, CHR$(27); "*b3m3W"; 130 PRINT #1, CHR$(&H22);CHR$(&H7);CHR$(&HC); 140 PRINT #1, CHR$(27); "*b3m3W"; 150 PRINT #1, CHR$(&H22);CHR$(&HF);CHR$(&HE0); 160 PRINT #1, CHR$(27); "*b3m3W"; 170 PRINT #1, CHR$(&H22);CHR$(&H1F);CHR$(&HF0); 180 PRINT #1, CHR$(27); "*b3m3W"; 190 PRINT #1, CHR$(&H22);CHR$(&H3F);CHR$(&HF8); 200 PRINT #1, CHR$(27); "*b3m3W" ; 210 PRINT #1, CHR$(&H22);CHR$(&H7F);CHR$(&HFC); 220 PRINT #1, CHR$(27); "*b3m3W" ; 230 PRINT #1, CHR$(&H22);CHR$(&HFF);CHR$(&HFE); 240 PRINT #1, CHR$(27); "*b3m4" ; 250 PRINT #1, CHR$(&H1);CHR$(&H1);CHR$(&H1);CHR$(&HFF); 260 PRINT #1, CHR$(27); "*b3m4W" ; 270 PRINT #1, CHR$(&H1);CHR$(&H3);CHR$(&H2);CHR$(&H80); 280 PRINT #1, CHR$(27); "*b3m4W" ; 290 PRINT #1, CHR$(&H1);CHR$(&H7);CHR$(&H2);CHR$(&HC0); 300 PRINT #1, CHR$(27); "*b3m4W"; 310 PRINT #1, CHR$(&H1);CHR$(&HF);CHR$(&H2);CHR$(&HE0); 320 PRINT #1, CHR$(27); "*b3m4W"; 330 PRINT #1, CHR$(&H1);CHR$(&H1F);CHR$(&H2);CHR$(&HF0); 340 PRINT #1, CHR$(27); "*b3m4W"; 350 PRINT #1, CHR$(&H1);CHR$(&H3F);CHR$(&H2);CHR$(&HF8); 360 PRINT #1, CHR$(27); "*b3m4W"; 370 PRINT #1, CHR$(&H1);CHR$(&H7F);CHR$(&H2);CHR$(&HFC); 380 PRINT #1, CHR$(27); "*b3m4W"; 390 PRINT #1, CHR$(&H1);CHR$(&HFF);CHR$(&H2);CHR$(&HFE); 400 PRINT #1, CHR$(27); "*b3m4W"; 410 PRINT #1, CHR$(&H0);CHR$(&H1);CHR$(&H3);CHR$(&HFF); 420 PRINT #1, CHR$(27); "*b3m4W"; Figure 3.4 Raster graphics compression examples (continued) 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570 PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, #1, CHR$(&H0);CHR$(&H3);CHR$(&H4);CHR$(&H80); CHR$(27); "*b3m4W"; CHR$(&H0);CHR$(&H7);CHR$(&H4);CHR$(&HC0); CHR$(27); "*b3m4W"; CHR$(&H0);CHR$(&HF);CHR$(&H4);CHR$(&HE0); CHR$(27); "*b3m4W"; CHR$(&H0);CHR$(&H1F);CHR$(&H4);CHR$(&HF0); CHR$(27); "*b3m4W"; CHR$(&H0);CHR$(&H3F);CHR$(&H4);CHR$(&HF8); CHR$(27); "*b3m4W"; CHR$(&H0);CHR$(&H7F);CHR$(&H4);CHR$(&HFC); CHR$(27); "*b3m4W"; CHR$(&H0);CHR$(&HFF);CHR$(&H4);CHR$(&HFE); CHR$(27); "*rB"; CHR$(12); Figure 3.4 Raster graphics compression examples Sending the Raster Graphics Data Setting: ESC “*b#W” #= Number of bytes of bit image data This command is used to send raster graphics data. Send the bit image data for 1 raster line after this command. The bit image data are composed as follows: • Designate the bit to be printed as 1 and the bit not to be printed as 0. • The unit of bit image data is a byte consisting of 8 bits. Therefore, the last byte must be padded with 0 if it does not amount to 8 bits. • MSB [most significant bit (bit 7)] of the first byte corresponds to the first dot of the raster line. The printing position cannot be moved horizontally after the printer has processed the ESC “*b#W” command and bit image data. In the vertical direction, however, the position can be moved in the paper feed direction by the number of dots enlarged in accordance with the resolution. End Raster Graphics Mode Version B Setting: ESC “*rB” This command designates the end of raster graphics. In addition, when this command is received, • compression seed row is reset to 0. • the cursor is moved to the last raster row in the raster area. • validates the raster commands which became invalid. Version C Setting: ESC “*rC” This command designates the end of raster graphics. In addition, when this command is received, • compression seed row is reset to 0. • the cursor is moved to the last raster row in the raster area. • validates the raster commands which became invalid. • the compression mode is reset to 0. • the left margin is reset to 0. A sample program for raster graphics with 6 types of resolution is shown in Figure 3.5 100 WIDTH "lpt1:",255 110 OPEN "lptl:" AS #1 120 ’ 130 PRINT #1,CHRS(27);"*t75R"; '75 dpi 140 PRINT #1,"RASTER GRAPHICS ( 75 DPI)";CHR$(l3);CHR$(10); 150 PRINT #1,CHR$(27);"*r1A"; 160 FOR I=1 TO 4 170 FOR J=1 TO 4: PRINT #1,CHRS(27);"* b48W";STRING$ (48,CHR$(&HF0));: NEXT J 180 FOR J=1 TO 4: PRINT #1,CHR$(27) ;"*b48W";STRING$(48,CHR$($HF));: NEXT J 190 NEXT I 200 PRINT #1,CHR$ (27);"*rB";CHR$(10);CHR$(10); 210 PRINT #1,CHRS(27);"*t100R"; '100 dpi 220 PRINT #1,"RASTER GRAPHICS (100 DPI)";CHR$(13);CHR$(10); 230 PRINT #1,CHR$(27);"*r1A"; 240 FOR I=1 TO 4 250 FOR J=1 TO 4: PRINT #1,CHRS(27) ;"*b48W"; STRING$(48,CHR$(&HF0));: NEXT J 260 FOR J=1 TO 4: PRINT #1,CHR$(27) ;"*b48W"; STRING$(48,CHR$(&HF));: NEXT J 270 NEXT I 280 PRINT #1,CHR$(27) ;"*rB";CHR$(10);CHR$(10); 290 PRINT #1,CHR$(27);"*t150R"; '150 dpi 300 PRINT #1,"RASTER GRAPHICS (150 DPI)";CHR$(13);CHR$(10); 310 PRINT #1,CHR$(27);"*r1A"; 320 FOR I=1 TO 4 330 FOR J=1 TO 4: PRINT #1,CHR$(27); "* b48W";STRING$(48,CHR$(&HF0));: NEXT J 340 FOR J=1 TO 4: PRINT #1,CHR$(27) ;"*b48W";STRING$(48,CHR$(&HF));: NEXT J 350 NEXT I 360 PRINT #1,CHR$(27);"*rB";CHR$(10);CHR$(10); 370 PRINT #1,CHR$(27);"*t3OOR"; '300 dpi 380 PRINT #1,"RASTER GRAPHICS (300 DPI)";CHR$(13);CHR$(10); 390 PRINT #1,CHR$(27);"*r1A"; 400 FOR I=1 TO 4 410 FOR J=1 TO 4: PRINT #1,CHR$(27);"* b48W";STRINGS(48,CHR$(&HF0));: NEXT J 420 FOR J=1 TO 4: PRINT #1,CHR$(27);"*b48W";STRING$(48,CHRS(&HF));: NEXT J 430 NEXT I 440 PRINT #1,CHR$(27);"*rB";CHR$(10);CHR$(10); Figure 3.5 Raster graphics resolution examples (continued) 450 PRINT #1,CHR$(12); 460 END RASTER GRAPHICS ( 75 DPI) RASTER GRAPHICS (100 DPI) RASTER GRAPHICS (150 DPI) RASTER GRAPHICS (300 DPI) Figure 3.5 Raster graphics resolution examples Font Downloading The user can select a desired font from the built-in fonts. Additionally, the printer permits the user to download fonts in HP compatible format from the computer. This function enables the user to install the desired fonts in the printer. Font downloading is executed by the following procedures: Designating the Font ID Setting: ESC “*c#D” #=ID number (0 to 32767) This command designates the ID number used to identify the font to be downloaded. The default is 0. Producing the Font Descriptor(Font Header) Setting: ESC “)s#W” #=Number of bytes in the font descriptor This command sets the attributes of the font whose ID is specified in procedure of “Designating the Font ID”. The font header data must follow this command. Bitmap Font Byte 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 FONT DESCRIPTOR SIZE (64) DESCRIPTOR FORMAT (0) FONT TYPE STYLE MSB (0) RESERVED BASELINE POSITION CELL WIDTH CELL HEIGHT ORIENTATION FIXED/PROPORTIONAL SYMBOL SET PITCH (default HMI) HEIGHT x-HEIGHT WIDTH TYPE STYLE LSB STROKE WEIGHT TYPEFACE LSB TYPEFACE MSB SERIF STYLE QUALITY PLACEMENT UNDERLINE POSITION UNDERLINE POSITION (DISTANCE) (DISTANCE) 32 TEXT HEIGHT 34 TEXT WIDTH 36 FIRST CODE 38 LAST CODE 40 PITCH EXTENDED HEIGHT EXTENDED 42 CAP HEIGHT 44to47 FONT NUMBER* 48to63 FONT NAME 64 COPYRIGHT (optional) Figure 3.6 Bitmap Font descriptor (for 300 dpi Bitmap Font) *Not used Byte 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 FONT DESCRIPTOR SIZE (68) DESCRIPTOR FORMAT (20) FONT TYPE STYLE MSB (0) RESERVED BASELINE POSITION CELL WIDTH CELL HEIGHT ORIENTATION FIXED/PROPORTIONAL SYMBOL SET PITCH (default HMI) HEIGHT x-HEIGHT WIDTH TYPE STYLE LSB STROKE WEIGHT TYPEFACE LSB TYPEFACE MSB SERIF STYLE QUALITY PLACEMENT UNDERLINE POSITION UNDERLINE THICKNESS (DISTANCE) (HEIGHT) 32 TEXT HEIGHT 34 TEXT WIDTH 36 FIRST CODE 38 LAST CODE 40 PITCH EXTENDED HEIGHT EXTENDED 44to47 FONT NUMBER* 48to63 FONT NAME 64 X RESOLUTION 66 Y RESOLUTION n COPYRIGHT (optional) Figure 3.7 Bitmap Font descriptor (for 600 dpi Bitmap Font) *Not used Bitmap Font FONT DESCRIPTOR SIZE: These two bytes specify the number of bytes for the font descriptor. DESCRIPTOR FORMAT: This 1 byte specifies the format for Bitmap Font by 0 and Resolutionspecified Bitmap Font by 20. FONT TYPE: This 1 byte specifies the font type shown in the table below. Value (#) Font Type Bound font. ASCII code 20HEX to 7FHEX can be 0 printed. 1 Bound font. ASCII code 20HEX to 7FHEX and A0HEX to FFHEX can be printed. Bound font. All ASCII codes except 0, 7 to 0FHEX, 1BHEX can be printed. Table 3.7 Font type value 2 STYLE MSB: This 1 byte is used as style word by combining with Style LSB. Style word is composed as follows: Style Word = Posture + ( 4 × Width ) + ( 32 × Structure ) 15 X 14 Style MSB 13 12 11 10 Reserved 9 8 7 6 Structure 5 Style LSB 4 3 2 Width 1 0 Posture Value (#) Posture (Style Word partial sum) 0 Upright 1 Italic 2 Alternate Italic 3 Reserved Table 3.8 Posture value Value (#) Width (Multiply by 4 for Style Word partial sum) 0 Normal 1 Condensed Compressed or Extra Condensed 2 Extra Compressed 3 4 Ultra Compressed Reserved 5 Extended or Expanded 6 7 Extra Extended or Extra Expanded Table 3.9 Width value Value (#) Structure (Multiply by 32 for Style Word partial sum) 0 Solid 1 Outline 2 Inline 3 Contour 4 Solid with Shadow 5 Outline with Shadow 6 Inline with Shadow 7 Contour with Shadow 8 to 11 Patterned (Complex patterns, subject to type family) 12 to 15 Patterned with Shadow 16 Inverse 17 Inverse in Open Border 18 to 30 Reserved 31 Unknown structure Table 3.10 Structure value BASELINE POSITION: The baseline position is a distance from the top of the cell to the baseline. The baseline is a supposed dot line on every character. The measurement of the distance is in font resolution dots. This measurement is defined in the Resolution Field of the Format 20 Font Header. CELL WIDTH: The cell must have enough space in width for the widest character. The range is from 1 to 65535. The cell width is decided in PCL coordinate system dots. Baseline position Cell height CELL HEIGHT: The cell must have enough space in height for the highest character. The range is from 1 to 65535. The cell height is decided in PCL coordinate system dots. 10 20 30 Baseline 40 50 10 20 Cell width Figure 3.8 Font descriptor information 30 ORIENTATION: This 1 byte specifies the font orientation (direction of printing); portrait is selected by 0, landscape by 1, reverse portrait by 2 and reverse landscape by 3. The Bitmap Font can not be created with unsupported values. FIXED/PROPORTIONAL: This 1 byte specifies the spacing; fixed spacing is selected by 0 and proportional spacing by 1. SYMBOL SET: These two bytes specify the symbol set of the font. The value is determined by the following formula: [symbol set value field number (0 to 2047) × 32]+ [symbol set upper - case letter field (A to V) - 64] A to V = 65 to 86 (ASCII code number) Value Field Number ISO 60 Norwegian V1 0 ISO 4 United Kingdom 1 Windows 3.1 Latin 2 9 ISO 69 French 1 ISO 21 German 1 ISO 15 Italian 0 Microsoft Publishing 6 DeskTop 7 PS Text 10 MC Text 12 Ventura International 13 Ventura US 14 Wingdings 579 PS Math 5 Ventura Math 6 Math-8 8 Symbol 19 ISO 8859/1 Latin 1 (ECMA-94) 0 ISO 8859/2 Latin 2 2 ISO 8859/9 Latin 5 5 ISO 11 Swedish 0 ISO 17 Spanish 2 Table 3.11 Symbol set value(continued) Symbol Set Uppercase Letter D E E F G I J J J J J J L M M M M N N N S S Value 4 37 293 38 39 9 202 234 330 394 426 458 18540 173 205 269 621 14 78 174 19 83 Symbol Set Windows 3.1 Latin 5 PC-Turkish ISO 6 ASCII Legal Roman-8 Windows 3.0 Latin 1 PC-8 PC-8 Danish/Norwegian PC-850 Multilingual Pi Font PC-852 Latin 2 Windows 3.1 Latin 1 Table 3.11 Symbol set value Value Field Number 5 9 0 1 8 9 10 11 12 15 17 19 Uppercase Letter T T U U U U U U U U U U Value 180 308 21 53 277 309 341 373 405 501 565 629 PITCH: These two bytes specify the font pitch of the Bitmap Font by the number of dots × 4. HEIGHT: These two bytes specify the height of the Bitmap Font by the number of dots × 4. x-HEIGHT: These two bytes specify the height of the lower case “x” by the number of dots × 4. WIDTH TYPE: This 1 byte specifies the width type of the font. Value (#) Width Type -5 Ultra Compressed -4 Extra Compressed -3 Compressed or Extra Condensed -2 Condensed 0 Normal 2 Expanded 3 Extra Expanded Table 3.12Width type value STYLE LSB: This 1 byte specifies the least significant byte (LSB) of the style word. Refer to STYLE MSB. STROKE WEIGHT: This 1 byte specifies the thickness of the font. The value must be within -7 to 7; the plus value shows the font is thicker (Bold) while minus shows the font is thinner. Value (#) Stroke Weight -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 Table 3.13 Stroke weight value TYPEFACE LSB,TYPEFACE MSB: These two bytes specify the typeface family value whose components are vendor and typeface family. Typeface family value 15 12 11 Vendor 0 Typeface family The vendor is ranged from 0 to 15, and the typeface family from 0 to 4095. The typeface family value is determined by the following formula. Typeface base value + (Vendor valuesx4096) = Typeface family value Value (#) Vendor 0 Reserved 1 Agfa Division, Miles Inc. 2 Bitstream Inc. 3 Linotype Company 4 The Monotype Corporation plc. 5 Adobe Systems Inc. 6 to 15 Reserved Table 3.14 Vendor value Typeface Family Typeface Base Value (#) Value (#) 4096 0 4099 3 4101 5 4102 6 4113 17 4116 20 4140 44 4148 52 4168 72 4197 101 4297 201 4314 218 4362 266 4398 302 4613 517 6826 2730 Table 3.15 Typeface value Typeface Line Printer Courier CG Times Letter Gothic CG Omega Coronet Clarendon Univers Antique Olive Garamond Marigold Arial Albertus Symbol Times New Roman Wingdings SERIF STYLE: The printer ignores the values for the Bitmap Font. QUALITY: This 1 byte specifies the quality of the font. Value (#) 0 1 2 Table 3.16 Quality Data processing (draft) Near Letter Quality Letter Quality Quality value PLACEMENT: This 1 byte specifies a position of the character patterns relative to the baseline. The table shows the value of placement. Value (#) 1 0 -1 Table 3.17 Placement Superior Normal Inferior Placement value UNDERLINE POSITION (DISTANCE): This 1 byte specifies the distance from the baseline to the top of the underline in dots.Baseline position is specified by 0. The position above the baseline is specified by a positive value and the position below the baseline by a negative value. UNDERLINE THICKNESS (HEIGHT): This 1 byte specifies the thickness of the underline in font design dots. The underline is printed with the 3 dots thickness at 300 dpi (6 dots at 600 dpi). TEXT HEIGHT: These two bytes specify the appropriate inter-line spacing for the font. The text is typically 1.2 times as high as the font. These two bytes specify text height by the number of dots × 4. TEXT WIDTH: These two bytes specify the average lower case character width of the font. These two bytes specify text width by the number of dots × 4. FIRST CODE: These two bytes specify the code of the first printable character. The value is ranged from 0 to 255. A space character can be also printed. But if an image is defined, the printer prints an image, not a space character. If one is not defined, the space control code is executed. The first and last codes depend on the selected font type. Font Type First Code/Last Code 0 32 to 12 1 732 to 127, 160 to 255 2 0 to 255 Table 3.18 First code/last code LAST CODE: These two bytes determine the last code of the font. PITCH EXTENDED: An extra 1 byte is added to the pitch field for precise pitch information. The value is in 1/1024 dots. For example, for 8.5 cpi at 300 dpi resolution: The value of 8.5 cpi in 1/1024 dots is calculated 1024 × In hexadecimal form this is 008D2D 8DHEX=141, 2DHEX=45 300 /8.5 = 36141 Therefore, the pitch field is 141 (=8DHEX) and the pitch extended field is 45 (=2DHEX). HEIGHT EXTENDED: An extra 1 byte is added to the height field for precise height information. The value is in 1/1024 dots. For example, for 8 point at 300 dpi resolution: The value of 8 pt in 1/1024 dot is calculated 1024 × 300 × 8/72= 34133 In hexadecimal form this is 008555 85HEX=133, 55HEX=85 Therefore, the height field is 133 (=85HEX) and the height extended field is 85 (=55HEX) CAP HEIGHT: The cap height is a percentage of the Em of a font. And the cap height is used to calculate the distance from the cap line (the unaccented top, the uppercase letter, H) to the baseline. The font which is specified by 0 in this field is supposed to have 70.87 percent of the Em of the font. 0.7087 × 65535 = 46.445 FONT NUMBER: The printer ignores the field of font number for the Bitmap Font. FONT NAME: You can enter a font name with 16 ASCII characters. X RESOLUTION: This field specifies the pixel resolution in X scan direction. Y RESOLUTION: This field specifies the pixel resolution in Y scan direction. COPYRIGHT: These two bytes include the ASCII data. Intellifont Scalable Font Byte 0 FONT DESCRIPTOR SIZE (minimum 80) 2 DESCRIPTOR FORMAT (10) FONT TYPE 4 STYLE MSB RESERVED 6 BASELINE POSITION 8 CELL WIDTH 10 CELL HEIGHT 12 ORIENTATION FIXED/PROPORTIONAL 14 SYMBOL SET 16 PITCH (default HMI) 18 HEIGHT 20 x-HEIGHT 22 WIDTH TYPE STYLE LSB 24 STROKE WEIGHT TYPEFACE LSB 26 TYPEFACE MSB SERIF STYLE 28 QUALITY PLACEMENT 30 UNDERLINE POSITION UNDERLINE THICKNESS (DISTANCE) (HEIGHT) 32 TEXT HEIGHT 34 TEXT WIDTH 36 FIRST CODE 38 LAST CODE 40 PITCH EXTENDED HEIGHT EXTENDED 42 CAP HEIGHT Figure 3.8 Intellifont Bound Scalable Font descriptor(continued) Byte 44 to 47 48 to 63 64 66 68 70 72 74 76 Desc.Size-2 80 n FONT NUMBER FONT NAME SCALE FACTOR X RESOLUTION Y RESOLUTION MASTER UNDERLINE POSITION MASTER UNDERLINE THICKNESS (HEIGHT) OR THRESHOLD GLOBAL ITALIC ANGLE GLOBAL Intellifont DATA SIZE GLOBAL Intellifont DATA COPYRIGHT (optional) RESERVED (0) CHECKSUM Figure 3.8 Intellifont Bound Scalable Font descriptor Byte 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 to 47 FONT DESCRIPTOR SIZE (minimum 88) DESCRIPTOR FORMAT (11) FONT TYPE (10) STYLE MSB RESERVED BASELINE POSITION CELL WIDTH CELL HEIGHT ORIENTATION FIXED/PROPORTIONAL SYMBOL SET PITCH (default HMI) HEIGHT x-HEIGHT WIDTH TYPE STYLE LSB STROKE WEIGHT TYPEFACE LSB TYPEFACE MSB SERIF STYLE QUALITY PLACEMENT UNDERLINE POSITION UNDERLINE THICKNESS (DISTANCE) (HEIGHT) TEXT HEIGHT TEXT WIDTH RESERVED NUMBER OF CONTOURS (characters) PITCH EXTENDED HEIGHT EXTENDED CAP HEIGHT FONT NUMBER Figure 3.9 Intellifont Unbound Scalable Font descriptor(continued) Byte 48 to 63 64 66 68 70 72 74 76 78 to 85 Desc. Size-2 Desc. Size n FONT NAME SCALE FACTOR X RESOLUTION Y RESOLUTION MASTER UNDERLINE POSITION MASTER UNDERLINE THICKNESS (HEIGHT) OR THRESHOLD GLOBAL ITALIC ANGLE CHARACTER COMPLEMENT GLOBAL Intellifont DATA SIZE GLOBAL Intellifont DATA COPYRIGHT (optional) RESERVED (0) CHECKSUM Figure 3.9 Intellifont Unbound Scalable Font descriptor Intellifont Scalable Font FONT DESCRIPTOR SIZE: These two bytes specify the number of bytes for the font descriptor. DESCRIPTOR FORMAT: This 1 byte specifies the format for Intellifont Bound Scalable Font by 10 and Intellifont Unbound Scalable Font by 11. FONT TYPE: This 1 byte specifies the font type shown in the table below. Value (#) 0 Font Type Bound font. ASCII code 20HEX to 7FHEX can be printed. 1 Bound font. ASCII code 20HEX to 7FHEX and A0HEX to FFHEX can be printed. 2 Bound font. All ASCII codes except 0, 7 to 0FHEX, 1BHEX can be printed. 10 Unbound font. The ASCII code corresponds to the MSL number (for Intellifont Unbound Scalable Fonts). Table 3.19 Font type value STYLE MSB: See STYLE MSB in the case of Bitmap Font. BASELINE POSITION: These two bytes specify a Y-coordinate in the design window. CELL WIDTH: The cell must have enough space in width for the widest character. The range is from 1 to 65535. The cell width is decided in design units. CELL HEIGHT: The cell must have enough space in height for the highest character. The range is from 1 to 65535. The cell height is decided in design units. ORIENTATION: This 1 byte must be set to 0. FIXED/PROPORTIONAL,SYMBOL SET: See FIXED/PROPORTIONAL and SYMBOL SET in the case of Bitmap Font. PITCH: Intellifont Scalable Font holds the master design width within itself. HEIGHT: The height depends on the master design height. The height is typically set to 2000. x-HEIGHT: These two bytes determine the distance from the baseline to lower case “x” height in design units. WIDTH TYPE, STYLE LSB, STROKE WEIGHT, TYPEFACE LSB,TYPEFACE MSB: See WIDTH TYPE, STYLE LSB, STROKE WEIGHT, TYPEFACE LSB and TYPEFACE MSB in the case of Bitmap Font. SERIF STYLE: For Intellifont Scalable Font, bit 7 and bit 6 are used as shown below. 64 Sans Serif 128 Serif 198 Reserved QUALITY: See QUALITY in the case of Bitmap Font. PLACEMENT: This 1 byte must be set to 0. UNDERLINE POSITION (DISTANCE): This 1 byte must be set to 0. UNDERLINE THICKNESS (HEIGHT): This 1 byte must be set to 0. The Master Underline Thickness is recognized as the information on the scalable fonts. TEXT HEIGHT: These two bytes specify the appropriate inter-line spacing for the font in design units. The text is typically 1.2 times as high as the font. TEXT WIDTH: These two bytes specify the average lower case character width of the font in design units. FIRST CODE: These two bytes must be set to 0. LAST CODE, NUMBER OF CONTOURS (characters): Bound Font; These two bytes determine the last code of the font Unbound Font; These two bytes for the unbound font (type 10) show the maximum number of the characters which can be downloaded in the font. PITCH EXTENDED: This 1 byte must be set to 0. HEIGHT EXTENDED: This 1 byte must be set to 0. CAP HEIGHT: These two bytes specify the cap height in design units. FONT NUMBER: The font number field is composed with four bytes; the lower three bytes indicate the font number of vendor, the most significant bit of the most significant byte indicates the format of font, and the rest 7 bits indicate the character code of the initial letter in vendor's name. FONT NAME: You can enter a font name with 16 ASCII characters. SCALE FACTOR: The field indicates the units/Em, which is used as each scalable metrics of the font header. X RESOLUTION: This field specifies the pixel resolution in X scan direction. Y RESOLUTION: This field specifies the pixel resolution in Y scan direction. MASTER UNDERLINE POSITION: The underline position is the top of the PCL floating underline in relation to the baseline in design units. MASTER UNDERLINE THICKNESS (HEIGHT): This field decides the thickness of floating underline in design units. OR THRESHOLD: These two bytes are the pixel size of design unit. GLOBAL ITALIC ANGLE: Refer to the FAIS document issued by AGFA Compugraphic. CHARACTER COMPLEMENT: These eight bytes specify the symbol set. Bit 58 to 63 55 to 57 52 to 54 50 to 51 48 to 49 3 to 47 0 to 2 Designated Use reserved for Latin fonts reserved for Cyrillic fonts reserved for Arabic fonts reserved for Greek fonts reserved for Hebrew fonts Miscellaneous use used to determine whether the symbol set is MSL or not. 111 indicates MSL. Table 3.20 MSL symbol index Bit 63 Value 0:Standard Latin character sets 1:the others 0:East European Latin character sets 62 1:the others 0:Turkish character sets 61 1:the others 0:Math character sets 34 1:the others 33 0:Semi-graphic character sets 1:the others 32 0:ITC Zapf Dingbats character sets 1:the others 2, 1, 0 111 indicates MSL Table 3.21 MSL symbol index character complement bits Bit 32 to 63 28 to 31 22 to 27 3 to 21 0 to 2 Designated Use Miscellaneous use reserved for Latin fonts reserved for platform/application variant fonts reserved for Cyrillic, Arabic, Greek, Hebrew fonts used to determine whether the symbol set is Unicode.110 indicates unicode. Table 3.22 Unicode symbol index Bit 31 Value 0:7 bit ASCII character sets 1:the others 0:ISO 8859/1 Latin 1 character sets 30 1:the others 0:ISO 8859/2 Latin 2 character sets 29 1:the others 0:Latin 5 character sets 28 1:the others 27 0:DeskTop Publishing character sets 1:the others 26 0:accented character sets 1:the others 25 0:traditional PCL character sets 1:the others 24 0:Macintosh character set (MC Text) 1:the others 23 0:PostScript Standard Encoding (PS Text) 1:the others 22 0:Code Page 1:the others 2, 1, 0 110 indicates unicode Table 23 Unicode symbol index character complement GLOBAL Intellifont DATA SIZE: Refer to the FAIS document issued by AGFA Compugraphic. GLOBAL Intellifont DATA: Refer to the FAIS document issued by AGFA Compugraphic. COPYRIGHT: These two bytes include the ASCII data. CHECKSUM: The field for checksum ranges from scale factor to the reserved. TrueType Scalable Font Byte 0 FONT DESCRIPTOR SIZE (minimum 72) 2 DESCRIPTOR FORMAT (15) FONT TYPE 4 STYLE MSB RESERVED 6 BASELINE POSITION 8 CELL WIDTH 10 CELL HEIGHT 12 ORIENTATION FIXED/PROPORTIONAL 14 SYMBOL SET 16 PITCH (default HMI) 18 HEIGHT 20 x-HEIGHT 22 WIDTH TYPE STYLE LSB 24 STROKE WEIGHT TYPEFACE LSB 26 TYPEFACE MSB SERIF STYLE 28 QUALITY PLACEMENT 30 UNDERLINE POSITION UNDERLINE THICKNESS (DISTANCE) (HEIGHT) 32 TEXT HEIGHT 34 TEXT WIDTH 36 FIRST CODE 38 LAST CODE/NUMBER OF CHARACTERS 40 PITCH EXTENDED HEIGHT EXTENDED 42 CAP HEIGHT Figure 3.10 TrueType Scalable Font descriptor(continued) Byte 44 to 47 48 to 63 64 66 68 70 72 Desc. Size #-2 FONT NUMBER FONT NAME SCALE FACTOR MASTER UNDERLINE POSITION MASTER UNDERLINE THICKNESS (HEIGHT) FONT SCALING TECHNOLOGY VARIETY (for insertion of additional data) SEGMENTED FONT DATA RESERVED (0) CHECKSUM Figure 3.10 TrueType Scalable Font descriptor TrueType Scalable Font FONT DESCRIPTOR SIZE: These two bytes specify the number of bytes for the font descriptor. DESCRIPTOR FORMAT: This 1 byte specifies the format for TrueType Scalable Font by 15. FONT TYPE: This 1 byte specifies the font type shown in the table below. Value (#) 0 Font Type Bound font. ASCII code 20HEX to 7FHEX can be printed. 1 Bound font. ASCIIcode 20HEX to 7FHEX and A0HEX to FFHEX can be printed. 2 Bound font. All ASCII codes except 0, 7 to 0FHEX, 1BHEX can be printed. Unbound font. The ASCII code corresponds to the 11 Unicode number (for TrueType Unbound Scalable Fonts). Table 3.24 Font type value STYLE MSB: See STYLE MSB in the case of Bitmap Font. BASELINE POSITION: The baseline position must be set to 0. CELL WIDTH: The cell must have enough space in width for the widest character. The range is from 1 to 65535. The cell width is decided in design units. CELL HEIGHT: The cell must have enough space in height for the highest character. The range is from 1 to 65535. The cell height is decided in design units. ORIENTATION: This 1 byte must be set to 0. FIXED/PROPORTIONAL, SYMBOL SET: See FIXED/PROPORTIONAL and SYMBOL SET in the case of Bitmap Font. PITCH: TrueType Scalable Font holds the master design width within itself. HEIGHT: The height must be set to 0. x-HEIGHT: These two bytes determine the distance from the baseline to lower case “x” height. WIDTH TYPE, STYLE LSB, STROKE WEIGHT, TYPEFACE LSB, TYPEFACE MSB: See WIDTH TYPE, STYLE LSB, STROKE WEIGHT, TYPEFACE LSB and TYPEFACE MSB in the case of Bitmap Font. SERIF STYLE: For TrueType Scalable Font, bit 7 and bit 6 are used as shown below. 64 Sans Serif 128 Serif 198 Reserved QUALITY, PLACEMENT, UNDERLINE POSITION (DISTANCE), UNDERLINE THICKNESS (HEIGHT), TEXT HEIGHT, TEXT WIDTH: See QUALITY, PLACEMENT, UNDERLINE POSITION (DISTANCE), UNDERLINE THICKNESS (HEIGHT), TEXT HEIGHT and TEXT WIDTH in the case of Bitmap Font. FIRST CODE: These two bytes must be set to 0. LAST CODE/NUMBER OF CHARACTERS: Bound Font; These two bytes determine the last code of the font. Unbound Font; These two bytes for the unbound font (type 11) show the maximum number of the characters which can be downloaded in the font. PITCH EXTENDED, HEIGHT EXTENDED, CAP HEIGHT, FONT NUMBER, FONT NAME, SCALE FACTOR, MASTER UNDERLINE POSITION, MASTER UNDERLINE THICKNESS (HEIGHT): See PITCH EXTENDED, HEIGHT EXTENDED, CAP HEIGHT, FONT NUMBER, FONT NAME, SCALE FACTOR, MASTER UNDERLINE POSITION and MASTER UNDERLINE THICKNESS (HEIGHT) in the case of Bitmap Font. FONT SCALING TECHNOLOGY: This 1 byte specifies the technology for font scaling by setting to 1. VARIETY: This field is interpreted depending on the value of byte in the previous font scaling technology. This 1 byte must be set to 0. SEGMENTED FONT DATA: Byte x+0 FIRST SEGMENT, SEGMENT IDENTIFIER x+2 FIRST SEGMENT, SEGMENT SIZE x+4 FIRST SEGMENT, DATA SEGMENT SECOND SEGMENT:SEGMENT IDENTIFIER, SIZE, DATA x+4+1st seg size SEGMENT #-6 NULL SEGMENT IDENTIFIER (FFFFHEX) #-4 NULL SEGMENT SIZE (0) #-2 RESERVED CHECKSUM x=Font Descriptor Size. #=Font header length (as defined in Font Descriptor command). Figure 3.11Segmented font data (TrueType Scalable Font) These two bytes consist of SEGMENT IDENTIFIER, SEGMENT SIZE and DATA SEGMENT, and is terminated by Null Segment. SEGMENT IDENTIFIER; Each item in the segment font data section have a unique identification number. Value (#) Mnemonic 17219 CC 17232 CP 18260 GT 20545 PA 22618 XW 65535 Table 25 Data segment value Data Segment Character Complement Copyright Global TrueType Data PANOSE Description X-Windows Font Name Null Segment SEGMENT SIZE; Indicates the number of byte in Data Segment.The size of Null segment is 0. DATA SEGMENT; Specifies the data of Data Segment defined in the Segment Identifier. CHECKSUM; The field for checksum is the total of CHARACTER DATA SIZE, GLYPH ID and TrueType GLYPH DATA. CHECKSUM: The field for checksum ranges from scale factor to the reserved. Deciding the Character Code Setting: ESC “*c#E” #=Decimal value of the character code (0 to 65535) This command replaces the ASCII character designated in the value field # with your downloaded font. The default is 0. The character code of a given character in unbound font and its symbol index value are equal. Producing the Character Descriptor and Registering the Font Data(Download Character) Setting: ESC “(s#W” #=Number of bytes in the character descriptor (0 to 32767) The character descriptor specifies the character attributes of the character code selected in procedure “Deciding the Character Code”. The character attribute of the byte number entered in the value field # and the character pattern data must follow this command. Enter the total of the 16 byte character attributes and the byte number of character pattern data in the value field. The character attributes are composed as follows: Bitmap Font Byte 0 FORMAT (4) CONTINUATION (0) 2 DESCRIPTOR SIZE (14) CLASS (1) 4 ORIENTATION RESERVED (0) 6 LEFT OFFSET 8 TOP OFFSET 10 CHARACTER WIDTH 12 CHARACTER HEIGHT 14 DELTA X 16 CHARACTER DATA (in bytes) Figure 3.12 Character descriptor in Bitmap Font Byte 0 FORMAT (4) CONTINUATION (non-zero) 2 CHARACTER DATA (in bytes) Figure 3.13 Continuation character descriptor and data format in Bitmap Font Intellifont Scalable Font Byte 0 FORMAT (10) CONTINUATION (0) 2 DESCRIPTOR SIZE (2) CLASS (3) 4 CONTOUR CHARACTER DATA (in bytes) (Refer to Figure 3.13.) #-2 RESERVED (0) CHECKSUM Figure 3.14 Character descriptor and data format in Intellifont Scalable Font Byte 4 6 8 10 12 14 CONTOUR DATA SIZE METRIC DATA OFFSET CHARACTER Intellifont DATA OFFSET CONTOUR TREE OFFSET XY DATA OFFSET METRIC DATA CHARACTER Intellifont DATA CONTOUR TREE DATA XY COORDINATE DATA Figure 3.15Contour data format in Intellifont Scalable Font Byte 0 FORMAT (10) CONTINUATION (1) 2 CONTOUR CHARACTER DATA (in bytes) #-2 RESERVED CHECKSUM Figure 3.16 Character descriptor and data continuation in Intellifont Scalable Font Byte 0 2 4 6 8 FORMAT (10) CONTINUATION (0) DESCRIPTOR SIZE (2) CLASS (4) COMPOUND CHARACTER ESCAPEMENT NUMBER OF COMPONENTS CHARACTER CODE X OFFSET Y OFFSET #-2 RESERVED CHECKSUM Figure 3.17 Compound character descriptor and data format inIntellifont Scalable Font TrueType Scalable Font Byte 0 FORMAT (15) CONTINUATION (0) 2 DESCRIPTOR SIZE CLASS (15) 4 (for insertion of additional descriptor data) 2+Desc Size CHARACTER DATA SIZE 4+Desc Size GLYPH ID 6+Desc Size TrueType GLYPH DATA #-2 RESERVED CHECKSUM #=Character data block size as defined in Character Descriptor command. Figure 3.18 Character descriptor (no continuation block required) in TrueType Scalable Font Byte 0 2 4 2+Desc Size 4+Desc Size 6+Desc Size FORMAT (15) CONTINUATION (0) DESCRIPTOR SIZE CLASS (15) (for insertion of additional descriptor data) CHARACTER DATA SIZE GLYPH ID beginning of TrueType Glyph Data Byte 0 FORMAT (15) CONTINUATION (1) 2 conclusion of TrueType GLYPH DATA #-2 RESERVED CHECKSUM #=Character data block size as defined in Character Descriptor command. Figure 3.19 Character descriptor (multiple character data blocks) in TrueType Scalable Font FORMAT: This 1 byte decides the format of the character data;Bitmap Font by 4, Intellifont Scalable Font by 10, and TrueType Scalable Font by 15. CONTINUATION: This 1 byte specifies whether the following data is font data with character descriptor or font data only. 0 specifies font data with the character descriptor, while 1 specifies font data only. This is needed when the font data is over the ESC sequence value limit (32767). The continuation of the compound character is disabled. For example, when font data is 40,000: Character descriptor CONTINUATION (0) Font data (32751) Continued information (2 byte) Font data (7249) Figure 3.20Continuation CONTINUATION (1) DESCRIPTOR SIZE: The value is fixed by 14 for the Bitmap Font. For Intellifont Scalable Font, the value is fixed by 2. For TrueType Scalable Font, the value is 2 or more. CLASS: This 1 byte decides the format of the character data; Bitmap Font by 1, compressed Bitmap Font by 2, contour Intellifont Scalable Font by 3, compound contour Intellifont Scalable Font by 4 and TrueType Scalable Font by 15. See CHARACTER DATA in the next page for the method to compress the class 2 character data. Bitmap Font ORIENTATION: This 1 byte decides the orientation of the character; portrait by 0, landscape by 1, reverse portrait by 2 and reverse landscape by 3. LEFT OFFSET: These two bytes decide the distance from the character reference point to the left end of the character pattern. The value must be within -16384 to 16384. TOP OFFSET: These two bytes designate the distance from the character reference point to the upper end of the character pattern by the number of dots. The value must be within -16384 to 16384. CHARACTER WIDTH: These two bytes designate the width of the character pattern by the number of dots. The value must be within 1 to 16384. CHARACTER HEIGHT: These two bytes designate the height of the character pattern by the number of dots. The value must be within 1 to 16384. DELTA X: These two bytes designate the amount of space after printing the character by the number of dotsö4. This space is valid only in proportionally spaced fonts. The value must be within 0 to 32767. CHARACTER DATA: The following bytes indicate the character pattern. This data is grouped in the vertical direction and padded by the byte boundary in the horizontal direction. Each bit of the byte corresponding to the pixel is printed and when the bit is 0 it is not printed. Thus the character pattern is composed. The number of the data in the character pattern is determined by the following formula: int [(CHARACTER WIDTH+7)/8] × HARACTER HEIGHT Class 1:Bitmap Font; This character holds the character data of bit image. Class 2:Compressed Bitmap Font; This character holds the compressed bit image data. Line Repeat 0 0 11 0 0 2 Figure 3.21 Class character data Normal data 34 bytes Compressed data 25 bytes White Pixel 0 1 2 2 2 2 Black Pixel 7 5 3 3 3 14 White Black Pixel Pixel 9 10 11 10 1 9 2 = Do not care. Intellifont Scalable Font CLASS: Class 3; Intellifont Scalable Font This character is for the character data of Intellifont Scalable Font. Class 4;Compound character This character is a compound character of Intellifont Scalable Font. CONTOUR DATA SIZE: These two bytes indicate the size of contour data. METRIC DATA OFFSET: These two bytes indicate the offset to the metric data. CHARACTER Intellifont DATA OFFSET: These two bytes indicate the offset to the character Intellifont data. CONTOUR TREE OFFSET: These two bytes indicate the offset to the contour tree data. XY DATA OFFSET: These two bytes indicate the offset to XY data. CHECKSUM: This 1 byte indicates the checksum of the contour character data. COMPOUND CHARACTER ESCAPEMENT: For COMPOUND CHARACTER ESCAPEMENT, refer to the FAIS document issued by AGFA Compugraphic. NUMBER OF COMPONENTS: This indicates the number of components of a compound character. Refer to the FAIS document issued by AGFA Compugraphic. CHARACTER CODE: These two bytes specify the character code number for the compound character. X OFFSET, Y OFFSET: A character is offset at the origin on X and Y coordinates. TrueType Scalable Font CHARACTER DATA SIZE: The value must be equal to the sum of character Data Size, Glyph ID and TrueType Glyph Data file size. GLYPH ID: This field is used by TrueType font scaler as the glyph data ID number related to the given character. TrueType GLYPH DATA: This field contains the segment related to the character found in the glyph table of the original TrueType font file. CHECKSUM: The field for checksum is the total of CHARACTER DATA SIZE, GLYPH ID and TrueType GLYPH DATA. Top offset=22 Character height=33 10 20 30 Baseline 40 50 Left offset=2 10 20 30 Character width=27 Delta X=30 Figure 3.22 Character descriptor information-portrait Baseline 10 20 30 40 50 Left offset=-22 Character width=33 Figure 3.23 Character descriptor information-landscape Delta X=30 10 Top offset=28 20 Character height=27 30 A program example for the "q" character in portrait mode is as follows: 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 320 330 340 350 360 370 380 390 400 410 WIDTH "lpt1:" , 255 OPEN "lpt1:" FOR RANDOM AS # 1 PRINT #1, CHR$(27) ; "&100"; ' PRINT #1, CHR$(27) ; "*c1OD"; PRINT #1, CHR$(27) ; ")s64w"; PRINT #1, CHR$(0) ; CHR$(64) ; PRINT #1, CHR$(0) ; PRINT #1, CHR$(1) ; PRINT #1, CHR$(0) ; CHR$(0) ; PRINT #1, CHR$(0) ; CHR$(35) ; PRINT #1, CHR$(0) ; CHR$(30) ; PRINT #1, CHR$(0) ; CHR$(50) ; PRINT #1, CHR$(0) ; PRINT #1, CHR$(0) ; PRINT #1, CHR$(1) ; CHR$(21) ; PRINT #1, CHR$(0) ; CHR$(120) ; PRINT #1, CHR$(0) ; CHR$(200) ; PRINT #1, CHR$(0) ; CHR$(0) ; PRINT #1, CHR$(0) ; PRINT #1, CHR$(0) ; PRINT #1, CHR$(0) ; PRINT #1, CHR$(1) ; PRINT #1, CHR$(0) ; PRINT #1, CHR$(0) ; PRINT #1, CHR$(0) ; CHR$(0) ; PRINT #1, CHR$(251) ; PRINT #1, CHR$(0) ; PRINT #1, CHR$(0) ; CHR$(0) ; PRINT #1, CHR$(0) ; CHR$(0) ; PRINT #1, CHR$(0) ; CHR$(0) ; PRINT #1, CHR$(0) ; CHR$(0) ; ´Set Orientation to Portrait ´Font ID = 10 ´Font Descriptor Command ´Font Descriptor Size ´Reserved ´Font Type ´Reserved ´Baseline Distance ´Cell Width ´Cell Height ´Orientation ´Spacing ´Symbol Set ´Pitch ´Height ´x Height ´Width Type ´Style ´Stroke Weight ´Type face ´Reserved ´Serif Style ´Reserved ´Underline Distance ´Underline Height ´Text Height ´Text Width ´Reserved ´Reserved : 64 bytes : 8 bite : : : : : : : : : : : : : 35 dots 30 dots 50 dots Portrait = 0 Fixed = 0 8x32+(85-64) 4x30 dots 4x50 dots Ignored Ignored Upright = 0 Medium = 0 Pica = 1 : Ignored : : : : -5 Ignored Ignored Ignored Figure 3.24 Print example for the “q” character in portrait mode (continued) 420 PRINT #1, CHR$(0) ; ´Pitch Extended : 0/1024 dots 430 PRINT #1, CHR$(0) ; ´Height Extended : 0/1024 dots 440 PRINT #1, CHR$(0) ; CHR$(0) ; ´Reserved 450 PRINT #1, CHR$(0) ; CHR$(0) ; ´Reserved 460 PRINT #1, CHR$(0) ; CHR$(0) ; ´Reserved 470 PRINT #1, "COURIER 10 "; ´Font Name : 16 characters 480 ´ 490 PRINT #1, CHR$(27) ; "*c113E" ; ´Character Descriptor Command 500 PRINT #1, CHR$(27) ; "(s148W" ; ´Character Data Command 510 PRINT #1, CHR$(4) ; ´Format :4 520 PRINT #1, CHR$(0) ; ´Continuation :0 530 PRINT #1, CHR$(14) ; ´Descriptor Size : 14 540 PRINT #1, CHR$(1) ; ´Class :1 550 PRINT #1, CHR$(0) ; ´Orientation : Portrait = 0 560 PRINT #1, CHR$(0) ; ´Reserved 570 PRINT #1, CHR$(0) ; CHR$(2) ; ´Left Offset : 2 dots 580 PRINT #1, CHR$(0) ; CHR$(22) ; ´Top Offset : 22 dots 590 PRINT #1, CHR$(0) ; CHR$(27) ; ´Character Width : 27 dots 600 PRINT #1, CHR$(0) ; CHR$(33) ; ´Character Height : 33 dots 610 PRINT #1, CHR$(0) ; CHR$(120) ; ´Delta X : 4x30 dots 620 RESTORE 710 630 FOR I = 1 TO 132: READ X: PRINT #1, CHR$(X); : NEXT I 640 ´ 650 PRINT #1, "Resident Font : q q q q q"; CHR$ (13) ; CHR$(10) ; CHR$(10) ; 660 PRINT #1, "Downloaded Font : " ; 670 PRINT #1, CHR$(27) ; "(10X"; ´DOWNLOADED FONT 680 PRINT #1, "q q q q q" ; CHR$(13) ; CHR$(10) ; 690 PRINT #1, CHR$(12) ; 700 END 710 DATA &H00, &HFE, &H00, &H00, &H03, &HFF, &H9F, &HE0, &H0F, &HFF, &HDF, &HE0 720 DATA &H1F, &HFF, &HFF, &HF0, &H3F, &HFF, &HFE, &H00, &H3F, &HFF, &HFE, &H00 730 DATA &H7F, &HFF, &HFE, &H00, &H7F, &HFF, &HFE, &H00, &HFF, &HFF, &HFE, &H00 740 DATA &HFF, &HFF, &HFE, &H00, &HFF, &HFF, &HFE, &H00, &HFF, &HFF,&HFE, &H00 750 DATA &HFF, &HFF, &HFE, &H00, &HFF, &HFF, &HFE, &H00, &HFF, &HFF, &HFE, &H00 Figure 3.24 Print example for the “q” character in portrait mode (continued) 760 770 780 790 800 810 DATA DATA DATA DATA DATA DATA &H7F, &HFF, &HFE, &H00, &H7F, &HFF, &HFE, &H00, &H3F, &HFF, &HFE, &H00 &H3F, &HFF, &HFE, &H00, &H1F, &HFF, &HFE, &H00, &H0F, &HFF, &HFE, &H00 &H03, &HFF, &H9E, &H00, &H00, &HFE, &HIE, &H00, &H00, &H00, &H1E, &H00 &H00, &H00, &H1E, &H00, &H00, &H00, &H1E, &H00, &H00, &H00, &H1E, &H00 &H00, &H00, &H1E, &H00, &H00, &H00, &H1E, &H00, &H00, &H00, &H1E, &H00 &H00, &H1F, &HFF, &HE0, &H00, &H1F, &HFF, &HE0, &H00, &H1F, &HFF, &HE0 Figure 3.24 Print example for the “q” character in portrait mode A program example for the "q" character in landscape mode is as follows: 100 WIDTH "1pt1:", 255 110 OPEN "lpt1:" FOR RANDOM AS #1 120 PRINT #1, CHR$(27) ; "&110" ; 130 ' 140 PRINT #1, CHR$(27) ; "*c11D" ; 150 PRINT #1, CHR$(27) ; ")s64W" ; 160 PRINT #1, CHR$(0) ; CHR$(64) ; 170 PRINT #1, CHR$(0) ; 180 PRINT #1, CHR$(1) ; 190 PRINT #1, CHR$(0) ; CHR$(0) ; 200 PRINT #1, CHR$(0) ; CHR$(35) ; 210 PRINT #1; CHR$(0) ; CHR$(30) : 220 PRINT #1, CHR$(0) ; CHR$(50) ; 230 PRINT #1, CHR$(1) ; 240 PRINT #1, CHR$(0) ; 250 PRINT #1, CHR$(1) ; CHR$(21) ; 260 PRINT #1, CHR$(0) ; CHR$(120) ; 270 PRINT #1, CHR$(0) ; CHR$(200) ; 280 PRINT #1, CHR$(0) ; CHR$(0) ; 290 PRINT #1, CHR$(0) ; 300 PRINT #1, CHR$(0) ; 310 PRINT #1, CHR$(0) ; 320 PRINT #1, CHR$(1) ; 330 PRINT #1, CHR$(0) ; 340 PRINT #1, CHR$(0) ; 350 PRINT #1, CHR$(0) ; CHR$(0) ; 360 PRINT #1, CHR$(251) ; 370 PRINT #1, CHR$(0) ; 380 PRINT #1, CHR$(0) ; CHR$(0) ; 390 PRINT #1, CHR$(0) ; CHR$(0) ; 400 PRINT #1, CHR$(0) ; CHR$(0) ; 410 PRINT #1, CHR$(0) ; CHR$(0) ; 'Set Orientation to Landscape 'Font ID = 11 'Font Descriptor Command 'Font Descriptor Size 'Reserved 'Font Type 'Reserved 'Baseline Distance 'Cell Width 'Cell Height 'Orientation 'Spacing 'Symbol Set 'Pitch 'Height 'x Heiqht 'Width-Type 'Style 'Stroke Weight 'Typeface 'Reserved 'Serif Style 'Reserved 'Underline Distance 'Underline Height 'Text Height 'Text Width 'Reserved 'Reserved : 64 bytes : 8 bits : : : : : : : : : : : : : 35 dots 30 dots 50 dots Landscape = 1 Fixed = 0 8x32+(85-64) 4x30 dots 4x50 dots Ignored Ignored Upright = 0 Medium = 0 Pica = 1 : Ignored : : : : -5 Ignored Ignored Ignored Figure 3.25 Print example for the “q” character in landscape mode (continued) 420 PRINT #1, CHR$(0) ; 'Pitch Extended : 0/1024 dots 430 PRINT #1, CHR$(0) ; 'Height Extended : 0/1024 dots 440 PRINT #1, CHR$(0) ; CHR$(0) ; 'Reserved 450 PRINT #1, CHR$(0) ; CHR$(0) ; 'Reserved 460 PRINT #1, CHR$(0) ; CHR$(0) ; 'Reserved 470 PRINT #1, "COURIER 10 ”; 'Font Name : 16 characters 480 ' 490 PRINT #1, CHR$(27) ; "*c113E" ; 'Character Descriptor Command 500 PRINT #1, CHR$(27) ; "(s151W" ; 'Character Data Command 510 PRINT #1, CHR$(4) ; 'Format :4 520 PRINT #1, CHR$(0) ; 'Continuation :0 530 PRINT #1, CHR$(14) ; 'Descriptor Size : 14 540 PRINT #1, CHR$(1) ; 'Class :1 550 PRINT #1, CHR$(1) ; 'Orientation : Landscape = 1 560 PRINT #1, CHR$(0) ; 'Reserved 570 PRINT #1, CHR$(255) ; CHR$(234) ; 'Left Offset : -22 dots 580 PRINT #1, CHR$(0) ; CHR$(28) ; 'Top Offset : 28 dots 590 PRINT #1, CHR$(0) ; CHR$(33) ; 'Character Width : 33 dots 600 PRINT #1, CHR$(0) ; CHR$ (27) ; 'Character Height : 27 dots 610 PRINT #1, CHRS(0) ; CHRS(120) ; 'Delta X : 4x30 dots 620 RESTORE 710 630 FOR I = 1 TO 135 : READ X : PRINT #1, CHR$(X) ; : NEXT I 640 ' 650 PRINT #1, "Resident Font : q q q q q" ; CHR$ (13) ; CHR$(10) ; CHR$(10) ; 660 PRINT #1, "Downloaded Font : " ; 670 PRINT #1, CHR$(27) ; "(11X" ; 'DOWNLOADED FONT 680 PRINT #1, "q q q q q" ; CHR$ (13) ; CHR$(l0) ; 690 PRINT #1, CHR$(12) ; 700 END 710 DATA &H70, &H00, &H00, &H03, &H80, &H70, &H00, &H00, &H03, &H80 720 DATA &H70, &H00, &H00, &H03, &H80, &H70, &H00, &H00, &H03, &H80 730 DATA &H7F, &HFF, &HFF, &HFF, &H80, &H7F, &HFF, &HFF, &HFF, &H80 740 DATA &H7F, &HFF, &HFF, &HFF, &H80, &H7F, &HFF, &HFF, &HFF, &H80 750 DATA &H1F, &HFF, &HF8, &H03, &H80, &H3F, &HFF, &HF8, &H03, &H80 Figure 3.25 Print example for the “q” character in landscape mode (continued) 760 770 780 790 800 810 820 830 840 DATA DATA DATA DATA DATA DATA DATA DATA DATA &H7F, &HFF, &HFC, &H03, &H80, &H7F, &HFF, &HFC, &H03, &H80 &HFF, &HFF, &HFE, &H03, &H80, &HEF, &HFF, &HFE, &H03, &H80 &HEF, &HFF, &HFE, &H03, &H80, &HEF, &HFF, &HFE, &H03, &H80 &HEF, &HFF, &HFE, &H00, &H00, &HEF, &HFF, &HFE, &H00, &H00 &HFF, &HFF, &HFE, &H00, &H00, &H7F, &HFF, &HFC, &H00, &H00 &H7F, &HFF, &HFC, &H00, &H00, &H3F, &HFF, &HF8, &H00, &H00 &H3F, &HFF, &HF8, &H00, &H00, &H1F, &HFF, &HF0, &H00, &H00 &H0F, &HFF, &HE0, &H00, &H00, &H03, &HFF, &H80, &H00, &H00 &H00, &HFE, &H00, &H00, &H00 Figure 3.25 Print example for the “q” character in landscape mode The output of previous programs is as follows: Resident Font : q q q q Downloaded Font : Landscape mode Portrait mode Figure 3.26 Output of previous programs Temporary/Permanent Font Attribute There are two additional attributes which can be given to downloaded fonts; temporary and permanent. Only one of these attributes can be given to font ID. The temporary font attribute can be cleared by the reset command, while the permanent font attribute cannot. Therefore, when downloadable fonts are used for many pages, the permanent attribute is suitable, and when used only on an individual page, temporary attribute is suitable. The temporary attribute is always given to fonts when they are downloaded. Selection of the temporary and permanent fonts are made by ESC “*c4F” or ESC “*c5F” (refer to the next section for detailed information). Font Control • Font selection by ID number Setting/primary: ESC “(#X” #=Font ID number This command takes a font which has a font ID provided in the value field # as primary. In the primary select mode, therefore, the font selected is taken as the printing font. Setting/secondary: ESC “)#X” #=Font ID number This command takes a font which has a font ID provided in the value field # as secondary. In the secondary select mode, therefore, the font selected is taken as the printing font. • Controlling font/character Setting: ESC “*c#F” This command controls the font in accordance with the value in the value field #. #=0: All the fonts under control of font ID are cleared together along with the font with permanent attribute. #=1: All of the fonts with temporary attribute under control of font ID are cleared. #=2: The font whose font ID was designated last is cleared. #=3: Characters whose character code was designated last among fonts which have the font ID designated last are cleared. #=4: To give a temporary attribute to a font whose font ID has been designated last. #=5: To give a permanent attribute to a font whose font ID has been designated last. #=6: To give the last font ID to the present printing font. User-Defined Symbol Set The user can gather the characters of high frequency from a symbol set and download them as user-defined symbol set. The following three commands are provided to use a user-defined symbol set. Symbol Set ID Code Define Symbol Set Symbol Set Control ESC “*c#R” ESC “(f#W” [Symbol set data] ESC “*c#S” These commands are available with the unbound scalable font. First decide the symbol set ID code (ESC “*c#R”). Download the symbol set character table and the symbol set data {ESC “(f#W” [symbol set data]}. Once you finish downloading a user-defined symbol set, the ID code can be selected in the same way as a symbol set is selected by ESC “(ID”. The symbol set can be downloaded as a temporary or permanent one, or can be deleted (ESC “*c#S”). Byte 15 MSB 8 7 LSB 0 0 HEADER SIZE 2 ENCODED SYMBOL SET DESIGNATOR 4 FORMAT SYMBOL SET TYPE 6 FIRST CODE 8 LAST CODE 10 CHARACTER REQUIREMENTS Header Size SYMBOL MAP Figure 3.27 User-defined symbol set definition format HEADER SIZE: These two bytes specify the number of bytes from Header Size (byte 0) to Symbol Map. The value is 18 or more. ENCODED SYMBOL SET DESIGNATOR: The value must correspond to the symbol set ID code number. See “Assigning ID Code”. FORMAT: This field specifies MSL by 1 or Unicode by 3. When the value except 1 and 3 is set, the symbol set definition is ignored. SYMBOL SET TYPE: This field specifies the range of codes for printable symbols. Value (#) 0 1 2 Designated Use 7 bits:The codes from 32 to 127 are printable. 8 bits:The codes from 32 to 127 and 160 to 255 are printable. 8 bits:The codes from 0 to 255 are printable. (The codes, 0, 7 to 15 and 27, are printable only in Transparent Print Mode.) Table 3.26 Value for symbol set type FIRST CODE: These two bytes specify the first character code of symbol set. LAST CODE: These two bytes specify the last character code of symbol set. First Code and Last Code determine the range of character codes to be mapped to symbol index number in the symbol map field. CHARACTER REQUIREMENTS: This field determines whether a requirement for symbol collection is executed to make an unbound font symbol set, or not. Each bit indicates a bit specific collection. Setting the bit to 1 requires for symbol collection, and 0 does not require for symbol collection. The tables 3.27 and 3.28 show a collection for each bit. Bit Designated Use 63 Basic Latin 62 East European Latin 61 Turkish 34 Math 33 Semi-graphic 32 Dingbats 2, 1, 0 MSL Symbol Index Table 3.27 MSL symbol index character requirements Bit ASCII 30 West Europe extensions 29 East Europe extensions 28 Turkish 27 DeskTop 26 Accent extensions 25 PCL extensions 24 Macintosh extensions 23 PostScript extensions 22 Code Page extensions 2, 1, 0 Unicode Symbol Index Table 3.28 Unicode symbol index character requirements For example, setting this field to 2000000000000000HEX requires Turkish. SYMBOL MAP: This field specifies the symbol index numbers. This list specifies the symbols for symbol set. The Appendix B contains Unicode and MSL symbol lists. The range of character code numbers is from First Code to Last Code specified by the header. The first of symbol index number in the symbol map field is mapped to the character code specified by First Code. And the second of symbol index number is mapped to the second character code (First code plus 1). The last of symbol index number is mapped to the character code specified by Last Code. The number of symbol indexes must be equal to the one of character codes from First Code to Last Code. You must map 65535 (FFFFHEX) to unprintable symbols (ex. character code from 128 to 160 in Roman-8). Assigning ID Code Setting: ESC “*c#R” #=Symbol Set ID Code (0 to 32767) This command is used to assign a symbol set ID code to a user-defined symbol set. A symbol set ID code is decided by the following formula: Symbol Set ID Code = (# × 32)+(ID - 64) # = 0 to 1023 ID = ASCII code number We recommend you select an unoccupied ID code. The default is 0. Defining Symbol Set Setting: ESC “(f#W” [symbol set definition data] #=Number of bytes in symbol set definition (0 to 32767) This command defines characters and mapping in user-defined symbol set table. Controlling Symbol Set Setting: ESC “*c#S” #=0: deletes temporary and permanent user-defined symbol sets. #=1: deletes temporary user-defined symbol sets. #=2: deletes current user-defined symbol set. #=4: gives an attribute (temporary) to current user-defined symbol set. #=5: gives an attribute (permanent) to current user-defined symbol set. This command is used to make a temporary or a permanent user-defined symbol sets, or delete the sets. Macros A macro is a function that enables efficient operation of the system by shortening the time to send data from the computer to the printer. A program to print the document often includes the same text or the same sequences. In such a case, by using the macro function, the computer does not need to send the same data several times. This makes it possible to produce the document in a shortened time. In addition, the program becomes simpler, making it easier to produce, read and control. Details of how to use macros are as follows: . Definition of Macro ID Setting: ESC “&f#Y” #=Macro ID number (0 to 32767) This command defines the macro ID which identifies the macro. The value field # can be within 0 to 32767 (default is 0 ) and the printer can define macros at the same time as many as the memory capacity allows. When the macro is to be downloaded, use this command first in order to determine the macro ID. This command also determines the macro to be used. Starting to Download a Macro Setting: ESC “&f0X” This command stores the macro data in the printer memory assigned to the macro ID designated at present. Subsequent data is temporarily downloaded as macro data until the end download macro command is detected. Downloading Macro Data Send the text or ESC sequence to be registered as the macro from the computer. Ending the Macro Setting: ESC “&f1X” This command designates the end of the macro data to be registered. Executing a Macro There are three modes available for executing a macro. • Jump to macro Setting: ESC “&f2X” This command does not restore the printer to a pre-existing configuration after executing the macro. On receiving this command, the printer starts to execute the macro in the existing configuration and maintain the configuration after it has completed execution of the macro. • Call macro Setting: ESC “&f3X” This is a mode to restore an executing circumstance of a program after execution. On receiving this command, the printer starts to execute the macro in the present executing circumstance. The mode set during execution is invalid after completion of the macro and the mode before execution is restored. Modes to be restored are listed below: Page length Orientation Input control Copy count Margins (top, left and right) Skip perforation mode Line termination EOL wrap Font attributes HMI Primary font address Font ID Character code Macro ID VMI/Line spacing Horizontal rule spacing Vertical rule size Underline mode Graphics resolution Graphics mode Graphics left margin Pattern ID • Overlay macro automatically Setting: ESC “&f4X” Release: ESC “&f5X” This mode automatically executes the macro on every page. On receiving this command, the printer executes the macro in the overlay circumstance on every page printed. The overlay circumstance is invalid after execution and the previous circumstance is restored. Listed below are the overlay circumstances: Page length Orientation Input control Copy count Top margin Bottom margin Left margin Right margin Skip perforation mode Line termination End of line wrap Font attributes Font ID Primary font address Character code Macro ID HMI VMI (line spacing) Horizontal ruling Vertical ruling Underline mode Graphics resolution Graphics mode Graphics margin Pattern ID Overlay Position stack current current current current 0.5 inches 0.5 inches left page edge right page edge on 0 off default 0 default 0 0 default 6 lines per inch 0 0 off 75 dots per inch off 0 0 current current Controlling a Macro The macro has temporary and permanent attributes. The temporary attribute must be given to the macro upon storing it. These two attributes differ from each other in the way they release the stored macro; the temporary macro can be released by a reset command while the permanent macro cannot. There are 5 modes available to control the macro; they are as follows: • Releasing all macros Setting: ESC “&f6X” This command releases all temporary and permanent macros. • Releasing all temporary macros Setting: ESC “&f7X” This command releases all temporary macros. • Releasing the macro Setting: ESC “&f8X” This command releases the macro whose ID is currently designated. • Giving the temporary attribute to the macro Setting: ESC “&f9X” This command gives the temporary attribute to the macro whose ID is currently designated. • Giving the permanent attribute to the macro Setting: ESC “&fl0X” This command gives the permanent attribute to the macro whose ID is currently designated. Print Model Print Model is a printing function that draws images and characters filledwith any of the printer's shading or hatch patterns pre-defined. This is performed by the following procedures: Pattern Transparency Mode Setting: ESC “*v#O” #=0: Transparent 1: Opaque This command determines whether the pattern is transparent or opaque in the pattern transparency mode. The default is 0 (transparent). Any values other than 0 or 1 are ignored. A transparency mode 0 indicates that the white area of the pattern image will not be copied on the destination. A transparency mode 1 indicates that the white pixels in the pattern will be printed directly on the destination. Source Transparency Mode Setting: ESC “*v#N” #=0: Transparent 1: Opaque This command determines whether the pattern is transparent or opaque in the source transparency mode. The default is 0 (transparent). Any values other than 0 or 1 are ignored. A transparency mode 0 indicates that the white area of the source image will not be copied on the destination. A transparency mode 1 indicates that the white pixels in the source will be printed directly on the destination. Pattern Source image + + Destination result = Source transparency mode=0 (transparent) Pattern transparency mode=0 (transparent) + + Source transparency mode=0 (transparent) Pattern transparency mode=1 (opaque) Figure 3.28 Transparency mode on images (continued) Pattern Source image + Destination + result = Source transparency mode=1 (opaque) Pattern transparency mode=0 (transparent) + + Source transparency mode=1 (opaque) Pattern transparency mode=1 (opaque) Figure 3.28 Transparency mode on images = Select Current Pattern Setting: ESC “*v#T” #=0: Printed black 1: Printed white 2: Gray scale pattern 3: Hatch pattern 4: User-defined pattern This command specifies the type of pattern which is printed on the destination. The default is 0 (printed black). Any values outside the range 0 to 4 are ignored. Designating the Graphics Pattern Setting: ESC “*c#G” #=Gray scale pattern or hatch pattern value This command specifies the level or hatch pattern. The default is 0 (no pattern). Any values outside the range 0 to 100 are ignored. Refer to “Designating the Graphics Pattern”. Logical Operation Setting: ESC “*l#O” #=0 to 255 This command specifies a logical operation of destination, source and pattern made on RGB color space to make new destination data. The default is 252. When both the source transparency mode (ESC “*v#N”) and the pattern transparency mode (ESC “*v#O”) are set to opaque (=case 1), the result of the operation is shown in the Boolean Function in the ROP3 Table. For example, PDSoxn in the Boolean Function indicates NOT [pattern XOR (source OR destination)]. When either the source transparency mode or the pattern transparency mode is set to transparency, the following additional processing is executed (see the cases 2 to 4). case 1 Source transparency=1 (opaque) Pattern transparency=1 (opaque) Return=ROP3 (Dest, Src, Pat) case 2 Source transparency=0 (transparent) Pattern transparency=0 (transparent) tmp_ROP3=ROP3 (Dest, Src, Pat) Image A=tmp_ROP3 & Src & Pat Image B=Dest & NOT Src Image C=Dest & NOT Pat Return=Image A | Image B | Image C case 3 Source transparency=0 (transparent) Pattern transparency=1 (opaque) tmp_ROP3=ROP3 (Dest, Src, Pat) Image A=tmp_ROP3 & Src Image B=Dest & NOT Src Return=Image A | Image B case 4 Source transparency=1 (opaque) Pattern transparency=0 (transparent) tmp_ROP3=ROP3 (Dest, Src, Pat) Image A=tmp_ROP3 & NOT Src Image B=tmp_ROP3 & Pat Image C=NOT Pat & Src & Dest Return=Image A | Image B | Image C Dest=Destination Src=Source Pat=Pattern Value Boolean Function Value 0 0 23 1 DPSoon 24 2 DPSona 25 3 Pson 26 4 SDPona 27 5 Dpon 28 6 PDSxnon 29 7 PDSaon 30 8 SDPnaa 31 9 PDSxon 32 10 Dpna 33 11 PSDnaon 34 12 Spna 35 13 PDSnaon 36 14 PDSonon 37 15 Pn 38 16 PDSona 39 17 Dson 40 18 SDPxnon 41 19 SDPaon 42 20 DPSxnon 43 21 DPSaon 44 22 SDPSanaxx 45 Table 3.29Logical operations (ROP3) (continued) Boolean Function SSPxDsxaxn SPxPdxa SDPSanaxn PDSPaox SDPSxaxn PSDPaox DSPDxaxn PDSox PDSoan DPSnaa SDPxon Dsna SPDnaon SPxDsxa PDSPanaxn SDPSaox SDPSxnox DPSxa PSDPSaoxxn DPSana SSPxPDxaxn SPDSoax PSDnox Value Boolean Function Value 46 PSDPxox 69 47 PSDnoan 70 48 Psna 71 49 SDPnaon 72 50 SDPSoox 73 51 Sn 74 52 SPDSaox 75 53 SPDSxnox 76 54 SDPox 77 55 SDPoan 78 56 PSDPoax 79 57 SPDnox 80 58 SPDSxox 81 59 SPDnoan 82 60 PSx 83 61 SPDSonox 84 62 SPDSnaox 85 63 Psan 86 64 PSDnaa 87 65 DPSxon 88 66 SDxPdxa 89 67 SPDSanaxn 90 68 SDna 91 Table 3.29Logical operations (ROP3) (continued) Boolean Function DPSnaon DSPDaox PSDPxaxn SDPxa PDSPDaoxxn DPSDoax TDSnox SDPana SSPx Dsxoxn PDSPxox PDSnoan Pdna DSPnaon DPSDaox SPDSxaxn DPSonon DnDPSox DPSoan PDSPoax DPSnox DPx DPSDonox Value Boolean Function Value Boolean Function 92 DPSDxox 115 SDPnoan 93 DPSnoan 116 DSPDxox 94 DPSDnaox 117 DSPnoan 95 Dpan 118 SDPSnaox 96 PDSxa 119 Dsan 97 DSPDSaoxxn 120 PDSax 98 DSPDoa 121 DSPDSoaxxn 99 SDPnox 122 DPSDnoax 100 SDPSoax 123 SDPxnan 101 DSPnox 124 SPDSnoax 102 DSx 125 DPSxnan 103 SDPSonox 126 SPxDSxo 104 DSPDSonoxxn 127 DPSaan 105 PDSxxn 128 DPSaa 106 DPSax 129 SPxDSxon 107 PSDPSoaxxn 130 DPSxna 108 SDPax 131 SPDSnoaxn 109 PDSPDoaxxn 132 SDPxna 110 SDPSnoax 133 PDSPnoaxn 111 PDSxnan 134 DSPDSoaxx 112 PDSana 135 PDSaxn 113 SSDxPDxaxn 136 Dsa 114 SDPSxox 137 SDPSnaoxn Table 3.29Logical operations (ROP3) (continued) Value Boolean Function Value 138 DSPnoa 161 139 DSPDxoxn 162 140 SDPnoa 163 141 SDPSxoxn 164 142 SSDx 165 143 Pdxax 166 144 PDSanan 167 145 PDSxna 168 146 SDPSnoaxn 169 147 DPSDPoaxx 170 148 SPDaxn 171 149 PSDPSoaxx 172 150 DPSaxn 173 151 DPSxx 174 152 PSDPSonoxx 175 153 SDPSonoxn 176 154 DSxn 177 155 DPSoaxn 178 156 SDPSoaxn 179 157 SPDnax 180 158 DSPDoaxn 181 159 DSPDSaoxx 182 160 PDSxanDPa 183 Table 3.29Logical operations (ROP3) (continued) Boolean Function PDSPnaoxn DPSnoa DPSDxoxn PDSPonoxn PDxn DSPnax PDSPoaxn DPSoa DPSoxn DDPSono SPDSxax DPSDaoxn DSPnao Dpno PDSnoa PDSPxoxn SSPx Dsxox SDPanan PSDnax DPSDoaxn DPSDPaoxx SDPxan Value Boolean Function Value 184 PSDPxax 207 185 DSPDaoxn 208 186 DPSnao 209 187 Dsno 210 188 SPDSanax 211 189 SDxPDxan 212 190 DPSxo 213 191 DPSano 214 192 Psa 215 193 SPDSnaoxn 216 194 SPDSonoxn 217 195 PSxn 218 196 SPDnoa 219 197 SPDSxoxn 220 198 SDPnax 221 199 PSDPoaxn 222 200 SDoa 223 201 SPDoxn 224 202 DPSDxax 225 203 SPDSaoxn 226 204 S 227 205 SDPono 228 206 SDPnao 229 Table 3.29Logical operations (ROP3) (continued) Boolean Function Spno PSDnoa PSDPxoxn PDSnax SPDSoaxn SSPxPdxax DPSanan PSDPSaoxx DPSxan PDSPxax SDPSaoxn DPSDanax SPxDsxan SPDnao Sdno SDPxo SDPano PDSoa PDSoxn DSPDxax PSDPaoxn SDPSxax PDSPaoxn Value Boolean Function 230 SDPSanax 231 SPxPDxan 232 SSPxDSxax 233 DSPDSanaxxn 234 DPSao 235 DPSxno 236 SDPao 237 SDPxno 238 Dso 239 SDPnoo 240 P 241 PDSono 242 PDSnao Table 3.29Logical operations (ROP3) S=Source P=Pattern D=Destination a=AND o=OR n=NOT x=EXCLUSIVE OR Value 243 244 245 246 247 248 249 250 251 252 253 254 255 Boolean Function Psno PSDnao Pdno PDSxo PDSano PDSao PDSxno Dpo DPSnoo Pso PSDnoo DPSoo 1 Pixel Placement Command Setting: ESC “*l#R” #=0: Grid intersection 1: Grid centered This command decides how the pixels in image are printed. The default is 0. A rectangle in the grid centered mode (#=1) is one dot row thinner and shorter than that in the grid intersection mode (#=0). (0,0) (0,0) (0,0) (1,1) (1,1) (3,5) Grid Intersection (Printer) Figure 3.29 Pixel Placement (1,1) (3,5) Grid Centered (Windows) (3,5) Grid Centered (Printer) Advanced Graphics Advanced Graphics is a printing function that draws a designated pattern by defining the height and the width of the area. This is performed by the following procedures: Deciding the Upper-left Position of the Pattern Choose the upper-left position of the area where the pattern is drawn. This is set by the command to move the cursor horizontally/vertically. Deciding the Size of the Advanced Graphics Area • Horizontal (width) Setting: ESC “*c#A” #=Number of PCL units ESC “*c#H” #=Number of decipoints • Vertical (height) Setting: ESC “*c#B” #=Number of PCL units ESC “*c#V” #=Number of decipoints See “Deciding PCL Units”. Designating the Graphics Pattern Setting: ESC “*c#G” #=Gray scale pattern, hatch pattern or user-defined pattern value This command designates the graphics pattern. Combining it with the start printing command (ESC “*c#P”) can designate the gray scale pattern or define the hatch pattern or user-defined pattern. Start Printing Setting: ESC “*c#P” #=0: Printed black 1: Printed white 2: Gray scale pattern 3: Hatch pattern 4: User-defined pattern 5: Current pattern To print a user-defined pattern, select #=4 before or after you designate a userdefined patten. • Gray scale pattern (combining with ESC “*c2P”) The following 8 patterns are available in accordance with the value in the value field #. #=1 to 2 #=3 to 10 #=11 to 20 #=21 to 35 #=36 to 55 #=56 to 80 #=81 to 99 #=100 Figure 3.30 Gray scale pattern • Defined hatch pattern (combining with ESC “*c3P”) The following 6 patterns are available in accordance with the value in the value field #. #=1 #=2 #=3 #=4 #=5 #=6 Figure 3.31 Hatch pattern User-Defined Pattern Graphics The user can designate user-defined pattern graphics (area fill) and download them in the printer. The pattern graphics can be controlled by the following three commands: User-Defined Pattern Set Pattern Reference Point Pattern Control ESC “*c#W” [pattern data] ESC “*p#R” ESC “*c#Q” First define a binary raster data image as user base pattern. The user base pattern is downloaded in the printer by using the user-defined pattern command {ESC “*c#W” [data]}. Before downloading user-defined pattern, assign user patten ID number to your pattern graphic by the graphics pattern command (ESC “*c#G”). The user pattern ID number is used to select and control pattern graphics. Downloading Pattern Data Setting: ESC “*c#W” [pattern data] #=Number of Pattern data byte This command provides you with the method to download the binary pattern data which defines a user pattern. The pattern data includes 8 bytes of pattern display (header) data at 300 dpi resolution, and 12 bytes at 600 dpi resolution. The format for headers at 300 dpi and 600 dpi resolutions is shown below. Byte 0 FORMAT (0) CONTINUATION (0) 2 PIXEL ENCODING (1) RESERVED (0) 4 HEIGHT IN PIXELS 6 WIDTH IN PIXELS 8 PATTERN IMAGE Figure 3.32 User-defined pattern header (300 dpi) Byte 0 FORMAT (0) CONTINUATION (0) 2 PIXEL ENCODING (1) RESERVED (0) 4 HEIGHT IN PIXELS 6 WIDTH IN PIXELS 8 X RESOLUTION 10 Y RESOLUTION 12 PATTERN IMAGE Figure 3.33 Resolution-specified user-defined pattern header FORMAT: This 1 byte must be set to 0. CONTINUATION: This 1 byte must be set to 0. PIXEL ENCODING: This 1 byte must be set to 1. RESERVED: This field is not used. This 1 byte must be set to 0. HEIGHT IN PIXELS: This 1 byte specifies the number of rows in a pattern (height). WIDTH IN PIXELS: This 1 byte specifies the number of pixels in a pattern (width). PATTERN IMAGE: This field includes the raster data of pattern. X RESOLUTION: This 1 byte specifies the pixel resolution in X scan direction of the designated pattern. Y RESOLUTION: This 1 byte specifies the pixel resolution in Y scan direction of the designated pattern. Tiling the Pattern Setting: ESC “*p#R” #=0: rotates a pattern in accordance with printing direction 1: fixed pattern This command tiles the pattern related to the current cursor position. Two modes (#=0 and 1) can be selected by this command. The default pattern reference point is positioned on the upper-left corner (0,0) on the logical page. When this command is not set, the pattern is tiled at the default reference point. Controlling the Pattern Setting: ESC “*c#Q” #=0: deletes all patterns 1: deletes all temporary patterns 2: deletes the pattern defined last 3: reserved 4: makes a temporary pattern 5: makes a permanent pattern This command controls the defined patterns. Status Readback You can gain information on available printer (user) memory, available current font, available symbol set or available user-defined pattern from the printer by using the status readback commands. To utilize this function, the host computer needs bi-directional driver to receive status response data. To receive status response data, sending a request for memory status or entity status data is necessary. Memory Status Request You can confirm the amount of available user memory by sending memory status request to the printer. Entity Status The entity refers to font, symbol set, macro and user-defined pattern stored in the printer. To require an entity status, send the entity status readback command, then the inquire status readback entity command. The location type is the memory location in which the entity is stored. The memory location includes ROM, RAM (downloaded entity), last selected font and user-defined pattern. The location unit is the specific location within the location type. For example, to specify temporary font for entity status, select the location type by 4, the location unit by 1 and the entity type by 0. Status Response When the printer receives the status request command, the printer processes the request of the command and stores response data in the I/O status buffer. The response data is stored in the buffer until the data is read by users, or the printer is turned off (status buffer is deleted). Status response will be deleted from the buffer when one of the following settings has been changed. • Printer resolution • Page protection • Printer language (language personality) Note: You can retrieve status readback messages by using bi-directional parallel interface. Set Status Readback Location Type Command Setting: ESC “*s#T” #=0: invalid location (default) 1: current selection 2: all locations 3: internal 4: downloaded entity This command sets a type of status location. The location type is used in association with the location unit. When any value except 0 to 4 is sent or the printer is reset, the setting of status location type is reset to the default setting (0). Set Status Readback Location Unit Command Setting: ESC “*s#U” Location Type 0 1 2 3 4 Table 3.30 Location Unit (#) *:invalid location *:current selection *:all locations 0:all internal 0:all downloaded 1:temporarily downloaded 2:permanently downloaded *=any entered value is ignored. This command sets the status location unit. The location unit is used in association with the location type. The range is from 0 to 2. The default is 0. Inquire Status Readback Entity Command Setting: ESC “*s#I” #=0: font 1: macro 2: user-defined pattern 3: symbol set (Unbound scalable font) 4: font extended This command specifies the entity type, and makes the status response to the specified entity in the status readboack location (type and entity). The default is not applicable. Entity Status Responses The status response to the inquire status readback entity command is varied. The status response depends on the type of the requested entity. • Font Response When the value of the inquire entity is 0 (font), the printer will send the status response information with keywords. The keywords are different depending on bitmap, unbound scalable or bound scalable font. The keywords include the followings; SELECT= SYMBOL SETS= LOCTYPE= LOCUNIT= Response example: (Readback commands) Location Type (ESC “*s#T”) #=1 Location Unit (ESC “*s#U”) #=0 Entity (ESC “*s#I”) #=0 (Response) INFO FONTS SELECT=“<Esc>(8U<Esc>(s0p10.00h0s0b4099T” LOCTYPE=3 LOCUNIT=1 The information after “SELECT=” shows the selected font. The information after “LOCTYPE=” shows the font's location type. (See “Set Status Readback Location Type Command”.) The information after “LOCUNIT=” shows the font's location unit. (See “Set Status Readback Location Unit Command”.) The response example above indicates the currently selected font is a built-in font; Courier, fixed spacing and 10.00 pitch. • Macro Response When the value of the inquire entity is 1 (macro), the macro status response sends all the macro ID in the specified location. Response example: (Readback commands) Location Type (ESC “*s#T”) #=4 Location Unit (ESC “*s#U”) #=0 Entity (ESC “*s#I”) #=1 (Response) INFO MACROS IDLIST=“6, 7, 8, 9, 10” The response example above indicates the macros listed after “IDLIST=” are downloaded. • User-Defined Pattern Response When the value of the inquire entity is 2 (user-defined pattern), the user-defined pattern response sends all the ID numbers of the user- defined pattern in the specified location. Response example: (Readback commands) Location Type (ESC “*s#T”) #=4 Location Unit (ESC “*s#U”) #=0 Entity (ESC “*s#I”) #=2 (Response) INFO PATTERNS IDLIST=“10, 11, 12, 13, 14, 15” The response example above indicates the user-defined patterns which are specified by ID numbers listed after “IDLIST=” are downloaded. • Symbol Set Response When the value of the inquire entity is 3 (symbol set), the symbol set response sends all the ID numbers of the symbol sets which can be bound to unbound scalable fonts in the specified location. Response example: (Readback commands) Location Type (ESC “*s#T”) #=3 Location Unit (ESC “*s#U”) #=0 Entity (ESC “*s#I”) #=3 (Response) INFO SYMBOLSETS IDLIST=“0D, 0I, 0N, 0S, 0U, 1E, 1F, 1G, 1U,2N, 2S,5M, 5N,5T, 6J, 6M, 7J, 8M,8U, 9E, 9T, 10J, 10U, 11U, 12J,12U,13J, 14J, 15U, 17U, 19U” The response example above indicates the symbol sets listed after “IDLIST=” are entered. • Font Extended Response When the value of the inquire entity is 4 (font extended response), the font extended response sends back font name and internal font ID numbers with the information of selected entity type, symbol sets, location type and unit. Response example: (Readback commands) Location Type (ESC “*s#T”) #=3 Location Unit (ESC “*s#U”) #=0 Entity (ESC “*s#I”) #=4 (Response) INFO FONT EXTENDED SELECT=“<Esc>(s1p__v0s1b4362T” SYMBOLSETS=“0D, 0I, 0N, 0S, 0U, 1E, 1F, 1G, 1U, 2N, 2S, 5M, 5N, 5T, 6J, 6M, 7J, 8M, 8U, 9E, 9T, 10J, 10U, 11U, 12J, 12U, 13J, 14J, 15U, 17U, 19U” DEFID=“I 23” NAME=“Albertus M” Ÿ Ÿ Ÿ The information after “SYMBOLSETS=” shows the ID numbers of all available internal symbol sets. The information after “DEFID=” is composed of the location and ID number. “I 23” indicates the internal font ID number 23. When “S” is sent in place of “I”, it means “permanent soft font”. The information after “NAME=” shows an extended font name. Entity Error Code The printer will send one of the following four error codes, when an error condition occurs. • ERROR=INVALID ENTITY This code is sent when the entity type specified in the escape sequences is outside the range, or is not supported. • ERROR=INVALID LOCATION This code is sent when the location (type or unit) is invalid while an entity type is valid, or the specified device is not installed. • ERROR=NONE This code is sent when the specified entity does not exist in the location while the entity type and the location are valid, or the type is inappropriately set to the specified entity (internal user-defined or current selected macro). • ERROR=INTERNAL ERROR This code is sent when the printer does not have sufficient memory to process the status response. Free Space Command Setting: ESC “*s1M” This command sends back user available memory. The response sends back two values; total of available memory and the amount of the largest block of available memory. This command is useful, when you compare user available memory space with necessary memory space for your job. • Memory Status Response The free space status sends back two values of free memory by using two keywords; “Total” and “Largest”. The value after “Total” indicates the total of user available memory in bytes (the value is equal to the total of all blocks of free memory), and the value after “Largest” indicates the amount of the largest block of user available memory. Response example: INFO MEMORY TOTAL=819710 LARGEST=19710 The response example above indicates the printer's user available memory is 819710 bytes and the largest block of user available memory is 19710 bytes. • Memory Error Response When the value of this command is not set to 1, the memory status response sends back an “INVALID UNIT” error. Flush All Pages Command Setting: ESC “&r#F” #=0: flushes all complete pages 1: flushes all pages This command intermits receiving data until all the print data in the printer is completely printed out. This intermission gives time for the printer to clear memory. The value 0 indicates to process only complete page data. When uncompleted page data is existed in the printer, the uncompleted page data is not processed. The value 1 indicates to process all page data including uncompleted page data. The default is 0. Echo Command Setting: ESC “*s#X” #=value of Echo (ASCII) (-32767 to 32767) The response data is stored in the printer's buffer until the computer reads the data. If the status readback command was sent to the printer through other application software in the past, there occurs possibility of the current application software receiving the response to the status readback command incorrectly. To prevent this problem from occurring, send unique values by using the ECHO command so that you can confirm the print status of the current application software. • Echo Response The printer returns the value specified by the command. The value is within the range (-32767 to 32767). Miscellaneous Display Functions Setting: ESC “Y” Release: ESC “Z” When the display function mode is set, the original control code functionsare ignored and control codes are printed with the following exceptions. • When detecting CR, the printer performs CR+LF and prints CR. • When ESC “Z” is entered, the printer prints ESC Z and turns this mode off. This mode is helpful to confirm that the control codes or ESC commands are properly sent from the computer. Transparent Print Data Setting: ESC “&p#X” #= Number of bytes of transparent print data The data whose number of bytes is designated in the value field # are taken as transparent print data. In this mode all control codes are printed with no exceptions so the functions which are originally equipped with control codes are ignored. Therefore, no ESC commands exist in transparent print data. This is a more powerful command than the display functions and is helpful to confirm the input data. This command is useful when printing the hidden characters in symbol sets like PC-8 symbol set. Automatic Underlining Setting: ESC “&d#D” #=0: Fixed underline 3: Floating underline Release: ESC “&d@” These commands control the automatic underlining mode. In floating underline mode, underline is drawn in the position defined in a font descriptor. In fixed underline mode, underline is drawn five dots below the baseline and the thickness is three dots. Spaces set by SP codes or printing position horizontal motion commands will also be underlined. Push/Pop Printing Position Setting: ESC “&f#S” #=0: Push printing position 1: Pop printing position This command controls the printing position as a stack. The push printing position setting stores the present printing position. Detecting this command, the printer puts the present printing position on the top of the stack. The pop printing position setting recalls the stored printing position. Detecting this command, the printer takes the printing position from the top of the stack and assigns the present position to it. The maximum number of stack levels is 20. Backspace Code: BS This code moves the printing position by one column in the opposite direction of the current print direction. The backspacing amount depends on the pitch or HMI setting. Line Feed Code: LF This code moves the printing position by one line in the forward direction while retaining the current column position. Form Feed Code: FF This code moves the printing position to the top margin of the next page while retaining the current column position. Carriage Return Code: CR This code moves the printing position to the left margin of the current line. Horizontal Tab Code: HT This code moves the printing position every 8 column tab stops from the left margin. Half Line Feed Setting: ESC “=” This command advances the printing position by half of VMI CR/LF/FF Action Setting: ESC “&k#G” This printer has the ability to add functions to the CR/LF/FF codes. Additional functions are given to CR/LF/FF codes in accordance with the value in the value field # as shown in Table 4.13. Action # CR 0 CR 1 CR+LF 2 CR 3 CR+LF Table 3.31 CR/LF/FF action LF FF LF LF CR+LF CR+LF FF FF CR+FF CR+FF Automatic Wrap Around Setting: ESC “&s0C” Release: ESC “&s1C” The setting command executes CR+LF automatically when the text sent from the computer exceeds the right margin. This is called an automatic wrap around function. In the default setting this function is invalid. Select Number of Copies Setting: ESC “&l#X” #= Number of copies (1 to 99) This command repeatedly prints the same data by setting the desired number of copies. When using this command the computer does not need to send the same page data more than once. It is also possible to set this function through the front panel. Later setting overrides former setting whenever that is made by software command or front panel. When #=1, this command will be ignored and the printer defaults to the number of copies set by the front panel. Paper Input Control Setting: ESC “&l#H” #=0: Feed current page 1: MP Cassette 2: Manual Feed (MP) 3: Manual Envelope (MP) 4: STD Cassette 5: OPT Cassette 6: Feed current page This command selects the paper supply mode. Duplex Page Side Selection The Duplex Page Side Selection command instructs the printer to feed papers and which side of the paper to print. The function to skip pages at a position of a document is needed during duplex printing, For example, a chapter generally begins from front side of the page. Setting: ESC “&a#G” #=0: Select next side 1: Select front side 2: Select back side The default setting is 0. Any value except 0, 1 and 2 is invalid. If the command is accepted by a printer which does not have the function of duplex printing or can not do duplex printing, these command instructs to eject current paper without printing and the cursor positions at default position on the next page. Example Send the followed command to print on the front side of a page with disregard current condition. ESC “&a1G” In this case, if the printer is formatting a front side, it will stop formatting and eject the paper. And then it begins to print on the next front page. Simplex / Duplex Print This command instructs a duplex printer to print simplex or Duplex. In Simplex mode, printer prints on one side of a paper. In Duplex mode, printer prints on both sides of a paper. Setting: ESC “&l#S” #=0: Simplex 1: Duplex, Long-Edge Binding 2: Duplex, Short-Edge Binding The default setting is 0. Any value except 0, 1 and 2 is invalid. Long-Edge bound duplexed pages are bound along the length of the physical page. Short-Edge bound duplexed pages are bound along the width of the physical page. Note: If the command is accepted by a printer which does not have the duplex feature, the command is ignored. Printers which do not have the duplex feature print in Simplex mode (on one side of a paper). Reset Setting: ESC “E” This command causes the printer to print any partial pages of data which have been received, and returns all functions under software control to their default settings. The functions set through the front panel key operation are not cleared and the settings saved permanently are not cleared by this command. The printer returns the following settings to default after feeding the present page. • Underlining Automatic underlining: Off • Raster Graphics Raster Graphics resolution: 75 dots/inch • Display Functions Display functions mode: Off • Skip Perforation Mode Skip perforation mode: Enabled • Miscellaneous Features End-of-line wrap: Disabled • Set the font ID to 0. • Set the download character code to 0. • Set the number of copies to the value set by front panel. • Release the temporary download font. • Set the macro ID to 0. • Release the temporary macro. • Set the horizontal rule size to 0, • Set the vertical rule size to 0. • Set the pattern ID to 0. • Clear the push/pop stack. • Set Left Offset Registration to 0. • Set Top Offset Registration to 0. Self-test Setting: ESC “z” This command allows the printer to stop processing data, to feed the present page, and proceed with the character test print mode. Left Offset Registration Setting: ESC “&l#U” #=Number of decipoints (1/720 inch) This command sets the position of the logical page across the width of the physical page. This command allows you to adjust the text position on the page to bind the page by allowing additional room. Top Offset Registration Setting: ESC “&l#Z” #=Number of decipoints (1/720 inch) This command sets the position of the logical page along the length (long side) of the physical page. -Top offset -Left offset +Left offset -Top offset +Left offset -Left offset ABC +Top offset ABC +Top offset Portrait Landscape Figure 3.34 Registration command, value field sign, offset direction Universal Exit Language Command Setting: ESC “%-12345X” This command is effective in any language mode, and terminates the processing in the current language mode. Refer to Entering the PJL mode. Deciding PCL Units Setting: ESC “&u#D” #=Number of units per inch(96, 100, 120, 144, 150, 160, 180, 200, 225, 240, 288, 300, 360, 400, 450, 480, 600, 720, 800, 900, 1200, 1440, 1800, 2400, 3600 or 7200) This command decides the measure for the amount of cursor movement (PCL Unit). The default is 300. The interpretation of the binary raster data (Bitmap Font, raster graphics or pattern) is not affected by this command. The measure set by using this command is effective until the another one is set or the printer is reset. When the printer is reset or ESC “E” is received, the measure is reset to 300 units per inch. PCL Picture Frame This section shows the following: • Defining the frames in PCL and GL modes • Specifying the picture frame (ESC “*c#X”, ESC “*c#Y”) • Specifying the anchor point of the picture frame (ESC “*c#T”) • Specifying the plot size (ESC “*c#K”, ESC “*c#L”) The length and width of the drawn image in Figure 3.35 are reduced by 50% when printing the image. How much the GL image is enlarged or reduced depends on the ratio of the GL plot size to the PCL picture frame size. Anchor point Picture frame PCL logical page (PCL mode in default) Setting example: ESC “*c1440X” ESC “*c2880Y” ESC “*p600X” ESC “*p900Y” ESC “*c0T” ESC “*c4K” ESC “*c8L” Anchor point 3" Anchor point 2" Picture frame 4" 8" 2" 4" Setting plot size Setting PCL picture frame (GL mode) (PCL mode) Figure 3.35 PCL picture frame and plot size in the GL mode Horizontal Size of Picture Frame Setting: ESC “*c#X” #= Horizontal size (1/720 inch) This command designates the horizontal size of the picture frame, which is used to scale the GL image data. • In case of #=720, the horizontal size is 1 inch. • The default is the Width of the logical page. • The value field # is 0 to 32767 (a multiple of 4 is recommended) P1 and P2 positions are defaulted when executing the command ESC “*c#X”. P1 is defaulted on the lower-left corner of picture frame and P2 is defaulted on the upper-right corner of picture frame. The printable area of the GL image in the GL mode (soft-clip area) is reset to the PCL picture frame boundaries, the polygon buffer is cleared and the current pen position is defaulted to the P1 position. Refer to the IW command. The picture frame is set to the width of the logical page if the command ESC “*c#X” is not set. When the parameter is set to 0 or the printer is reset, the page length, page size and orientation are initialized. When setting the plot size in the GL mode, image data created in the GL mode is drawn within the picture frame in proportion to the size of frame. This command is generally used together with ESC “*c#Y” (vertical picture frame size). Vertical Size of Picture Frame Setting: ESC “*c#Y” #=Vertical size (1/720 inch) The command designates the vertical size of the picture frame, which is used to scale the GL image data. • In case of #=720, the vertical size is 1 inch. • The value field # is 0 to 32767 (a multiple of 4 is recommended). • The default is the distance between the default top and bottom margins (the default text length). Top margin Text length (default vertical size of PCL picture frame) Bottom margin Figure 3.36 PCL picture frame format P1 and P2 positions are defaulted when executing the command ESC “*c#Y”. P1 is defaulted on the lower-left corner of picture frame, and P2 is defaulted on the upper-right corner of picture frame. The printable area of the GL image in the GL mode (soft-clip area) is reset to PCL picture frame boundaries, the polygon buffer is cleared and the current pen position is defaulted to the PI position. Refer to the IW command. The picture frame is set to the length of the logical page if the command ESC “*c#Y” is not set. When the parameter is set to 0 or the printer is reset, the page length, page size and orientation are initialized. When setting the plot size in the GL mode, image data created in the GL mode is drawn within the picture frame in proportion to the size of frame. This command is used together with ESC “*c#X” (horizontal picture frame size). Anchor Point Location Setting: ESC “*c#T” #=0 This command designates the location of the PCL picture frame anchor point and sets the picture frame anchor point to the current position. • All values other than 0 will be ignored. • The default location of the anchor point is at the left edge on the top margin of the current logical page. The anchor point is set on the upper-left corner of PCL picture frame. The defined upper-left corner becomes the origin (0,0) of X and Y coordinates when the printing direction is 0 degrees. When this command is specified, the picture frame anchor point is set on current active position (CAP). Unless this command is entered, the anchor pint is initialized and falls on the upper-left corner of logical page. P1 and P2 positions are set to default when executing this command. The printable area of the GL image in the GL mode (soft-clip area) is also defaulted, the polygon buffer is cleared and the cursor position in the GL mode is reset to the lower-left corner of the picture frame, Example: To place the picture frame anchor point on a position 6 inches from the left logical page edge and 5 inches below the top margin, send the following: ESC “*p1800x1500y” ESC “*c0T” “1800” indicates 6 inches300 dots/inch= 1800 dots “1500” indicates 5 inches300 dots/inch= 1500 dots Horizontal Plot Size of GL Setting: ESC “*c#K” #= Horizontal size in inches This command designates the horizontal plot size of the GL image. This command specifies the valid range (plot size) in which image data is plotted in the GL mode. • The default horizontal size is the width of the current selected picture frame. • The value field # is 0 to 32767 (a multiple of 4 is recommended). The GL horizontal plot size is proportional to the size of frame, and the image is drawn within the PCL picture frame. When the parameter is 0 or the printer is reset, page length, paper size and orientation are initialized, and the GL plot size is the same as the size of the current selected picture frame. This command is used together with ESC “*c#L” (vertical plot size). Vertical Plot Size of GL Setting: ESC “*c#L” #= Vertical size in inches This command designates the GL vertical plot size of the GL image. This command specifies the valid range (plot size) in which image data is plotted in the GL mode. • The default vertical size is the height of the current selected picture frame. • The value field # is 0 to 32767 (a multiple of 4 is recommended). The GL vertical plot size is proportional to the size of frame, and the image is drawn within the PCL picture frame. When the parameter is 0 or the printer is reset, paper length, paper size and orientation are initialized, and the GL plot size is the same as the size of the current selected picture frame. This command is used together with the command ESC “*c#K” (horizontal plot size). Entering PCL mode Setting: ESC “%#A” #=0: To specify the predefine PCL cursor position. #=1: To specify the current pen position in the GL mode This command enters the PCL mode from the GL mode. This command also specifies the pen position in the PCL mode. When a number other than 0 or 1 is set, an even number−sets 0. an odd number−sets 1. If the pen position in the GL mode is outside the PCL logical page limits, a new PCL cursor position falls in the logical page limits. Entering GL mode Setting: ESC “%#B” #=0: To specify the redefined pen position in the GL mode. #=1: To specify the current cursor posiion in the PCL mode. This command enters the GL mode from the PCL mode. This command also specifies the pen position in the GL mode. When a number other than 0 or 1 is set. an even number−specifies 0. an odd number−specifies 1. If the GL commands have not been specified, the pen position is the lower-left corner of the PCL picture frame and is equal to (0,0) in the coordinates. ESC “%B” = ESC “%0B” The command enters the GL mode from the PCL mode, and is followed by subsequent GL commands. HP-GL/2 Command Command Group Configuration and Status Group Function Comment Defaulting values Initializing Inputting P1 and P2 Inputting relative P1 and P2 Inputting window Rotating coordinate system Scaling Edging rectangle absolute Polygon Group Edging polygon Edging rectangle relative Edging wedge Filling polygon Polygon mode command Pixel placement Filling rectangle absolute Filling rectangle relative Filling wedge Control code comparison chart-page reference table (continued) Name CO DF IN IP IR IW RO SC EA EP ER EW FP PM PP RA RR WG Command Group Vector Group Function Arc absolute Arc relative Absolute arc three point Bezier curve relative Bezier curve absolute Circle Plotting absolute Pen down Polyline encoded Plotting relative Pen up Relative arc three point Anchor corner Line and Fill Filling type Attributes Group Line attributes Line type Merge control Pen width Raster fill definition Symbol mode Selecting pen Screened vectors Transparency mode User-defined line type Pen width unit selection Control code comparison chart-page reference table (continued) Name AA AR AT BR BZ CI PA PD PE PR PU RT AC FT LA LT MC PW RF SM SP SV TR UL WU Command Group Character Group Function Alternate font definition Character fill mode Character plot Absolute direction Relative direction Defining label terminator Defining variable text path Extra space Selecting primary font Selecting secondary font Labeling Labeling origin Selecting alternate font Scalable or bitmap fonts Standard font definition Absolute character size Character slant Relative character size Selecting standard font Transparent data Control code comparison chart-page reference table Name AD CF CP DI DR DT DV ES FI FN LB LO SA SB SD SI SL SR SS TD HP-GL/2 Commands GL (Graphics Language) Commands Introduction to GL Graphics This printer gives you access to two modes: PCL (Printer Control Language) mode and GL (Graphics Language) mode. The commands in the PCL mode have been explained earlier in this chapter. The printer provides vector graphics using the GL commands in the GL mode after leaving the PCL mode. You can take advantage of vector graphics for various types of images such as technical drawings or business graphics. Switching between the two modes requires only a few commands and does not influence your performance. GL Command Format GL commands consists of four components: a mnemonic, parameter(s), separator(s), and a terminator. For example, in the command: PA100,200; • PA is two words, forming a “mnemonic” and reminds you of the command's function. The commands can be in uppercase or lowercase. • The parameters 100 and 200 specify the values. The commands, if the parameters have been omitted, take on the default values. • The commands are separated with a comma or space called a “separator”, or when using a numeric parameter, with a (+) or (–) sign. • The commands need to be terminated by a semicolon, which is called a “terminator”, or by the next mnemonic like PA100,200;PR; or PA100,200PR; . The last command in a string requires a terminator. Notes: • The Label (LB) command must be terminated by ETX (03HEX), not by a semicolon. The Define Label Terminator (DT) command allows the Label (LB) command to be terminated by any other codes except 03HEX. • For clarity, mnemonics are shown in uppercase, parameters in italic. {,parameter[,parameter(, parameter)]} represents an option. [parameter1,parameler2 ... (,parameter1,parameter2)] requires pairing. parameter...parameter may be entered the number of times set in the command description. text.. text can be typed in any number of ASCII characters, such as in the Label (LB) command. (...) shows you can use any number of the previous parameters, but all X coordinates must be paired with Y coordinates. Parameter Range Parameters must be given the format needed by each GL command. Please refer to the parameter description of each command. Integer parameters range from - 1073741824 (-230) to 1073741823 (230- 1). When the fractional parameters are specified, the printer rounds the fractional parameters to the nearest integer. Clamped integer parameters range from -32768 (-215) to 32767 (215- 1). When the fractional parameters are specified, the printer rounds the fractional parameters to the nearest integer. If the fractional parameters are set outside the range, it is clamped within the limits. Real parameters range from - 1073741824 ( -230) to 1073741823 (230- 1). Nine places of decimals are valid. Clamped real parameters range from -32768 (-215) to 32767 (215- 1). If the fractional parameters are set outside the range, it is clamped within the limits. All the values from 32767 to 67108863 (226- 1) are treated as 32767. Some parameters in GL commands can be omitted. If no parameters have been defined, the default value of the command is used. For example, the Fill Type (FT) command: FT3,100,1; Indicates that this example has three optional parameters: fill type=3 (hatching), spacing lines=100 (default distance along the X-axis in current unit), angle of lines=1 (default in degrees). FT3 ; Indicates that this example has the only one parameter. Note that the third parameter must be omitted, if the second one is omitted. These two settings are interpreted as the same by the printer. In the case that you specify only the mnemonic without the parameters, the most recently specified parameters are treated as those of the omitted ones. Program 100 110 120 130 140 150 160 170 WIDTH “LPT1:”,255 OPEN “LPT1:” AS #1 PRINT #1,CHR$(27);“E”; PRINT #1,CHR$(27);“%0B”; ’ PRINT #1,“IN;”; PRINT #1,“SP1;”; PRINT #1,“PA1000,1000;”; 180 PRINT #1,“PD6000,1000,6000, 6000,1000,6000,1000,1000;”; 190 PRINT #1,“PU;”; 200 PRINT #1,“PA2000,2500;”; 210 PRINT #1,“PD2000,2500,5000, 2500,3500,5000,2000,2500;”; 220 PRINT #1,“PU;”; Comment Resets the printer. Enters the GL mode. Initializes the GL mode. Selects the “black” pen. Moves the pen to the point (1000,1000) and enters the absolute plot mode. Draws a square as shown in the Figure. Raises the pen and moves it to the next specified point. Moves the pen to the point (2000,2500). Draws a triangle as shown in the Figure. Raises the pen and moves it to the next specified point. 230 PRINT #1,“PA3500,3500;”; Moves the pen to the point (3500,3500). 240 PRINT #1,“CI2000;”; Draws a circle whose radius is 2000 plotter units. 250 PRINT #1,“PA5000,5000;”; Moves the pen to the point (5000,5000). 260 PRINT #1,“FT4;”; Sets the fill type to “4”. Figure 3.37 Print example for Figure 3.38 (continued) 270 PRINT #1,“ER2000,2000;”; Draws a rectangle; the current pen location and the specified point are on the diagonal opposite corners. The specified coordinates indicate the increment from the current coordinates. Fills a rectangle specified by ER command. 280 PRINT #1,“RR2000,2000;”; 290 ’ 300 PRINT #1,CHR$(27);“%0A”; Returns to the PCL mode. 310 PRINT #1,CHR$(12); Prints out the page. 320 END Figure 3.37 Print example for Figure 3.38 Figure 3.38 Output of previous programs Adjusting the GL Image When making the image in the GL mode, the image is enlarged or reduced to fit the size of the PCL picture frame before printing out the page. The rectangular shown in Figure 3.39 is called the PCL picture frame. The page location of the PCL picture frame is determined by the anchor point. A scaling factor is used to enlarge or reduce GL image so that it may fit the size of the PCL picture frame, and an existing image in the GL graphic is placed in the PCL picture frame. Anchor point • Picture frame GL plot size PCL logical page GL image GL image within PCL picture frame Figure 3.39 The picture presentation example GL Coordinate System The default GL coordinate system is distinct from the PCL coordinate system. In the GL mode, the printer adjusts the Cartesian coordinate system within the PCL picture frame. The Cartesian coordinate system is formed by the X- and Y-axes. Refer to Figure 3.40. Y Physical page PCL picture frame Y increment X increment Origin(0,0) Figure 3.40 The default GL coordinate system X You can move the GL coordinate system to any point within the PCL picture frame by designating the number of units called a coordinate. The default location of the GL coordinate system is the lower-left corner of the PCL picture frame. The origin point (0,0) in Figure 3.40 can be changed by using the IP or IR command. The SC command sets the coordinate system. Note: Coordinate pairs are in parentheses (X,Y) for clarity, but you should not use the parentheses in your program. GL & PCL Orientation Interactions This section shows the relationship between the GL orientation and PCL logical page orientation. The origin of the GL coordinate system is located in the lower-left corner of PCL picture frame. Refer to Figure 3.41. The X-coordinates of GL and PCL increase in the same direction, but the Ycoordinates increase in the opposite direction. +X PCL logical page +Y Anchor point GL default label direction +Y (0,0) +X +Y Anchor point PCL picture frame Portrait orientation +X GL default label direction +Y (0,0) +X Landscape orientation Figure 3.41 PCL and GL orientation interactions Note that a change in the PCL logical page orientation makes the orientations of PCL coordinate system and GL coordinate system change. Plotting Units In the GL mode, the X and Y axes can be expressed in two ways plotter units and user units. The plotter units are used to convert the number to equivalent dot coordinates to specify distances, and the user units depend on the Scale (SC) command. Plotter Units One plotter unit is 0.025mm. 1mm is equivalent to 40 plotter units. The minimum value of the coordinate system is 1 plotter unit. 1 plotter unit = 0.025mm/0.00098inch 40 plotter units = 1mm 1016 plotter units = 1inch User Units You can specify the coordinate system defined by users, and plot it. You can set it by the Scale (SC) command which specifies the values of the scale points P1 and P2. For example, after you specify the scale points of (0,0) and (1,1), you can specify all coordinate system data in fractions between 0 and 1. Pen Status and Location Pen Status Pen status means “pen” up or down. The terms “pen” and “pen position” indicate the imaginary cursor and the current active position (CAP) in the GL mode. In “pen” up (PU command), a line is not drawn from the current printing position to the specified position when you change X, Y coordinates. In “pen” down (PD command), a line is drawn from the current printing position to the specified position when you change X,Y coordinates. In both X,Y coordinate moves, the specified position is redefined. When executing a command which has the function of Pen Down mode, the command automatically lowers the “pen” and draws a line in both pen up and pen down. Also, pen up/down is defaulted after the command is complete. The following list shows the commands that include an automatic pen down command. Command Page Edging rectangle absolute 4-92 EA Edging polygon 4-92 EP Edging rectangle relative 4-93 ER Edging wedge 4-93 EW Filling polygon 4-96 FP Filling rectangle absolute 4-98 RA Filling rectangle relative 4-98 RR Filling wedge 4-99 WG Circle 4-105 CI Symbol mode 4-126 SM Labeling 4-147 LB Table 3.32 Commands that include an automatic pen down Pen Location Pen location means the X and Y coordinates of the current position. When receiving the subsequent command for movement, a move begins at that location. The default pen location in the GL mode is on the lower-left corner (0,0) of the PCL picture frame. Scaling The default units in the GL mode is 1016 plots/inch in plotter units, and you can define your own plotting units by the Scaling (SC) command. You can redefine a desired plot in the range of -230 to 230- 1 in user units. It is convenient for you to redefine easy user-units for other commands, since user units are applied to other commands for drawing. IPX1,Y1,X2,Y2; Sets the scaling point in the plotter units. SCX1,X2,Y1,Y2; Sets the scaling point in the user units. Example: IP10,10,20,20; Sets up the scaling point in the plotter units so that P1 is (10,10) and P2 is (20,20). SC0,5,0,5; Sets up user scaling so that P1' is (0,0) and P2' is (5,5). PCL picture frame P2 PCL picture frame P2=(20,20) P2 P1 • P2’=(5,5) P1 • P1=(10,10) P1’=(0,0) Figure 3.42 Coordinates in plotter and user units Note: The image made in the GL mode is automatically enlarged or reduced to fit the size of the PCL picture frame without changing the current scaling points P1 and P2. Pen Movement The Plot Absolute (PA) and Plot Relative (PR) allow users to move the pen to the specified coordinates in two ways: absolute pen move and relative pen move. Plot Absolute (PA) Plots the drawing by the relative pen move to the origin. In the case that you plot by the PA command, the pen always moves to the specified coordinates regardless with the last pen location. Plot Relative (PR) Plots the drawing by the relative pen move to the current pen location. The current location becomes the origin location for the next relative plot. In the PR command, the pen location specified in the command determines the next location. The Cofiguration and Status Group This section shows the configuration and status group commands functioning for: • Setting up default conditions and values • Scaling images in the dimensional units you desire • Setting Up a window (soft-clip limits) • Enlarging or reducing images • Rotating the GL coordinate system • Drawing equal-sized and mirror-imaged drawings Table 3.33 shows all the commands in the configuration and status group: Function Comment Command CO Description Inserts the comments within HP-GL/2 command sequence. Defaulting values Initializes GL settings to the factory DF default. Initializing Initializes GL functions to the factory IN default. Inputting P1 and P2 Sets up new or default locations for IP the scaling points P1 and P2. Inputting relative P1 and Sets P1 and P2 locations as a IR P2 percentage of the PCL picture frame. Inputting window Sets up a window (soft-clip limits) IW Rotating coordinate system Rotates the GL coordinate system. RO Scaling Sets a user-unit coordinate system. SC Table 3.33 The configuration and status group commands When you are using the GL mode or the PCL mode, you should reset the printer at the beginning of each print job to avoid any trouble caused by data left in the previous mode. There are two types of commands for initialization in the GL mode; IN command and DF command. The DF command resets all settings to the factory default. The reset command (ESC “E”) executes the IN command automatically and resets all functions to the factory default. In scaling, P1 and P2 are used as default points. These two points (P1, P2) are called scaling points, for the SC command and makes the points for the coordinate system in user units. P1 and P2 change by using the IP or IR command. The P1 or P2 default location is positioned on the lower-left and upper-right corners of the PCL picture frame. The SC command allows you to establish the coordinate system in units with which users are familiar or which are appropriate to each applications. The SC command has three modes: Anisotropic, Isotropic, Point-factor. Soft-clip limits, which is called a "window", sets the printable area in the GL mode. The window occupies a rectangular area by setting two coordinates with the IW command. The default soft-clip limits are the same as the PCL picture frame limits. You can not print outside the window. Comment Setting: CO(“comment”;) The words in the double quotation is interpreted as a comment. The comment is ignored by the printer. Defaulting Values Setting: DF(;) This command returns the printer's GL settings to the factory default settings. Anchor Corner (AC): Anchor corner (different than the picture frame anchor point) positioned to the lower-left corner of the PCL picture frame, relative to the current coordinate system. Alternate Font Definition (AD): Stick Font 9 cpi 11.5 pts Upright Medium Character Fill Mode (CF): Solid fill, no edging Absolute Direction (DI1,0): Character direction is horizontal. Defining Label Terminator (DT): ETX and nonprinting mode Defining Variable Text Path (DV): Text prints left to right. Line feed normal Extra Space (ES): No extra space Filling Type (FT): Solid fill Inputting Window (IW): Defaulted to the PCL picture frame. Line Attributes (LA): Butt ends, mitered joins, miter limit=5 Labeling Origin (LO1): Starts labeling at current pen location. Line Type (LT): Solid line, relative mode, pattern length is 4% of diagonal distance between P1 and P2 Plotting Mode (PA): Absolute plotting Polygon Mode (PM0PM2): Clears polygon buffer. Raster Fill (RF): Printed black Scalable or Bitmap Fonts (SB0): Only scalable fonts Scale (SC): Scaling in plotter units Screened Vectors (SV): No screening Standard Font Definition (SD): Stick Font 9 cpi 11.5 pts Upright Medium Absolute Character Size (SI): Stops transforming a size. Character Slant (SL): No slant Symbol Mode (SM): off Selecting Standard Font (SS): Standard font Transparency mode (TR1): Transparency Mode on Transparent Data (TD): Normal printing User-Defined Line Type (UL): Defaults all 8 line types. The following conditions are not affected by this command: • Locations of P1 and P2 • Current pen, its location, width, width unit selection, and up/down position • GL drawing rotation Carriage Return (CR) (0DHEX) point is changed to the current pen position. Initializing Setting: IN(;) This command returns all the GL functions to the factory default settings. ESC “E” executes automatically this command. This command sets the printer to the same conditions as the DF command including the following: • Raises the of pen (PU command) • Returns the pen location to lower-left corner of the PCL picture frame (equivalent to PA0,0;) • Cancels the rotation command • Resets P1 and P2 to the lower-left and upper-right corners respectively of the PCL picture frame • Resets the pen width to 0.35mm: units are millimeters • Sets the number of pens to 2 (black and white) Inputting P1 and P2 Setting: IPP1X,P1Y(,P2X,P2Y;) or IP(;) Parameter Format Range Default : : : : P1X, P1Y (,P2X, P2Y) integer -230 to 230-1 P1 lower-left corner P2 upper-right corner (on the PCL picture frame) This command specifies default frame for scaling using absolute coordinates. This command sets new locations of P1 and P2 with the coordinates in plotter units. If P2 is not specified, the distance between P1 and P2 is not changed and P2 moves the same distance as P1. Note that the distance is limited to the available window. This command is used to move the scale points P1 and P2 to the default locations or the specified locations, or to print a mirror image, enlarge or reduce vector or characters. The settings of this command remain until another IP command or IR command is executed or the printer is initialized. There are four ways to set P1 and P2. P2 Default P2 P1 P1 P1 P1 P2 Figure 3.43 Using IPcommand P2 Inputting Relative P1 and P2 Setting: IRP1X,P1Y(,P2X,P2Y;) or IR(;) Parameter Format Range Default : : : : P1x , P1Y (, P2X, P2Y) clamped real 0 to 100% 0,0,100,100% This command sets up the default location for the scaling frame points P1 and P2 relative to the PCL picture frame. This command repositions PI and P2 to the lower-left and upper-right of the PCL picture frame respectively if no parameters are entered. This command specifies the P1 and P2 locations as a percentage of the PCL picture frame limits. Example: IR20,20,50,50; PCL picture frame P2 100% • New P2 50% 20% P1 • New P1 20% 50% 100% Figure 3.44 Establishing new locations for P1 and P2 If P2 is not specified, the distance between P1 and P2 is not changed and P2 moves the same distance as P1. Note that the distance is limited to the window. This command is used to move the scale points P1 and P2 to the default locations or the specified locations or to print a mirror image, enlarge or reduce the vector or characters. The settings of this command remain until another IR or IP command is executed or the printer is initialized. Inputting Window Setting: IWXLL, YLL,XUR, YUR(;) or IW(;) Parameter Format Range Default : : : : XLL, YLL, XUR, YUR current units -230 to 230-1 PCL picture frame ( LL=Lower-Left, UR =Upper-Right) This command defines a rectangular area and restricts the drawing to that area. This command specifies the opposite, diagonal corners of the window area in current units. The printer interprets coordinates in user units when scaling is on and in plotter units when scaling is off. When the printer is turned on, the window is automatically set to the PCL picture frame boundaries. You can define a greater window than the picture frame, but the printer can not print the vector graphics beyond the picture frame limits. The pen location is restricted to this area. If the entire window is located outside the PCL picture frame, nothing is printed. The settings of this command remain until another IW command is executed or the printer is initialized or reset. Logical page Hard-clip limit Picture frame User-defind window (IW command) Printable area Soft-clip limit Figure 3.45 The effective window The hard-clip limit shows the boundaries resulting from the physical limits of the printer. In the PCL mode, this area is specified as the printable area. The soft-clip limit shows an area defined by the GL Input Window (IW) command. GL graphics appear only in the area defined by the intersection of hard-clip limits, PCL logical page, PCL picture frame and soft-clip limits. Rotating Coordinate System Setting: ROangle(;) or RO(;) Parameter Format Range Default : : : : angle clamped integer 0°, 90°, 180° or 270° 0° This command rotates the coordinate system in 90 degrees increments (0°, 90°, 180°, 270°) and in a counterclockwise directions. • Angle Specifies the degrees to rotate the coordinate system. 0° sets the orientation to horizontal. 90° rotates and changes the P1 and P2 location counterclockwise 90 degrees. 180° rotates and changes the P1 and P2 location counterclockwise 180 degrees. 270° rotates and changes the P1 and P2 location counterclockwise 270 degrees. This command selects one of the above four angles and rotates the P1 and P2 location in one of four angles. The pen location does not change when this command is executed, but the X,Y coordinate system is updated to reflect the new orientation. The X,Y coordinate values set prior to the rotation are maintained. O O 270 180 ABC ABC O 90 O ABC Figure 3.46 Using the RO command ABC 0 Scaling Setting: SCXMIN,XMAX,YMIN,YMAX,[,type,(,left,bottom;)] or SCXMIN,XFACTOR,YMIN,YFACTOR,type(;) or SC(;) Parameter Format Range Default : : : : XMIN,XMAX real - 230 to 230-1 no default YMIN,YMAX real -230 to 230-1 no default type clamped integer 0, 1 or 2 0 Parameter Format Range Default : : : : left clamped real 0 to 100% 50% bottom clamped real 0 to 100% 50% XFACTOR,YFACTOR real -230 to 230-1 no default This command sets the coordinate system in user units, which is set by userdefined coordinate values on scaling points P1 and P2. If no parameters are entered, scaling is off and the coordinate system is interpreted as plotter units. • X,Y coordinates The parameters represent the user-units range on the X,Y axes Example: SC0,20,0,30; Indicates 20 user units along the X-axis and 30 user units along the Y-axis. P2(20,30) P1(0,0) Figure 3.47 Using SC command As a result, the P1 and P2 coordinate system is respectively (0,0) and (20,30). Notes: • XMIN can not be equal to XMAX, and YMIN can not be equal to YMAX. • If the parameters are set XMIN larger than XMAX and YMIN larger than YMAX, the image is drawn as a mirror image, reversed and/or upside down, depending on the relative positions of P1 and P2. • The size of user units changes depending on the change of P1 and P2, because the P1 and P2 relative positions and the relative distance between P1 and P2 are changed. • Type Specifies anisotropic or isotropic scaling. Type=0: Anisotropic scaling Enables user units along the X-axis to be a different size than user units along the Y-axis. The scaling command causes printed images to be distorted. For example, if you print a circle, the circle might be oval- shaped. Left and bottom parameters are ignored for this scaling. Type=1: Isotropic scaling Produces the same-sized user units on the X- and Y-axes. The printer adjusts the location of (XMIN, YMIN) and (XMAX, YMAX) so that the largest isotropic area is fit within the P1/P2 limits. Type=2: Sets a ratio of plotter units to user units and P1 coordinates in user units. • Left, Bottom Places the isotropic area within the P1 and P2 limits. The left and bottom parameters should be always set together, and are valid for isotropic scaling only. The left and bottom parameters mean the percentage of the unused space on the left and bottom of isotropic area. The default of the left and bottom parameters is 50%. Refer to Figure 3.48. Although you should specify both parameters at one time, only one is applied: when there is extra horizontal space, the left parameter is applied, and with extra vertical space, the bottom parameter is applied. Left,bottom=100,100 P2 (20,20) Isotropic area P1 (0,0) SC0,20,0,20,1,100,100; Isotropic area P2 (40,20) (0,0) P1 SC0,40,0,20,1,100,100; Left bottom=50,50 (default) (20,20) P2 P2 (40,20) Isotropic area Isotropic area (0,0) P1 P1 (0,0) SC0,20,0,20,1,50,50; Figure 3.48 The left and bottom parameters SC0,40,0,20,1,50,50; • XMIN, XFACTOR, YMIN, YFACTOR Establishes the P1 user unit coordinates and a ratio of plotter units to user units. XMIN,YMIN indicates the coordinate values. XFACTOR indicates the plotter units per horizontal user units, YFACTUR indicates the plotter units per vertical user units. Example: SC0,1,0,1,2; P1 is located on the origin. The ratio of user units to plotter units is 1:1. SC0,40,0,40,2; Scales in millimeters. 1 millimeter is 40 plotter units. User units are 1 millimeter. SC0,1.016,0,1.016,2; Scales in 1/1000 inch. 1 inch is 1016 plotter units. User units are 1/1000 inch. The parameters specify the current location of P1 and P2. If the parameters are set beyond the P1 and P2 when they are within the effective window, you can print the image, since P1 and P2 do not represent graphic limits. This command is effective until another SC command is executed or the printer is initialized or reset. The Polygon Group This section shows the function of the polygon commands. The Polygon stores the original units (point units) in the polygon buffer and draws the graphics by the polygon commands after execution of the polygon mode. The polygon buffer is a temporary data storage area in your printer. • Drawing circles, wedges and rectangles • Using polygon mode for drawing polygons, subpolygons and circles Table 3.34 shows all the commands in the configuration and status group: Function Edging rectangle absolute Edging polygon Command EA Description Draws an outline of a rectangle defined using absolute coordinates. Draws an outline of the contents of the polygon EP buffer. Edging rectangle Draws an outline of a rectangle defined using ER relative relative coordinates. Edging wedge Specifies and draws an outline of a wedgeEW shaped polygon. Filling polygon Takes up the polygon specified in the polygon FP buffer with the line and fill types. Polygon mode Enables you to create user-defined polygons in PM the polygon buffer. Pixel Placement This command controls how the pixel is PP positioned on the layout grid, when a polygon is filled. Takes up a rectangle specified using absolute Filling rectangle RA absolute coordinates with the line and fill types. Filling rectangle Takes up a rectangle specified using relative RR relative coordinates with the line and fill types. Filling wedge Specifies and takes up a wedge-shaped WG polygon with the line and fill types. Table 3.34 The polygon group commands The polygon data (in point units) remains in the polygon buffer until another polygon command is set or the printer is initialized. The total buffer capacity depends on the amount of available user memory in your printer. The polygon command stores the plot from starting point through end point in the polygon buffer and after the mode is executed, the EP and FP commands draw the image stored in the buffer. Example: PM0; Starts the polygon PDn1,n2,n3,n4,...nX,nY; No.1 No.2 last plot PM2; Closes the polygon. EP; Outlines the polygon. polygon END No.2 • No.3 • No.1 • No.6 (Close) (Start) • No.4 • No.5 Figure 3.49 Drawing the polygon If No.6 has not been set, the printer draws the line between No.5 and No.6 automatically. (It is forced to close.) The subpolygon is produced by connecting the points specified between PM0 and PM1. To draw an outline on the point in the polygon buffer, use the EP after finishing the polygon mode. The line type depends on the LT command. To fill an image on the point in the polygon buffer, use the FP command after finishing the polygon mode. The fill type for filling an image depends on the FT command. When an arc remains in the polygon buffer, the arc is drawn after the number of points is replaced by the number of chords in the arc. Use the formula # of points = Arc Angle (degrees)/Chord Angle (degrees) + 1 for the number of points used in a circle or arc. Example: When you set a 10° chord angle to fill a circle (360°), 360° /10° + 1 =37 points Edging Rectangle Absolute Setting: EAX, Y(;) Parameter Format Range Default : : : : X, Y coordinates current units -230 to 230-1 no default This command draws a rectangle, whose opposite points are on the current pen location and absolute location specified by X,Y coordinates, in accordance with the line type and terminator of a line. • X,Y Coordinates Sets the corner of the rectangle opposite the current pen location. The current pen is positioned at the starting point of the rectangle. The printer interprets coordinates in user units when scaling is on and in plotter units when scaling is off. This command has the function of an automatic pen down. The pen location and pen up/down functions are returned to the conditions before the execution of this command. This command outlines the rectangle, while the RA fills it. This command clears the polygon buffer before drawing to use the buffer to define the rectangle. Edging Polygon Setting: EP(;) This command outlines the polygon stored in the current polygon buffer by the PM command. This command also outlines wedges and rectangles as defined by the EA, ER, EW, RA, RR and WG commands. This command is invalid when the polygon data does not exist in the polygon buffer, or the data is changed in any way. This command edges a rectangle using the line type and pen width defined by the commands excluding the PM command. The pen location and pen up/down functions are defaulted to the conditions set before this command is executed. Edging Rectangle Relative Setting: ERX, Y(;) Parameter Format Range Default : : : : X, Y increments current units -230 to 230-1 no default This command draws a rectangle in accordance with the type and terminator of a line. Its diagonally opposite corners are on the current pen location and relative coordinates specified by the increments of X,Y from the current pen location. • X,Y Increments Increments indicate a move between the current pen location and the opposite point. The current pen location becomes a starting point for a rectangle. The printer interprets increments in user units when scaling is on and in plotter units when scaling is off. This command has the function of an automatic pen down. After this command is complete, the pen location and pen up/down functions are returned to the conditions set before this command is executed. This command outlines a rectangle, while the RR command fills it. This command clears the polygon buffer before drawing to use the buffer to define the polygon. Edging Wedge Setting: EW radius, start angle, sweep angle(,chord angle;) Parameter Format Range Default : : : : radius current units -230 to 230-1 no default start angle clamped real -32768 to 32767 (modulo 360) no default Parameter Format Range Default : : : : sweep angle clamped real ±360° no default chord angle clamped real 0.5° to 180° 5° This command outlines the specified wedge. • Radius Specifies the distance between the current pen location and the starting point of the wedge's arc. A wedge is a portion of a circle, and the parameter indicates a radius of a circle. The printer interprets coordinates in user units when scaling is on and in plotter units when scaling is off. The sign (+) or (–) of the radius parameter determines a start position of the start angle (zero degree). 90° 180° 270° Zero-degree Positive start Negative radius angle 0° 0° Zero-degree Negative start Positive radius angle Current pen location 270° Positive radius 180° Current pen location 90° Negative radius Figure 3.50 Start angles • Start Angle Specifies the starting point for the arc in the number of degrees from the zero degree point. positive start angle positions a radius counterclockwise. negative start angle positions a radius clockwise. start angle greater than 360° sets a remainder of: (the start angle/360°) i.e., the start angle MOD 360°. • Sweep Angle Specifies the angle of the arc in the number of degrees. positive sweep angle sets the angle counterclockwise. negative sweep angle sets the angle clockwise. sweep angle greater than 360° sets a wedge angle to 360°. • Chord Angle Specifies the chord angle for drawing the arc. The smoothness of the arc depends on the chord angle. Chord angle specifies an angle of a chord, and an arc is drawn using the specified chord. The default is 5 degrees. If the specified sweep angle is not divided equally by chord angle, the printer automatically allots the same-sized chords to an arc. ƒ „ ‚ • Radius ‚ Start angle ƒ Sweet angle „ Chord angle • 0° Current pen location Figure 3.51 Radius and angles This command uses the distance which is specified with a radius parameter from the current pen location as a radius for a wedge and draws a wedge using a start angle, sweep angle and chord angle. The wedge is drawn using the specified line type. This command has the function of an automatic pen down. The pen location and pen up/down functions are returned to the conditions set before this command is executed. This command outlines a wedge, while the WG fills it. If you want to draw an isotropic wedge, you must draw a wedge with isotropic scaling. Anisotropic scaling Isotropic scaling Figure 3.52 Anisotropic and isotropic scaling Filling Polygon Setting: FP fill method(;) or FP(;) Parameter: Format: Range: Default: fill method clamped integer 0 or 1 0 This command fills the polygon stored in the polygon buffer by the PM command. • Fill Method Selects one of the following methods, which decides the algorithm to determine which area in the specified polygon is filled. Method=0: Even/Odd fill algorithm. First this method positions a starting point inside the polygon area, and draws a line to the outside of the polygon. When the line crosses the polygon odd times, the area where a starting point is positioned is filled. When the line crosses the polygon even times, the area is not filled. This procedure repeats in each enclosed area to determine the area to be filled. Method=1: Non-Zero fill algorithm This method determines the area to be filled as follows: 1. Draws a line from a starting point inside the polygon to the outside of a polygon. 2. Adds 1 every time the outline of the polygon which crosses the line drawn from the starting point is drawn in the right direction, or upward. 3. Subtracts 1 every time the outline of the polygon which crosses the line drawn from the starting point is drawn in the left direction, or downward. 4. Fills the area where the starting point is positioned, when the sum which was gained in the steps 2 and 3 is except 0. Does not fill when the sum is 0. This procedure repeats in each enclosed area to determine the area to be filled. Polygon Mode Command Setting: PM polygon definition(;) or PM(;) Parameter Format Range Default : : : : polygon definition clamped integer 0, 1 and 2 0 This command enables polygon mode to define unique shapes and exits to fill or edge them by the EP or FP commands. This command removes the polygon buffer and sets the start of the polygon mode if no parameters are entered. • Polygon Definition Selects one of the three polygon modes as follows: Mode=0: Clears the polygon buffer and enters the polygon mode. Equals PM;. The first point of polygon is the pen location set before PM0; . The start point is stored in the polygon buffer. The start point in entering the polygon mode is the same as the point set before setting PM0; . The polygon can be defined with the pen up or down, while the EP command draws line between points which are defined when the pen is down. Example: PA1000,2000; Stores (1000,2000) as the first point of polygon in the polygon buffer. PM0; Enters the polygon mode. Subsequent specified coordinates are stored as the points of a polygon in the buffer. Mode=1: Closes the currently set polygon, but the polygon mode is not cleared. The point sent following PM1; is the first point for the next polygon. If you have not closed the polygon (in case it is not a complete polygon), you may have to add a point to close the polygon. You should move the pen to the next polygon point with the pen up. Mode=2: Closes the current polygon and exits the polygon mode. If you have not closed the polygon, you may have to add a point to close the polygon. The following commands can be used to designate the polygon while in he polygon mode; DF, IN, AA, AR, AT, CI, PA, PD, PE, PR, PU, RT, PM1, PM2 This command defines unique shapes in the polygon buffer using the graphics command while in the polygon mode. The specified polygon data produces an image edged or filled using the EP or FP command after losing the polygon. Executing IN or DF while in the polygon mode causes the mode to finish. We recommend that you avoid sending the ESC “E” command in the polygon mode, since ESC “E” causes the GL mode to be completed. Pixel Placement Command Setting: PP mode(;) or PP(;) Parameter: Format: Range: Default: mode Clamped integer 0 or 1 1 This command controls how the pixel is positioned on the layout grid, when a polygon is filled. The mode=0 is grid intersection mode, and the mode=1 is grid centered mode. Filling Rectangle Absolute Setting: RAX,Y(;) Parameter Format Range Default : : : : X, Y coordinates current units -230 to 230-1 no default This command fills a rectangle whose diagonally opposite corner is on absolute coordinates specified with X,Y coordinates from the current pen location. • X,Y coordinates Specifies the absolute coordinates of the opposite corner of a rectangle. The printer interprets coordinates in user units when scaling is on, and in plotter units when scaling is off. This command has the function of an automatic pen down. When this command is complete, the pen location and pen up/down functions are returned to the conditions set before this command is executed. This command fills a rectangle, while the EA command outlines a rectangle. This command clears the polygon buffer before drawing and uses the buffer to define a rectangle. Filling Rectangle Relative Setting: RRX, Y(;) Parameter Format Range Default : : : : X, Y increments current units -230 to 230-1 no default This command fills a rectangle whose opposite corner is on the relative coordinates set with X, Y increments from the current pen location. • X,Y increments Indicates the distance from the current pen location to the coordinates which are opposite to the current pen location. The printer interprets coordinates in user units when scaling is on, and in plotter units when scaling is off. This command has the function of an automatic pen down. After this command is complete, the pen location and pen up/down functions are returned to the conditions set before this command is executed. This command fills a rectangle, while the ER command outlines a rectangle. This command clears the polygon buffer before drawing and uses the buffer to draw a rectangle. Filling Wedge Setting: WG radius, start angle, sweep angle(,chord angle;) Parameter Format Range Default : : : : radius current units -230 to 230-1 no default start angle clamped real -32768 to 32767 no default Parameter Frmat Range Default : : : : sweep angle clamped real ±360° no default chord angle clamped real 0.5° to 180° 5° This command fills a specified wedge. • Radius Specifies the distance between the current location and the starting point of the wedge's arc. The wedge is a portion of a circle, and the radius parameter indicates a radius of a circle. The printer interprets coordinates in user units when scaling is on and in plotter units when scaling is off. The sign (+) or (-) of the radius parameter determines a start position of the start angle (zero degree). • Start Angle Specifies the starting point for the arc in the number of degrees from the zero degree point. positive start angle positions a radius counterclockwise. negative start angle positions a radius clockwise. start angle greater than 360° sets a remainder of: (the Start angle/360°) i.e., the start angle MOD 360°. • Sweep Angle Specifies the angle of a wedge in degrees. positive sweep angle sets the angle counterclockwise. negative sweep angle sets the angle clockwise. sweep angle greater than 360° sets a wedge angle to 360°. • Chord Angle Specifies the chord angle for drawing the arc. The smoothness of the arc depends on the chord angle. The default is 5 degrees. If the specified sweep angle is not divided equally by chord angle, the printer automatically allots the same-sized chords to an arc. This command uses the distance specified with a radius parameter from the current pen location as a radius of a wedge and draws an arc using the start angle, sweep angle and chord angle. The drawn arc depends on the fill type and line type. This command has the function of an automatic pen down. After this command is complete, the pen location and pen up/down functions are returned to the condition set before this command is executed This command fills a wedge, while the EW command outlines a wedge. If you want to create an isotropic wedge, you must use isotropic scaling. (Refer to Figure 3.52.) The Vector Group This section shows the vector group commands for: • Positioning absolute and relative coordinates when plotting • Drawing lines, arcs and circles • Encoding coordinates to increase the printer's throughput Table 3.35 shows all the commands in the vector group: Function Arc absolute Arc relative Absolute arc three point Bezier curve relative Bezier curve Absolute Circle Plotting absolute Command AA AR AT Description Shapes an arc using absolute coordinates. Shapes an arc using relative coordinates. Shapes an arc from the current pen location through two absolute points. This command draws a bezier curve by using BR the specified relative coordinates. This command draws a bezier curve by using BZ the specified absolute coordinates. Shapes a circle with a specified radius. CI Sets up plotting and moves the pen to absolute PA coordinate locations from the origin (0,0). Pen down Places the "pen" on the page. PD Polyline encoded Increases throughput by encoding common GL PE commands. Plotting relative Sets up plotting and moves the pen relative to PR the current pen location. Pen up Raises the "pen" from the page. PU Relative arc three Shapes an arc using three points: a starting RT Point point, an intermediate point and an end point. Table 3.35 The vector group commands The PA and PR commands are used to move the pen to the specified position. You should specify the X,Y values to set the coordinates. The multiple settings of coordinates are available with X,Y coordinates data. The pen position (up/down) determines drawing from the current pen position to the specified position: when the pen is up, a line is not drawn and when the pen is down, a line is drawn. Absolute Coordinate Movement: Moves to the specified coordinates from the origin (0,0). This movement does not relate to the pen location before moving. Relative Coordinate Movement: Moves to the specified coordinates from the current pen location. The current pen location is the origin of the next relative coordinate movement. The value of X,Y coordinate is specified in plotter units or user units. The SC command changes these units. The PE command encodes the data of the plotting command and shortens the data transfer. The circle plotting command uses the current pen location as the center of the circle, and draws a circle by setting parameters (radius etc.) with the CI command. The pen location after plotting is the center of the circle. The arc plotting command draws an arc with the specified angle setting the specified coordinate parameters. The chord angle must be set when plotting a circle or an arc. The smoothness of a circle or an arc depends on the chord angle. The smaller the value of the chord angle, the smoother the curve of a circle or an arc. Arc Absolute Setting: AA Xcenter,Ycenter,sweep angle(,chord angle;) Parameter Format Range Default : : : : Xcenter, Ycenter current units -230 to 230-1 no default sweep angle clamped real -32768 to 32767 no default chord angle clamped real 0.5° to 180° 5° This command uses the specified absolute coordinates as a center point, and draws an arc. • Xcenter, Ycenter Shows an absolute location of a center point. If the arc is 360°, the center of the arc is the center of the circle and a circle is drawn. The printer interprets coordinates in user units when scaling is on, and in plotter units when scaling is off. If current scaling is not isotropic, the arc is drawn elliptical rather than circular. • Sweep Angle Specifies the angle of the drawn arc in degrees. A positive angle is drawn counterclockwise, and a negative angle is drawn clockwise. • Chord Angle Specifies the chord angle for drawing an arc. The chord angle determines the smoothness of a curve. Chord angle specifies an angle of a chord, and an arc is drawn using the specified chord. The default is 5 degrees. If the specified sweep angle is not divided equally by chord angle, the printer automatically allots the same-sized chords to an arc. Arc segment Drawn chord Chord angle Figure 3.53 chord angle This command uses the distance between the specified absolute location and the current pen location as a radius, makes the absolute location the center point, the current pen location the beginning point and draws an arc using the chord angle as the specified sweep angle. An arc is drawn in accordance with the pen type and line type. The current pen location after drawing an arc is at the end position of an arc. Arc Relative Setting: AR Xincrement,Yincrement, sweep angle(,chord angle;) Parameter Format 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.5° to 180° 5° This command uses the specified coordinates relative to the current pen location as a center point to drawn an arc. • Xincrement, Yincrement Specifies the center point of an arc as the distance from the current pen location. If the center angle is 360°, a center of an arc falls on the center of the circle. The printer interprets coordinates in user units when scaling is on, and in plotter units when scaling is off. If scaling is not isotropic, an arc is elliptical rather than circular. • Sweep Angle Specifies an angle of the drawn arc in degrees. A positive angle is drawn counterclockwise, and a negative angle is drawn clockwise. • Chord Angle Specifies the chord angle for drawing an arc. The chord angle determines the smoothness of the curve. Chord angle specifies an angle to a chord, and an arc is drawn using the specified chord. The default is 5 degrees. If the specified sweep angle is not divided equally by chord angle, the printer automatically allots the same-sized chords to an arc. This command uses the specified relative distance from the current pen location as a radius, and makes the relative location a center position, the current pen location is starting point, and draws an arc using a chord angle as a sweep angle. The arc is drawn depending on the pen type and line type. The current pen location after drawing an arc is at the end position of an arc. Absolute Arc Three Point Setting: AT Xinter,Yinter,Xend,Yend(,chord angle;) Parameter Format 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.5° to 180° 5° This command draws an arc segment using three absolute points from a starting point through an intermediate point to an end point. The three points are specified using the current pen location, the intermediate and end points. • Xinter, Yinter Specifies an intermediate point (absolute location) of the arc. • Xend, Yend Sets the absolute coordinates of the end point. The printer interprets coordinates in user units when scaling is on and in plotter units when scaling is off. If scaling is not isotropic, the arc is elliptical rather than circular. • Chord Angle Specifies the chord angle for drawing an arc. The chord angle determines the smoothness of a curve. Chord angle specifies an angle of a chord, and an arc is drawn using the specified chord. The default is 5 degrees. If the specified sweep angle is not divided equally by the chord angle, the printer automatically allots the samesized chords to an arc. This command uses the current pen location as a starting point, and draws an arc segment passing through the intermediate and end points using the chord angle. An arc segment is drawn in accordance with line type and pen up/down. After the arc segment is drawn, the current pen location is at the end of the arc. The arc is drawn clockwise or counterclockwise in accordance with the positions of the intermediate and end points. In case of the current pen location = intermediate point = end point this command draws a dot. In case of the intermediate point = the current pen location/end point this command draws a line from the current pen location through the end point. In case of end point = the current pen location this command draws a circle whose diameter is a line from the current pen location through the intermediate point. Bezier Curve Relative Setting: BR X1, Y1, X2, Y2, X3, Y3…(X1, Y1, X2, Y2, X3, Y3) Parameter: Format: Range: Default: X, Y increments current units -223 to 223-1 no default This command draws a bezier curve by using the specified relative coordinates. This command uses the current pen position as the first control point for the bezier curve. The other three control points should be specified with relative increments from the first control point. This command uses a current pen position and three specified control points to draw a bezier curve. After drawing a bezier curve, the last control point of the curve is used as the first control point for the next bezier curve. This command can be used to designate the polygon while in the polygon mode (PM command). The carriage return point is updated to the current pen location, when you execute this command. ‘ (2560,5120) (3840,2048) • Starting Point (1st Control Point) Points 1, 2, and 3 relative to this point (1024,4096) Ž (3072,-512) Point 4, 5, and 6 relative to this point Œ 1 (0,-3072) 2 • (-768,-2560) 3 4 5 • (2560,-2816) 6 BR0,-3072,3840,2048,3072,-512,-768,-2560,2560,-2816,2560,5120; Figure 3.54 Bezier Curve Absolute Setting: BZ X1, Y1, X2, Y2, X3, Y3…(X1, Y1, X2, Y2, X3, Y3) Parameter: Format: Range: Default: X, Y coordinates current units -223 to 223-1 no default This command draws a bezier curve by using the specified absolute coordinates. This command uses a current pen position as the first control point and the three specified coordinates as the second, third and fourth control points. After drawing a bezier curve, the last control point of the curve is used as the first control point for the next bezier curve. The control points are specified with absolute coordinates. This command can be used to designate the polygon while in the polygon mode (PM command). The carriage return point is updated to the current pen location, when you execute this command. ‘ (6656,8704) (4864,6144) • Starting Point (1st Control Point) (1024,4096) Ž (4096,3584) Œ 1 (1024,1024) 2 • (3328,1024) 3 4 • (6656,768) 5 6 BZ1024,1024,4864,6144,4096,3584,3328,1024,6656,768,6656,8704; Figure 3.55 Circle Setting: CI radius(,chord angle;) Parameter Format Range Default : : : : radius current units -230 to 230-1 no default chord angle clamped real 0.5° to 180° 5° This command shapes a circle using the specified radius and chord angle. • Radius Specifies a radius of a circle as the distance from the current pen location. The printer interprets coordinates in user units when scaling is on and in plotter units when scaling is off. • Chord Angle Specifies the chord angle for drawing a circle. The chord angle determines the smoothness of a circle. Chord angle specifies the angle of the chord in degrees. A circle is drawn with the collective sum of these chords. The default is 5 degrees. The chord angle range is 0° to 180°. A circle with chord angle 0° is the closest to a full circle. The greater the value is, the less the number of chords. Within the range of 180° to 360°, the greater the value is, the more the number of the chords. The number of chords in 360° is the same as in 0°. Chord Chord • • =Chord angle 0° œ Chord angle œ 180° • Sets the angle to the value (360°- •) 180° œ Chord angle œ 360° Figure 3.56 Setting the chord angle This command uses the specified distance from the current pen location as a radius, and draws a circle using a chord angle. This command has the function of an automatic pen down. After this command is complete, the current pen location and pen up/down functions are returned to the conditions set before this command is executed. You should not select the adoptive line type when drawing a circle with this command. If you use the line type, the command will draw a circle with 5° (default) of the chord angle. If you want to draw an isotropic circle, you should use isotropic scaling. Plotting Absolute Setting: PAX,Y(,...;) or PA(;) Parameter : X, Y coordinates Format : current units Range : -230 to 230-1 Default : no default This command moves the pen location from the current pen position to the specified absolute coordinates. If no parameters are entered, the printer enters the absolute plot mode for subsequent commands. • X,Y Coordinates Specifies the absolute location to which the pen moves. The printer interprets coordinates in user units when scaling is on, and in plotter units when is off. When you use the parameter in this command, you must specify the X,Y coordinates. If the number of coordinates set is an odd number, the last parameter is ignored. When you use the SM command, this command specifies the symbol setting of each coordinate specified. While in the polygon mode, the X,Y data is stored in the polygon buffer. The data is used in edging or filling the polygon. When using this command, the command only moves the pen location when pen is up, and the command moves the pen location and draws a line to the moved pen location. Pen Down Setting: PDX,Y(,...;) or PD(;) Parameter : X, Y coordinates/increments Format : current units Range : -230 to 230-1 Default : no default This command lowers and moves the pen from the current pen location to the specified location (absolute or relative). The printer lowers the pen for subsequent graphic commands if no parameters are entered. • X,Y Coordinates/Increments Specifies the absolute coordinates for absolute plotting. The command specifies a move from the current pen location for relative plotting. Absolute plotting (PA) is used unless the PA or PR command is sent. When you use the parameter in this command, you must specify X,Y coordinates. If the number of coordinates parameters set is an odd number, the last parameter is ignored. When you use the SM command, this command specifies the symbol setting of each coordinate specified. While in the polygon mode, the X,Y data is stored in the polygon buffer. The data is used in edging or filling the polygon. When using this command, the command only moves the pen location when pen is up, and the command moves the pen location and draws a line to the moved pen location. Polyline Encoded Setting: PE(flag)(value) coord pair...(flag)(value) coord pair; or PE(;) Parameter Format Range Default : : : : flag character :, <, >, =, or 7 no default value character depends on flag coordinate pair character -230 to 230-1 no default This command encodes the commands: PA, PR, PU, PD and SP, and reduces the size of a file and time required for data transmission. It is useful for you to use this command with an RS-232C interface. The printer resets the carriage return point if no parameters are entered. The command does not affect the pen up/down commands. • Flag Specifies the way to interpret subsequent values. ASCII characters are used for flags and are not encoded. The eighth bit of a flag is ignored. Example: 61HEX (3D) and 189HEX (BD) send “=”. Flag=“ : ”: Selects the pen The subsequent value indicates the set pen number. If no pen number is set, the printer uses the current selected pen. Flag=“ < ”: Pen Up and Plot Absolute Moves to the specified coordinate pair with the pen up. All coordinate pairs without a pen up flag are treated as pen down moves. Flag=“ > ”: Fractional Data The subsequent value defines the number of fractional binary bits in the coordinate data. The default is 0. Flag=“ = ”: Absolute Flag The next point is specified by absolute coordinates. Flag= “ 7 ”: 7-bit Mode (Base is 32.) All subsequent coordinate pairs should be understood in 7-bit mode. Sending 7-bit flags causes a base 32 to be used and eighth bits are disregarded. • value Specifies value set by a flag. There are three types of flags: pen number 0 or 1 number of fractional bits -26 to 26 X,Y coordinates real There are two types of encoding: Base 64 8-bit without parity (default) Base 32 7-bit+ l-bit parity (set by the flag) The printer interprets data under transmission as follows: in Base 64 63 to 126 in Base 32 63 to 94 The printer interprets that the coordinates data ends in the following cases: in Base 64 191 to 254 in Base 32 92 to 126 You should not use “,” , since this command specifies parameters as end codes, but use “;” as a command terminator. The command keeps lowering the pen until the pen up flag “< ” is entered. The printer interprets the coordinates as relative until the absolute coordinate flag “=” is entered. The relative or absolute mode is reset after this command is complete. The printer ignores in Base 64 or 32 the following: space, delete character, control character in parameters, 128 to 160 and 255 in ASCII. The converting formula for X,Y coordinates encoding is: 1. PE > n coordinate pair Converts coordinate data which was entered for encoding, based on n. k = round (n x 3.33) sets an absolute value x1 = coordinate data x 2k x2 = round (x1) sets an absolute coordinate data 2. Diagnoses whether the value of coordinate data is positive or negative. The printer checks the lowest bit as follows: 0 positive value 1 negative value x ¥ 0 m=2x × 2 x2 < 0 m=(2 × x2)+1 sets negative bit 1 bit shift to left 3. Encodes m coordinate data into 64 base or 32 base. m ¥ 64 (or 32) output data=63+m in base of 64 (or 32) encoding data P=Remainder m < 64 (or 32) output=191 (or 95)+P Plotting Relative Setting: PRX, Y(,...;) or PR(;) Parameter Format Range Default : : : : X, Y increments current units -230 to 230-1 no default This command moves the pen from the current location to a specified location relative to the current location. The printer resets the printer to relative plotting mode for subsequent commands if no parameters are entered. • X,Y Increments Indicates the distance from the current pen location to the specified location. The printer interprets coordinates in user units when scaling is on, and in plotter units when scaling is off. When you use the parameter in this command, you must specify X,Y coordinates. If the number of coordinates parameters set is an odd number, the last parameter is ignored. When you use the SM command, this command specifies the symbol setting to each coordinate specified. While in the polygon mode, the X,Y data is stored in the polygon buffer. The data is used in edging or filling the polygon. When using this command, the command only moves the pen location when the pen is up, and moves the pen and draws a line to the moved pen location. Note: The PR or PE command has a valid plotter units range of -230 to 230-1. When the current pen location is beyond the valid range, GL commands are ignored until the printer receives valid data. Pen Up Setting: PUX,Y(, ... ;) or PU(;) Parameter Format Range Default : : : : X, Y coordinates/increments current units -230 to 230-1 no default This command raises a pen and moves location from the current location to the specified points (absolute or relative). The printer raises the pen for subsequent commands. If no parameters are entered, the command lowers the pen temporarily in the automatic pen mode. • X,Y Coordinates/Increments Specifies the absolute coordinates in absolute plotting. The command specifies a move from the current pen location in relative plotting. Absolute plotting (PA) is used unless the PA or PR command is entered. When you send the parameter in this command, you must specify X,Y coordinates. If the number of coordinates set is an odd number, the last parameter is ignored. When you use the SM command, this command specifies the symbol setting to each coordinate specified. When you enter the polygon mode, the X,Y data is stored in the polygon buffer. The data is used in edging or filling the polygon. When using this command, the command only moves the pen location when pen is up, and moves the pen location and draws a line to the moved location. Relative Arc Three Point Setting: RT Xincr inter, Yincr inter,Xincr end, Yincr end(,chord angle;) Parameter Format 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 clamped real 0.5° to 180° 5° This command draws an arc segment using the three points (relative coordinates) from a starting point, through an intermediate point, to an end point. • Xincr inter, Yincr inter Specifies the intermediate point of the arc in relative increments from the current pen location. The arc is specified using the current pen location, the intermediate and end points of X,Y. • Xincr end, Yincr end Specifies the end of the arc in relative increments from the current pen location. The printer interprets coordinates in user units when scaling is on and in plotter units when scaling is off. If scaling is not isotropic, an arc is elliptical rather than circular. • Chord Angle Specifies chord angle for drawing an arc. The chord angle determines the smoothness of a curve. Chord angle specifies an angle of a chord, and an arc is drawn using the specified chord. The default is 5 degrees. If the specified sweep angle is not divided equally by chord angle, the printer automatically allots the same-sized chords to an arc. This command uses the current pen location as the starting point and draws an arc segment passing through the intermediate point to the end point using the chord angle. After the arc segment is drawn, the current pen location is at the end of the arc. The arc is drawn clockwise or counterclockwise in accordance with the positions of the intermediate and end points. In case of the current pen location = intermediate point = end point this command draws a dot. In case of the intermediate point = the current pen location/end point this command draws a line from the current pen location through the end point. In case of end point = the current pen location this command draws a circle whose diameter is a line from the current pen location through the intermediate point. The Line and Fill Attributes Group This section shows the line and fill attribute group commands for: • Enhancing your drawings with various line types • Enhancing your drawings with different fill types • Positioning fill type patterns Table 3.36 shows all the commands in the line and fill attributes group: Function Anchor corner Filling type Line attributes Line type Merge Control Command AC FT LA LT MC Pen width Raster fill definition Symbol mode PW RF Selecting pen Screened vectors SP SV Transparency mode TR SM Description Determines the starting point for fill patterns. Selects the pattern to fill polygons. Specifies the shape of line ends and joins. Selects the line pattern to draw lines. This command specifies the raster operation (ROP) in the HP-GL/2 mode. Sets a new pen width. Defines a fill pattern formed by dot data. Draws a symbol at a specified coordinate location. Selects a pen for plotting. Selects the type of screening to be applied to vectors (lines, cross-hatching lines, arcs, circles, edges of polygons rectangles, and wedges). Determines whether or not the white areas of the source graphics image is copied on the destination graphics image. Defines a user-defined line pattern. User-defined line UL type Pen width unit Specifies the pen width in millimeters or as a WU selection percentage of the P1/P2 distance. Table 3.36 The line and fill attributes group commands The command selects the line type in plotting a line using the LT command. The command specifies line type in the specified length of patterns. The command allows you to select one of 17 types: 8 fix line types, and 8 adoptive line types and dot patterns. The printer allows you to define the line type using the UL command. The LA command specifies the starting end or joined part of plotted lines. Example: Mitered join Arc join The FT command selects one of the pattern types for filling a specified area with patterns: black, hatching, cross-hatching, shading, user-pattern, hatch pattern. The RF command enables users to assign a user-defined pattern for filling. The RA, RR, WG and FP commands fill an area with the selected pattern. The PW command specifies the pen width for plotting a line. The units of the pen width depends on the WU command. WU0; Pen width in mm WU1; Pen width is set to a percent of the diagonal distance between P1 and P2. Example: WU0; Pen width is 0.35 mm. PW10; 10mm in the pen width The PW command updates the white or black pen width. The SP command selects white or black pens. If the black pen width is updated with the PW command, when a white pen is selected with the SP command, the set pen width is in effect. Anchor Corner Setting: ACX,Y(;) or AC(;) Parameter Format Range Default : : : : X, Y coordinates current units -230 to 230-1 no default This command determines the absolute starting point of the fill pattern. This command starts any fill pattern at the point specified by the X, Y parameters. The printer defaults to the lower-left corner of PCL picture frame. Filling Type Setting: FT fill type[,option1(, option2;)] or FT(;) Parameter Format Range Default : : : : fill type clamped integer 1 to 4, 10, 11, 21 22 1 option1, option2 clamped real depends on type depends on type This command selects one of the types of the fill pattern. The printer resets all the fill type parameters to solid fill if no parameters are entered. • Fill Type Selects one of the fill patterns. Fill Type=1 or 2: Fill Type=3: Fill Type=4: Fill Type=10: Fill Type=11: Fill Type=21: Fill Type=22: Solid black Option1 ignored Option2 ignored Hatch Option1 Line space Option2 Line angle Cross-hatch Option1 Line space Option2 Line angle Gray scale Option1 Gray scale level Option2 ignored User-defined Option1 Raster-fill index Option2 ignored Hatch patterns Option1 Pattern type Option2 ignored User-defined Option 1 pattern ID Option 2 ignored Fill Type 3 and 4: • Option 1 sets the distance between lines in fill type. The distance is set in the current units along the X-axis. If 0 is set in option 1, the printer sets the line space to 1% of the distance between the opposite corners of P1 and P2. The default of the option is 1% of the diagonal distance from P1 and P2. The change of P1 and P2 coordinates affects this distance when a spacing is specified in user units. • Option 2 of fill type 3 and 4 indicates the line angle of the fill pattern in degrees. This angle is set counterclockwise. 0° and 180° are horizontal and 90° and 270° are vertical. • The fill type 4 (cross-hatch fill pattern) draws a line at the angle specified in option 2 and draws the next line at the angle plus 90° degrees to cross the lines. • The fill type 3 and 4 use the current pen and line type selected by the line type, the pen width and the line specified with the LA command. • The change of scaling point P1 and P2 coordinates do not affect the line space if the line space is specified in plotter units. • The change of the P1 and P2 coordinates and the subsequent scaling command causes line space to change if the line space is specified in user units. • A line is not clipped to the polygon. Fill Type 10: • The fill type 10 indicates gray scale level with the option 1. • The gray scale level is indicated in 0 to 100% and eight levels are selectable. Refer to Figure 4.23 “Gray scale pattern” on page 4-54. Fill Type 11: • The fill type 11 selects the index number of the user-defined pattern specified by the RF command from the option 1. • If the user-defined pattern does not exist, the solid fill pattern is selected. Fill Type 21: • Option 1 specifies the number of the 6 predefine hatch patterns using a value 1 to 6. • Refer to Figure 3.31 “Hatch pattern”. Fill Type=22: • Option 1 specifies the ID number of user-defined pattern which was designated by the command ESC “*c#W” in the PCL mode. The pattern selected by this command is used with the commands: FP, RR, RA and WG. When the fill type is set with the option omitted from the command, the predefine option is used. Line Attributes Setting: LA kind,value[,kind,value(,kind,value;)] or LA(;) Parameter Format Range Default : : : : kind clamped integer 1 to 3 1 Parameter Format Range Default : : : : clamped integer Kind 1: 1 to 4 1 (Butt) value clamped integer Kind 2: 1 to 6 1 (Mitered) clamped real Kind 3: 1 to 32,767 5 This command selects line ends, line starts and line joins using parameters. The printer defaults the line attributes to butt ends, mitered joins, and a miter limit of 5 if no parameters are entered. In the case, it equals LA1,1,2,1,3,5;. • Kind Specifies the kind of line attributes. The value depends on the kind of parameters. Kind=1: Specifies the line end and start end. Value=1: Butt end (Finishes at the end point.) Value=2: Rectangle end (Extends the end point by one half pen width.) Value=3: Triangle end (Extends the end point by one half pen width, and forms a triangle.) Value=4: Semicircle end (Forms a semicircle with a diameter equal to the current pen width at the end point.) Kind=2: Specifies the line join. Value=1: Mitered join • Miter length > New miter length Miter is cut by the excess of a new miter. • Miter length œ New miter length Miter is extended to the end of a new miter Value=2: Mitered/beveled join • Miter length > New miter length Miter is cut by the excess of the join. The join is beveled. • Miter length œ New miter length Miter is extended to the end of a new miter. Value=3: Triangle join (Forms on the line join a triangle whose join length is a half of the pen width. ) Value=4: Semicircle join (Forms on the line join a semicircle with a diameter equal to the half pen width. ) Value=5: Beveled join (Shapes nothing on the line join. ) Value=6: No join applied (Applied a line end specified with the kind parameter to the line join. ) Miter length: The length measured from the joint point to the point where two extended lines of outer edges meet. New miter length: The length specified with the kind parameter 3. Kind=3: Specifies the value of miter limit for a new miter length. New miter length = Miter limit x pen width Example: when miter limit is 10 and the pen width is 5mm, a new miter limit is 50mm. Line ends (kind 1) Value=1 End point Butt ends Value=2 1 /2 pen width Rectangle ends Value=3 1 /2 pen width Triangle ends Figure 3.57 Line ends Value=4 1 /2 pen width Semicircle ends Line joins (kind 2) Value=1 miter length Mitered join Value=3 ½ pen width Triangle join Figure 3.58 Line joins Value=2 miter lengthœmiter limit Value=2 miter length>miter limit Mitered/beveled join Value=4 Arc join Value=5 Beveled join No join (kind 2,value 6) No join butt end No join triangle end Figure 3.59 No join No join rectangle end No join semicircle end Miter limit Pen width miter limit Clipped mitered join ¥miter limit Maximum clipped mitered join (beveled join) miter length Miter limit =Miter length/Pen width Figure 3.60 Miter limit This command specifies how a line start, a line end and joins are shaped. To determine the new miter length, you must specify the miter limit and pen width. The default is 5 when the miter limit value is not specified. This command is effective until another LA command is executed, or the printer is initialized or reset. Line Type Setting: LT line type[,pattern length(,mode;)] or LT(;) or LT 99(;) Parameter Format Range Default : : : : Parameter Format Range Default : : : : line type clamped integer -8 to 8 solid line pattern length clamped real >0 4% of the distance between P1 and P2 99 restores previous line type mode clamped integer 0 or 1 0 (relative) This command specifies a line type and pattern length of a line. The printer defaults the line type to black and solid, and saves the line type and pattern length specified previously if no parameters are entered. • Line Type Selects a line pattern. Line Type = 1 to 8: Fixed line type A line type uses the specified pattern length. The pattern length specified is set repeatedly between the start and end of a line. Line Type = 0: A dot is drawn for line type. This is saved when the commands: AA, AR, CI, PA, PD, PR, RT are received. Line Type = -1 to -8: Adaptive line type A pattern length depends on the length from the start to the end. The pattern length is adjusted so that the specified pattern is laid completely in the line. 8 7 6 Fixed 5 line 4 types 3 2 1 0 -1 -2 -3 Adaptive -4 -5 line -6 types -7 -8 • • • • • • • • • • • • Figure 3.61 Pattern • • • • • • • • • • • One pattern length • • • • • • • • • • • • • • • • • • • • • • • • • • • Pattern Length Specifies the pattern length which contains one complete line pattern. The length units is millimeters or a percentage of the diagonal distance between P1 and P2, depending on the mode parameter. You should specify a length more than 0. The previously specified length is used if the length parameter is omitted. • Mode Specifies the units of the pattern length. 0 Relative Mode Specifies a percentage of the diagonal distance between P1 and P2. The change of P1 and P2 diagonal distance causes a change of the pattern length. 1 Absolute Mode Specifies the pattern length in millimeters. The pattern length is set to the same as the length you set, when line type is fixed (line type 1 to 8). The pattern length is adjusted to the length of line drawn when the line type is adaptive (line type -1 to -8). When the mode is omitted, the last mode parameters set are used. This command determines the pattern length with the pattern length parameters and specifies the desired pattern. The pattern specified using this command is used with AA, AR, AT, CI, EA, EP, ER, FP, PA, PD, PE, PR, RA, RR, RT, WG commands. You should not use a line type between -1 to -8 (adaptive line type) in the circle, arc, wedge and polygon modes. If you use them, the command draws those images with an angle of 5 degrees. This command remains in effect until another LT command is executed, or the printer is initialized or reset. LT99; If a solid black line type is selected when the LT99; command is executed, and the current pen location is not changed, the line type set before the LT; command is selected. Only the fixed line type is selected by the LT99; command. Merge Control Setting: MC mode, (opcode)(;) or MC(;) Parameter Format Range Default : : : : mode clamped integer 0 or 1 0 (ROP 252) opcode clamped integer 0 to 255 168.252 This command specifies the raster operation (ROP) in the HP-GL/2 mode. The raster operation defines how to combine the source, destination and pattern for the desired final image. This command supports all the 256 codes of Microsoft Windows composed of three raster-operation codes. • Mode mode=0: ignores the opcode. The printer sets the ROP to 252. mode=1: uses the value of opcode as that of the ROP. If the value of opcode is not sent, the printer sets the ROP to 168. If the opcode is set outside the range, this mode is ignored and the default value (252) is used. This command functions the same way as the logical operation command in the PCL mode. The value of ROP in the PCL mode, as well as in the HP-GL/2 mode, is affected by this command. Pen Width Setting: PW width(,pen;) or PW(;) Parameter Format Range Default : : : : width clamped real -32768 to 32767 dependent pen integer 0 or 1 1 (black) This command specifies the pen width. The pen width depends on the pen width units set by the WU command if no parameters are entered. In the case of the WU command set to 0.35mm, 0.1% of the diagonal distance from P1 to P2 if used. • Width Specifies the line width. 0 specifies a dot of width. • Pen Specifies the pen number to which the new width is applied. 0 white 1 black Unless the pen parameter is specified, the currently selected pen width is used. The printer ignores values other than 0 and 1. This command updates the pen width set by the pen parameter. Resetting the pen width can be executed without the SP command. Changing white or black is determined by the SP command. This command is effective until another PW or WU command is executed. This command is not reset by the DF command. When the width is in metric units, it is proportional to the size of the PCL picture frame and GL plot size. For example, if you specify WU0;PW.3; when the size of GL plot size is twice as large as the PCL picture frame, the real pen width is 0.15mm. Raster Fill Definition Setting: RF index, width, height, pen number(,.. pen number;) or RF index(;) or RF(;) Parameter Format Range Default : : : : index clamped integer 1 to 8 1 (solid) width clamped integer 1 to 255 no default Parameter Format Range Default : : : : height clamped integer 1 to 255 no default pen number integer 0 or 1 no default This command defines the fill pattern formed by dot data. The printer resets all raster fill patterns to a solid pattern if no parameters are entered. • Index Determines which user-defined pattern is specified. The maximum index is 8. When only the index parameters are specified, RFindex;, the printer defaults to solid fill. • Width, Height Specifies the dot numbers of the pattern in vertical and horizontal directions. • Pen Number Means a pixel in the defined pattern and specifies its color. 0 white 1 black This command specifies the dot data by dot widthdot height, this defines the user pattern to the desired index. The user-defined pattern formed by this command is available with the FT command. Example: FT11,3; Selects the Index of this command. User-defined pattern of Index Number 3 is set. The dot data is defined as rows from left to right, from upper to lower. The total of the dot data should be the same as the value of dot width x dot height. If the total dot data is greater than the value of dot width x dot height, the remainder is discarded. If the total dot data is less than the value of dot width x dot height, 0 (white) is added for the remainder. Symbol Mode Setting: SM character(;) or SM(;) Parameter Format Range : : : Default : character label most printing characters (decimal codes 33 to 58, 60 to 126, 161 and 254) no default This command draws the symbol at the specified coordinate point. The printer closes the symbol mode if no parameters are entered. • Character Specifies the symbol drawn at each X, Y coordinates point. A semi colon can not be selected as a character since it is used to terminate the symbol mode. This command draws the specified symbol at the center of each coordinates position specified by PA, PR, PD, PU or PE command, in accordance with the size of characters (SI or SR), slant (SL) and direction (DI or DR). This command has the function of an automatic pen down. The printer returns the pen location to the conditions set before this command is executed. The specified symbol is effective until another SM command is executed, or the printer is initialized or reset. Selecting Pen Setting: SP pen number(;) or SP(;) Parameter Format Range Default : : : : pen number integer 0 or 1 0 (no pen) This command selects the pen used for plotting. If the parameter is not specified the pen selection is canceled. • Pen Number Selects the “logical” pen. Only when this command is sent, will the printer start drawing. 0 selects a white pen. If there is a black background or this command is specified TR0;, a white pen prints. 1 selects a black pen. If the pen number is specified more than 1, the printer sets the number to 1. This command changes a pen width. The pen width can only be changed as the pen selected by this command. A white pen does not print on the background unless you enter the transparent mode. Screened Vectors Setting: SV{screen type [,option1(,option2)]}(;) or SV(;) Parameter Format Range Default : : : : screen type clamped integer 0, 1, 2 21 or 22 No screening (solid) option1, option2 clamped integer depends on type depends on type This command selects the screening type to be applied to a line or a hatching pattern. The printer defaults to solid black if no parameters are entered. • Screen Type Selects the types of screening. Screen Type=0: No screening (solid) Screen Type=1: Gray scale pattern Option 1 indicates gray scale level by using a value between 0 to 100%. Option 2 ignored. Screen Type=2: User-defined raster fill Option 1 specifies the user-defined pattern index made by the RF command. Option 2 specifies the pen number 1 (=0) or selects the specified pen (=1). Screen Type=21: Hatch pattern Option 1 selects one of 6 hatch patterns. Option 2 ignored. Screen Type=22: User-defined pattern fill Option 1 Specifies the ID number of the userdefined pattern which was designated by the command ESC “*c#W”. Option 2 ignored. This command selects one of three screen types: shaded fill, user-defined raster fill or hatch pattern. The command turns the screening on with the screen type selected from the three types and existing patterns (line, hatch pattern, circle, outline of polygon, wedge or rectangle). This command can not be used for black, label, stroke character and character's outline. Transparency Mode Setting: TR(mode)(;) or TR(;) Parameter Format Range Default : : : : mode clamped integer 0 or 1 1 (on) This command determines whether or not the white areas of the source graphic image are copied on the destination graphics image. The printer sets the transparency mode to on if no parameters are entered. • Mode Sets the transparency mode to on or off. 0 Transparency mode is off. 1 Transparency mode is on. With transparency mode on, the areas of a source image which is defined by white pixels are not copied on the destination. Any images already written to the page “are seen through” the white areas in the new image. With transparency mode off, the printer copies all source pixels to the destination, any underlying images can not be seen. + Source = Final destination Original destination Transparency mode ON + Source = Original destination Final destination Transparency mode OFF Figure 3.62 Transparency mode ON/OFF This command is reset by ESC “E”, IN, DF or another TR command. User-Defined Line Type Setting: UL index(,gap1,...gap20;) or UL(;) Parameter Format Range Default : : : : index clamped integer 1 to 8 no default gaps clamped real 0 to 32767 default line types This command draws a user-defined line type comprised of spaces and lines. This command clears all lines types if no parameters are entered. Refer to the LT command. • Index Determines as which index a line is identified. If the index is set without the parameters, the default pattern is set (depends on the LT ). The index number 0 is invalid. The index number should be integer. A negative value is interpreted as positive. For example, UL-2; is equivalent to UL2. • Gaps This command specifies the line type pattern by extending a line with a repeated move of the pen down and up. This command moves the odd numbered gap data by the pen down, even numbered gap data by the pen up. This command converts the gap data to the pattern length specified by the LT command. The gap data may not be negative. The gap data 0 produces 1 dot. This command can specify a maximum of 20 gaps in the line type specified by user. This command defines the user-defined line pattern which was indexed. Pen Width Unit Selection Setting: WU type(;) or WU(;) Parameter Format Range Default : : : : type clamped integer 0 to 1 0 (metric) This command specifies the pen width in millimeters or as a percent. The printer resets the pen width units to the default of 0.35mm if no parameters are entered. • Type Specifies the unit selection of the pen width. 0 sets the pen width in millimeters. Example: PW10; 10mm in width 1 sets the pen width parameter to a percentage of the diagonal distance between P1 and P2. Example: When the distance between P1 and P2 is 200mm. PW10; 200×10%=20mm in width The default pen width is 0.1% of the diagonal distance between P1 and P2. This command is effective until another WU command is executed and is not reset by the DF command. The Character Group You can add text to the image in the PCL mode or you can print text from the GL mode, when you wish to add text. “Label” used in this section indicates the printing of text. This section shows the various ways to label your image using the character commands as follows: • Positioning and printing labels using any Panasonic LP font • Changing label size, slant and direction • Designating and selecting standard and alternate fonts • Printing with proportional- and fixed-spaced fonts • Working with the character cell Function Alternate font definition Character fill mode Command AD CF Character plot CP Absolute direction DI Relative direction DR Description Sets an alternate font for labeling. Sets how outline fonts (Intellifont scalable typeface) will be filled and edged. Moves the pen by the specified number of character cells from the current pen location. Sets the slope of labels independent of P1 and P2 locations. Sets the slope of labels relative to P1 and P2 locations. Defines the character or code that terminates labeling. Sets the label path: right, left, up, or down. Defining label DT terminator Defining variable DV text path Figure 3.37 The character group commands (continued) Function Extra space Command ES Selecting primary font Selecting secondary font Labeling Labeling origin FI Selecting alternate font Scalable or bitmap fonts Standard font definition Absolute character size Character slant Relative character size Selecting standard font Transparent data SA Description Raise or reduce the space between label characters and lines Selects a font previously assigned a font ID number as standard. Selects a font previously assigned a font ID number as alternate. Labels text using the currently selected font. Places labels relative to the current pen location Selects the font designated by AD. SB Sets the type of fonts to be used for labels. SD Sets the standard font for labeling. SI Sets an absolute character size(in centimeters). SL SR Sets the slant at which labels are printed. Sets the size of characters as a percentage of the P1/P2 distance. Selects the font designated by SD. FN LB LO SS Determines whether control characters perform their function or are printed as characters when printing text. Table 3.37 The character group commands TD The LB command labels characters and positions the text you want to print after the LB command. You should use the terminator at the end of the command, the text following the LB command is stored as print data. The command terminator is 03HEX. Example: LBKHIJL03 KHIJL after the LB is the print data, and KHIJL will be printed. The terminator can be changed by the DT command. When you label your text using the LB command, select the size of characters by the SI and SR commands, the printing direction by the DI and DR commands, the slant by the SL command, the spaces between the characters by the ES command and pattern setting of the characters by the CF command. The printing position begins at the current pen location. The printing position can be changed in the cell unit by the CR command. The carriage return point is the current pen location, in using the LB command. When you set the carriage return, the pen returns to the carriage return point. When you execute the commands shown the following Table, the carriage return point is updated to the current pen location. Command Command Name AA Arc absolute AR Arc relative AT Ablosute arc three point BR Bezier curve relative BZ Bezier curve absolute DF Defaulting values DI Absolute direction DR Relative direction DV Defining variable text path IN Initializing LO Labeling origin PA Plotting absolute PE Polyline encoded PR Plotting relative RO Rotating coordinate system RT Relative arc three point Table 3.38 Commands update carriage return point (to current location) When the printer is reset, the following label conditions are defaulted. Symbol Set (Character Set): Roman-8 font, fixed spacing Pitch: 9 characters per inch Height: 11.5 point Posture: Upright Stroke Weight: Medium Typeface: GL Stick Label terminator: ASCII end-of-text character ETX (decimal code 3). Refer to the DT command. Label starting point: Current pen location. Refer to the LO command. Label direction: Horizontal. Refer to the DI, DR and DV commands. Space between characters and lines: Character Slant: Normal (no extra space). Refer to the ES command. None (vertical). Refer to the SL command. Character Fill Mode: Solid fill, no edging. The SI and SR commands specify the size of characters: the SI command specifies the height and width in centimeters, and the SR command specifies the size as a percentage of the distance between P1 and P2. Example: SI1,2; 2 cm A 1 cm Note: The specified bitmap and scalable font (proportional font) print characters which are most close to the specified size. The DI and DR commands specify the label orientation. Each bitmap font character can be rotated only in 90°, 180°, or 270°. Labeling by the DI or DR commands is shown below. DI or DR command Label angle Bitmap fonts Stick or Scalable fonts Figure 3.63 Label orientation The SL command slants characters. SL command Figure 3.64 Character slant The SL command is invalid for bitmap fonts. Character origin Character width Character plot cell width Figure 3.65 Cell Point size Cap height Line feed In each character, the basis for each character or space is the character cell. Baseline Baseline: the imagenary line on which a text line is placed. A descender of a character stretches below the baseline. Line feed: the vertical distance between the baselines of 2 lines of text. The linefeed is about 1.2 times the point size (1.33 times the point size for stick fonts). Point size: the traditional character size measured from the top of a capital letter to the bottom of a descender. Cap height: the height measured from the baseline to the top of a capital letter. Character origin: the point where the baseline and left edge of the cell cross each others. Character width: the horizontal area allotted to a character. Character cell width: the horizontal distance between the left edge of one character and the beginning of the next character. Character cell: a rectangular area defined by the height of a linefeed and a width extending from the beginning of one character to the beginning of the next. There are three types of fonts which you can change using the command: • Scalable fonts • Bitmap fonts • Stick fonts Proportional-spacing fonts do not have a uniform fixed character cell. The character cell width is determined by each character's amount of horizontal space. Alternate Font Definition Setting: AD kind, value...(,kind,value;) or AD(;) Parameter Format Range Default : : : : kind clamped integer 1 to7 no default value clamped real depends on kind depends on kind This command defines an alternate GL font and its attribute: font spacing, pitch, height, posture, stroke weight and typeface. The printer sets the alternate font attributes to that of the Stick font if no parameters are entered. • Kind Specifies the attribute which you desire. Kind=1: Selects the symbol set. Default value=277: Roman-8 Kind=2: Selects the spacing. Default value=0: Fixed spacing Kind=3: Specifies the number of characters per inch for the fixed-spaced font. Default value=9 Kind=4: Kind=5: Selects the point size for the proportional spacing by the height of the character cell. Default value=11.5 Selects the character's vertical posture. Default value=0: Upright Kind=6: Selects the line thickness used in the font's design. Default value=0: Medium, or Text Kind=7: Selects the typeface. Default value=48: Stick font Example: The following command represents the default setting. AD1,277,2,0,3,9,4,11.5,5,0,6,0,7,48 Type face Symbol set Font spacing Pitch Stroke weight Height Posture This command specifies the value required to select an alternate font. The SS; enables you to select the specified font using this command. The kind and value parameters can not be omitted, but other parameters can. Refer to the description of the SD command. Character Fill Mode Setting: CF fill mode[,edge pen(;)] or CF(;) Parameter Format Range Default : : : : fill mode clamped integer 0, 1, 2, or 3 0 (solid fill) edge pen integer -230 to 230 -1 0 (no edging) This command designates how the characters are filled and edged. The printer resets characters to solid fill without edging if no parameters are entered. • Fill Mode Defines the conditions in which characters are filled and edged (outlined). Fill Mode=0: Fill Mode=1: Fill Mode=2: Fill Mode=3: Fills characters using the current specified pen and edge. Sets edging with the currently set pen. Since bitmap and stick characters cannot be edged, they are filled using the edge pen. Sets filled characters using the currently selected fill pattern type without edging the characters. Even if the edge pen parameters are specified, the currently selected pen is ignored. Sets filled characters using the current fill pattern type and the edge pen. • Edge Pen Specifies whether the pen used for edging the characters is white or black. 0 white edging 1 black edging This command specifies fill pattern type to the characters using the currently specified solid fill type and edge pen. The fill type and edge pen is valid to scalable font, while the edge pen is invalid to bitmap and stick fonts. The fill types: gray scale, cross hatch and raster fill (fill type 10, 11 and 21) are valid to bitmap fonts and stick fonts. This command is in effect until another CF command is executed,. or the printer is initialized or reset. Character Plot Setting: CP spaces,lines(;) or CP(;) Parameter Format Range Default : : : : spaces clamped real -32768 to 32767 no default lines clamped real -32768 to 32767 no default This command shifts the pen the specified number of the spaces from the current pen location. The printer executes the carriage return and line feed if no parameters are entered. • Spaces Sets the number of spaces the pen moves horizontally. The number of spaces is indicated by the cell height (of the current specified fonts) × the space number. positive value moves to the right. negative value moves to the left. space = 0 stops a horizontal move. • Lines Specifies the number of lines the pen will move vertically. The number is indicated by the cell height (of the current specified fonts) × the number of lines. positive value moves to the upper direction. negative value moves to the lower direction. line=0 stops a vertical move. This command moves the pen location the number of spaces and lines specified by the parameters. The automatic pen up is performed during this command execution, and after its execution, the pen up/down is returned to the last condition set. When you change the printing direction (using the DV command), note that the direction of the pen move also changes. Absolute Direction Setting: DI run,rise(;) or DI(;) Parameter Format Range Default : : : : run (or cos ) clamped real -32768 to 32767 1 rise (or sin ) clamped real -32768 to 32767 0 This command designates the slope and direction at which labels are printed. The printer sets the label direction to absolute and horizontal (default) if no parameters are entered. • Run Sets a move along X-axis of the label direction. positive value specifies the right direction. negative value specifies the left direction. Rise Run • Rise Sets a move along the Y-axis of the label direction positive value specifies the upper direction. negative value specifies the lower direction. You must specify the slope using the run and rise parameters. You can select one of three ways to specify the rise and run: aspect ratio, number of measured units and the trigonometric functions cosine and sine. Refer to Figure 3.66 to compare how the (+) or (-) sign determines the label direction: Run= Rise= + Run= + Rise= + Run= Rise= - Run= + Rise= - Figure 3.66 Label derection You should specify both run and rise parameters. Run=0, Rise≠ 0 plotted in vertical mode. Run≠ 0, Rise=0 plotted in horizontal mode. Run=0 Rise=0 A Run=0 Rise=0 A Figure 3.67 Vertical and This command specifies the label direction using the run (or cosθ), rise (or sinθ) parameters. The line feed position depends on the character's slope by this command execution. You can specify the label direction for the bitmap fonts, but the characters are rotated only in 90° increments. Bitmap fonts Other fonts Figure 3.68 Label direction comparison between bitmap and other fonts This command is effective until another DI or DR command is executed, the printer is initialized or reset. Relative Direction Setting: DR run,rise(;) or DR(;) Parameter Format Range Default : : : : run clamped real -32768 to 32767 1% of P2X-P1X rise clamped real -32768 to 32767 0 This command sets the direction in which labeling is performed relative to the scaling points P1 and P2. The printer resets the label direction to relative and horizontal (default) if no parameters are entered. • Run Specifies the relative distance to the horizontal direction as a percentage. The distance is indicated by the (P2X − P1X) × run(%). • Rise Specifies the relative distance to the vertical direction as a percentage. The distance is indicated by the (P2Y − P1Y) × rise(%). You can specify the label direction using the run and rise parameters. Refer to Figure 3.66 to see how the label direction is determined by the (+) or (-) sign. This command specifies the label direction by the relative distance between P1 and P2 using the run and rise parameters. The line feed depends on the character's slope by this command execution. This command changes the label direction every time you change the P1 and P2 by the IP command. You can specify the label direction for bitmap fonts, but the characters are rotated only in 90° increments. This command is effective until another DR command or DI command is executed, or the printer is initialized or reset. Defining Label Terminator Setting: DT label terminator(,mode;) or DT(;) Parameter Format Range : : : Default : label terminator label text any character except NULL (00HEX), ESC (1bHEX), ENQ (05HEX),“;” (3bHEX) ETX (03HEX) mode clamped integer 0 or 1 1 (nonprinting) This command designates the characters to be used as label terminator. This printer resets the label terminator to ETX (03HEX) and the mode to nonprinting (1) if no parameters are entered. NULL (00HEX) is included in the range. • Label Terminator Sets the label terminator using this command. ESC (1bHEX), ENQ (05HEX), “;” (3bHEX) are invalid as terminators. • Mode Determines whether the label terminator is printed or not. Mode=0: When the terminator is a control code only performs its function. When the terminator is a character code prints the label terminator and performs its function. Mode=1: When the terminator is a control code, the label terminator does not perform its function. When the terminator is a character code, the terminator does not print condition. This command specifies the terminator for the LB command and the terminator print condition. This command is effective until another DT command is specified, the printer is initialized or is reset. Defining Variable Text Path setting: DV path(,line;) or DV(;) Prameter Format Range Default : : : : path clamped integer 0,1,2 or 3 0 (horizontal) line clamped integer 0 or 1 0 (normal line feed) This command designates the text path for subsequent labels and the direction of line feeds. The printer resets the text path to horizontal with normal line feed (default) if no parameters are" entered. • Path Sets the location of each character in preceding character. The printer provides the next four paths when the DI or DR command is not active. 0= 0°: Characters print to the right of the previous character. 1= -90°: Characters print below the previous character. 2= -180°: Characters print to the left of the previous character. 3= -270°: Characters print above the previous character. ABC Path=0 (0°) A B C Path=1 (-90°) CBA Path=2 (-180°) C B A Path=3 (270°) Figure 3.69 Text path example • Line Specifies the direction of line feeding. Line=0: Normal line feed. Feed a line clockwise (-90 degrees in the text path). Line=1: Reverse line feed. Feed a line counterclockwise (+90 degrees in the text path). Line=0 ABC DEFG Path=0 (0°) DA EB FC G Path=1 (-90°) GFED CBA Path=2 (-180°) G CF BE AD Path=3 (-270°) Line=1 DEFG ABC Path=0 (0°) AD BE CF G Path=1 (-90°) CBA GFED Path=2 (-180°) G FC EB DA Path=3 (-270°) Figure 3.70 Line feed direction This command determines the directions of characters and line feed with the path parameters and line parameters respectively. Extra Space Setting: ES width(,height;) or ES(;) Parameter Format Range Default : : : : width clamped real -32768 to 32767 0 height clamped real -32768 to 32767 0 This command changes the space amount between characters and lines. The printer resets the spaces and lines between characters for “no extra space” (default) if no parameters are entered. • Width Sets an increase or a reduction in the space amount between characters. The space is indicated by the font cell width (currently specified) x width. positive value — an increase in the space amount between characters. negative value — a reduction in the space amount between characters. • Height Sets an increase or a reduction in the space amount between lines. The space is indicated by the font cell height (currently specified) x height. positive value — an increase in the space amount between lines. negative value — a reduction in the space amount between lines. This command adjusts the space between characters and lines and the height of characters by the values specified using the width and height parameters. Selecting Primary Font Setting: FI font ID(;) Parameter Format Range Default : : : : font ID integer 0 to 32767 no default This command assigns fonts for the font ID number and allows you to select it as standard font. This command selects the fonts assigned in the PCL mode as standard. The SS command enables you to use the selected font (when the SS command is in effect, you do not need to select it). When the selected font is proportional-spaced, the pitch is not changed. Selecting Secondary Font Setting: FN font ID(;) Parameter Format Range Default : : : : font ID integer 0 to 32767 no default This command assigns fonts for the font ID number and allows you to select it as secondary (alternate) font. This command selects the font assigned for the font ID number in the PCL mode as alternate font and you can select the font by the SA command. When the selected font is proportional-spaced, the pitch is not changed. Labeling Setting: LB text.. text label terminator Parameter Format Range Default : : : : text .... text character any characters no default This command labels (prints) the text using the currently defined font. • text...text Characters are drawn using the current selected font. Setting CR (0DHEX) and LF (0AHEX) causes the carriage return command to be executed. • Label Terminator Terminates this command. The text specified before the text terminator is set. If the terminator does not exist, this command waits for the terminator. The default terminator is ETX (03HEX), but you can define a different terminator using the DT command. This command prints the specified text data before the text terminator in accordance with the specified printing position, direction, size, slant and the spacing between the characters. This command has the function of an automatic pen down. After this command is executed, the pen up/down returns to the conditions set before this command is executed. Labeling Origin Setting: LO position(;) or LO(;) Parameter Format Range Default : : : : position clamped integer 1 to 9, 11 to 19 and 21 1 This command changes the printing positions relative to the current pen location. The printer defaults to the label origin if no parameters are entered. • position Indicates the printing position relative to the current pen location within the range 1 to 9, 11 to 19 and 21 The dot indicates the current pen location. 1 to 9 sets the printing position within the character size Position=1 ABC Position=4 ABC Position=7 ABC Position=2 ABC Position=5 ABC Position=8 ABC Position=3 ABC Position=6 ABC Position=9 ABC Figure 3.71 Printing position (1) 11 to 19 sets the printing position where the labels are offset. (For 15, the labels are not offset. ) Position=11 ABC Position=14 ABC Position=17 ABC Position=12 ABC Position=15 ABC Position=18 ABC Position=13 ABC Position=16 ABC Position=19 ABC Figure 3.72 Printing position 21 Sets the printing position to the PCL compatible label position. The character is printed at the same position as in the PCL mode. For stick fonts, the label is offset by an amount equal to one half of the specified character's width. This command selects one of 18 printing positions specified using the position number parameter. Every time this command is executed, the carriage return position is updated to the most recent carriage return position This command is effective until another LO command is received, the printer is initialized or reset. Selecting Alternate Font Setting: SA(;) This command selects the alternate font. This command selects and uses alternate font defined by the AD command. If a standard font has been specified, this causes a standard font to change to an alternate font, and the alternate font is used. This command functions the same as the shift out control character SO (0EHEX). Scalable or Bitmap Fonts Setting: SB(n;) or SB(;) Parameter Format Range Default : : : : n clamped integer 0 or1 0 This command selects whether a bitmap font is valid or invalid. The printer defaults to scalable fonts if no parameters are entered. •n Determines whether bitmap font is valid or invalid 0 bitmap font is invalid. 1 bitmap font is valid. For a standard font or an alternate font, this command makes bitmap fonts or scalable fonts valid. This command is defaulted using the DF command. Standard Font Definition Setting: SD kind, value...(,kind, value;) or SD(;) Parameter Format Range Default : : : : kind clamped integer 1to7 no default value clamped real depends on kind depends on kind This command designates the standard font and its attributes. The printer defaults the font attributes to standard if no parameters are entered. • Kind Designates the attribute for setting a value. Example: The following command represents the default setting. SD 1,277,2, 0,3,9,4,11.5,5,0,6,0,7,48 Symbol set Font spacing Pitch Height Typeface Stroke weight Posture Kind=1:Selects the symbol set. Symbol Set Value 4 37 293 38 39 9 202 234 330 Table 3.39 Symbol set Description ISO 60 Norwegian V1 ISO 4 United Kingdom Windows 3.1 Latin 2 ISO 69 French ISO 21 German ISO 15 Italian Microsoft Publishing DeskTop PS Text values (continued) Symbol Set Value 394 426 458 18540 173 205 269 621 14 78 174 19 83 180 308 21 53 277 309 341 373 405 501 565 629 Table 3.39Symbol set Description MC Text Ventura International Ventura US Wingdings PS Math Ventura Math Math-8 Symbol ISO 8859/1 Latin 1 (ECMA-94) ISO 8859/2 Latin 2 ISO 8859/9 Latin 5 ISO 11 Swedish ISO 17 Spanish Windows 3.1 Latin 5 PC-Turkish ISO 6 ASCII Legal Roman-8 Windows 3.0 Latin 1 PC-8 PC-8 Danish/Norwegian PC-850 Multilingual Pi Font PC-852 Latin 2 Windows 3.1 Latin 1 values Kind=2: Selects the spacing. Value = 0: Fixed spacing (default) Value = 1: Proportional spacing Kind=3: Specifies the number of characters per inch for the fixed-spaced font. Range 0 to 32767.9999 (default is 9) If proportional spacing is set, this setting is registered as a characteristic, but is invalid. Kind=4: Selects the font point size for the proportional font by the height of the character cell. Range 0 to 32767.9999 (default is 11.5) 1 inch is 72 points. The font point size is updated without affecting the font size if you set a fixed pitch font. Kind=5: Selects the character's vertical posture Value =0: Upright (default) Value =1: Italic Value =2: Alternate italic Kind=6: Selects the line thickness used in the font's design. Value =-7: Ultra thin Value =-6: Extra thin Value =-5: Thin Value =-4: Extra light Value =-3: Light Value =-2: Demi light Value =-1: Semi light Value =0: Meium, or Text (default) Value =1: Semi bold Value =2: Demi bold Value =3: Bold Value =4: Extra bold Value =5: Black Value =6: Extra black Value =7: Ultra black Value =9999: (for Stick font only) Setting the value to 9999 when the stick font is selected, changes the stroke weight in relate to the pen width. The stroke weight changes relative to the aspect ratio of the rectangle of P1/P2. The change of the aspect ratio of the rectangle of P1/P2 causes the size of the character to change but does not cause the stroke weight to change. Kind=7:Selects the typeface. TypefaceFamily TypefaceBase Value (#) Value (#) 4096 0 4099 3 4101 5 4102 6 4113 17 4116 20 4140 44 4144 48 4148 52 4168 72 4197 101 4297 201 4314 218 4362 266 4398 302 4613 517 6826 2730 Table 3.40 Typeface value Typeface Line Printer Courier CG Times Letter Gothic CG Omega Coronet Clarendon Stick Univers Antique Olive Garamond Marigold Arial Albertus Symbol Times New Roman Wingdings This command specifies the value required to select a standard font. The SS; enables you to select the specified font using this command. The kind and value parameters can not be omitted, but other parameters can be omitted. Example: SD2,1,4,30,7,52; Font Height spacing Typeface Absolute Character Size Setting: SI width,height(;) or SI(;) Parameter Format Range Default : : : : width clamped real - 32768 to 32767 dependent* height clamped real - 32768 to 32767 dependent* *Depends on the pitch and font height set currently by the AC or SD command This command sets the size of characters in centimeters for labeling. The character size is designated depending on the SD or ADcommand if no parameters are entered. • Width Specifies the width in centimeters. A negative width parameter will mirror labels in the right-to-left direction and the pen moves in the same direction. • Height Specifies the height in centimeters. A negative height parameter will mirror labels in the top-to-bottom direction and the pen moves in the same direction. SI1,1; SI-1,1; Label direction 1cm 1cm 1cm 1cm SI-1,-1; SI1,-1; 1cm 1cm Figure 3.73 Label in positive and negative parameters 1cm 1cm This command sets the width and height in centimeters for the current specified font. The parameters for width and height must be specified together. If one of the parameters is omitted or is set to 0 {or both are (0,0)}, this command is ignored. When this command is performed after selecting a bitmap font using SB1;, the bitmap font is altered to a stick font, or printing will be performed using the font which is closest to the character height or width specified by this command. This command data is effective until another SI or SR command is executed, or the printer is initialized or reset. Character Slant Setting: SL tangent of angle(;) or SL(;) Parameter Format Range Default : : : : tangent of angle clamped real -32768 to 32767 0 This command specifies the slant at which characters are drawn. The printer resets the slant to zero (no slant) if no parameters are entered. • Tangent of Angle Designates the slant of characters with tangent of angle. tan θ tan θ Positive slant Negative slant Figure 3.74 Positive and negative slant This command slants the characters per tangent θ in the vertical direction. The base of the character always stays on the horizontal. The change of slant does not affect the height of characters. This command does not slant any bitmap fonts. Relative Character Size Setting: SR width height(;) or SR(;) Parameter Format Range Default : : : : width clamped real -32768 to 32767 0.75% of P2X-P1X height clamped real -32768 to 32767 1.5% of P2Y-P1Y This command sets the size of characters to a percentage of the between P1 and P2. The printer resets the relative character width to 0.75% of the distance (P2XP1X) and the height to 1.5% of the distance (P2Y-P1Y) if no parameters are entered. • width Specifies the width as a percentage of the distance between the X-coordinates of P1 and P2. A negative width parameter will mirror characters in the right-toleft direction. The subsequent printing direction is the opposite to the current direction. • Height Specifies the height as a percentage of the distance between the Y-coordinates of P1 and P2. A negative height parameter will mirror characters in the top-tobottom direction. The subsequent printing direction is the opposite to the current one. Example: P2 (5000,5000) 2.45cm P1 (100,100) G 1.225cm IP100,100,5000,5000; SR10,20; width=(5000-100)×10%=490 plotter units or 1.225cm height=(5000-100)×20%=980 plotter units or 2.45 cm This command sets the width and height for the current selected font as a percentage of the distance between P1 and P2. A negative parameter will mirror characters the same as the SI command. If you change coordinates of P1 and P2 using the IP command before executing LB command, this command uses the updated coordinates. If P1 is moved to the right of P2, characters are mirrored right-to-left. If P1 is moved above P2, characters are mirrored top-to-bottom. When one of these situations occurs with the mirroring by the negative parameters of this command, the two inversions cancel, and the label appears normal. The parameters for width and height must be specified together. If one is omitted or set to 0, this command is ignored. If this command is executed using the SB1; after a bitmap font, the bitmap font is changed to a stick font and the bitmap font characters are printed using a font that is closest to the character height or width specified by this command. This command is effective until another SR or SI command is executed, or the printer is initialized or reset. Selecting Standard Font SS(;) This command selects the standard font specified using the SD command. If an alternate font has been selected, the alternate font is changed to standard font and the standard font is the alternate. This command functions the same as the shift in control character SI(0FHEX). Transparent Data Setting: TD mode(;) or TD(;) Parameter Format Range Default : : : : mode clamped integer 0 to1 0 (normal) This command allows a control code to be printed. This printer resets to the normal mode if no parameters are entered. • Mode Selects normal mode or transparent mode. Mode=0: Normal mode A control code is not printed. Mode=1: Transparent mode Specifies that all characters are printed including control codes. For the non-character code, a blank appears. This command allows a control code to be printed setting the transparent mode by the mode parameter. This causes a control code not to function as a control code. Example: When the character code 27 of PC-8 is set, In normal mode sets the escape sequence. In transparent mode prints the left arrow “←”. PJL Commands Introduction PJL (Printer Job Language) commands are a group of the commands which has the following functions: •Initializes or sets the print environment of the printer •Informs the computer of the Current Print Environment (by using the PJL status readback command) or the printer status PJL commands enable you to control the printer's print environment from an application software as you wish. Additionally the PJL status readback command gives you detailed information on the printer status (paper out, on line/off line etc.). Note: You can retrieve status readback messages by using bi-directional parallel interface. PJL Command Syntax and Format We are showing a PJL command example including the PJL SET command. PJL prefix PJL command Command modifier Parameter @PJL SET [LPARM:PCL] variable=value è[<CR>]<LF> PJL prefix: indicates the line is PJL command line. PJL command: one space is required before a command. Command modifier: enter command modifier, LPARM:PCL, when needed. enables to set PCL specific variables by inserting LPARM:PCL in the command line. Parameter: environment variable=its value; See Table 3.44 A list of environment variables. [<CR>]:optional <LF>:required to terminate the command line. For clarity, parameters are shown in italic. The PJL commands should be one line terminated with <LF>. è:shows the line led by is a component of the command in the previous line. []:optional (can be omitted) The following control codes are used. <HT>:Tab (ASCII 9) <LF>:Line feed (ASCII 10) <CR>:Carriage return (ASCII 13) <SP>:Space (ASCII 32) <ESC>:Escape (ASCII 27) <FF>:Form feed (ASCII 12) <WS>:one or more SP or HT Notes: • In this chapter for the PJL commands, the UEL (Universal Exit Language) command is shown as follows:UEL command:<ESC>%12345XThe ESC sequence in this section is shown in the different manner from the section for PCL commands, and character codes are not quoted. • We prefix “PJL” to each PJL command in the instructions of this manual to distinguish from the commands in the PCL and GL modes. Print Environment Composition The print environment consists of the following four environments. Modified Print Environment (The processed data is printed out under this environment) ⇑ When the reset command, <ESC> E is entered. (loaded) Can be changed by the PCL commands. PJL Current Environment When the UEL command or the PJL RESET command is entered. When a PJL reset condition occurs. ⇑ (loaded) Can be changed by the PJL SET command. User Default Environment Can be changed by the PJL DEFAULT command or through (loaded) the control panel (if the printer has). ⇑ When the PJL INITIALIZE command is entered. Factory Default Environment Figure 3.75 Print environment Factory Default Environment The Factory Default Environment is a group of the settings stored permanently in the printer. It's impossible to change the value of the Factory Default settings. The printer uses this environment only in the following cases. •When the printer has been turned on only after it was shipped from factory. •When the PJL INITIALIZE command has been entered. User Default Environment The User Default Environment can be set by the PJL DEFAULT command. The User Default Environment settings are valid, even if the PJL reset condition occurs. PJL Current Environment The PJL Current Environment can be set by using the PJL SET command. The PJL Current Environment settings are valid until the PJL reset condition occurs. Modified Print Environment When you enter the PCL mode, the PJL Current Environment values are loaded into the Modified Print Environment. The loaded Modified Print Environment can be changed to the desired settings by using the PCL commands. The printer prints out the print data under this print environment. Please note that when a reset command (<ESC>E in the PCL mode) is executed, all the settings in the PCL mode are invalid and the PJL Current Environment replaces the Modified Print Environment. The following figure shows how the print environment settings are changed by PJL commands, PCL commands or PJL reset condition. Example of Paper Size Setting Modified Print PAPER=LETTER Environment LETTER PJL Current Environment PAPER=LETTER LETTER User default Environment PAPER=LETTER LETTER Factory Default PAPER=LETTER Environment LETTER The PJL INITIALIZE command is sent. The PJL DEFAULT command, @PJL DEFAULT èPAPER=LEGAL is sent. Figure 3.76 Paper size setting example (continued) A4 EXECUTIVE LEGAL A4 A4 LEGAL LEGAL LEGAL LEGAL LETTER LETTER LETTER The PJL command, @PJL SET èPAPER=A4 is sent. The command, @PJL ENTER èLANGUAGE= èPCL<LF> <ESC>&l1A is sent. When the PJL reset condition occurs, the Setting returns to the User Default setting. *Confirm the Factory Default setting for your country by seeing the Operating Instructions for the printer. Figure 3.77 Paper size setting example PJL Reset Conditions The print environment resets to the User Default Environment in the following cases; •when the UEL command is sent •when “@PJL RESET” is sent •when a reset operation through a control panel (if your printer has) is executed •when the PJL JOB or EOJ command is sent Environment Variables Environment variables are variables to control the printer's print environment. The value of each environment variable can be changed by using the PJL SET or the PJL DEFAULT command. This operation means to change a print environment. The table 3.44 contains a list of environment variables. Alphanumeric Variables Letters and figures (ASCII 48 to 57, 65 to 90, 97 to 122, excluding ASCII 32) can be used for variables. It is required to begin with a letter, not a figure. Numeric Variables Figures may include one decimal point. You cannot begin with decimal point. Commas cannot be used in the numeric variables. Strings Must be enclosed in double quotation marks. Strings can be made with a combination of ASCII 32 to 255 including HT. (ASCII 34 should not be included.) Status Message The PJL USTATUS command makes the printer send automatically status message to the printer, when the printer's status is changed, a syntax error occurs, or unsupported option or outranged value is entered. The status message is formed with status code and display string. The status code shows the printer's status or an error with a number of five figures. The Status Code contains a list of the status codes. The display string shows the printer's status with ASCII characters. The following is a message example sent to the computer, when a paper jam occurs in your printer. Example: @PJL USTATUS DEVICE<CR><LF> CODE=40022<CR><LF> DISPLAY="ERROR:PAPER JAM"<CR><LF> ONLINE=FALSE<FF> 40022 is a status code showing Paper Jam. The display string is “ERROR:PAPER JAM”. ON LINE=FALSE shows the printer is in off line mode. Usage of Command ¬ Send the UEL (<ESC>%-12345X) command followed with @PJL prefix to enter into the PJL mode. The print environment returns to the User Default Environment. - Use the PJL SET command to set the variables which can not be set by using the PCL commands. ® Enter into the PCL mode using the PJL ENTER command, and use the PCL commands to set the desired Modified Print Environment. ¯ Send the UEL command. The table 3.40 indicates the usage of command to control the printer by using PJL commands and output data entered in the PCL mode. Commands/Responses (Commands from Computer to Printer) <ESC>%-12345X@PJL<CR><LF> @PJL SET COPIES=2<CR><LF> @PJL SET LPARM:PCL FONTNUMBER=13<CR><LF> Comments sends the UEL command followed by the PJL prefix to enter the PJL mode. sets the number of copies to 2, and font number to 13 by using the PJL SET command. uses the PJL INQUIRE @PJL INQUIRE COPIES<CR><LF> @PJL INQUIRE LPARM:PCL FONTNUMBER<CR><LF> command to inquire the set number of copies and the set font number. (Response from Printer to Computer) @PJL INQUIRE COPIES<CR><LF> 2<CR><LF> <FF> @PJL INQUIRE LPARM:PCL FONTNUMBER<CR><LF> 13<CR><LF> <FF> Table 3.41 Command example(continued) reads the response from the printer to confirm that the desired print environment has been set. Commands/Responses (Commands from Computer to Printer) @PJL ENTER LANGUAGE=PCL<CR><LF> Comments enters the PCL mode by using the PJL ENTER command. <ESC>Edata.... sends print data to the printer. <ESC>%-12345X sends the UEL command to terminate the job and return the print environment to the User Default setting. Table 3.41 Command example Note: We recommend when you execute the print settings (ex: numbers of Copy and Font) accessible in both PCL and PJL modes, you set in the PCL mode rather than in the PJL mode, since the print environment set in the PCL mode is prior over the PJL Current Environment. PJL Commands PJL Commands Function UEL command Comment Enter the PCL mode Set User Default Inquire User Default ECHO Send information Initialize Inquire PJL Current Default Reset Set PJL Current Environment USTATUS USTATUSOFF JOB Command Line <ESC>%-12345X @PJL COMMENT remarks[<CR>]<LF> @PJL ENTER LANGUAGE=PCL [<CR>]<LF> @PJL DEFAULT [LPARM:PCL] variable =value[<CR>]<LF> @PJL DINQUIRE[LPARM:PCL] variable[<CR>]<LF> @PJL ECHO words[<CR>]<LF> @PJL INFO category[<CR>]<LF> @PJL INITIALIZE [<CR>]<LF> @PJL INQUIRE [LPARM:PCL] variable[<CR>]<LF> Page 4-6 4-6 4-7 4-7 @PJL RESET[<CR>]<LF> @PJL SET[LPARM:PCL]variable=value[<CR>]<LF> 4-9 4-10 @PJL USTATUS variablervalue[<CR>]<LF> @PJL USTATUSOFF[<CR>]<LF> @PJL JOB [NAME=“job name”][START=first page] [END=last page][<CR>]<LF> EOJ @PJL EOJ [NAME=“job name”][<CR>]<LF> Table 3.42 Control code comparison chart-page reference table 4-7 4-8 4-8 4-9 4-9 4-10 4-12 4-12 4-13 Entering the PJL mode Setting: <ESC>%-12345X Response: (no response) Parameter: (no parameter) This command is effective in any language mode, and terminates the processing in the current language mode. When this command is entered in the PJL mode, all of the unprocessed commands are abandoned. To enter the PJL mode, send the PJL command prefix (@PJL) after the UEL command as shown below. <ESC>%-12345X@PJL[<CR>]<LF> If the printer receives a character except the PJL command prefix after the UEL command, the printer resets to the default printer language (PCL). Comment Setting: @PJL COMMENT remarks [<CR>]<LF> Response: (no response) Parameter: remarks •remarks The remarks are a line of characters composed of ASCII 33 to 255 and WS. (WS is one or more SP or HT.) This command makes a note in the PJL script and does not affect a print environment. Entering from PJL mode to PCL mode Setting: @PJL ENTER LANGUAGE=PCL[<CR>]<LF> Response: (no response) Parameter: (no parameter) This command changes a printer language mode from the PJL mode to the PCL mode. The characters after LF are interpreted in the PCL mode. Setting User Default Setting: @PJL DEFAULT [LPARM:PCL] variable=value[<CR>]<LF> Response: (no response) Parameter: variable value •variable Enter the desired environment variable. The table 3.44 contains a list of environment variables. The list shows which variables your printer supports. •value (of variable) Enter the desired value for the variable. This command sets the User Default value for the specified environment variable. This command does not affect the PJL Current Environment or Modified Print Environment. This indicates that the Print Environment is not changed. When the PJL reset condition occurs, the setting(s) is reflected in the Print Environment. The command modifier “LPARM:PCL” must be specified, when you specify the PCL specific variable. Inquiring User Default Setting: @PJL DINQUIRE [LPARM:PCL] variable[<CR>]<LF> Response: @PJL DINQUIRE [LPARM:PCL] variable<CR><LF> value<CR><LF> <FF> Parameter: variable value (only in response) •variable Enter the environment variable you desire to inquire. •value The printer sends back the value of the selected User Default setting. This command enables you to inquire the User Default of the environment variable specified by the variable. The printer sends back a response in the format above. When the printer does not support the specified environment variable, the printer returns the response in the following format. @PJL DINQUIRE [LPARM:PCL] variable<CR><LF> “?”<CR><LF> <FF> The command modifier “LPARM:PCL” must be specified, when you specify the PCL specific variable. ECHO Command Setting: @PJL ECHO words[<CR>]<LF> Response: @PJL ECHO words<CR><LF> <FF> Parameter: words •words Enter characters (maximum 80) from ASCII 33 to 255, including SP and HT. This command does not affect a print environment. This command sends back only response including the specified words. The response data is stored in the printer's buffer until the computer reads the data. If the PJL status readback command was sent to the printer through other application software in the past, there occurs possibility of the current application software receiving the response to the previous status readback command incorrectly. To prevent this problem from occurring, send unique words by using the PJL ECHO command so that you can confirm the print status of the current application software. Sending Information to the Computer Setting: @PJL INFO category[<CR>]<LF> Response: @PJL INFO category<CR><LF> information <CR><LF><FF> (one or more lines of information may be returned) Parameter: category •category ID CONFIG MEMORY PAGECOUNT STATUS VARIABLES USTATUS printer model number information on configuration total of user available memory he total number of pages printed out by the printer's engine the current printer status a list of environment variables, the available variable values and the current variable values variables and the values which are available by using the PJL USTATUS command This command sends information on the specified category to the computer. When the printer does not support the specified category, the following message returns; @PJL INFO category<CR><LF> “?”<CR><LF> <FF> Initializing Setting: @PJL INITIALIZE[<CR>]<LF> Response: (no response) Parameter: (no parameter) This command resets the values of environment variables to the factory default settings. The table 3.44 contains the values of environment variables. Inquiring PJL Current Default Setting: @PJL INQUIRE [LPARM:PCL] variable[<CR>]<LF> Response: @PJL INQUIRE [LPARM:PCL] variable<CR><LF> value<CR><LF> <FF> Parameter: variable value (only in response) •variable Enter the desired environment variable. The table 3.44 contains a list of environment variables. The list shows which variables your printer supports. •value (of variable) The printer sends back the value of the selected setting. This command inquires the PJL current default of environment variable specified in variable. The printer sends back the value in the format above. When the printer does not support the specified environment variable, the printer sends the following message; @PJL INQUIRE [LPARM:PCL] variable<CR><LF> “?”<CR><LF> <FF> The command modifier “LPARM:PCL” must be specified, when you specify the PCL specific variable. Resetting Setting: @PJL RESET[<CR>]<LF> Response: (no response) Parameter: (no parameter) This command resets all the environment variables to the User Default settings (see Figure 3.75 Print environment). Setting PJL Current Environment Setting: @PJL SET [LPARM:PCL] variable=value[<CR>]<LF> Response: (no response) Parameter: variablevalue •variable Enter the desired environment variable. The table 3.44 contains a list of environment variables. The list shows which variables your printer supports. •value (of variable) Enter the desired value for the variable. The table 3.44 contains a list of values for environment variables. This command sets the value for the specified PJL Current Environment variable. The User Default Environment settings are not affected by this command. The set value is valid until the PJL reset condition occurs. When the PJL reset condition occurs, the User Default values replace ones for the PJL Current Environment. The command modifier “LPARM:PCL” must be specified, when you specify the PCL specific variable. USTATUS Command Setting: @PJL USTATUS variable=value[<CR>]<LF> Response: (no response) Parameter: variable value Variable DEVICE Value ON Function automatically sends a message to the computer when the printer status has been changed. VERBOSE also reports a syntax and a semantic error in the PJL command line, and a warning, added to the same function as in the Device On setting. OFF does not report any status change. JOB ON automatically reports start and end of the print job. OFF does not report. PAGE ON sends a message every time the printer prints a page. OFF does not send a message. TIMED 5 to 300 seconds reports the status of the printer to the computer every set time. 0 does not report regularly. Table 3.43 Parameters for USTATUS command This command does not return a response to the computer. The printer automatically sends a message in the following format, depending on the setting by the PJL USTATUS command. •variable=DEVICE value=ON or VERBOSE @PJL USTATUS DEVICE<CR><LF> CODE=status code<CR><LF> DISPLAY="display strng"<CR><LF> ONLINE=TRUE<CR><LF> <FF> •variable=JOB value=ON <when the printer receives the PJL JOB command> @PJL USTATUS JOB<CR><LF> START<CR><LF> NAME="job name"<CR><LF> <FF> <when the printer receives the PJL EOJ command> @PJL USTATUS JOB<CR><LF> END<CR><LF> NAME="job name"<CR><LF> PAGES=the total number of pages printed in the job è<CR><LF> <FF> •variable=PAGE value=ON @PJL USTATUS PAGE<CR><LF> the total number of pages printed in the current job è<CR><LF> <FF> •variable=TIMEDvalue=the time interval (from 5 to 300 seconds) @PJL USTATUS TIMED<CR><LF> CODE=status code<CR><LF> DISPLAY="display string"<CR><LF> ONLINE=TRUE<CR><LF> <FF> Unsolicited status message is generated automatically by the printer, while solicited status message is generated by the command such as the PJL INQUIRE, DINQUIRE or ECHO command. The status code shows the printer's status or an error in the PJL command with a number of five figures. The display string shows the printer's status with a character line. The status codes and display strings are listed on Status Code. USTATUSOFF Command Setting: @PJL USTATUSOFF[<CR>]<LF> Response: (no response) Parameter: (no parameter) This command sets the printer not to send automatically information on unsolicited status. You can get the same result as you sets all the variables of USTATUS command to off by using the PJL USTATUS command. If you use the PJL USTATUS command to turn off all the variables of the PJL USTATUS command, you need to set each variable to off. On the other hand, by using the PJL USTATUSOFF command, all the variables can be efficiently set to off at a time. JOB Command Setting: @PJL JOB [NAME=“job name”][START=first page] è [END=last page][<CR>]<LF> Response: (no response) Parameter: job namefirst pagelast page •job name Enter a line of characters (maximum 80) composed of ASCII 33 to 255, including SP and HT. The line must be quoted. •first page Enter the first page number of the job. The range is from 1 to 2147483647. The default is 1. •last page Enter the last page number of the job. The range is from 1 to 2147483647. The default is the last page number of the print data. This command notifies the printer of the start of job. This command must be always used with the PJL EOJ command in pairs. When a job name is specified by this command, the response to the command “@PJL USTATUS JOB=ON” will include “job name” (see “USTATUS command”). When you specify the first and last pages of the job by using this command, you can print only the defined pages of all the print data. The print data outside the defined pages are not printed. EOJ Command Setting: @PJL EOJ [NAME=“job name”][<CR>]<LF> Response: (no response) Parameter: job name •job name Enter a line of characters (maximum 80) composed of ASCII 33 to 255, including SP and HT. The line must be quoted. This command notifies the printer of the end of job, and resets the PJL Current Environment to User Default Environment. This command must be always used with the PJL JOB command in pairs. When a job name is specified by this command, the response to the command “@PJL USTATUS JOB=ON” will include “job name” (see “USTATUS Command”). Job Sample by PJL and UEL Commands A job sample by using PJL and UEL commands is shown below. Refer to “USTATUS Command”. (Commands sent from the computer) <ESC>%-12345X@PJL @PJL USTATUS DEVICE=ON @PJL USTATUS JOB=ON @PJL USTATUS PAGE=ON @PJL USTATUS TIMED=10 @PJL JOB NAME="Example for PJL Command" @PJL ENTER LANGUAGE=PCL This is the first page of example of USTATUS Command. <FF>This is the second page. <ESC>%-12345X@PJL @PJL EOJ NAME="End of PJL Example" <ESC>%-12345X (Response sent from the printer) @PJL USTATUS JOB<CR><LF> START<CR><LF> NAME="Example for PJL Command"<CR><LF> <FF> @PJL USTATUS TIMED<CR><LF> CODE=10001<CR><LF> DISPLAY="PRINTER READY"<CR><LF> ONLINE=TRUE<CR><LF> <FF> @PJL USTATUS TIMED<CR><LF> CODE=10001<CR><LF> DISPLAY="PRINTER READY"<CR><LF> ONLINE=TRUE<CR><LF> <FF> @PJL USTATUS PAGE<CR><LF> 1<CR><LF> <FF> @PJL USTATUS TIMED<CR><LF> CODE=10001<CR><LF> DISPLAY="PRINTER READY"<CR><LF> ONLINE=TRUE<CR><LF> <FF> @PJL USTATUS PAGE<CR><LF> 2<CR><LF> <FF> @PJL USTATUS JOB<CR><LF> END<CR><LF> NAME="End of PJL Example"<CR><LF> PAGES=2<CR><LF> <FF> @PJL USTATUS TIMED<CR><LF> CODE=10001<CR><LF> DISPLAY="PRINTER READY"<CR><LF> ONLINE=TRUE<CR><LF> <FF> (Output) This is the first page of example of USTATUS Command. This is the second page. Environment variables and Values Environment AUTOCONT BINDING CLEARABLE WARNINGS Value (OFF) ON (LONGEDGE) SHORTEDGE JOB (ON) STOP COPIES (1) to 999 CPLOCK (OFF) ON DENSITY DUPLEX 1 to 5 (OFF) ON ECONOMODE (TONRSAVR) Details The auto continue feature. The default relationship of the front and back images on pages printed in duplex printing. Clearable Warnings are the messages that are not critical, and can be cleared by pressing Continue key. When JOB is selected, Clearable Warnings are displayed until the next job starts. When On is selected, Clearable Warnings are displayed until the user press any key. The number of uncollated copies for each page of the printing job. The control panel lockout state. When On is selected, the printer panel does not function for changing feature setting. The toner density. The Duplex feature. When On is selected, the printer prints on both side of the paper. When Off is selected, the printer prints on one side of the paper. The toner saving feature. (OFF) LIGHT MEDIUM Table 3.44 A list of environment variables (continued) Environment FORMLINES INTRAY1 * INTRAY2 * INTRAY3 * Table 3.44 A Value 5 to 128 Details The number of line per page. The change of PAPER and ORIENTATION settings may override this setting. If one of their settings is changed, FORMLINES will automatically update its value to keep the same line space. (UNLOCKED) Locks Multi Purpose Tray from auto-selection LOCKED feature of Paper Input. (UNLOCKED) Locks Standard Cassette from auto-selection LOCKED feature of Paper Input. (UNLOCKED) Locks Option Cassette from auto-selection LOCKED feature of Paper Input. This command is effective only when the Optional unit is installed. If the Optional unit is not installed, the printer shows “?” instead of LOCKED or UNLOCKED, because the command is not effective. list of environment variables (continued) * = Read Only Environment INTRAY1SIZE * Value Details The paper size in Multi Purpose Tray. (LETTER) LEGAL (A4) EXECUTIVE LEDGER A3 CUSTOM COM10 MONARCH C5 DL B5 INTRAY2SIZE * (LETTER) The paper size in Standard Cassette. LEGAL (A4) EXECUTIVE LEDGER A3 INTRAY3SIZE * (LETTER) The paper size in Option Cassette. This LEGAL command is effective only when the Optional Units is installed. If Optional Unit is not installed, (A4) EXECUTIVE the printer shows “?” instead of a paper size, LEDGER because the command is not effective. A3 Table 3.44 A list of environment variables (continued) * = Read Only Environment IOBUFFER Value Details ON I/O Buffer size of the printer. When Auto is (AUTO) selected, I/O Buffer size is automatically decided for the printer’s installed memory. When On is selected, the value of IOSIZE becomes the I/O Buffer size. IOSIZE 10-max memory I/O Buffer size of the printer. To this command effective, I/O Buffer’s setting has to be On. LANG ENGLISH The language of displayed message on the display panel and status feedback display panel. LOWTONER (CONTINUE) Low toner message. If Continue is selected, the STOP printer remains On Line even if Low Toner message is displayed. If Stop is selected, the printer enters to Off Line and waits until On Line key is pressed. MANUALFEED (OFF) The Manual Feed mode. Selecting On is the ON same state as selecting Manual at MPTRAY setting. MEDIATYPE TRANSPARENCY The paper type in Multi Purpose tray. (NORMAL) THICK ENVELOPE MPTRAY MANUAL The paper feed mode. (CASSETTE) FIRST Table 3.44 A list of environment variables (continued) Environment ORIENTATION Value (PORTRAIT) LANDSCAPE PAGEPROTECT ON (PAGEPROTECTION) (AUTO) Details The paper orientation, Portrait or Landscape. The Page protection feature. When printing very dense or complex image, especially HpGL/2 image, the printer sometimes causes overrun error. The page protection feature can keep printer memory to avoid such a overrun. The value can be changed to any legal value at any time, in spite of current free memory’s amount or current resolution. If data is sent to the printer, and printer memory is not sufficient to print with current resolution and page protection setting, the system temporarily ignores the values of resolution and/or page protection to print the data. When the status of page protection is changed, the memory is reconfigured. Also, all downloaded fonts and PCL macros are lost. Table 3.44 A list of environment variables (continued) Environment PAPER PASSWORD POWERSAVE Value (LETTER) LEGAL (A4) LEDGER A3 EXECUTIVE COM10 MONARCH C5 DL B5 CUSTOM (0) TO 65535 (ON) OFF Details The paper size. The password for PJL security. Power save feature reduces power supplied to the printer, if the printer is idle for a certain time. The time depends on the printer. RESOLUTION 300,(600) The print resolution, 600 dpi or 300 dpi(dots per inch). Table 3.44 A list of environment variables (continued) Environment RET (EET) Value Details With EET turned on, the printer will smooth the OFF jagged edges of text and line art, and improves LIGHT the printing quality. This feature may not need to MEDIUM be adjusted usually because the default settings DARK prints well for almost all type’s printing. TIMEOUT 5 to 300 The duration of I/O timeout in seconds. If the OFF printer does not receive any data for the time longer than the timeout duration, the printer starts receiving the data from other I/O ports, if any. In this case, the printer prints the remaining date. FONTSOURCE I The value for Font source, I or S. The value S depends on the font base currently installed in the printer. If users designate the font source which does not have any fonts, the value is ignored. Table 3.44 A list of environment variables (continued) Environment FONTNUMBER Value 0 (or 1) to n Details The value for Font number. This value depends on the current font source. If the font source includes a default-marked font, the value start from 0. Otherwise, the value start from 1. The upper limits changes depending on the number of font installed in the font source. For instance, if the font source includes 50 fonts and default-marked font, the value range of FONTNUMBER is from 0 to 49. Under the same condition, if default marked font is not included, the range is from 1 to 50. The value of FONTSOURCE and SYMSET may override the value of FONTNUMBER. If value of either FONTSOURCE or SYMSET is changed, the value of FONTNUMBER will automatically change to the font of lowest number in newly selected font source. (If newly selected font source includes default-marked font, it is 0, otherwise, it is 1. If the current font number is set to the highest soft font, and font source is set to S, then if certain soft font is deleted, the value of FONTSOURCE changes to its default value. And the value of FONTNUMBER is set to the lowest numbered font in newly selected font source. (0 or 1) Table 3.44 A list of environment variables (continued) Environment PITCH Value 0.44 to 99.99 (10.00) PTSIZE 4.0 to 999.75 (12.00) SYMSET Details The pitch of default font in number of characters per inch. (The default font has to be fixed-pitch scalable font.) The user can specify the pitch value to two decimal places. The height of the default font in units of point. (The default font has to be proportional scalable font) The user can specify the point size to a quarter of a point. The symbol set. PC8 ROMAN8 WIN31J Another Symset Table 3.44 A list of environment variables Status Code IF DEVICE,JOB or PAGE parameter of the PJL USTATUS command are set to ON (and verbose for DEVICE) or TIMED parameter is set to time interval except 0, the printer sends back unsolicited status message using status code and display string when the printer status changes. The format is; CODE=Status CODE <CR><LF> DISPLAY=“Display String” <CR><LF> Status code shows syntax and semantic errors in the PJL command line, and a warning with a number of five figures. Display string shows errors and a warning with ASCII characters. Informational Message Status Code 10001 Display String ON LINE 10003 10004 WARM UP INITIALIZING 10005 INITIALIZING 10006 TONER LOW 10014 10015 10018 PRINTING… PRINTING… INITIALIZING 10023 10024 10025 10029 Processing JOB REMAINING DATA ACCESS DENIED PRINTING… 10050 10106 INITIALIZING TONER EMPTY Table 3.45 Informational Message Status The printer is in the online state and ready to print. The printer is warming up. The printer is executing internal diagnostic after power on. The printer is turned to the environment of the panel menu. Toner Cartridge reaches time for replacement. The printer is online. The printer is printing status page. The printer is printing font list page(s). The printer is turned to environment of the factory shipment. The printer is processing a print job. Control panel is locked. The printer is printing the remaining data. Toner Cartridge reaches time for replacement. The printer is online. Paper Tray Status (12xyy) Paper Tray status message occur when a tray is empty, low or medium. Paper tray status message are in format 12xyy. The following tables list the X and Y values for these messages. X = Tray Code 0 2 3 Tray (Cassette) MP tray Standard Cassette Optional Cassette yy = Status Code Tray (Cassette) Status 11 Paper Empty (warning error) 12 Paper Low (warning error) 13 Paper Medium (warning error) 21 Paper Empty (Off line error) Table 3.46 Paper Tray Status PJL Parser Errors (20xxx) These status codes denote PJL parser errors. The entire PJL command line is ignored. Status Code 20001 20002 20004 20005 20006 Meaning General Syntax error (entire PJL command ignored) Unsupported command Unsupported personality, system, or I/O port PJL command buffer overflow Illegal character or line terminated by the Universal Exit Language command 20007 <WS> or [<CR>] <LF> missing after closing quotes 20008 Alphanumeric value holds an invalid character. 20009 Numerical value holds an invalid character. 20010 Top of a character line, alphanumeric value or numerical value holds an invalid character. 20011 No closing double-quote at the end of a character line 20012 Numerical value begins with a decimal point. 20013 Numerical value does not include figures (0 to9). 20014 No alphanumeric value after LPARM:PCL 20015 Option name and equality sign without value have been received. 20016 LPARM:PCL is repeated. Table 3.47 PJL Parser Errors (continued) Status Code 20017 Meaning Order of LPARM:PCL and option in command line is not correct. 20018 Alphanumeric command is not sent. 20019 Numerical values have been sent incorrectly in place of alphanumeric values. 20020 A character line has been sent incorrectly in place of alphanumeric values. 20021 Command modifier except LPARM:PCL has been sent (only LPARM:PCL is supported as command modifier). 20022 No LPARM:PCL 20023 No option name 20024 Extra data received after option name (used for commands like SET that limit the number of options supported) 20025 Numerical value has two decimal points. 20026 Invalid binary value Table 3.47 PJL Parser Errors PJL Parser Warnings (25xxx) This group of status codes denote PJL parser warnings, which indicates that pats of the PJL command is ignored. Status Code 25001 25002 25003 25004 25005 25006 25007 25008 25009 25010 25011 Meaning General warning error (part of the PJL command ignored) No PJL prefix Too long alphanumeric values Too long character line Too long numerical value Unsupported option name No value for option Type of values (character or numerical value) is not proper. Value has been sent for the option which does not need value. LPARM:PCL is repeated in a command line. Outranged value has been sent so that the printer have disregarded the option. 25012 A part of value has been discarded because of data conversion. 25013 A part of value has been discarded because the value is outranged. (The value closest to the supported range is used.) 25014 Value has been ignored because the value is out of the range. 25016 Option name with alphanumeric value has been received, but the value is not supported. 25017 No character line (The option name has been disregarded.) 25018 A Universal Exit Language command was expected but not found Table 3.48 PJL Parser Warnings PJL Semantic Errors (27xxx) This group of status codes denote PJL semantic error. As much of the command is executed as possible, depending on the current configuration of the printer. Status Code 27001 27002 Meaning General semantic error EOJ command encountered without a previously matching JOB command. An EOJ command does not have a matching JOB command if the number of valid EOJ commands received is greater than the number of valid JOB commands received. 27003 Password protected-attempted to change NVRAM value when password is set and the job is not a secure PJL job. 27004 Cannot modify the value of a read-only variable. 27005 Can only use DEFAULT with this variable; cannot use SET. Table 3.49 PJL Semantic Errors Auto-Continuable Conditions (30xxx) This list specifies the set of PJL error codes and corresponding control panel display strings for auto-continuable conditions. If no action is taken, the device automatically continues if auto-continue is set to true (expect for 30035 and 30036 error) Status Code 30016 Display String MEM OVERFLOW 30017 30106 OVER RUN TONER EMPTY 30206 TONER LOW Table 3.50 Auto-Continuable Conditions Error Name Page overflow, image overflow, or download overflow has occurred. Overrun has occurred. Toner Cartridge reaches time for replacement. The printer is offline. Toner Cartridge reaches time for replacement. The printer is offline. Potential Operator Intervention Conditions (35xxx) This list specifies the set of PJL error codes and corresponding control panel display strings for conditions where operator intervention may be required. The device says “online” and continues to operate, possibly with reduced functionality. Data may be lost. Status Code Display String Error Name 35029 IMAGE CTL 35103 MAINTE M86 Fuser unit reaches time for replacement. 35104 MAINTE M88 Pick-up roller reaches time for replacement. 35105 MAINTE M89 Transfer roller reaches time for replacement. Table 3.51 Potential Operator Intervention Conditions Operator Intervention Conditions (40xxx) This list specifies the set of PJL error codes and corresponding control panel display strings for conditions where operator intervention is required. Printing cannot continue until the condition is resolved. Status Code 40000 40021 40048 40049 40061 40079 Display String ON LINE (SLEEP) COVER OPEN [PJL OPMSG] [PJL STMSG] CALL SERVICE E52, CALL SERVICE E53 OFF LINE Error Name The printer is in power save mode. Top Cover is open. SIMM RAM Error (Slot 2). The printer is in the offline state and not ready to print. 40121 DUPLEX COVER Duplex unit cover is open. 40136 CALL SERVICE E71 NVRAM Error. 40179 OFF LINE (SLEEP) The printer is in power save mode. 40218 BUFFER FULL Receive buffer overflow Table 3.52 Operator Intervention Conditions Paper Loading (41xyy) Paper loading message are send when one of the paper input sources is put of paper and there is no other input source available and loaded with the correct paper size. x = Tray Code 0 1 2 3 Tray (Cassette) MP tray Manual Feed Standard Cassette Optional Cassette yy = Tray Code Media size 00 Unknown paper size 02 Letter Paper 03 Legal Paper 04 A4 Paper 05 Exec Paper 06 Ledger Paper 07 A3 Paper 08 COM10 Envelope 09 Monarch Envelope 10 C5 Envelope 11 DL Envelope 14 International B5 Envelope 15 Custom Media 50 Paper direction is not correct Table 3.53 Paper Loading Paper Jam Message (421xx) yy = Jam Location Tray or Cassette 02 PAPER JAM 01 04 PAPER JAM 02 06 PAPER JAM 03 08 DUPLEX ERROR 10 DUPLEX JAM Table 3.54 Paper Jam Message Hardware Errors (50xxx) These status codes are sent out when a hardware problem exists and a printer is working well enough to send status messages. Status Code 50001 50002 50003 50006 50007 Display String CALL SERVICE E54 CALL SERVICE E50 CALL SERVICE E32 CALL SERVICE E26 CALL SERVICE E61 50012 CALL SERVICE 50015 CALL SERVICE 50024 CALL SERVICE 50026 CALL SERVICE Table 3.55 Hardware Errors E36 E35 E25 E90 Error Name ROM checksum Failed RAM error Fuser Unit error Fan motor error Engine and Controller Communication Error L/D error Polygon motor error / Hsync error Main motor error Network card failed
advertisement
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Related manuals
advertisement