I find one thing awesome about PostScript: it’s a place where two different fields met, i.e., graphics and programming. This fact alone is enough for me to find it fascinating, but I found its origins even more interesting, chiefly because they gave birth to one of today’s software giants. I want to share that history.
During development of technology we often face the fact that some inventions and discoveries were applied to different fields from those intended by their inventors or discoverers, although it didn’t keep them from profit from them accordingly. Someone said: If I build a rocket and it sinks in the sea short after launch, then I call it a “submarine”…
In fact, we are not allowed to accuse PostScript of “sinking” in its beginnings (actually it never stopped improving until something better replaced it), but it’s fair to say that it wasn’t conceived for the purpose it was finally used for, which settled its development and success. As the mere existence of what we may call digital graphics (as we know it) owes a lot to this invention, it wouldn’t be so bad to give it a humble tribute.
In the beginning of the 80’s, prepress and phototypesetting industries were very different from today’s. Those years, a bunch of highly specialized and interconnected devices known as phototypesetting (or also prepress) systems, were pretty common. First of all, they were technologically complex, costly and, especially, closed: all its parts were implemented and built by the manufacturer in a proprietary way, i.e. without publishing a single line about their inner workings or how they could get connected with other systems. There was no way of replacing stages of the process by other manufacturers, for example for improving quality or efficiency, or at least for exchanging information with them. Although that does not look like a big deal so far, in fact it was practically preventing a market from being created where others could compete to offer better partial solutions to the main system.
A typical phototypesetting system, Atex, was worth as much as U$S 400.000 and needed a month or two of training in order to operate and maintain it (but first you had to qualify as customer to have a chance to buy one of those; they were not intended for anyone…). Same happened to prepress systems, like Scitex workstations (part of which was acquired by Creo, and later by Kodak) for image processing and output, or the Crossfield systems (later bought by FujiFilm), among others.
On the other hand, about that time, print-on-paper technology (today we would call it Computer to Print, meaning to send print commands from the computer straight to the printer) was designed around a simple idea: when the printer was receiving a numeric code (a number between 0 and 255, also known as a byte), it was expected it to print the character whose ASCII code was that number; sending 65 to the printer would make the printer print an “A”, whose code is precisely 65. Which typeface, might we ask? Easy answer: with the factory built-in one. This technology looks much like a typewriter, where “types” are embedded in the machine; here we have replaced keys by ASCII codes.
Therefore, the form of every letter (the typeface) was a fixed property of the printer; the user had no control over it. This partially changed with the arrival of the first dot-matrix printers, where each character was printed as a series of dots, and the place of each dot was stored in the printer’s internal memory. In some, more sophisticated printer models, this memory contained more than one typeface, giving the user the choice of a typeface (impressive by that time) by means of a selector in the printer’s panel.
Certain workarounds enabled dot-matrix technology to print graphs as well, so it was possible to print text characters in a graphic way, allowing software some true control over typeface design, but the results obtained left a lot to be desired from graphic arts’ point of view, due to the low attainable resolution these methods offered. Better quality could be reached by laser printing technology, but there wasn’t (yet) a way of making use of its characteristics to full extent. Of course, someone always arrives first…
Seeds of an Idea
The revolution, ignored for its initiators, was silently started in 1976 by John Warnock, a member of a well-known graphic computing company called Evans & Sutherland, who conceived a data interpretation system for a three-dimensional graphs database, the Design System language. By those times, Xerox owned the California-based PARC institute of research and development, a kind of lab where many working ideas turned later into widespread technologies, such as the Graphical User Interface (GUI), which brought to us icons, windows, and mouses as input devices, Ethernet networks, and laser printers. The latter had been recently developed, and researchers recognized the need for some standard mechanism to define the contents of a page. Xerox then launched the InterPress initiative, with the idea of creating a successor for its previous Press data format, already used in Xerox Star systems to control laser printers.
In 1978 Evans & Sutherland asked Warnock to move from San Francisco facilities to its main offices in Utah, but he was not ready to make that kind of move, so he decided to leave E&S and joined Xerox. He started working with Martin Newell and re-writes his language Design System, turning it into the JaM language (for ‘John and Martin’), mainly used for researching text and images printing-related issues (slightly closer to our business, finally…) This one evolved up to become the InterPress language.
Convinced on the potential InterPress might have as a standard method of page description, Warnock and his chief, Charles M. ‘Chuck‘ Geschke, hardly tried for two years to convince Xerox managers to convert InterPress into a commercial product. When that proved unsuccesful, in December, 1982 both leave Xerox to start their own company. They decided to name it after a small creek running behind Warnock’s house in Los Altos: Adobe. (Many people might think that Adobe started making money with Photoshop…)
At first, Warnock and Geschke analyzed the possibility of creating themselves an extremely powerful printer using the ideas that arose during InterPress development. Nevertheless, soon they realized the costly investments that it would imply, and therefore it would be wiser to develop tools other developers could use to control their own printers. They based their project on InterPress and derived from it a simpler language which they named Postscript, and released it to market in 1984.
Planets start to line up
Destiny wanted at that very moment that the sales of Apple’s Macintosh computers were beginning to decline, and Steve Jobs, Apple’s founder and director by that time, was searching for something new to get into the market and start recovering sales. He visited Warnock, got enthusiastic with PostScript technology and invested in Adobe 2.5 million of dollars to secure a PostScript controller for his own laser printer, the Apple LaserWriter, by the way the first networked-capable printer, allowing this system to print with typographic quality at an “affordable” price of U$S 6.995 at time of release, March, 1985 (bear in mind that the price tag of a Xerox printer was about half a million dollars and had the size of a small room). In addition, it allowed printing photographic quality images at full page size, while other printers, like the first LaserJet of HP, only allowed image printing in a small area of the page.
Nevertheless, just having a computer and a high quality printer wouldn’t have done a big impact unless a third party showed up. Contacted thru Johnatan Seybold (son of John Seybold, pioneer in computer-based typography, founder of the famous seminars named after him), they met Paul Brainerd — one of the first clients and later member of Atex — who was working in the development of a page layout software for desktop computers. Paul had coined the term “desktop publishing” and Apple’s printer was the ideal opportunity to sell that concept. He quickly founded Aldus Corporation and produced the first software of this kind, Aldus PageMaker, released to market in July 1985 at a price tag of U$S 495. Few years later, PageMaker became the world’s fourth most popular application software. All of this summed up, Apple was saved, and Aldus and Adobe turned into solid companies.
PostScript managed to find a satisfactory solution to the problem of text printing. Before it, it was necessary to have typography already defined somehow inside the printer. Now, PostScript was giving anyone the capability to define text as any other graphic object— mathematically described using straight and curved lines, scalable to any wished size — and to rasterize it to any resolution.
Treating text as any other graphic object was an extremely advanced concept, but for its correct implementation some issues needed to be considered. It is well known that typography cannot be scaled just proportionally to small sizes; glyphs and small details in every letter are at risk of being distorted and even of dissapearing when size approaches the order of magnitude of the points used to print them. Adobe solved this problem by adding to the Postscript code certain elements called hints that identify the characteristics of every letter that have to be specially preserved to achieve a good appearance. This method resulted in high quality printed text even at low resolutions; before this it was believed that the only way of getting that quality was using small images of every letter, designed and fitted by hand. Adobe reserved this invention to themselves and defined a proprietary format (to be read as: only for me and nobody else) for storing these new PostScript typography called Type 1, which they began to license.
Take-off and first turbulencies
Things happened quickly from this point on. Linotype (now Heidelberg) was the first company in recognizing the potential of the new technology, introducing to market in 1985 the Linotronic 300 imagesetter with PostScript support; two years later they started to offer PostScript typefaces. Many others began complementing these systems with specific prepress features, such as support for color elements in CMYK, as PostScript originally did not offer — after all, don’t forget it was born inside a corporation, intended to print documents in monochrome laser printers: it could just handle grayscale and at most RGB. Adobe corrected this in the following version, PostScript Level 2, lauched in 1991, which included (among other things) JPEG compressed images processing, high quality screening algorithms, and in-RIP separation, i. e. the capability to accept composite PostScript files (previous version required as many files as separations, so four in CMYK).
(Paragraph apart, Adobe almost commited a fatal error with PostScript level 2: they first published the future features that they intended to add and after that they actually started working in the new version… For their astonishment, competitors managed to come up with interpreters for this version faster than what Adobe believed possible).
Adobe and Aldus merged in 1994, so PageMaker was renamed Adobe PageMaker. By the end of 1997 Adobe announced PostScript 3, which included support for generic color spaces (such as the then-new six-color Hexachrome system) and improved gradients, originally from 8 to 12 bits, expanding this way from 256 to 4096 levels.
Not all was glory in PostScript history. This system’s strongest point turned out to be its Aquiles’s heel. Although from its origins it was clearly intended for page description, PostScript is also a computer language, and it’s capable of doing more than just describing page content (for instance, it is perfectly possible to do more-or-less complex math in PostScript: you can find here some examples intended for my students). Seen retrospectively, it solved the problem of the precise control of a printer, reaching quality levels as never before, but at the expense of something that today is more important in graphic industry: reliability in the information exchange. What does it mean? Now, printing problem solved, it is more useful to us to faithfully communicate a page design from one stage to the next in the process chain.
In fact, a PostScript document is just a series of instructions which will generate a page after correct interpretation. As any other computer language, a PostScript program can contain errors — accidental or deliberate — that prevent us from getting the right page. For its very nature, a PostScript interpreter cannot gracefully recover from a document error; if this actually happens, it stops processing and informs the error, disabling access to the rest of the document that (possibly) was not containing any more errors.
Another inconvenience arose for the need to address certain options only valid for a particular printing system, i.e. the choice of certain paper size (printers having more than a paper tray), specific resolution or screen ruling, etc. Since this information was device dependent, Adobe conceived the idea of collecting all the possible valid options for every particular device in a descriptive file known as a PostScript Printer Description, aka PPD file. When we install a PostScript printer driver, a PPD file is also installed, which later will allow the user to select different printing options at print time, usually by means of a dialog known as Page Setup. The PostScript document generated this way will include additional instructions to use such options, and even though it is a comfortable feature in certain workflows, it breaks one PostScript design goal, namely, device independence; the resulting document is not any more guaranteed to work in any printer, just only for this specific one.
A slow retreat
Numerous prepress systems were created and sold using PostScript as their natural language, to the point of becoming the “de-facto standard” of digital graphics; in fact, there was never an attempt to normalize it through a normative body such as ISO. This was in part due to the fact that the basic engine powering these systems, sold by Adobe and named CPSI (Common PostScript Interpreter) was quickly adopted by its manufacturers, making themselves sure of having language full compatibility.
Nevertheless, this “bonanza bubble” began to shrink about 2000 with version 9 of Illustrator. In this version, Adobe introduced a feature that would be a delight for designers and a nightmare of print shops: transparency. This new feature broke PostScript opaque image model, where objects having any color knock-out any object below them, no matter its color.
The disadvantages mentioned above, plus the need to introduce new features, were partially addressed by a document type Adobe introduced some time after PostScript consolidation (circa 1992), with information exchange as a key concept: the Portable Document Format or PDF. The central idea behind PDF was suggested by Illustrator, in the sense that Adobe conceived this program as a “visual PostScript interpreter”: Illustrator generated PostScript in the background while the user interactively edits lines and shapes. More can be said: up to version 8, an Illustrator document (.ai) is just a PostScript document. As this program was available on two different platforms (Mac and Windows), and documents could be reliably exchanged between them, why not turn this format into a graphic exchange standard?
On launch, PDF lacked support for CMYK, but in 1996 it began being considered by the printing industry (when Adobe added support to CMYK color) and it started being seriously taken as a future PostScript replacement. In fact, after a few years of parallel development, Adobe stopped introducing new features in PostScript technology to incorporate them solely in PDF.
Anyone could have wondered that in some point in the future Adobe would release to market PostScript Level 4, including all the progress PDF got up to that date. Nevertheless, Dov Isaacs of Adobe textually said in 2006, asked whether Adobe has such a version ready to go on sale:
“Absolutely isn’t going to happen. PostScript is a programming language, not really a page description language. By its very nature, it does not provide for really reliable end-to-end workflows since by definition, content can change on the fly. (…)
No, there is not a PostScript Language Level 4 sitting on disk somewhere waiting for marketing to give a signal. Beginning with PDF 1.4, all additions to the Adobe imaging model went into PDF and not PostScript…”
This message did nothing but confirm that Adobe would not put any more resources in PostScript. During a time, as said above, development of PostScript and PDF stayed more or less in sync, but in 2001, when launching version 1.4, PDF got features that had no equivalent in PostScript, signaling “the beginning of the end”. Since 2005 Adobe discouraged use of PostScript Type 1 fonts in favor of OpenType.
Since then, prepress systems are based on the new APPE engine (Adobe PDF Print Engine), which replaced ancient CPSI and natively uses PDF instead of PostScipt. PDF technology has lots in common with its “older brother”, especially image model (the way in which they refer to different elements in a page, namely images, curves, texts, page itself). But differently from PostScript, PDF is clearly descriptive: it is only possible for PDF to add objects inside them describing explicitly one by one. By comparison, PostScript allows to create a series of objects by means of a more or less clever code, making PDF a “dumber” description language than PostScript, but just for that is safer: no instructions to be interpreted, just descriptions. PDF image model has been improved, adding features not supported in PostScript, like transparency, ICC color profiles, layers and OpenType fonts.
Spite of its disadvantages, and being technically superseded, PostScript is still present in several forms, particularly in Type 1 still in use, and in hugh images and clipart collections created in Encapsulated PostScript (EPS). So, for starting desktop publishing revolution, PostScript has a privilege place in the history of technology.