This document provides information on IBM PPDS (Personal Printer Data Stream) and Epson ESC/P control codes and escape sequences.
Resolving the problem
This document provides information on IBM PPDS (Personal Printer Data Stream) and Epson ESC/P control codes and escape sequences, many of which could be used when printing with Host Print Transform (HPT).
This document was last updated on 11 August 2009.
- IBM PPDS (Personal Printer Data Stream)
This section provides information on the IBM PPDS (Personal Printer Data Stream) control codes and escape sequences that are supported on IBM Proprinter printers and third-party printers that support IBM Emulation Mode. The details on the IBM PPDS control codes and escape sequences was copied directly from the IBM Proprinter II, Proprinter XL, and Proprinter II XL Guide to Operations manual, SC31-3711-02. The details on the IBM PPDS escape sequences for the IBM LaserPrinter 4019 and 4029 Series, such as Page Presentation Media (PPM), were copied directly from the Technical Reference for the IBM LaserPrinter 4029 Series manual, SA40-0603-01.
Note: Not all of the IBM PPDS control codes and escape sequences are be used by Host Print Transform (HPT) when converting spooled files to an ASCII printer data stream suitable for an IBM Proprinter or compatible printer.
IBM PPDS Control Codes
Control Code (Hex/Decimal) Control Code Name and Description 00
Either do nothing or end the horizontal and vertical tab set controls.
NUL is a control character used to fill space or time. NUL is normally ignored; however, for PC compatibility, NUL ends horizontal and vertical tab set controls.
Sound the printer beeper once, for about 1 second.
BEL sounds the printer beeper once, for about 1 second.
Move the print head one space to the left.
BS moves the print head one character width to the left. The character spacing you select determines the exact movement of the print heard. If the current print position is at one, the printer ignores BS (the same as a NUL control code). Use this control code to create overstrike characters.
Horizontal Tab (HT)
Move the print heard to the next horizontal tab stop.
HT moves the print head to the next horizontal tab stop. If there is no tab stop between the current position and the right margin, the HT control is ignored. Set tab stops with ESC D. The setting when you first switch power on is a tab stop every 8 positions, beginning at column 9.
Line Feed (LF)
Advance the form one line.
LF advances the paper or form one line. When less than one line remains, the printer moves the form to the next top of form. An Carriage Return (CR) will also occur if the printer hardware has Automatic CR selected.
Vertical Tab (VT)
Advance the paper to the next vertical tab stop.
VT advances the paper to the next vertical tab stop. If the printer hardware has automatic CR selected, the printer does an automatic Carriage Return (CR). IF the next vertical tab stop is greater than the form length (or form length minus skip perforation), the VT does a Line Feed (LF). With no vertical tab stops set (or at power-on reset), the VT does an LF.
Form Feed (FF)
Advance the paper to the top of the next page.
FF advances the paper to the next top of form and does a Carriage Return (CR).
Carriage Return (CR)
Cause the data that follows to print at left.
CR causes the data that follows a CR to print at the left side. No line feed occurs unless the printer hardware has automatic line feed selected or the computer sends an ESC 5 to the printer.
Double-Wide Printing by Line (SO)
Set double-wide printing by line.
SO starts double-wide printing, which prints the characters twice as wide as the current character spacing. This prints half as many characters per inch. Each character requires the space of two tab positions. A Carriage Return, Cancel, Line Feed, Form Feed, Vertical Tab, ESC W, or DC4 cancels the SO control code. When you specify the character width parameter on Double Height (ESC [@), you also reset the SO control code.
Condensed Printing (SI)
Start condensed printing.
SI starts condensed printing. Character spacing in condensed printing is 17.1 characters per inch. Print 10 Characters Per Inch (CPI) (DC2) cancels this mode and returns spacing to 10 characters per inch.
Select Printer (DC1)
Set printer to accept data after deselect.
DC1 sets printer to accept data from your computer after it has been selected by ESC Q.
Print 10 Characters Per Inch (CPI) (DC2)
Set the printer at 10 CPI.
DC2 cancels condensed mode and 12 CPI and sets the printer to 10 CPI. This control code does not cancel double-wide print.
Deselect Printer (DC3)
Deselect the printer.
DC3 is a null on the parallel interface. On the serial interface, the printer sends this control code to indicate that its buffers are full.
Cancel Double-Wide Printing by Line (DC4)
Cancel double-wide printing by line.
DC4 ends double-wide printing by line that was started by SO. DC4 returns the printer to the previous character spacing.
Cancel Data (CAN)
Clear data in the preceding print buffer.
CAN clears data in the preceding print buffer but does not change the current print position.
Move the print head one space to the right.
SP moves the current horizontal print position one character space to the right.
IBM PPDS Escape Sequences
Escape Sequence (ASCII / Hex) Escape Sequence and Description Ec A n
1B 41 ..
Set Text Line Spacing
Set text line spacing in n/72 inches.
ESCAn sets text line spacing in increments of 0.3528 mm (1/72 inch). ESCA12 (X'1B410C') set 12/72-inch spacing or 6 lines per inch.
The value sent by ESCAn is stored but is not used until ESC2 is sent. ESC2 causes the line spacing that was set by ESCAn to begin.
Ec B n1 ... 0
1B 42 .. 30
Set Vertical Tabs
Set vertical tab stops in lines.
ESCBn1n2...n640 sets vertical tab stop positions in lines for use with the vertical tab control code (VT). No vertical tab stops are set when the printer is first switched on. n1 through n64 represent tab stop positions by line number. Each n must be a one-byte decimal value less than 65. The line at top of form is line 1. (See ESC4 to set top of form.)
ESCB cancels any previous vertical tabs. If no vertical tabs are set, the printer treats a vertical tab (VT) as a line feed (LF). ESCR or ESCB0 clears vertical tab stops.
Ec C n or
Ec C 0 m
1B 43 .. ..
Set Form Length (Lines or Inches)
Set the printer form length in lines or inches.
ESCCn m sets the form length in lines (n) or inches (m). Use ESCCn to set the form length in lines. Use ESCC0m to set the form length in inches. Maximum recommended form length in inches: 255 x 85/72 (maximum text line spacing) or 7645 mm (301 inches).
ESCC sets top of form at the current form position and overrides the form length switch.
Ec D n1 ... 0
1B 44 .. 30
Set Horizontal Tabs
Set up to 28 horizontal tab stop positions.
ESCDn1n2...n280 sets horizontal tab stop positions for use with the horizontal tab control code (HT). When the printer is switched on, tabs stops are set at every 8 positions, beginning with column 9. n1 through n28 represent tab stop positions by column number. Each n must be a one-byte decimal value less than 65. Tab stops can be set beginning with column 1. ESCD cancels any previous horizontal tabs. ESCR sets all horizontal tabs to the power-on setting. ESCD0 clears horizontal tab stops.
Set Emphasized (Bold) Printing
Set the printer to print in emphasized-print mode.
ESCE starts emphasized or bold printing. The print head strikes each dot twice to produce a darker, bolder character. The second strike is offset horizontally.
End Emphasized (Bold) Printing
Stop printing in emphasized-print mode.
ESCF ends emphasized or bold printing.
Start Double-Strike Printing
Start double-strike printing.
ESCG starts double-strike printing. The print head strikes the character twice, resulting in darker, bolder character. This is useful for multi-part forms. ESCG must be canceled by ESCH.
Stop Double-Strike Printing
Stop double-strike printing.
ESCH ends double-strike printing. This escape sequence cancels double-strike printing that was started by ESCG.
Ec I n
1B 49 n
Select Print Mode
Select normal or download font in DP, NLQ II, or NLQ mode.
ESCIn selects the normal font or the download font in DP or NLQ mode.
ESCI2 and ESCI6 switch on the NLQ light on the IBM Proprinter II, Proprinter II XL and the Proprinter XL. ESCI3 and ESCI7 switch on the NLQ light on the IBM Proprinter II and Proprinter XL.
Proprinter II and Proprinter II XL users should note that ESCGand ESCHact as a double-strike command when combined with NLQII.
0 DP: Standard
1 Fastfont (12 CPI)
2 NLQ: Resident
3 NLQII: Resident
4 DP: Download
5 Fastfont (12 CPI) Download
6 NLQ: Download
7 NLQII: Download
Ec J n
1B 4A n
Move Paper Vertically
Advance the paper by a variable amount.
ESCJn advances the paper in apparent 0.012 mm (1/216 inch) increments. For n, use exact multiples of 3 to advance exactly n/216 inch. n is a one-byte value from 0 to 255. Use a line spacing of 24/216 for bit-image graphics, using eight bits. A CR occurs when the automatic CR switch is on.
The printer does not store graphics line spacing. You must send ESCJn to the printer each time.
The units used by ESCJn can be changed by the set vertical units command ESC[\.
1B 4B n1 n2 v1 v2 ... vn
Normal Density Bit Image
Print bit-image graphics at normal density.
ESCK sends bit-image print data to the printer that prints 60 dots per inch horizontally and 72 dots per inch vertically. It discards all data that goes beyond the current margin. Text and graphics can be printed on the same line. The Proprinter II can print 480-dot columns on an 8.0 inch print line using normal density bit-image graphics. The IBM Proprinter XL can print 816-dot columns on a 13.6-inch print line using normal density bit-image graphics. Each vertical dot column can have 8 rows of dots.
n1 and n2 specify the total number of bytes of binary bit-image data (vn) to be transferred from the computer to the printer. The total number of bytes cannot exceed the number of dot columns that remain on the line.
The formula for calculating n1 and n2 is:
B = n1 + (n2 x 256)
where B is the total number of bytes of binary bit-image data to be transferred.
To print bit-image graphics, the printer uses only the top eight wires in the print head. Each wire corresponds to a bit in the byte of data being printed. Bit 0 controls the bottom dot (of the eight wires or dots that can print), and bit 7 controls the top dot as shown below.
Dot Bit Decimal
Position Number Value
● 7 (128)
● 6 (64)
● 5 (32)
● 4 (16)
● 3 (8)
● 2 (4)
● 1 (2)
● 0 (1)
vn is a one-byte decimal value from 0 to 255. For example: If v1 is binary 10000000 (decimal 128), only the top dot prints; if v1 is binary 00000001 (decimal 01), only the bottom dot prints; and, if v1 is binary 11111111 (decimal 255), all eight dots print.
1B 4C Ln Hn data
Dual-Density Bit-Image Graphics (Half-Speed)
Print bit-image graphics at twice the normal density.
ESCLsends bit-image print data to the printer, which prints 120 dots per inch horizontally and 72 dots per inch vertically.
The IBM Proprinter II can print 960-dot columns on an 8.0 inch print line using normal density bit-image graphics. The IBM Proprinter XL can print 1632-dot columns on a 13.6-inch print line. Dual-density bit-image graphics print at half the speed of normal-density bit-image graphics. ESCL dual-density bit-image graphics can print adjoining dots.
See ESCK for more information on bit-image graphics.
Ec N n
1B 4E n
Set Automatic Perforation Skip
Set the printer to automatically skip over form perforations.
ESCNn specifies the number of lines that the printer skips at the end of each page. This causes the printer to skip the perforations between pages of continuous forms. n must be a one-byte decimal value from 0 to 255. ESCO and ESCC cancel automatic perforation skip.
Cancel Automatic Perforation Skip
Cancel the automatic form-perforation skip that ESCN set.
ESCO cancels the automatic form-perforation skip that was set by ESCN. See ESCN for information on setting automatic perforation skip.
Proportional Space Mode
Start or stop proportional space mode.
ESCPn controls proportional space mode. In this mode, each character has an attribute bytes that controls the amount of white space around each character. ESCP1 starts proportional spacing ESCP0 stops proportional spacing. If the font has no proportional spacing information, ESCP1 is ignored.
Ec Q n
1B 51 n
Reject data from the computer.
ESCQn is intended for diagnostic purposes only. This sequence tells the printer not to accept data from the computer. The computer must reset the printer or select the printer by using DC1 (Select Printer) to accept data.
DC1 = decimal 17 (hex 11). To deselect the IBM Proprinter II or Proprinter II XL, use ESCQ3. To deselect the IBM Proprinter XL or Proprinter II XL, use ESCQ22.
Set All Tabs to Power-On Settings
Set the tabs to the power-on settings.
ESCR sets the horizontal tabs at every eight positions starting at column 9 and clears all vertical tabs.
Ec S n
1B 53 n
Start Subscript or Superscript Printing
Start subscript or superscript printing.
ESCS1 changes the printer to subscript printing.
ESCS0 changes the printer to superscript printing.
ESCT cancels superscript or subscript printing.
Cancel Subscript or Superscript Printing
Cancel subscript or superscript printing.
ESCT ends superscript or subscript printing that was started by ESCS. If the printer is not in subscript or superscript mode, ESCT is ignored.
Ec U n
Set Print Direction
Change from two-direction printing to left-to-right printing only.
ESCU1 sets the printer to left-to-right printing only. ESCU0 returns the printer to normal two-direction printing.
Ec W n
Continuous Double-Wide Printing
Control double-wide print mode.
ESCWn resets double-wide print mode that was set by SO.
ESCW1 sets the printer to double-wide printing.
ESCW0 ends the double-wide printing.
Ec X n m
Set Horizontal Margins
Set left and right margins in character positions.
ESCXn m specifies left and right margin positions. n is the left margin and m is the right margin. These margins are specified in character positions at the current pitch. Margins are stored in absolute displacements from the left edge of the paper. To establish the print-head position before you use the margin settings, use a CR immediately after ESCXn m.
If n is 0, the current left margin is used. If m is 0, the current right margin is used.
The values for n and m must be a one-byte decimal value from 0 to 255.
If you use 17.1 CPI and specify 255 for m, the maximum right margin is 233.
Ec Y n1 n2 v1 v2 ... vn
1B 59 n1 n2 v1 v2 .. vn
Dual-Density Bit-Image Graphics (Normal Speed)
Print dual-density bit-image graphics at normal speed.
ESCY sends bit-image data to the printer, which prints 120 dots per inch horizontally and 72 dots per inch vertically.
The IBM Proprinter II can print 960-dot columns on an 8.0-inch print line using normal density bit-image graphics. The Proprinter XL and Proprinter II XL can print 1632-dot columns on a 13.6 inch print line. ESCY dual-density bit-image graphics print at normal speed. ESCY dual-density bit-image graphics cannot print horizontally adjacent dots.
See ESCK for more information on bit-image graphics.
Ec Z n1 n2 v1 v2 ... vn
1B 5A n1 n2 v1 v2 .. vn
High-Density Bit-Image Graphics
Print high-density bit-image graphics.
ESCZ sends bit-image data to the printer, which prints 240 dots per inch horizontally and 72 dots per inch vertically.
The IBM Proprinter II can print 1920-dot columns on a 203.2 mm (8.0-inch) print line using normal density bit-image graphics. The Proprinter XL and Proprinter II XL can print 3264-dot columns on a 354.44 mm (13.6 inch) print line. High-density bit-image graphics print at half-speed. ESCZ bit-image graphics cannot print horizontally adjacent dots.
See ESCK for more information on bit-image graphics.
Ec [ F Ln Hn pft fc sd size copies fit
1B 5B 46 Ln Hn pft fc sd size copies fit
8 Lines per Inch
Set the printer line spacing to eight lines per inch.
ESC0 sets the line spacing to eight lines per inch. When you switch the printer on, the default line spacing is six lines per inch.
Page Presentation Media (PPM)
Specify the paper feed source, paper size, number of copies, and the amount of reductions for raster images. It is best to issue this command at a page boundary, but you can issue it at any time in PPDS mode jobs. This command does not directly cause paper movement.
The selection of envelope source and size automatically invokes landscape orientation at the next page boundary. The printer suspends the orientation that is active before processing this command and then reactivates it when you select a paper source other than envelopes.
Note: If you want envelopes printd in another orientation (such as portrait), then you must send a Set Portrait Orientation command or a Set Print Angle command to the printer.
The values of Ln Hn specify the length of this command.
The following options are available:
o Paper feed technique (pft)
o Forms control (fc)
o Source drawer (sd)
o Paper size (size)
o Number of copies (copies)
o Fit for raster images (fit)
The value of pft specifies paper feed technique. The values for each option are:
Dec Hex Description (pft)
0 00 Use currently active value.
1 01 Use manual feed.
2 02 Use automatic feed.
The value of fc specifies media (type of paper) to use during automatic feed. The values for each option are:
Dec Hex Description (pft)
0 00 Use current forms setting.
1 01 Select cut-sheet feed.
2 02 Select envelope feed.
The value of sd specifies the source drawer (tray) to be used during automatic feed. The values for each option are:
Dec Hex Description (pft)
0 00 Use current tray.
1 01 Select tray 1.
2 02 Select tray 2.
3 03 Select 100-sheet auxiliary feeder.
Note: Some newer PPDS-capable printers IBM, Lexmark, and InfoPrint Solutions Company have support for more than two paper trays and an auxiliary feeder. However, it is unknown at this time which values need to be specified for sd in the Page Presentation Media (PPM) PPDS command when selecting tray 3 and above.
If the size is not found in any of the source drawers, the printer prompts the user to load the appropriate paper size. If the selected paper size is loaded in the other tray, the printer automatically selects the drawer containing the correct size paper. If you select the 100-sheet auxiliary feeder, for paper, always specify a size. If you do not specify a size, the printer does one of the following:
o Uses the size loaded (if it is paper), or
o Uses the printer dfault size for that source (if it is paper), or
o Uses the factory default for tray 1
The options for page size are:
Size Hex Name Millimeters Inches
1 01 Letter 215.9 x 279.4 8.5 x 11
2 02 Legal 215.9 x 355.6 8.5 x 14
3 03 B5 182 x 257 7.2 x 10.1
4 04 A4 210 x 297 8.3 x 11.7
5 06 Executive 184.2 x 266.7 7.25 x 10.5
6 06 A5 148 x 210 5.83 x 8.3
The options for envelope size are:
Size Hex Name Millimeters Inches
1 01 7-3/4 98.4 x 190.5 3.875 x 7.5
2 02 9 98.4 x 225.4 3.875 x 8.875
3 03 10 104.8 x 241.3 4.125 x 9.5
4 04 DL 110 x 220 4.33 x 8.66
5 06 C5 162 x 229 6.38 x 9.01
6 06 B5 176 x 250 6.93 x 9.84
7 07 Other
Note: When you select Other Envelope using PPDS commands for the manual paper source, the envelope is formatted for the manual paper size selection. When you select Other Envelope from the operator panel, the envelope is formatted at 215.9 x 355.6 (8.5 x 14 in.).
If you select tray 2 (sd = 2) and it is not installed, tray 1 is used. If you select envelope feed (fc = 2) and the envelope feeder, the Envelope+ feeder, or the 100-sheet auxiliary feeder is not installed, manual envelope is used. If you selection the 100-sheet auxiliary feeder to feed paper (sd = 3) and neither it or the Envelope+ feeder or envelope feeder is installed, tray 1 is used.
The value for copies (1 to 255) specifies the number of copies to be printed. The printer default is 1.
The values of fit specify the amount of reduction used to make the original page image fit the printed page so that no data is lost. The fit values only apply to raster image data. For best results for legal, letter, and A4 paper sizes, use fit. Some data loss may occur on other paper on envelope sizes.
The reduction values for fit are:
Dec Hex Description (pft)
0 00 Ignore parameter.
1 01 Default LaserPrinter 4019 fit (no image reduction).
2 02 Fit page image, keep aspect ratio.
3 03 Fit page image, full page.
255 FF Use previous mode.
Note: The scaling to fit for full page image graphics applies only to the raster image graphics. Text, rule and fill, bit image graphics, and plotter image graphics are unaffected.
7/72 Inch per Line
Set the printer line spacing to 7/72 inch per line.
ESC1 sets the line spacing to 7/72 inch per line. When you switch the printer on, the default line spacing is six lines per inch.
Start Text Line Spacing
Start text line spacing that was set with ESCA.
ESC2 start spacing at a value that was set by ESCA. When you switch the printer on, the default line spacing is six lines per inch.
For information on how to set text line spacing, see ESCA.
Graphics Line Spacing
Set the printer line spacing to n/216 inch.
ESC3 sets graphic line spacing. Use a line spacing of 24/216 for bit-image graphics using eight bits. n must be a one-byte decimal value from 0 to 255. To move exactly n/216, n must be an integer multiple of 3.
The units used by ESC3 can be changed by the set vertical units command ESC[\.
Set Top of Form
Set the current paper position as the top of form.
ESC4 sets the current paper position as the top of form.
Ec 5 n
1B 35 n
Automatic Line Feed
Switches the automatic line feed on and off.
ESC5 controls the automatic-line-feed sequence. When n = 1, automatic line feeding starts. The printer does a line feed each time the printer receives a carriage return (CR). ESC5 overrides the automatic line feed switch (switch 3 on an IBM Proprinter). When n = 0, automatic line feeding stops.
Select Character Set 2
Select character set 2.
ESC6 selects character set 2. Character set 2 contains characters and symbols that are used in non-English languages.
ESC6 overrides the character set switch (switch 5 on an IBM Proprinter). See the "Character Set 2 Chart" in the IBM Proprinter II, Proprinter XL, and Proprinter II XL Guide to Operations, or similar manual, for details on characters and symbols in character set 2.
Select Character Set 1
Select character set 1.
ESC7 selects character set 1. Character set 1 contains characters and symbols that are used in the English language.
ESC7 overrides the character set switch (switch 5 on an IBM Proprinter). See the "Character Set 2 Chart" in the IBM Proprinter II, Proprinter XL, and Proprinter II XL Guide to Operations, or similar manual, for details on characters and symbols in character set 2.
Print Single Character from the All Characters Chart
Print a single character from the All Characters Chart.
ESC^ prints the next character from the All Characters Chart. This escape sequence prints only one character from the All Characters Chart. To print more than one character from the All Characters Chart, see ESC\. You can use ESC^ to print codes that the printer normally recognizes as control codes.
12 Characters-per-inch Printing
Begin printing at 12 CPI.
ESC: sets character spacing to 12 characters per inch. DC2 resets the character spacing to 10 characters per inch. 10 characters per inch is the default character spacing when an IBM Proprinter is switched on.
Ec [ @ n1 n2 m1 m2 m3 m4
1B 5B 40 n1 n2 m1 m2 m3 m4
Print text in double-wide mode, double-high mode, or use both modes at the same time.
ESC[@ prints subsequent text as double-wide, double-high, or both. This escape sequence can set line spacing to double spacing or single spacing.
n1 and n2 specify the number of mode bytes contains in the escape sequence. Normally, n1 is 4 and n2 is 0. Modes m1, m2, m3, and m4 are explained in detail in the IBM Proprinter II, Proprinter XL, and Proprinter II XL Guide to Operations manual.
You must specify modes m1 and m2 as NUL characters. The NUL character is the ASCII 0 character (hex 00).
Mode m3 controls both the line spacing and the character height. It has two parts: a high-order half-byte and a low-order half-byte. The high-order half-byte of m3 controls the line spacing and the low-order half-byte controls the character height.
Mode m4 controls the character width. Only the low-order half-byte is significant in this mode byte. The high-order half-byte is ignored.
Note: For more information on the Double-High Printing command, refer to the IBM Proprinter II, Proprinter XL, and Proprinter II XL Guide to Operations manual, or some other manual that discusses the IBM PPDS data stream in detail.
Ec \ n1 n2
1B 5C n1 n2
Print Continuously from the All Characters Chart
Print characters from the All Characters Chart.
ESC\ prints the next n1 + n2 x 256 characters from the All Characters Chart. You can use ESC\ to prints codes that the printer normally recognizes as control codes. The total number of characters that will be printed from the All Characters Chart is equal to n1 + (n2 x 256). For example, to print 300 characters from the All Characters Chart, n1 = 44 and n2 = 1. To print only one character from the All Characters Chart, see ESC^.
Ec _ n
1B 5F n
Start or stop continuous overscoring (overlining).
ESC_1 begins overscoring. All spaces and characters that follow are overscored.
ESC_0 causes the printer to stop overscoring.
Ec - n
1B 2D n
Start or stop continuous underscoring (underlining).
ESC_1 begins underscoring. All spaces and characters that follow are underscored.
ESC_0 causes the printer to stop underscoring.
Downloading Printer Characters
Start character download.
This sequence starts a character font image download. Up to 256 consecutive characters can be downloaded in each ESC= sequence.
Note: For more information on the Downloading Printer Characters command, refer to the IBM Proprinter II, Proprinter XL, and Proprinter II XL Guide to Operations manual, or some other manual that discusses the IBM PPDS data stream in detail.
- Epson ESC/P (Epson Standard Code for Printers)
The Epson ESC/P reference manuals state that no part of their publications may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of SEIKO EPSON Corporation. However, the Epson ESP/P and Epson ESP/P2 Reference Manuals can be found on Epson's Web site by using the following links:
Epson ESC/P Reference Manual
Also, SourceForce.net has a summary of Epson FX Printer Codes at the following link:
Epson FX Printer Codes
Note: Not all of the Epson ESC/P control codes and commands are used by Host Print Transform (HPT) when converting spooled files to an ASCII printer data stream suitable for an Epson or compatible printer.