PostScript is a page description language
. It is a powerful and full featured language
(often likened to Forth
) used to describe how a page
should look in terms of lines, curves, fonts and text. A printer driver
will write PostScript to describe how a page of output should appear, send this to a PostScript-enabled printer
, which uses a PostScript interpreter
to transform the PostScript into the image to be printed. Unlike other printer languages that use obscure escape sequence
s, PostScript is highly readable.
PostScript has its roots at the famous Xerox PARC, the research center in Palo Alto responsible for so many advances in computing. John Warnock and Martin Newell, two Xerox engineers at PARC, had created a language called JaM, for John and Martin. Later, it was refined into Interpress, PostScript's ancestor, that controlled Xerox laser printers. Warnock, and his boss, Chuck Geschke, attempted to get Xerox to commercialize the product. Xerox wasn't convinced the product had a future, so Warnock and Geschke left to form their own company, Adobe, in 1982. At first, they considered building a laser printer business, but eventually settled on creating a next-generation Interpress, and licensing it to printer manufacturers.
PostScript Level 1 was released in 1984. Adobe's big break came when Apple decided to incorporate PostScript into the Macintosh and LaserWriter printer. Linotype soon stepped in with PostScript enabled professional imagesetting equipment. The powerful combination of the Mac, PageMaker, and PostScript is said to have launched the desktop publishing revolution.
PostScript Level 2 was unveiled ten years later, in 1994. It added some minor refinements and fixed some long standing problems. In particular, the font handling was improved, including support for Asian languages, support for JPEG compressed images was added and the memory management was improved. Level 3, (or PostScript 3, as it is officially called), released in 1998, adds a few more refinements like PDF support and improved color separation.
In 1988, Adobe created a variant of Postscript specifically for computer displays, called Display Postscript. While Apple balked at this new technology that offered a unified imaging model for screen and printed output, Steve Jobs' new NeXT startup signed on. Display Postscript was just one of the many lauded features of the critically acclaimed but commercially ignored NeXT system. Another PostScript spin-off product is PDF, Adobe's highly successful Portable Document Format. PDF is, in essence, a stripped down version PostScript. Display Postscript lives on, as Display PDF, in the Quartz display technology in the NeXT-derived Mac OS X.
In addition to Adobe's PostScript, an open source PostScript interpreter called ghostscript is available. It will take any PostScript program as input and produce output for a wide array of output devices, and a more user friendly document browser, ghostview can display PostScript online.
The PostScript language itself is sort of a stack based postfix operator language, that looks a little like Forth, or LISP written backwards. A number in PostScript simply pushes itself onto the stack. Commands like
moveto, pop their operands from the stack. Other commands like
currentpoint push their results back onto the stack. For example,
10 20 moveto pushes the numbers 10 and 20 onto the stack;
moveto pops 10 and 20 off and uses them as operands. See also PostScript Code to Draw A Sierpinski Triangle and PostScript command reference for more information on the PostScript language.