ESC/P

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

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 dot matrix printers and some inkjet printers, and is still widely used in many receipt 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.

Variants

There are several variants of ESC/P, as not all printers implement all commands. Epson refers to a more recent variant of ESC/P as ESC/P 2. ESC/P 2 is backward compatible with ESC/P, but adds commands for new printer features such as scalable fonts and enhanced graphics printing.

Another variant of ESC/P is ESC/P-R, which is now used by Epson on many inkjet printers.[1]

Modern printers

As of 2014, few modern 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 ESC/Page.[2]

All current Epson impact printers still support ESC/P [3] [4] , 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

References

  1. http://global.epson.com/technology/driver_library.htm
  2. http://www.openprinting.org/driver/eplaser-jp/
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.

External links