home *** CD-ROM | disk | FTP | other *** search
-
- PostScript(R) LEVEL 2 -- QUESTIONS & ANSWERS
- ============================================
-
- PostScript Level 2, the first major new release of PostScript
- software since its introduction, is a unification and enhancement
- of the PostScript language based on the needs voiced by users of
- PostScript printers and Display PostScript(R) workstations,
- Independent Software Vendors (ISVs), and Original Equipment
- Manufacturers (OEMs). PostScript Level 2 contains a number of
- performance enhancements, is easier for software developers to use,
- and contains important new functionality such as device-independent
- color, forms handling and patterns support.
-
- *** What is PostScript Level 2?
-
- First, let's look at the current state of the PostScript language.
- The baseline of the language is defined by the PostScript Language
- Reference Manual, also known as the "red book." The red book defines
- the basic PostScript language imaging model functionality for line
- art, sampled images, text, and the RGB color model. Since its
- introduction in 1985, the PostScript language has been considerably
- extended for greater programming power, efficiency, and
- flexibility.
-
- Typically, these language extensions have been designed to adapt the
- PostScript language to new imaging technologies or system
- environments. While these extensions have introduced new
- functionality and flexibility to the language, the basic imaging
- model remains unchanged. The principal language extensions are:
-
- + Color: The color extensions provide a cyan-magenta-yellow-black
- (CMYK) color model for specifying colors and a colorimage operator
- for painting sampled images. They also include additional rendering
- controls for color output devices.
-
- + Composite fonts: The composite font extensions enhance the basic
- font facility to support character sets that are very large or have
- complex requirements for encoding or character positioning.
-
- + Display PostScript: The Display PostScript system enables
- workstation applications to use the PostScript language and imaging
- model for managing the appearance of the display. Some of the
- extensions are specialized to interactive display applications,
- such as concurrent execution and support for windowing systems.
- Other extensions are more general and are intended to improve
- performance or programming convenience.
-
- When Adobe decided to add additional functionality to the PostScript
- language, we did not want to add the functionality in a piecemeal
- fashion and have it exist in some devices but not others. This makes
- life difficult for independent software vendors (ISVs) who write
- PostScript language programs. PostScript Level 2 integrates the
- original PostScript language, all previous language extensions, and
- new language features into the core PostScript language imaging
- model. PostScript Level 2 ensures application developers consistent
- functionality across all Level 2 devices. When an application images
- to a Level 2 device, it can be assured that a wide range of features
- will exist on that device and that these features can be exploited
- to their fullest for increased performance and functionality.
-
- *** What are the features of PostScript Level 2?
-
- PostScript Level 2 consolidates all of the current language
- extensions into one unified language and adds many new features. It
- is also upward compatible with the current generation of PostScript
- devices. Here is a brief list of what comprises PostScript Level 2:
-
- + Existing PostScript language
- + Color extensions
- + Composite font extensions
- + Display PostScript extensions
- + Improved memory management
- + CIE-based device-independent color
- + Improved printer hardware features support
- + Data and image compression and decompression
- + Optimized graphics and text operators from the
- Display PostScript system
- + New halftoning algorithms
- + Forms support
- + Patterns support
- + Binary language encodings
- + ATM font rendering technology
-
- *** What are the color extensions to the PostScript language?
-
- The color extensions were added to the language in 1988 to provide
- more complete color functionality. With the original PostScript
- language, color could be specified using the red-green-blue (RGB)
- and hue-saturation-brightness (HSB) color models.
-
- The color extensions include cyan-magenta-yellow-black (CMYK) color
- model, black generation and undercolor removal functions, screen and
- transfer functions for four separate color components, and a
- colorimage operator for rendering color sampled images.
-
- The color extensions are currently found in PostScript color
- printers from Canon, QMS, Oce, and NEC as well as all
- implementations of the Display PostScript system.
-
- *** Why would you want the CMYK color extensions in a black and white
- printer?
-
- In a nut-shell, compatibility between black-and-white and color
- Level 2 devices.
-
- Today, ISVs must handle PostScript color printers differently. For
- example, current monochrome laser printers does not contain the CMYK
- color extensions, and as a result PostScript language programs must
- emulate this functionality, which results in slower performance. All
- Level 2 implementations will include the CMYK color extensions as
- standard.
-
- *** What are the composite font extensions to the PostScript
- language?
-
- The composite font technology is a general solution that extends the
- basic PostScript language font mechanism to enable the encoding of
- very large character sets and handle non-horizontal writing modes.
-
- A Type 1 PostScript font has room for encoding only 256 distinct
- characters. A typical Japanese font has over 7,000 Kanji, katakana
- and hiragana characters. The composite font technology allows you
- to create one "composite" font that is made up from any number of
- "base" fonts. In addition, the composite font technology allows you
- to include two sets of metrics (character spacing details) in the
- font: one for a horizontal-writing mode, and one for a vertical-
- writing mode.
-
- *** Why would you want the composite font extensions in a roman
- printer?
-
- This technology is currently implemented only in Japanese language
- PostScript devices, but the composite font technology is a general
- solution that applies to any language. It allows for the creation
- of one composite font that combines two or more fonts. For example,
- you may wish to combine a text font (such as Times-Roman) with a
- special font (such as Zapf-Dingbats) and have all characters at your
- disposal within a single font.
-
- *** What are the Display PostScript Extensions to the PostScript
- language?
-
- The Display PostScript extensions address the needs of using the
- PostScript language imaging model in a display environment. It
- includes extensions to deal specifically with displays and windowing
- systems as well as many optimized operators to increase performance
- which is critical in an interactive display environment.
-
- *** Why would you want the Display PostScript extensions in a
- printer?
-
- Most of the functionality in PostScript Level 2 that comes from the
- Display PostScript extensions result in improved performance. This
- includes clipping, rectangle operators, and binary language
- encoding to name a few. Each of the new Level 2 features that come
- from the Display PostScript extensions are detailed later in this
- document.
-
- Another obvious reason is for compatibility between Display
- PostScript applications and PostScript Level 2 printers.
-
- *** Can you tell me more about the rest of the PostScript Level 2
- features?
-
- Sure. Here a brief overview of the important features and benefits
- of PostScript Level 2:
-
- Filters
- -------
-
- + A filter transforms data as it is being read from or written to a
- file. The language supports filters for ASCII encoding of binary
- data, compression and decompression, and embedded subfiles.
- Properly used, these filters reduce the storage and transmission
- cost of page descriptions, especially ones containing sampled
- images. => Reduced storage requirements, greater performance.
-
- + ASCII encoding of binary data: ASCII/85 (represent binary data
- in ASCII format with only a 125% expansion of data), and ASCII/HEX
- (current method of representing binary data in ASCII format but with
- a 200% expansion of data). => Compact representation of binary data
- in a portable ASCII representation.
-
- + Compression and decompression filters: CCITT Group 3 & 4
- (monochrome images), run-length encoding (monochrome and grayscale
- images), LZW (~2:1 compression of text files), DCT (20-200:1
- compression of color images using the proposed JPEG standard).
- => Improved performance due to reduced transmission times. PostScript
- files on disk can also be made much smaller, saving disk space.
-
- Binary Encoding
- ---------------
-
- + In addition to the standard ASCII encoding, the language syntax
- includes two binary-encoded representations. These binary encodings
- improve efficiency of generation, representation, and
- interpretation. However, they are less portable than the ASCII
- encoding and are suitable for use only in controlled environments.
- => Performance, compactness.
-
- Improved underlying implementation
- ----------------------------------
-
- + Improved font disk cache. We have improved the backup of the font
- cache on printers with a hard disk. Font access methods for reading
- the font back into RAM are more efficient. Also, the management of
- the disk is improved, so it does not become fragmented. => Performance,
- enhanced functionality.
-
- + ATM font rendering technology. => Improved performance (4-5 times
- faster in raw character building speed) and improved quality (most
- evident at small point sizes and low resolutions).
-
- Improved memory management system
- ---------------------------------
-
- + One pool of memory available for all resource needs (page image,
- font cache, path storage, downloadable fonts, etc.). Memory
- allocated dynamically to meet needs. In general, memory is more
- efficiently shared among different uses and arbitrary memory
- restrictions have been eliminated. => Eliminates arbitrary memory
- restrictions for imaging of more complex graphics.
-
- + Opportunistic memory management scheme. In the current system, the
- PostScript language program must manage memory on a per page basis.
- New memory management operators allow more flexibility for programs
- to explicitly release unused memory resources by removing individual
- entries from dictionaries and removing font definitions in an order
- unrelated to the order in which they were created. => More efficient
- use of available memory.
-
- + Automatic memory reclamation. VM is reclaimed automatically for
- composite objects that are no longer accessible, such as strings
- used by the show operator. A "garbage collector" will automatically
- reclaim other unused memory. => More efficient use of available memory.
-
- Optimized graphics operators
- ----------------------------
-
- + Rectangle operators. New operators for filling, clipping and
- stroking rectangles; all highly optimized. For example, rectfill is
- 3 times faster than an equivalent moveto, lineto, lineto, lineto,
- closepath, fill. => Performance, convenience.
-
- + Graphics state objects provide a fast way to switch between
- graphics states, which define the current line weight, color, font,
- etc. In existing printers, graphics states are stored on a stack,
- so accessing an arbitrary graphics state is somewhat cumbersome.
- With graphics state objects, the graphics state can be associated
- with a name, and retrieved by simply requesting the name.
- => Performance, convenience.
-
- + Halftone specification. New halftone dictionaries provide a more
- precise way of specifying the halftone dots, and makes switching
- between halftone screens faster. (The spot function is not
- reinterpreted.) => Performance, convenience, enhanced functionality.
-
- + User paths are self-contained procedures that consists entirely
- of path construction operators and their coordinate operands. User
- path operators perform path construction and painting as a single
- operation; this is both convenient and efficient. There is a user
- path cache to optimize interpretation of user paths that are invoked
- repeatedly. => Performance, convenience.
-
- + Stroke adjustment. For very thin lines, there is a trade-off
- between perfect positioning and consistent line width. Depending
- on the placement of such a line, it could end up being rendered as
- either 1 or 2 pixels wide, which is a noticeable difference. To
- account for this, PostScript language programs often include logic
- to slightly alter the coordinates of lines for consistent rendering.
- With automatic stroke adjustment the interpreter performs this
- adjustment to ensure consistent widths. Doing it in the interpreter
- rather than in the PostScript language program is 20 - 30% faster.
- => Performance, convenience, improved quality.
-
- Optimized text operators
- ------------------------
-
- + The xyshow operator provides a more natural way for applications
- to deal with individual character positioning. Allows simultaneous
- track kerning, pair kerning, and justification. => Performance,
- convenience.
-
- + The selectfont operator optimizes switching between fonts. It
- does the work of 3 Level 1 operators: findfont, scalefont, and
- setfont and has been optimized by using a caching mechanism.
- => Performance, convenience.
-
- Forms
- -----
-
- + A form is a self-contained description of any arbitrary graphics,
- text, and sampled images that are to be painted multiple times on
- each of several pages or several times at different locations on a
- single page.
-
- + With the new forms feature, you can define a base form whose
- representation stays cached between pages, so only information that
- changes between forms will need to be interpreted for each page. The
- representation used to cache the form may vary from device to device
- depending on the available resources, such as memory and/or hard
- disk space. In some cases, the actual rasterized form will be saved,
- in other cases, an intermediate representation (such as a display
- list) may be saved. => End-users will benefit by improved performance.
-
- + This makes forms processing faster and provide a natural
- framework for ISVs implementing a forms functionality in their
- application. => Convenience for ISVs.
-
- + Besides the traditional concept of "forms," some other examples
- of forms include: Letterhead, stationary, overhead presentation
- backgrounds, repetitive symbols in a CAD drawing such as screws
- (mechanical drawing) or windows (architectural drawing), complex
- background blends in 35mm slides. => Enhanced functionality and
- application of PostScript printers in a variety of different environments.
-
- Patterns
- --------
-
- + The new pattern color space provides the ability to establish a
- pattern as the current color. Subsequent use of operators such as
- fill, stroke, and show apply "paint" that is produced by replicating
- (or tiling) a small graphical figure called a pattern cell at fixed
- intervals in x and y to cover the areas to be painted. The
- appearance of a pattern cell is defined by a PostScript language
- procedure, which can include any arbitrary graphics, text, and
- sampled images. The shape of the pattern cell need not be
- rectangular, and the spacing of tiles can differ from the size of
- the pattern cell. => Enhanced functionality, performance, convenience.
-
- + For efficiency, the representation of the pattern cell may be
- cached. When cached, the execution of the procedure that defines the
- pattern need be done only once for the current pattern. The pattern
- cache is similar to the font cache. => Performance.
-
- + Multiple colors can be specified in the pattern or the pattern can
- be used as a mask to paint a color defined in some other color space.
- => Enhanced functionality
-
- + For display environments, this feature will allow patterns to be
- represented in a resolution independent manner. Until now, patterns
- have typically been represented by arrangements of pixels. This
- resolution-dependent representation does not work well when trying
- to image the pattern at a variety of different resolutions.
-
- Images
- ------
-
- + There are several enhancements to the facilities for painting
- sampled images: use of any color space, 12-bit component values,
- direct use of files as data sources, and additional decoding and
- rendering options. => Convenience, performance, quality.
-
- Composite Fonts
- ---------------
-
- + Provides the basic machinery for non-Roman character sets. Enables
- the encoding of very large character sets and non-horizontal writing
- modes. => Enhanced functionality.
-
- + Provides a page description language for international business.
- Composite font technology makes printers more international. The
- same font technology can be used worldwide, and will provide support
- for companies that must work in today's international business
- environment. => Enhanced functionality.
-
- + Advantages not limited to foreign languages - also useful for
- strictly Roman printers: allows the creation of a single composite
- font that combines two or more fonts. For example, you may wish to
- combine a textual font (such as Times-Roman) with a graphical font
- (such as Zapf-Dingbats), and have all characters at their disposal
- within a single font. Other uses of composite fonts: IBM extended
- character set, and expert sets (such as Adobe Garamond). => Enhanced
- functionality and increased performance by minimizing
- switching between fonts.
-
- New Color Spaces
- ----------------
-
- + CMYK color model and support for color images. Enhanced
- functionality. This will encourage more ISVs to use the color
- operators, because the operators will be widely available (The
- printer itself may not be able to print in color, but the PostScript
- language program won't generate errors when the operators for CMYK
- color are used.)
-
- + PostScript Level 2 supports several device-independent color
- spaces based on the CIE 1931 (XYZ)-space. CIE-based color
- specification enables a page description to specify color in a way
- that is related to human visual perception. The goal of the CIE
- standard is that a given CIE-based color specification should
- produce consistent results on different color output devices,
- independent of variations in marking technology, ink colorants, or
- screen phosphors. True device-independent color specification.
- Improved color matching between devices.
-
- + PostScript Level 2 supports three classes of color spaces: device
- independent, special, and device dependent.
-
- The following device independent color spaces are standard:
-
- The CIEBasedABC color space is defined in terms of a two-stage, non-
- linear transformation of the CIE 1931 (XYZ)-space. The formulation
- of the CIEBasedABC color space models a simple zone theory of color
- vision, consisting of a non-linear trichromatic first stage combined
- with a non-linear opponent color second stage. This formulation
- allows colors to be digitized with minimum loss of fidelity; this
- is important in sample images.
-
- Special cases of CIEBasedABC include a variety of interesting and
- useful color spaces, such as the CIE 1931 (XYZ)-space, a class of
- calibrated RGB spaces, a class of opponent color spaces such as the
- CIE 1976 (L*a*b*)-space and the NTSC, SECAM, and PAL television
- spaces.
-
- The CIEBased A color space is a one-dimensional and usually
- achromatic analog of CIEBasedABC.
-
- The following special color spaces are standard:
-
- The Pattern color space enables painting with a "color" defined as
- a pattern, a graphical figure used repeatedly to cover the areas
- that are to be painted. See the discussion of patterns for more
- information.
-
- The Indexed color space provides a way to map from small integers
- to arbitrary colors in a different color space such as a device
- independent color space.
-
- The Separation color space provides control over either the
- production of a color separation or the application of a device
- colorant, depending on the nature and configuration of the device.
-
- The following device dependent color spaces are standard:
-
- The DeviceGray color space is equivalent to the existing PostScript
- language's gray color model.
-
- The DeviceRGB color space is equivalent to the existing PostScript
- language's red-green-blue (RGB) color model.
-
- The DeviceCMYK color space is equivalent to the existing PostScript
- language's cyan-magenta-yellow-black (CMYK) color model.
-
- New screening/halftoning technology
- -----------------------------------
-
- + Improved algorithms for determining the angles and frequencies
- used for halftone screens. The improvements fall into two primary
- categories: general improvements, and improvements specific to
- color separations.
-
- + General improvements: (1) The new algorithms yield a 10%
- improvement in the speed of the setscreen and image operators; (2)
- Earlier version of PostScript software could produce halftone
- screens only for certain angle and frequency combinations. Enough
- of these combinations were available so that any requested screen
- could be fairly well approximated by one of the available angle and
- frequencey combinations. In contrast, the improved halftoning
- algorithms can provide as much as a ten-fold increase in the number
- of angle-frequency combinations that are available, depending on the
- device resolution and the available memory. => Increased performance
- and higher quality halftone screens.
-
- + Improvements specific to color separations: An additional
- feature is available that enables PostScript software to generate
- extremely accurate screen angles and frequencies. The screens
- produced by this method can achieve an angular accuracy of within
- 05 degrees or better, depending on such parameters as exact screen
- angle requested, device resolution, and memory available for use by
- the algorithm. => Extremely high-quality color separations that
- approach the quality that previously was available only from high-end,
- color electronic pre-press systems.
-
- Improved printer support features
- ---------------------------------
-
- + Page device setup provides a device independent framework for
- specifying the requirements of a page description and for
- controlling both standard features, such as the number of copies,
- and optional features, such as duplex printing, paper trays, paper
- sizes, and other peripheral features.
-
- + Applications developers will be able to write a single driver for
- a variety of different PostScript printers. The same code can be
- used to address printer specific features whether the features exist
- in the printer or not. If the feature is not in the printer, the
- application can decide how to best respond to the lack of the
- feature. => Enhanced functionality. ISVs benefit by having a more uniform
- method for accessing printer specific features. End users benefit
- by having software that will take advantage of their printer's
- features.
-
- Interpreter parameters
- ----------------------
-
- + Administrative operations, such as system configuration and
- changing input-output device parameters, are now organized in a more
- systematic way. Allocation of memory and other resources for
- specific purposes is under software control. For example, there are
- parameters controlling the maximum amount of memory to be used for
- VM, font cache, pattern cache, and halftone screens. => Flexibility.
-
- Resources
- ---------
-
- + A resource is a collection of named objects that either reside in
- VM or can be located and brought into VM on demand. There are
- separate categories of resources with independent name spaces - for
- example, fonts and forms are distinct resource categories.
-
- + The language includes convenient facilities for locating and
- managing resources.
-
- Dictionaries
- ------------
-
- + Many Level 2 operators expect a dictionary operand that contains
- key-value pairs specifying parameters to the operator. Language
- features controlled in this way include halftones, images, forms,
- patterns, and device setup. This organization allows for optional
- parameters and future extensibility. For convenience in using such
- operators, the PostScript language syntax includes new tokens, << and
- >>, to construct a dictionary containing the bracketed key-value
- pairs. => Convenience, extensibility.
-
- *** What's the feedback from Adobe's OEMs on PostScript Level 2?
-
- The feedback has been overwhelmingly positive. We have always
- believed that we are taking our OEMs, ISVs and end users best
- interests into account in moving forward with the PostScript
- language. The feedback we have received so far confirms that we are
- doing the right thing on all fronts.
-
- *** How much ROM/RAM will it take for a Level 2 printer?
-
- As is true with our current implementations, RAM/ROM requirements
- will vary from one device to the next depending on the specific
- capabilities of each device. However, our estimates put the code
- size at approximately 1.5 Mb of ROM (for CISC processors), and 1.5
- Mb of RAM, minimum.
-
- *** When will Level 2 products be available?
-
- The first Level 2 products should be available in early 1991. Exact
- product delivery dates will be announced by our OEMs as usual.
-
- *** What about existing PostScript printers? Are they obsolete?
-
- The current generation of PostScript printers (which you could think
- of as PostScript Level 1) will not become obsolete because of Level
- 2 products. Think of Level 1 and Level 2 printers as a family of
- products, each having its own set of features to suit the needs of
- a particular customer. While we will continue to support and build
- Level 1 products (based on our OEM's demands) we think that over the
- next 12-18 months most of our OEMs will begin providing PostScript
- Level 2 products.
-
- *** Are Level 1 and Level 2 implementations compatible?
-
- All existing programs that run on today's PostScript printers will
- run on a Level 2 device. That is, PostScript Level 2 is upward
- compatible with the existing installed base of printers and print
- drivers. However, it is not 100 % backward compatible. A file
- written specifically to take advantage of some Level 2 features will
- not run on a Level 1 printer because some functionality cannot be
- emulated. Most Level 2 features can be emulated on a Level 1 printer
- and an intelligent driver can conditionally use Level 2 features
- when available, and fall back on Level 1 operators when not. The new
- red book will include an appendix that will help ISVs deal
- specifically with compatibility issues.
-
- *** When will the new red book be available?
-
- A new version of the red book, called the PostScript Language
- Reference Manual, Second Edition, will be published by Addison-
- Wesley in December 1990.
-
- *** How is Adobe positioning PostScript Level 2?
-
- Adobe is positioning PostScript Level 2 as an integral part of a
- total system solution for printing and display environments.
- PostScript Level 2 software provides the foundation for Adobe's OEMs
- to implement an entire spectrum of products from low-cost desktop
- laser printers for office-automation to high-resolution
- imagesetters for producing color separations.
-
- Let's put PostScript Level 2 in perspective with respect to the
- overall printing solution. The effectiveness and performance of any
- particular printing solution is affected by four main elements:
-
- + Driver: Each major system software environment (Macintosh,
- Windows, OS/2 Presentation Manager, NeXT) has a built-in PostScript
- language driver. These system level drivers ensure that all
- applications running in the environment can output to PostScript
- printers. These drivers do not always produce the most efficient
- PostScript language programs, and may not support the wide variety
- of features available in the language or specific hardware features
- in a PostScript printer.
-
- + Language: The PostScript language as defined in the PostScript
- Language Reference Manual (the "red book") is the standard today.
-
- + Communications: AppleTalk, parallel, and serial communications
- are the most commonly used interfaces with PostScript printers
- today.
-
- + Controller: Today, most Adobe PostScript printers are based on a
- variety of controllers: Scout (68000), Atlas (68020), and Atlas
- Plus (68030). In addition, there are a number of custom controller
- solutions offered by our OEMs.
-
- Total system throughput is a function of all four elements. An
- efficient driver can produce PostScript page descriptions that print
- much faster; speed increases of 2-3x over an inefficient driver are
- not uncommon. Communications bottlenecks can account for a majority
- of the time it takes to print a page; a very large scanned image can
- take minutes to transmit to the printer, even using AppleTalk. And
- of course, the speed of the controller itself has a direct impact
- on the time it can take to print a page. However, the limiting factor
- is ultimately the rated engine speed of the output device.
-
- PostScript Level 2 is one componto exTha total systems solution
- being assembled by Adobe:
-
- + Adobe is developing drivers for the Macintosh, Windows 3.0, and
- OS/2 Presentation Manager environments. These drivers will take full
- advantage of the features and performance enhancements in PostScript
- Level 2 printers as well as existing PostScript printers.
-
- + PostScript Level 2 extends the PostScript language with new
- operators to improve performance and provide additional
- functionality to address the need of end users and ISVs.
-
- + PostScript Level 2 includes a variety of file compression
- techniques that can be used to reduce the amount of information sent
- (and hence the time to do so) to the PostScript printer.
-
- + Adobe is developing new controllers based on the latest RISC
- technology which are up to 22 times faster than current controllers.
- In addition, these controllers provide our OEMs the potential for
- providing direct SCSI input and Ethernet connections for increased
- throughput.
-
- (C) 1990 Adobe Systems Incorporated. All rights reserved.
- PostScript, Display PostScript, and Adobe are trademarks of Adobe
- Systems Incorporated registered in the U.S. All other product names
- are trademarks or registered trademarks of their respective holders.
-