PostScript Introduction Background In this section of the course we will give you an overview of the PostScript page description language, where it came from, and the problem that it solves.
History of PostScript PostScript is a product of Adobe Systems, Inc. Adobe Systems was formed in 1982 by Dr. John E. Warnock and Dr. Charles M. Geschke. Many of the concepts originated in 1976 at Evans & Sutherland as pat of the "Design System". in 1978, many of the page description concepts were firmed up and re-implemented at Xerox PARC. This evolved into InterPress. In 1982 the third implementation of these concepts became PostScript. In Xerox's InterPress, the emphasis is on speed. If Xerox sells a customer a 120 page per minute printer, Xerox wants the printer to spit out 120 pages per minute. PostScript allows a page to be arbitraily complicated. A Page may be so complicated that the printer must pause the printing process while it interperts the PostScript commands. The original releaqse of PostScript is now called "Level 1". Many additions and enhancements have been made which bring the language to "Level 2". Except where noted, all of the material in this course is applicable to both Level 1 and Level 2. History of Adobe Adobe Systems formed was in 1982 with $2.5 million in initial backing. It went public in August 1986. Adobe has been profitable since day one. Adobe does not manufacturer printers. It sesigns controllers and software and then licenses manufacturing rights to OEMs. Originally, the only items Adobe sold to the general public were fonts. Adobe has branched into the software market, developing some software internally, and purchasing some software (and software companies) for others.
What Is PostScript? PostScript is a combinations of three things:
PostScript Goals:
Page Description Languages
There are many ways to describe what a page to be printed should look like. Each different method of description is called a "Page Description Language" (PDL). In the dark ages before the advent of laser printers, PDLs were simple extensions to text files that controlled the special features of a particular printer. These PDLs were tailored to a particular type of printer, and could only describe pages that the target printer was capable of printing. Every command corresponded to a feature of the target printer. Simple PDLs Line Printer PDLs One of the earliest PDLs was designed for controlling a line printers. A line printer can move paper in one direction, and then print a line of up to 132 characters. The PDL developed was simple. The first character of each line sent to the printer specified how far to move the paper, and the rest of the line was printed.
This PDL is sometimes called "Fortran Cariage Control". Daisy Wheel PDLs The additional functionality available in daisy wheel printers required a more complex PDL. Daisy wheel printers can move the paper up or down and the print head left or right, with great precision. Some printers can even vary how hard the characters are pressed into the page. PDLs were introduced which used control characters or escape sequences to control the printer. Each make and model of printer had a custom PDL which corresponded to the exact set of features available for that printer. Laser Printer PDLs Prior to introduction of Laser Printers, designing a PDL was straight forward. The hardware of the target printer had a limited set of capabilities, and each capability got a command to control it. The arival of Laser Printers confused the PDL writers. The hardware of a laser printer just writes black dots onto the paper. At 300 dots per inch there are 90,000 dots in a square inch, or 8,415,000 dots on an 8.5 by 11 inch page (at 8 bits per byte this is 1,051,875 bytes). The obvious PDL would just be a listing of whether each of the roughly 8 million bits should be black or white. At a communications rate of 9600 baud, and packing 8 bits to a byte, it would take over 15 minutes to describe each page to the printer. 15 minutes per page is unacceptable. The solution was to put a small processor inside the laser printer, and for the processor to understand a simple PDL. This internal processor would accept some existing PDL (such as one designed for a daisy wheel printer) and convert it to the 8 million bits needed by the laser printing engine. The major drawback with this scheme is that all of the existing PDLs were designed with the limitations of exisiting printers in mind, but laser printers can physically print any combination of graphics, font styles and sizes. Some companies (QMS) just added to their existing PDL (QUIC) to allow access to additional capability. As more and more printers (and PDLs) were introduced to market, software vendors became reluctant to support every printer. Some vendors tried to develop a common PDL for a line of printers (ANSI for the LN01 and LN03). Some vendors decided that a PDL did not need to be an extension of a simle text file and designed a new standard from scratch (imPRESS from Imagen). A non-text PDL tended to produce more compact page descriptions, but they required that even simple text files be processed by a conversion program before printing. Some PDLs do a binary encoding for compactness (imPRESS). Although attempts had been made, all PDLs still suffered from dependicies on particular features of the target printer. (A file formatted for the original 240 dpi Imagen printer would not print properly on their later 300 dpi models.) These device dependicies were particular evident when it came to fonts. Fonts had to be designed as a bit map for a particular resolution printer, with a particular marking engine with the paper fed in a particular orientation. A different bit map was required for each size and orientation of every font. PostScript's Contribution PostScript combined many extremely useful concepts into a single product.
How PostScript Fits into the World
PostScript was not designed for users. Users should deal exclusivly with application programs. PostScript is designed to allow the application program to easily communicate with the printer. People who need to know PostScript:
The Right Place at the Right Time Adobe was faced with the classic "chicken and egg" problem. No one wants to buy a printer with a powerful PDL if there isn't any software to run it. Developers don't want to develop PostScript applications unless there is an installed base of printers. Steve Jobs needed a high quality printer for the Apple Macintosh. PostScript could easily handle the job. Jobs only concern with PostScript was that it allowed the printer to be programmed to support Apple's QuickDraw standard. Macintosh sales created an installed base of PostScript printers. Once the printers were out there, software vendors could write software to exploit the features. Marking Engines vs. Controllers The primary components of any laser printer are the marking engine and the controller.
Some manufacturers place the controller and the marking engine inside the same box (LaserWriter) Some manufactures place the controller in a separate box (Linotype).
The major difference between many Apple LaserPrinters and the corresponding HP LaserJet is the controler. Both printers are built around the same marking engine, but have different controllers. Quality Considerations PostScript controllers differ in communication methods, available memory, processor type and speed, built-in fonts, and secondary storage. Marking engines differ in speed, duty cycle, size and shape of dots, paper sizes and capacity, write-white vs write-black and miscellaneous artifacts of printing process. The quality of a laser printer depends both on the controller (what pages can it print) and the marking engine (how well will it print). Implementation Examples PostScript implementations include:
Some PostScript printers have a Fax feature. They image the PostScript at Fax resolution, and instead of printing localy, they dial out to a remote standard fax, and print there. Applications for PostScript
Elements of Page Description Languages PostScript divides objects to be printed into three categories: graphics, text and images.
Graphics Graphics are created as algorithmically defined outlines. These outlines are built up from straight line segments, portions of circles, portions of elipses, third order Bezier curves.
Graphics can be arbitrarily stretched, scaled, rotated, and distorted. Text Text is just a special case of graphics. Every PostScript printer has at least four different faces: Helvetica, Times, Courier and Symbol Most faces are available in at least four styles: regular, bold, italic, and bold-italic. Faces are stored as mathematical outlines allowing arbitrary stretching, scaling, rotating and distorting of text. The "Type 1" font format includes hints from the font designer, which help the PostScript interpreter make intelligent rasterization choices. Originally the "type 1" format was proprietary, and only Adobe and selected licensees could produce these fonts. Third party software (Such as "Fontographer") Allow anyone to create their own fonts. However it takes a lot of design skill to generate a font that looks good. Images Images are usually scanned images, such as from scanning a photograph. Typically represented in the PostScript as binary or hex data. Level 2 supports a variety of compression methods. A variety of pixel depths are supported:
Level 2 PostScript supports 4 color and spot color color schemes. Images can be arbitrarily stretched, scaled, rotated, and distorted. Macintosh PostScript Support Macintosh's PostScript support is important from a historical perspective and because there are a large number of Macintoshes connected to PostScript printers.
Many high end programs (Quark XPress, PageMaker, Illustrator, etc.) bypass this process, and produce PostScript directly. Recent versions of Apples LaserWriter driver were developed jointly with Adobe, and produce much better PostScript. |
|
[Home] [Goals] [Intro] [Simple Text] [Simple CTM] |
Copyright © 1998, Mefco, Inc., All Rights Reserved |