Postscript Language Program Design

Adobe Systems

Publisher: Addison-Wesley, 1988, 224 pages

ISBN: 0-201-14396-8

Keywords: Programming

Last modified: May 9, 2021, 12:22 p.m.

PostScript, a revolutionary, device-independent page description language, is quickly becoming the industry standard for printing high-quality integrated text and graphics. It is a powerful, flexible language that has the ability to describe efficiently the appearance of text, images, and graphic material on the printed page. Already PostScript has been incorporated into some of the today's most innovative printers, including LaserWriter from Apple Computer, Inc.

From Adobe Systems Incorporated, the inventors of the PostScript language, here is the definitive guide to designing efficient PostScript programs. , here is the definitive reference to this exciting language. Postscript Language Program Design teaches the programming principles that are unique to the PostScript language with numerous, usable sample programs throughout. Each chapter focuses on a particular area and provides guidance, background, and examples of efficient code. In this book, programmers learn techniques for such tasks as:

  • setting text
  • constructing graphics
  • writing emulators
  • debugging programs

and more. The sample programs are also available on disk directly from Adobe Systems Incorporated.

Postscript Language Program Design is a companion volume to the two other books written by Adobe Systems, the Postscript Language Reference and the Postscript Language Tutorial and Cookbook.

  1. The PostScript Language: Overview
    1. Introduction
    2. The Language Model
      • Dictionaries and Data Structures
      • Stacks
      • Built-In PostScript Language Operators
    3. The Imaging Model
      • Coordinate Systems
      • Paths and Paint
      • Fonts
    4. Electronic Publishing and Printing
    5. Program Design Guidelines
  2. The Execution Model
    1. Introduction
    2. The Printing Job Model
    3. The Operand Stack
      • Objects in the PostScript Language
      • The Stack as a Data Structure
    4. The Dictionary Stack
      • Dictionary Objects
      • Using the Dictionary Stack
    5. Operators and Name Lookup
      • The bind Operator
    6. The Interpreter and the Scanner
      • Recognition of Objects
    7. Procedures
      • Very Large Procedure Bodies
    8. The Execution Stack
    9. The Server Loop
  3. The Imaging Model
    1. Introduction
    2. Applying the Metaphor
    3. Construction of Paths
      • The Graphic State and Paths
    4. Painting Operations
    5. What Happens to the Current Path?
    6. Procedures for Constructing Paths
      • Rectangles
      • Circles and Arcs
      • Arrowhead
    7. Text Operators
      • Character Widths
    8. Clipping
      • Complexity and Performance
    9. Rasterization
    10. Save and Restore
    11. The Font Cache
  4. Emulators and Translators
    1. Introduction
    2. Emulating Another Printer
      • The stringwidth Operator
      • Text Justification in an Emulator
    3. Translating Existing File Formats
      • Units
      • Fonts
    4. Font Differences
    5. Using the Imaging Model
      • Preserving High-Level Information
      • Rendering
    6. Optimizing Translator Output
    7. Computation and Decision-Making
  5. Designing the Page and the Program
    1. Introduction
    2. Page Layout Considerations
      • Page Nesting and Independence
    3. Producing PostScript Language Output
    4. Round-Off and Coordinate Systems
    5. Efficiency
      • Data Transmission Overhead
      • Computation
      • Interpretation Time
  6. Program Structure
    1. Introduction
    2. The Prologue and Script Model
    3. Modularity and Page Structure
      • Ground State
      • The Operand Stack
      • Functional and Graphic Independence
      • Save and restore
      • Page Elements and their Properties
    4. Document Structuring Conventions
  7. The Mechanics of Setting Text
    1. Introduction
    2. Character Widths
    3. Margins and Justification
      • Justification
    4. Handling Different Fonts
    5. Leading and Point Size
    6. Kerning and Ligatures
    7. Encoding and Character Sets
    8. Composite Characters and Accents
    9. Non-Roman Fonts
      • Character Widths and Origins
  8. Scanned Images and Halftones
    1. Introduction
    2. The Image Operator
      • How it Works
      • The Image Matrix
      • Data Acquisition Procedures
      • Small Amounts of Data
      • Larger Amounts of Data
      • A Common Error and its Cause
      • Synthetic Data
    3. Data Compression
    4. Halftone Screens
      • Halftoning in the PostScript Language
      • Changing the Halftone Screen
    5. The Spot Function
  9. Complex Graphic Problem-Solving
    1. Introduction
    2. Pattern Fills
    3. Logos, Grids, Forms, and Special Fonts
      • Grids
    4. Transformation Matrices
      • Inverted Coordinate Systems
    5. Color and Color Separation
      • Color Separations
      • Spot Color
  10. The Interchange Standards
    1. Introduction
    2. Conforming Documents
    3. Handling Printer-Specific Features
    4. Specifying Paper Sizes
    5. Printer Queries
    6. Conditional Execution
    7. Font Availability
    8. Putting it all Together
  11. Merging Files from Different Sources
    1. Introduction
    2. Using Existing Context
    3. Error Recovery
    4. Handling showpage
    5. Screen Representations
  12. Writing a Print Spooler
    1. Introduction
    2. Printer Management
    3. Communications
      • Messages
    4. Using exitserver
    5. Managing Files and Fonts
      • %%DocimentFonts
      • %%IncludeFont
      • %%BeginFont, %%EndFont
    6. Determining What Fonts are Available
    7. Handling Resource Shortages
    8. Printer Description Files
  13. Memory and File Resource Management
    1. Memory Structure
    2. Memory Allocation
    3. Save and Restore
      • Save Objects
      • The invalidrestore Error
    4. Downloadable Font Programs
    5. Packed Arrays
    6. Raster Memory
    7. File Systems and Disk Management
    8. PostScript Language File Operations
      • The Standard Input Stream
  14. Error Handling
    1. Introduction
    2. Strategies
      • Non-Standard Operators
      • Implementation Limits Exceeded
    3. The Stopped Operator
    4. The Error Handling Mechanism
    5. Redefining Error Procedures
    6. Handling Error Messages
  15. Debugging Techniques
    1. Introduction
    2. Establishing Two-Way Communication
      • Serial Communications
      • Parallel Communications
      • Packet Network Communications
    3. Understanding PostScript Language Errors
      • Error: undefined
      • Error: typecheck
    4. Redefining Built-In Operators
    5. Stack Traces
    6. Interactive Techniques
    7. Coordinating System Transformations
    8. Debugging Messages
  1. Error Handler

Reviews

Postscript Language Program Design

Reviewed by Roland Buresund

OK ***** (5 out of 10)

Last modified: May 21, 2007, 3:20 a.m.

A little known fact is that Postscript is a full programming language. If you're interested, this is a good buy together with its companion volumes.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required