All Topics  
PostScript

 

   Email Print
   Bookmark   Link






 

PostScript



 
 
PostScript (PS) is a dynamically typed concatenative
Concatenative programming language

A concatenative programming language is one in which all terms denote Function_ and the juxtaposition of terms denotes function composition. The combination of a compositional semantics with a Syntax_of_programming_languages that mirrors such a semantics makes concatenative languages highly amenable to algebraic manipulation and formal analysis....
 programming language
Programming language

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer....
 created by John Warnock
John Warnock

John Warnock is an American computer scientist best known as the co-founder with Charles Geschke of Adobe Systems Inc., the graphics and publishing software company....
 and Charles Geschke
Charles Geschke

Charles M. "Chuck" Geschke is best known as the co-founder with John Warnock of Adobe Systems Inc., the graphics and publishing software company, in 1982....
 in 1982. PostScript is best known for its use as a page description language
Page description language

A page description language is a language that describes the appearance of a printed page in a higher level than an actual output bitmap. An overlapping term is printer control language, but it should not be confused as referring solely to Hewlett-Packard's PCL....
 in the electronic and desktop publishing
Desktop publishing

Desktop publishing combines a personal computer and WYSIWYG page layout software to create publication documents on a computer for either Publishing or small scale local Multifunction printer output and distribution....
 areas.

concepts of the PostScript language were seeded in 1976 when John Warnock
John Warnock

John Warnock is an American computer scientist best known as the co-founder with Charles Geschke of Adobe Systems Inc., the graphics and publishing software company....
 was working at Evans & Sutherland
Evans & Sutherland

Evans & Sutherland is a computer firm involved in the computer graphics field. Their products are used primarily by the United States military and large industrial firms for training and simulation, and in digital projection environments like planetariums....
, a famous computer graphics
Computer graphics

Computer graphics are graphics created by computers and, more generally, the representation and manipulation of pictorial data by a computer....
 company. At that time John Warnock was developing an interpreter for a large three-dimensional graphics database of New York
New York

The State of New York is a U.S. state in the Mid-Atlantic States and Northeastern United States regions of the United States and is the nation's List of U.S....
 harbor.






Discussion
Ask a question about 'PostScript'
Start a new discussion about 'PostScript'
Answer questions from other users
Full Discussion Forum



Encyclopedia


PostScript (PS) is a dynamically typed concatenative
Concatenative programming language

A concatenative programming language is one in which all terms denote Function_ and the juxtaposition of terms denotes function composition. The combination of a compositional semantics with a Syntax_of_programming_languages that mirrors such a semantics makes concatenative languages highly amenable to algebraic manipulation and formal analysis....
 programming language
Programming language

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer....
 created by John Warnock
John Warnock

John Warnock is an American computer scientist best known as the co-founder with Charles Geschke of Adobe Systems Inc., the graphics and publishing software company....
 and Charles Geschke
Charles Geschke

Charles M. "Chuck" Geschke is best known as the co-founder with John Warnock of Adobe Systems Inc., the graphics and publishing software company, in 1982....
 in 1982. PostScript is best known for its use as a page description language
Page description language

A page description language is a language that describes the appearance of a printed page in a higher level than an actual output bitmap. An overlapping term is printer control language, but it should not be confused as referring solely to Hewlett-Packard's PCL....
 in the electronic and desktop publishing
Desktop publishing

Desktop publishing combines a personal computer and WYSIWYG page layout software to create publication documents on a computer for either Publishing or small scale local Multifunction printer output and distribution....
 areas.

History

The concepts of the PostScript language were seeded in 1976 when John Warnock
John Warnock

John Warnock is an American computer scientist best known as the co-founder with Charles Geschke of Adobe Systems Inc., the graphics and publishing software company....
 was working at Evans & Sutherland
Evans & Sutherland

Evans & Sutherland is a computer firm involved in the computer graphics field. Their products are used primarily by the United States military and large industrial firms for training and simulation, and in digital projection environments like planetariums....
, a famous computer graphics
Computer graphics

Computer graphics are graphics created by computers and, more generally, the representation and manipulation of pictorial data by a computer....
 company. At that time John Warnock was developing an interpreter for a large three-dimensional graphics database of New York
New York

The State of New York is a U.S. state in the Mid-Atlantic States and Northeastern United States regions of the United States and is the nation's List of U.S....
 harbor. Warnock conceived the Design System language to process the graphics.

Concurrently, researchers at Xerox PARC
Xerox PARC

PARC , formerly Xerox PARC, is a research and development company in Palo Alto, California with a distinguished reputation for its contributions to information technology....
 had developed the first laser printer
Laser printer

A laser printer is a common type of computer printer that rapidly produces high quality text and graphics on plain paper. As with digital photocopiers and multifunction printers , laser printers employ a Xerography printing process but differ from analog photocopiers in that the image is produced by the direct scanning of a laser beam acros...
 and had recognized the need for a standard means of defining page images. In 1975-76 a team led by Bob Sproull
Bob Sproull

For the physicist, see Robert SproullDr. Robert F. Sproull works for Sun Microsystems where he is a Sun Fellow and Vice President at Sun Labs Massachusetts in Burlington....
 developed the Press format, which was eventually used in the Xerox Star
Xerox Star

The Star workstation, officially known as the Xerox 8010 Information System, was introduced by Xerox Corporation in 1981. It was the first commercial system to incorporate various technologies that today have become commonplace in personal computers, including a raster graphics display, a window-based graphical user interface, icon , f...
 system to drive laser printers. But Press, a data format rather than a language, lacked flexibility, and PARC
Xerox PARC

PARC , formerly Xerox PARC, is a research and development company in Palo Alto, California with a distinguished reputation for its contributions to information technology....
 mounted the InterPress
InterPress

InterPress is a page description language developed at Xerox PARC, based on the Forth and an earlier graphics language called JaM. As with many PARC projects, Interpress was not commercialized at its time of creation, and its primary effect on the world was to cause some of its creators to get fed up, form their own company, and publish the...
 effort to create a successor.

In 1978 Evans and Sutherland asked Warnock
John Warnock

John Warnock is an American computer scientist best known as the co-founder with Charles Geschke of Adobe Systems Inc., the graphics and publishing software company....
 to move from the San Francisco Bay Area
San Francisco Bay Area

The San Francisco Bay Area, commonly known as the Bay Area, or the Bay, is a metropolitan region that surrounds the San Francisco Bay and San Pablo Bay Bays in Northern California....
 to their main headquarters in Utah
Utah

The State of Utah is a western United States U.S. state of the United States. It was the List of U.S. states by date of statehood admitted to the United States on January 4, 1896....
, but he was not interested in moving. He then joined Xerox PARC
Xerox PARC

PARC , formerly Xerox PARC, is a research and development company in Palo Alto, California with a distinguished reputation for its contributions to information technology....
 to work with Martin Newell. They rewrote Design System to create JaM (for "John and Martin") which was used for VLSI
Very-large-scale integration

Very-large-scale integration is the process of creating integrated circuits by combining thousands of transistor-based circuits into a single chip....
 design and the investigation of type and graphics printing. This work later evolved and expanded into the InterPress
InterPress

InterPress is a page description language developed at Xerox PARC, based on the Forth and an earlier graphics language called JaM. As with many PARC projects, Interpress was not commercialized at its time of creation, and its primary effect on the world was to cause some of its creators to get fed up, form their own company, and publish the...
 language.

Warnock left with Chuck Geschke and founded Adobe Systems
Adobe Systems

Adobe Systems Incorporated is an United States computer Computer software company headquartered in San Jose, California, USA. The company has historically focused upon the creation of multimedia and creativity software products, with a more-recent foray into rich Internet application software development....
 in December 1982. They created a simpler language, similar to InterPress, called PostScript, which went on the market in 1984. At about this time they were visited by Steve Jobs
Steve Jobs

Steven Paul Jobs is an United States businessman and co-founder, Chairman, and Chief executive officer of Apple Inc.. Jobs is the former CEO of Pixar Animation Studios....
, who urged them to adapt PostScript to be used as the language for driving laser printer
Laser printer

A laser printer is a common type of computer printer that rapidly produces high quality text and graphics on plain paper. As with digital photocopiers and multifunction printers , laser printers employ a Xerography printing process but differ from analog photocopiers in that the image is produced by the direct scanning of a laser beam acros...
s.

In March 1985, the Apple
Apple Computer

Apple Inc., formerly Apple Computer Inc., is an United States multinational corporation which designs and manufactures consumer electronics and software products....
 LaserWriter
LaserWriter

The Apple Inc. LaserWriter was one of the first laser printers available to the mass market. The combination of the LaserWriter printer with its built-in PostScript interpreter, publishing software Aldus Adobe PageMaker, and the graphical user interface-based Apple Macintosh, was an industry-standard configuration at the beginning of the desk...
 was the first printer to ship with PostScript, sparking the desktop publishing
Desktop publishing

Desktop publishing combines a personal computer and WYSIWYG page layout software to create publication documents on a computer for either Publishing or small scale local Multifunction printer output and distribution....
 (DTP) revolution in the mid-1980s. The combination of technical merits and widespread availability made PostScript a language of choice for graphical output for printing applications. For a time an interpreter (sometimes referred to as a RIP
Raster image processor

A raster image processor is a component used in a printing system which produces a raster graphics image also known as a bitmap. The bitmap is then sent to a printing device for output....
 for Raster Image Processor) for the PostScript language was a common component of laser printer
Laser printer

A laser printer is a common type of computer printer that rapidly produces high quality text and graphics on plain paper. As with digital photocopiers and multifunction printers , laser printers employ a Xerography printing process but differ from analog photocopiers in that the image is produced by the direct scanning of a laser beam acros...
s, into the 1990s.

However, the cost of implementation was high; computers output raw PS code that would be interpreted by the printer into a raster image at the printer's natural resolution. This required high performance microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
s and ample memory
Computer memory

Computer memory is usually meant to refer to the semiconductor technology that is used to store information in Electronics devices. Current primary computer memory makes use of integrated circuits consisting of silicon-based transistors....
. The LaserWriter used a 16 MHz Motorola 68000
Motorola 68000

The Motorola 68000 is a 16/32-bit Complex instruction set computer microprocessor core designed and marketed by Freescale Semiconductor ....
, making it faster than any of the Macintosh computers it attached to. When the laser printer engines themselves cost over a thousand dollars the added cost of PS was worthwhile, but as printer mechanisms fell in price, the cost of implementing PS became increasing expensive.

Once the de facto
De facto

De facto is a Latin expression that means "concerning the fact" or in practice but not necessarily ordained by law. It is commonly used in contrast to de jure when referring to matters of law, governance, or technique that are found in the common experience as created or developed without or contrary to a regulation....
 standard for electronic distribution of final documents meant for publication, PostScript is steadily being supplanted in this area by one of its own descendants, the Portable Document Format or PDF
Portable Document Format

Portable Document Format is a file format created by Adobe Systems in 1993 for document exchange. PDF is used for representing two-dimensional documents in a manner independent of the application software, hardware, and operating system....
. By 2001 there were fewer printer models which came with support for PostScript, largely due to the growing competition from much cheaper non-PostScript ink jet printers, and new software-based methods to render PostScript images on the computer, making them suitable for any printer (PDF provided one such method). The use of a PostScript laser printer still can, however, significantly reduce the CPU workload involved in printing documents, transferring the work of rendering PostScript images from the computer to the printer. PS is still an option on most "high end" models.

PostScript Level 1

The PostScript language has had two major upgrades. The first version, known as PostScript Level 1, was introduced in 1984.

PostScript Level 2

PostScript Level 2 was introduced in 1991, and included several improvements: improved speed and reliability, support for in-RIP separations, image decompression
Image compression

Image compression is the application of Data compression on digital images. In effect, the objective is to reduce redundancy of the image data in order to be able to store or data transmission data in an efficient form....
 (for example, JPEG
JPEG

In computing, JPEG is a commonly used method of for photographic images. The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality....
 images could be rendered by a PostScript program), support for composite fonts, and the form mechanism for caching reusable content.

PostScript 3

PostScript 3 (Adobe dropped the "level" terminology in favor of simple versioning) came at the end of 1997, and along with many new dictionary-based versions of older operators, introduced better color handling, and new filters (which allow in-program compression/decompression, program chunking, and advanced error-handling).

PostScript 3 was significant in terms of replacing the existing proprietary color electronic prepress systems, then widely used for magazine production, through the introduction of smooth shading operations with up to 4096 shades of grey (rather than the 256 available in PostScript 2), as well as DeviceN, a color space that allowed the addition of additional ink colors (called spot color
Spot color

In offset printing, a spot color is any color generated by an ink that is printed using a single run.The widely-spread offset printing process is composed of four spot colors: Cyan, Magenta, Yellow and Black commonly referred to as CMYK....
s) into composite color pages.

Use in printing


Before PostScript

Prior to the introduction of PostScript, printers were designed to print character output given the text—typically in ASCII
ASCII

American Standard Code for Information Interchange , is a coding standard that can be used for interchanging information, if the information is expressed mainly by the written form of English words....
—as input. There were a number of technologies for this task, but most shared the property that the glyph
Glyph

A glyph is an element of writing. Two or more glyphs representing the same symbol, whether interchangeable or context-dependent, are called allographs; the abstract unit they are variants of is called a grapheme or character ....
s were physically difficult to change, as they were stamped onto typewriter
Typewriter

A typewriter is a Machine or electromechanical device with a set of "keys" that, when pressed, cause Typeface to be printed on a medium, usually paper....
 keys, bands of metal, or optical plates.

This changed to some degree with the increasing popularity of dot matrix printer
Dot matrix printer

A dot matrix printer or impact matrix printer is a type of computer printer with a print head that runs back and forth, or in an up and down motion, on the page and prints by impact, striking an ink-soaked cloth ribbon against the paper, much like a typewriter....
s. The characters on these systems were drawn as a series of dots, the proper dots to use defined as a font
Typeface

In typography, a typeface is a set of one or more fonts, in one or more sizes, designed with stylistic unity, each comprising a coordinated set of glyphs....
 table inside the printer. As they grew in sophistication, dot matrix printers started including several built-in fonts from which the user could select, and some models allowed users to upload their own custom glyphs into the printer.

Dot matrix printers also introduced the ability to print raster graphics
Raster graphics

In computer graphics, a raster graphics image or bitmap, is a data structure representing a generally Rectangle grid of pixels, or points of color, viewable via a Computer display, paper, or other display medium....
. The graphics were interpreted by the computer and sent as a series of dots to the printer using a series of escape sequence
Escape sequence

An escape sequence is a series of character used to change the state of computers and their attached peripheral devices. These are also known as control sequences, reflecting their use in device control....
s. These printer control languages varied from printer to printer, requiring program authors to create numerous drivers
Device driver

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
.

Vector graphics printing was left to special-purpose devices, called plotter
Plotter

A plotter is a vector graphics computer printer to print graphical Plot , that connects to a computer. There are two types of main plotters. Those are pen plotters and electrostatic plotters....
s. Plotters did share a common command language, HPGL
HPGL

HPGL, sometimes hyphenated as HP-GL, is the primary printer control language used by Hewlett-Packard plotters. The name is an initialism for Hewlett-Packard Graphics Language....
, but were of limited use for anything other than printing graphics. In addition, they tended to be expensive and slow, and thus rare.

PostScript printing

Laser printers combine the best features of both printers and plotters. Like plotters, laser printers offer high quality line art, and like dot-matrix printers, they are able to generate pages of text and raster graphics. Unlike either printers or plotters, however, a laser printer makes it possible to position high-quality graphics and text on the same page. PostScript made it possible to fully exploit these characteristics, by offering a single control language that could be used on any brand of printer.

PostScript went beyond the typical printer control language and was a complete programming language of its own. Many applications can transform a document into a PostScript program whose execution will result in the original document. This program can be sent to an interpreter in a printer, which results in a printed document, or to one inside another application, which will display the document on-screen. Since the document-program is the same regardless of its destination, it is called device-independent.

PostScript is noteworthy for implementing on-the fly rasterization; everything, even text, is specified in terms of straight lines and cubic Bézier curve
Bézier curve

In the mathematics field of numerical analysis, a B?zier curve is a parametric curve important in computer graphics and related fields.Generalizations of B?zier curves to higher dimensions are called B?zier surfaces, of which the B?zier triangle is a special case....
s (previously found only in CAD applications), which allows arbitrary scaling, rotating and other transformations. When the PostScript program is interpreted, the interpreter converts these instructions into the dots needed to form the output. For this reason PostScript interpreters are also sometimes called PostScript Raster Image Processor
Raster image processor

A raster image processor is a component used in a printing system which produces a raster graphics image also known as a bitmap. The bitmap is then sent to a printing device for output....
s, or RIPs.

Font handling

Almost as complex as PostScript itself was its handling of fonts
Typeface

In typography, a typeface is a set of one or more fonts, in one or more sizes, designed with stylistic unity, each comprising a coordinated set of glyphs....
. The rich font system used the PS graphics primitives to draw glyphs as line art
Line art

Line art is any image that consists of distinct straight and curved lines placed against a background, without gradations in shading or hue to represent two-dimensional or three-dimensional objects....
, which could then be rendered at any resolution
Image resolution

Image resolution describes the detail an holds. The term applies equally to digital images, film images, and other types of images. Higher resolution means more image detail....
. Though this sounds like a reasonably straightforward concept, there were a number of typographic issues that had to be considered.

One issue is that fonts do not actually scale linearly at small sizes; features of the glyphs will become proportionally too large or small and they start to look wrong. PostScript avoided this problem with the inclusion of hint
Font hinting

Font hinting is the use of mathematical instructions to adjust the display of an outline font so that it lines up with a font rasterization grid....
s which could be saved along with the font outlines. Basically they are additional information in horizontal or vertical bands that help identify the features in each letter that are important for the rasterizer to maintain. The result was significantly better-looking fonts even at low resolution; it had formerly been believed that hand-tuned bitmap fonts were required for this task.

At the time, the technology for including these hints in fonts was carefully guarded, and the hinted fonts were compressed and encrypted into what Adobe called a Type 1 Font (also known as PostScript Type 1 Font, PS1, T1 or Adobe Type 1). Type 1 was effectively a simplification of the PS system to store outline information only, as opposed to being a complete language (PDF is similar in this regard). Adobe would then sell licenses to the Type 1 technology to those wanting to add hints to their own fonts. Those who did not license the technology were left with the Type 3 Font (also known as, PostScript Type 3 Font, PS3 or T3). Type 3 fonts allowed for all the sophistication of the PostScript language, but without the standardized approach to hinting. Other differences further added to the confusion.

Type 2 was designed to be used with the Compact Font Format (CFF), and were implemented for a compact representation of the glyph description procedures to reduce the overall font file size. The CFF/Type2 format later became the basis for Type 1 OpenType
OpenType

OpenType is a scalable format for computer fonts initially developed by Microsoft, with Adobe Systems later joining in. OpenType as a technology was announced publicly in 1996 and had a significant number of OpenType fonts shipping by 2000?2001....
 fonts.

CID-keyed font format was also designed, to solve the problems in the OCF/Type 0 fonts, for addressing the complex Asian-language (CJK
CJK

CJK is a collective term for Chinese language, Japanese language, and Korean language, which constitute the main East Asian languages. The term is used in the field of software and communications internationalization....
) encoding and very large character set issues. CID-keyed font format can be used with the Type 1 font format for standard CID-keyed fonts, or Type 2 for CID-keyed OpenType fonts.

Adobe's rates were widely considered to be prohibitively high, and it was this issue that led Apple to design their own system, TrueType
TrueType

TrueType is an outline font standardization originally developed by Apple Computer in the late 1980s as a competitor to Adobe Systems's Type 1 fonts used in PostScript....
, around 1991. Immediately following the announcement of TrueType, Adobe published the specification for the Type 1 font format. Retail tools such as Altsys Fontographer
Fontographer

Fontographer , is a software application used to create digital fonts, available for both Microsoft Windows and Apple Macintosh platforms. It was originally developed by Altsys but is now owned by FontLab...
 (acquired by Macromedia
Macromedia

Macromedia was a United States graphics and Web development software house headquartered in San Francisco, California producing such products as Adobe Flash....
 in January 1995, owned by FontLab
FontLab

FontLab is both the name of a company, FontLab Ltd, and the former name of their flagship font editor product, now called FontLab Studio. Since the early 2000s, FontLab Studio has been the dominant software tool for commercial/retail digital font development....
 since May 2005) added the ability to create Type 1 fonts. Since then, many free Type 1 fonts have been released; for instance, the fonts used with the TeX
TeX

TeX is a typesetting system designed and mostly written by Donald Knuth. Together with the METAFONT language for font description and the Computer Modern typefaces, it was designed with two main goals in mind: to allow anybody to produce high-quality books using a reasonable amount of effort, and to provide a system that would give the exact...
 typesetting system are available in this format.

In the early 1990s there were several other systems for storing outline-based fonts, developed by Bitstream
Bitstream Inc.

Bitstream Inc. is a type foundry that produces digital typefaces . Founded in 1981 by Matthew Carter and Mike Parker among others, it claims to be the oldest such company....
 and METAFONT
METAFONT

Metafont is a programming language used to define outline font. It is also the name of the interpreter that executes Metafont code, generating the bitmap fonts that can be embedded into e.g....
 for instance, but none included a general-purpose printing solution and they were therefore not widely used as a result.

In the late 1990s, Adobe joined Microsoft in developing OpenType
OpenType

OpenType is a scalable format for computer fonts initially developed by Microsoft, with Adobe Systems later joining in. OpenType as a technology was announced publicly in 1996 and had a significant number of OpenType fonts shipping by 2000?2001....
, essentially a functional superset of the Type 1 and TrueType formats. When printed to a PostScript output device, the unneeded parts of the OpenType font are omitted, and what is sent to the device by the driver is the same as it would be for a TrueType or Type 1 font, depending on which kind of outlines were present in the OpenType font.

Other implementations

In the 1980s, Adobe drew most of their revenue from the licensing fees for their implementation of PostScript for printers, known as a raster image processor
Raster image processor

A raster image processor is a component used in a printing system which produces a raster graphics image also known as a bitmap. The bitmap is then sent to a printing device for output....
 or RIP. As a number of new RISC-based platforms became available in the mid 1980s, some found Adobe's support of the new machines to be lacking.

This and issues of cost led to third-party implementations of PostScript becoming common, particularly in low-cost printers (where the licensing fee was the sticking point) or in high-end typesetting equipment (where the quest for speed demanded support for new platforms faster than Adobe could provide). At one point, Microsoft and Apple teamed up to try to unseat Adobe's laser printer monopoly, Microsoft licensing to Apple a PostScript-compatible interpreter it had bought called TrueImage
TrueImage

TrueImage is a PostScript-compatible interpreter originally developed by Cal Bauer and Bauer Enterprises and sold to Microsoft in 1989. Microsoft subsequently cross-licensed TrueImage to Apple Computer in exchange for a TrueType license....
, and Apple licensing to Microsoft its new font format, TrueType
TrueType

TrueType is an outline font standardization originally developed by Apple Computer in the late 1980s as a competitor to Adobe Systems's Type 1 fonts used in PostScript....
 (Apple ended up reaching an accord with Adobe and licensed genuine PostScript for its printers, but TrueType became the standard outline font technology for both Windows and the Macintosh).

Today, third-party PostScript-compatible interpreters are widely used in printers and multifunction peripherals (MFPs). For example, Zoran Corporation's IPS PS3 interpreter, formerly known as PhoenixPage, is standard in many printers and MFPs, including those developed by Hewlett-Packard
Hewlett-Packard

The Hewlett-Packard Company , commonly referred to as HP, is a technology corporation headquartered in Palo Alto, California, United States....
 and sold under the LaserJet
LaserJet

LaserJet is the brand name used by the American computer company Hewlett-Packard for their line of xerography laser printers....
 and Color LaserJet lines. Other third-party PostScript solutions used by print and MFP manufacturers include Jaws and Harlequin, both provided by Global Graphics
Global Graphics

Global Graphics SA is a group of companies mainly known for their digital printing products, including the Harlequin and Jaws Raster image processors....
.

Still, some basic, inexpensive laser printers don't support PostScript, instead coming with drivers that simply rasterize the platform's native graphics formats rather than converting them to PostScript first. When PostScript support is needed for such a printer, a free
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 PostScript-compatible interpreter called Ghostscript
Ghostscript

Ghostscript is a suite of software based on an interpreter for Adobe Systems' PostScript and Portable Document Format page description languages....
 can be used. Ghostscript prints PostScript documents on non-PostScript printers using the CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 of the host computer to do the rasterization, sending the result as a single large bitmap to the printer. Ghostscript can also be used to preview PostScript documents on a computer monitor and to convert PostScript pages into raster graphics
Raster graphics

In computer graphics, a raster graphics image or bitmap, is a data structure representing a generally Rectangle grid of pixels, or points of color, viewable via a Computer display, paper, or other display medium....
 such as TIFF and PNG, and vector formats such as PDF
Portable Document Format

Portable Document Format is a file format created by Adobe Systems in 1993 for document exchange. PDF is used for representing two-dimensional documents in a manner independent of the application software, hardware, and operating system....
.

Very high-resolution devices, such as imagesetter
Imagesetter

An imagesetter is an ultra-high resolution large-format computer output device. It exposes rolls or sheets of either photographic film or bromide paper to a laser light source....
s or CTP
Computer to plate

Computer to plate is an imaging technology used in modern Printing. In this technology, an image created in a Desktop Publishing application is output directly to a lithography....
 platesetter
Platesetter

A platesetter is a machine which receives a raster image from a raster image processor and in turn, creates a lithography plate suitable for use on an offset press....
s, in which resolutions exceeding 2500 dpi are common, still require external RIPs with large amounts of memory and hard drive space. Very high-end laser printer systems (known as digital presses) also use an external RIP to separate the more readily-upgradable computer from the specialized printing hardware. Companies such as EFI
EFI

EFI may refer to:...
 and Xitron specialize in such RIP software.

Use as a display system


PostScript became commercially successful due to the introduction of the graphical user interface
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
, allowing designers to directly lay out pages for eventual output on laser printers. However, the GUI's own graphics systems were generally much less sophisticated than PostScript; Apple's QuickDraw
QuickDraw

QuickDraw is the 2D Computer graphics library and associated Application programming interface which is a core part of the classic Apple Macintosh Mac OS....
, for instance, supported only basic lines and arcs, not the complex B-spline
B-spline

In the mathematics subfield of numerical analysis, a B-spline is a spline function that has minimal Support with respect to a given Degree of a polynomial, Smooth function, and Domain partition....
s and advanced region filling options of PostScript. In order to take full advantage of PostScript printing, applications on the computers had to re-implement those features using the host platform's own graphics system. This led to numerous issues where the on-screen layout would not exactly match the printed output, due to differences in the implementation of these features.

As computer power grew, it became possible to host the PS system in the computer rather than the printer. This led to the natural evolution of PS from a printing system to one that could also be used as the host's own graphics language. There were numerous advantages to this approach; not only did it help eliminate the possibility of different output on screen and printer, but it also provided a powerful graphics system for the computer, and allowed the printers to be "dumb" at a time when the cost of the laser engines was falling. In a production setting, using PostScript as a display system meant that the host computer could render low-resolution to the screen, higher resolution to the printer, or simply send the PS code to a smart printer for offboard printing.

However, PostScript was written with printing in mind, and had numerous features that made it unsuitable for direct use in an interactive display system. In particular, PS was based on the idea of collecting up PS commands until the showpage command was seen, at which point all of the commands read up to that point were interpreted and output. In an interactive system this was clearly not appropriate. Nor did PS have any sort of interactivity built in, supporting hit detection for mouse interactivity obviously did not apply when it was being used on a printer.

When Steve Jobs
Steve Jobs

Steven Paul Jobs is an United States businessman and co-founder, Chairman, and Chief executive officer of Apple Inc.. Jobs is the former CEO of Pixar Animation Studios....
 left Apple and started NeXT
NeXT

NeXT, Inc. was an American computer company headquartered in Redwood City, California, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets....
, he pitched Adobe (a company he had much to do with creating) on the idea of using PS as the display system for his new workstation computers. The result was Display PostScript
Display PostScript

Display PostScript is an on-screen display system. As the name implies, DPS uses the PostScript imaging model and language to generate on-screen graphics....
, or DPS. DPS added basic functionality to improve performance by changing many string lookups into 32 bit integers, adding support for direct output with every command, and adding functions to allow the GUI to inspect the diagram. Additionally, a set of "bindings" was provided to allow PS code to be called directly from the C programming language. NeXT used these bindings in their NeXTStep
NEXTSTEP

Nextstep was the original Object-oriented operating system, computer multitasking operating system that NeXT developed to run on its range of proprietary computers, such as the NeXTcube....
 system to provide an object oriented graphics system. Although DPS was written in conjunction with NeXT, Adobe sold it commercially and it was a common feature of most Unix workstations in the 1990s.

Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
 took another approach, creating NeWS
NeWS

NeWS was a windowing system developed by Sun Microsystems in the mid 1980s. Originally known as "SunDew", its primary authors were James Gosling and David S....
. Instead of DPS's concept of allowing PS to interact with C programs, NeWS instead extended PS into a language suitable for running the entire GUI of a computer. Sun added a number of new commands for timers, mouse control, interrupts and other systems needed for interactivity, and added data structure
Data structure

A data structure in computer science is a way of storing data in a computer so that it can be used efficiently. It is an organization of mathematical and logical concepts of data....
s and language elements to allow it to be completely object oriented internally. A complete GUI, three in fact, were written in NeWS and provided for a time on their workstations. However, the ongoing efforts to standardize the X11 system led to its introduction and widespread use on Sun systems, and NeWS never became widely used.

The language

PostScript is a Turing-complete programming language, belonging to the concatenative
Concatenative programming language

A concatenative programming language is one in which all terms denote Function_ and the juxtaposition of terms denotes function composition. The combination of a compositional semantics with a Syntax_of_programming_languages that mirrors such a semantics makes concatenative languages highly amenable to algebraic manipulation and formal analysis....
 group. Typically, PostScript programs are not produced by humans, but by other programs. However, it is possible to write computer programs in PostScript just like any other programming language.

PostScript is an interpreted, stack-based
Stack-oriented programming language

A stack-oriented programming language is one that relies on a stack machine model for passing parameters. Several programming languages fit this description, notably Forth and PostScript, and also many Assembly languages ....
 language similar to Forth but with strong dynamic typing
Type system

In computer science, a type system may be defined as "a tractable syntactic method for proving the absence of certain program behaviors by classifying phrases according to the kinds of values they compute."....
, data structures inspired by those found in Lisp
Lisp programming language

Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older....
, scoped memory and, since language level 2, garbage collection
Garbage collection (computer science)

In computer science, garbage collection is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage , or memory used by Object that will never be accessed or mutated again by the Application software....
. The language syntax uses reverse Polish notation
Reverse Polish notation

Reverse Polish notation by analogy with the related Polish notation, a prefix notation introduced in 1920 by the Poland mathematician Jan Lukasiewicz, is a mathematical notation wherein every operator follows all of its operands....
, which makes the order of operations unambiguous, but reading a program requires some practice, because one has to keep the layout of the stack in mind. Most operators (what other languages term functions) take their arguments from the stack, and place their results onto the stack. Literal
Literal

Literal may refer to:*Literal and figurative language, taken in a non-figurative sense.*Literal translation, the close adherence to the forms of a source language text....
s
(for example numbers) have the effect of placing a copy of themselves on the stack. Sophisticated data structures can be built on the array and dictionary types, but cannot be declared to the type system, which sees them all only as arrays and dictionaries, so any further typing discipline to be applied to such user-defined "types" is left to the code that implements them.

The character "%" is used to introduce comments in PostScript programs. As a general convention, every PostScript program should start with the characters "%!" so that all devices will properly interpret it as PostScript.

"Hello world"

A Hello World program
Hello world program

A "Hello World" program is a computer program that prints out "Hello world!" on a display device. It is used in many introductory tutorials for teaching a programming language....
, the customary way to show a small example of a complete program in a given language, might look like this in Postscript: %!PS /Courier findfont 20 scalefont setfont 72 500 moveto (Hello world!) show showpage

or if the output device has a console

%!PS (Hello world!) =

Units of length


Postscript uses the point
Point (typography)

In typography, a point is the smallest Typographic unit of measure, being a subdivision of the larger Pica . It is commonly abbreviated as pt. The traditional printer's point, from the era of hot metal typesetting and Printing press, varied between 0.18 and 0.4 Milimeter depending on various definitions of the foot....
 as its unit of length. However, unlike other versions of the point, PostScript uses exactly 72 points to the inch. Thus:

For example, in order to draw horizontal line of 4cm length, it is sufficient to type:

0 0 moveto 0 113.38582677165 lineto stroke

However, for draft graphics, the number of significant digits may be reduced.

See also


  • Adobe Systems
    Adobe Systems

    Adobe Systems Incorporated is an United States computer Computer software company headquartered in San Jose, California, USA. The company has historically focused upon the creation of multimedia and creativity software products, with a more-recent foray into rich Internet application software development....
  • Ghostscript
    Ghostscript

    Ghostscript is a suite of software based on an interpreter for Adobe Systems' PostScript and Portable Document Format page description languages....
  • Portable Document Format
    Portable Document Format

    Portable Document Format is a file format created by Adobe Systems in 1993 for document exchange. PDF is used for representing two-dimensional documents in a manner independent of the application software, hardware, and operating system....
  • Document Structuring Conventions
  • Vector graphics
    Vector graphics

    Vector graphics is the use of geometrical Primitive s such as point s, line , curves, and shapes or polygon, which are all based upon mathematical equations, to represent s in computer graphics....
  • Typeface
    Typeface

    In typography, a typeface is a set of one or more fonts, in one or more sizes, designed with stylistic unity, each comprising a coordinated set of glyphs....
  • Computer font
    Computer font

    A computer font is an electronic data file containing a set of glyphs, characters, or symbols such as dingbats. Although the term font first referred to a set of metal type sorts in one style and size, since the 1990s most fonts are digital, used on computers....
  • Display PostScript
    Display PostScript

    Display PostScript is an on-screen display system. As the name implies, DPS uses the PostScript imaging model and language to generate on-screen graphics....
  • Encapsulated PostScript
    Encapsulated PostScript

    Encapsulated PostScript, or EPS, is a Document Structuring Conventions-conforming PostScript document with additional restrictions intended to make EPS files usable as a graphics file format....
  • Reverse Polish Notation
    Reverse Polish notation

    Reverse Polish notation by analogy with the related Polish notation, a prefix notation introduced in 1920 by the Poland mathematician Jan Lukasiewicz, is a mathematical notation wherein every operator follows all of its operands....
  • PostScript Printer Description
    PostScript Printer Description

    PostScript Printer Description files are created by vendors to describe the entire set of features and capabilities available for their PostScript printers....
  • InterPress
    InterPress

    InterPress is a page description language developed at Xerox PARC, based on the Forth and an earlier graphics language called JaM. As with many PARC projects, Interpress was not commercialized at its time of creation, and its primary effect on the world was to cause some of its creators to get fed up, form their own company, and publish the...
  • PCL
    Printer Command Language

    Printer Command Language, more commonly referred to as PCL, is a Page description language developed by HP as a computer printer protocol and has become a de facto industry standard....


External links


  • (PLR3), plus its , is the de facto defining work, known as "The Red Book" on account of its covers. The first edition covered PostScript Level 1, the second edition covered a greatly expanded language known as PostScript Level 2, and includes documentation for Display PostScript
    Display PostScript

    Display PostScript is an on-screen display system. As the name implies, DPS uses the PostScript imaging model and language to generate on-screen graphics....
     as well. The third edition covers PostScript 3 (with this version, Adobe dropped "level" from the name) but no longer includes DPS.
  • is the corresponding introductory text, known as "The Blue Book" on account of its covers.
  • is "The Green Book".
  • - Official introductory comparison of PS, EPS vs. PDF.
  • (PDF file).
  • — a book by Bill Casselman.
  • - 1990 by Glenn Reid, Addison-Wesley — available online courtesy of the author. A thorough tutorial.