Unformatted text preview:

1 PostScript Sushanth K Reddy and Ravi Sheshu Nadella2 Contents 1 Introduction.................................................................................................................... 1 2 History............................................................................................................................ 1 3 Printing .......................................................................................................................... 1 4 Language ....................................................................................................................... 2 5 Data Types ..................................................................................................................... 3 6 Memory Management .................................................................................................... 5 7 Name, Scope and Binding ............................................................................................... 5 8 Graphics ......................................................................................................................... 6 9 Error ............................................................................................................................... 9 10 Summary ........................................................................................................................ 9 11 References ...................................................................................................................... 91 1 Introduction Postscript is a programming language and a page description language used mainly for publishing via printers. Postscript is much more than a printer control language. It is a programming language by itself. Applications can transform a document into a PostScript program which can be sent to a printer. The interpreter in the printer can interpret the program and print the document. A Postscript program can also be used to display a document on the screen. The power of postscript to generate the same document on different devices using the same program makes it a device-independent language. 2 History The basic idea/concepts of Postscript were developed in 1976 when John Warnock conceived the Design System Language to process graphics. After Adobe was found in 1982, Postscript was created as a simpler version of Interpress, which was then the existent language for graphics printing. Around 1985 it was used as the language to drive laser printers. An interpreter for Postscript referred as the Raster Image Processor was a component of the laser printers in the 1990s. The wide spread availability of Postscript made it the de Facto standard for electronic document distribution for final versions of documents meant for publication. There were two upgrades for the language. The first upgrade improved speed and reliability, included support for in-RIP separations, decompression of images, support for composite fonts, and form mechanism for caching reusable content. The second upgrade came along with many new dictionary-based versions of older operators, improved color handling, new filters to allow in-program compression and decompression, program chunking, and advanced error-handling. 3 Printing Before Postscript, printers were designed and used to print only text (ASCII characters). A number of technologies existed for this task. However, most of them had the properties of a standard type writer (glyphs). The main problem was that, characters could not be changed easily in terms of font and size. And also Pictures could not be printed. With the advent of Dot Matrix Printers this changed. Dots were used to print characters and so different fonts could be printed from tables stored in the printer. These tables could also be uploaded by the user which facilitated introduction of more fonts. Dot Matrix Printers printed characters as series of dots, thus making them able to print raster graphics. However to print vector graphics, plotters had to be used. Also printer control languages were different for different printers. This made the tasks tedious for authors as they had to write different drivers for different printers.2 3.1 Postscript Printing Laser Printers could print high quality art, text and raster graphics. They could include text and graphics on the same page. Postscript exploited this capability by providing features to support both text and graphics and also offering a single control language for different brands of printers. Also the postscript program used to print a document can be used to display it on-screen making postscript a device independent language. Postscript has the feature of on-the-fly rasterization which gives it the flexibility for scaling, rotation and other transformations. 3.2 Display Postscript One language which used Postscript as a display technology on screen was Display Postscript (DPS). DPS uses the language and the imaging model of Postscript to generate graphics on screen. Some changes were made to Postscript to support on-screen model. These changes include procedure addition to handle interaction and the support for multiple execution contexts. 4 Language 4.1 Interpreter The language postScript is interpreted and does not generate any intermediate code. It is a stack based language and mainly designed for graphics and typography. The reason this language is interpreted, is mainly to support device independence. As long as it is interpreted, one need not worry about the object file format on the machine where it is compiled and if it would work on any other machine or not. An interpreter of the language can read the same program on any machine. 4.2 Objects Data in Postscript is stored in the form of Objects. Each object has type, attributes and value. All objects are of same size immaterial to the size of data. Variable length data is stored in a separate location and the pointer to that location is stored as the value of the object. 4.3 Dictionaries All the names and values of objects in Postscript are stored in Dictionaries. There are three basic kinds of dictionaries called system dictionary, global dictionary and user dictionary which store system related names, global names and local names respectively. Also dictionaries can be created inside procedures to


View Full Document

UA CS 520 - Postscript

Download Postscript
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Postscript and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Postscript 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?