ESC/P#ESC/P2
{{Short description|Printer control language developed by Epson}}
ESC/P, short for Epson Standard Code for Printers and sometimes styled Escape/P, is a printer control language developed by Epson to control computer printers. It was mainly used in Epson's dot matrix printers, beginning with the MX-80 in 1980, as well as some of the company's inkjet printers.{{cite book | editor1-last=Kelly | editor1-first=Jan Seaman | editor2=Brian S. Lindblom | date=2006 | url=https://www.google.com/books/edition/Scientific_Examination_of_Questioned_Doc/jCUwEQAAQBAJ | title=Scientific Examination of Questioned Documents | publisher=Taylor & Francis | page=174 | edition=ebook | isbn=9781040080757 | via=Google Books}}{{cite book | last=Strickland | first=James R. | date=2016 | url=https://www.google.com/books/edition/Junk_Box_Arduino/ATalDAAAQBAJ?hl=en&gbpv=1&dq=%22Epson%22++%22MX-80%22++%22ESC/P%22&pg=PA57&printsec=frontcover | title=Junk Box Arduino: Ten Projects in Upcycled Electronics | publisher=Apress | page=57 | isbn=9781484214251 | via=Google Books}} It is still widely used in many receipt thermal printers. During the era of dot matrix printers, it was also used by other manufacturers (e.g., NEC), sometimes in modified form. At the time, it was a popular mechanism to add formatting to printed text, and was widely supported in software.
Derivation
ESC/P derives its name from the start of the escape sequences used, which start with the escape character ESC (ASCII code 27). As an example, ESC E will switch to printing in bold font, while ESC F switches off bold printing. The ESC/P control codes are sometimes also referred to as Epson LQ codes, as they were made popular by the Epson LQ series of dot matrix printers, even though ESC/P was introduced long before LQ printers.
{{anchor|ESC/P J84|ESC/P2|ESC/P-R}}Variants
There are several variants of ESC/P, as not all printers implement all commands.
- ESC/P J84 adds special support for Japanese computers.
- ESC/P2 is a more recent variant of ESC/P by Epson. ESC/P2 is backward compatible with ESC/P, but adds commands for new printer features such as scalable fonts and enhanced graphics printing.
- ESC/P-R is a variant now used by Epson on many inkjet printers.{{cite web |url=https://global.epson.com/technology/driver_library.htm |title=ESC/P-R Library - Innovation - Epson |website=Global.epson.com |accessdate=3 January 2019 |archive-url=https://web.archive.org/web/20190104072841/https://global.epson.com/technology/driver_library.htm |archive-date=4 January 2019 |url-status=dead |df=dmy-all }}
- ESC/POS is a variant for controlling receipt printers as commonly used at the point of sale (POS).{{Cite web |url=http://content.epson.de/fileadmin/content/files/RSD/downloads/escpos.pdf |title=FAQ about ESC/POS |publisher=Seiko Epson Corporation |format=PDF |orig-year=2002}}
- ESC/P-K adds special support for Chinese computers.
Current printers
As of 2014, few modern/office/consumer non-Epson printers use ESC/P; instead most are driven through a standardized page description language, usually PCL or PostScript, or they use proprietary protocols such as Hardware Code Pages.{{cite web |url=http://www.openprinting.org/driver/eplaser-jp/ |title=Driver: eplaser-jp - OpenPrinting - The Linux Foundation |website=Openprinting.org |accessdate=3 January 2019}}
Note many current clone thermal receipt printers still continue to use the ESC/POS command set.
All current Epson impact printers still support ESC/P
,{{cite web |title=FX-890 Impact Printer |url=http://www.epson.com/cgi-bin/Store/jsp/Product.do?sku=C11C524001 |publisher=Epson America, Inc. |accessdate=3 March 2014 |quote=Printer Language: Epson ESC / P, IBM PPDS, Okidata Microline (FX-890 Okidata Mode only) |archive-url=https://web.archive.org/web/20150708040154/http://www.epson.com/cgi-bin/Store/jsp/Product.do?sku=C11C524001 |archive-date=8 July 2015 |url-status=dead |df=dmy-all }}{{cite web |title=LQ-590 Impact Printer |url=http://www.epson.com/cgi-bin/Store/jsp/Product.do?sku=C11C558001 |publisher=Epson America, Inc. |accessdate=3 March 2014 |quote=Printer Language: Epson ESC / P3, IBM PPDS |archive-url=https://web.archive.org/web/20130808234333/http://www.epson.com/cgi-bin/Store/jsp/Product.do?sku=C11C558001 |archive-date=8 August 2013 |url-status=dead |df=dmy-all }} all current Epson receipt/thermal printers support ESC/POS and some Epson Stylus inkjets still seem to be using some variant of ESC/P. See the Gutenprint (Gimp Print) project for source code examples.
See also
- Hardware code page
- Printer driver
- CUPS Apple MacOS/Linux printing subsystem
References
{{Reflist}}
External links
- Epson ESC/P Reference Manual: [https://files.support.epson.com/pdf/general/escp2ref.pdf Dec 1997], [http://www.aurelie.net/aurelie/hotline/mode_emploi/escp.pdf 2002 Addendum], [http://www.epson.ru/upload/iblock/057/esc-p.pdf June 2004]
- [https://web.archive.org/web/20090430075715/http://www.epsondevelopers.com/home/guides_redirect Epson Developer Site]
- [http://lprng.sourceforge.net/DISTRIB/RESOURCES/PPD/epson.htm List of Epson FX printer codes]
- [http://gimp-print.cvs.sourceforge.net/viewvc/gimp-print/print/src/xml/printers.xml Gutenprint CVSweb view of printers.xml]
- [http://gimp-print.sourceforge.net/reference-html/c463.html The Developer's Guide to Gutenprint, Chapter 5: ESC/P2]
- [https://packages.debian.org/source/sid/epson-inkjet-printer-escpr Source of Epson P-R driver for Linux]
- [http://www.cvxmelody.net/UNLINKED/Epson%20ESC%20P2%20scalable%20fonts%20print%20sample%20(MS-DOS%20Word).pdf Epson ESC/P2 scalable fonts print sample (300dpi scan)]
{{Seiko}}
{{DEFAULTSORT:ESC P}}