Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z - Internet FAQ Archives

PostScript monthly FAQ v2.4 07-18-95 [11 of 11]

( Part11 - Part12 - Part13 - Part14 - Part15 - Part16 - Part17 - Part18 - Part19 - Part20 - Part21 )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Neighborhoods ]
-- PostScript --

See reader questions & answers on this topic! - Help others by sharing your knowledge
                            Answers to Questions 

                    (the comp.lang.postscript FAQ v2.4) 

                              Allen Braunsdorf 


                     This FAQ is formatted as a digest. 

                Most news readers can skip from one question 

                to the next by pressing control-G. GNUs uses 

                   C-c C-n to skip to the next question. 

    Changes since the last version are marked with a '|' in the table 
    of contents and in the sections in the text-only format of the FAQ. 

    Now that there is Linux and NetBSD and BSD 386 UNIX IBM PC (and 
    clone) users can run any of the X-windows and UNIX programs in the 
    utilities section. See any of comp.os.linux.{ 
    admin,development,help,misc}. Also, there is now GhostScript for 
    the Macintosh. 

    Many thanks to Dan Carrigan for reformatting the books and 
    publishers section. 

    The utilities index from the comp.sources.postscript FAQ will be 
    posted in comp.lang.postscript now too. 

    Please help fix the FAQ! All comments should be mailed to My favorite way to receive a change 
    suggestion is when it is accompanied by a section of the FAQ that 
    is edited and mailed to me verbatim as an example. If you would 
    like to contribute, please read the section ``about the FAQ'' 
    first. Thank you! 

    Books and programs are referred to by name only. See the book 
    sections for book information, and the comp.sources.postscript FAQ 
    for a full list of all PostScript related programs. I have archived 
    a number of the small utilities in You can get the 
    comp.sources.postscript FAQ from 

    Related FAQs: comp.text, comp.text.tex, comp.fonts,, 
    comp.sys.mac.apps, comp.sources.postscript. 

    11 About PostScript 2 

    11.1 What printers support Level 2 PostScript? 

    * Apple LaserWriter IIf 

    * Apple LaserWriter IIg 

    * Apple LaserWriter Pro 600 (with ram upgrade to get 600 DPI) 

    * Apple LaserWriter Pro 630 (True 600 DPI) 

    * Apple Personal LaserWriter NTR 

      Apple sells an upgrade to the IINTX to turn it into a IIf/IIG for 

    * Compaq PAGEMARQ 20 

    * Compaq PAGEMARQ 15 

    * Data Products LZR 960 

    * Data Products LZR 1560 

    * DEClaser 1152 

    * Hewlett-Packard PostScript CartridgePlus, which works with the HP 
      Laserjet III, IIID, and IIIP. 

    * Hewlett-Packard LaserJet 4M 

    * NEC SilentWriter 95 

    * QMS 1725 Print System 

    * QMS 860 ``Hammerhead'' 

    * QMS ColorScript 210 and 230 

    * Tektronix Phaser III PXi 

    * Tektronix Phaser II (all models) 

    * Tektronix Phase 200e 

    * Texas Instruments microLaser Turbo 

    * Texas Instruments microLaser XL Turbo 

    This rest of file contains a description of PostScript 2 written by 
    Carl Orthlieb from Adobe. The text has not been changed, but some 
    paragraphs have been deleted for brevity. Comments by me are in 
    square brackets, and these were not written by Adobe. 

    11.2 What is PostScript Level 2? 

    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. 

    PostScript Level 2 integrates the original PostScript language, all 
    previous language extensions, and new language features into the 
    core PostScript language imaging model. 

    11.3 [ Color Extensions ] 

    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. 

    11.4 [ Composite Font Extensions ] 

    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 

    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. 

    11.5 [ Display PostScript Extensions ] 

    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 
    [ (and printers) ] . 

    11.6 [ Overview of Level 2 Features ] 

    11.7 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. Benefits: Reduced storage requirements, greater 

    * 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). Benefits: 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). Benefits: Improved performance due to reduced 
      transmission times. PostScript files on disk can also be made 
      much smaller, saving disk space. 

    11.8 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. 
    Benefits: performance, compactness. 

    11.9 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. Benefits: performance and 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. Benefits: 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.) Benefits: Performance, convenience, enhanced 

    * 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. Benefits: 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. Benefits: Performance, convenience, improved 

    11.10 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. 
      Benefits: 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. 
      Benefits: Performance, convenience. 

    11.11 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. Benefits: 
      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. Benefits: 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. Benefits: Enhanced 
      functionality and application of PostScript printers in a variety 
      of different environments. 

    11.12 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. Benefits: 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. Benefits: 

    * 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. Benefits: 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 

    11.13 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. Benefits: Convenience, performance, quality. 

    11.14 Composite Fonts 

    * Provides the basic machinery for non-Roman character sets. 
      Enables the encoding of very large character sets and 
      non-horizontal writing modes. Benefits: 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. Benefits: 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). Benefits: Enhanced functionality and increased 
      performance by minimizing switching between fonts. 

    11.15 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 

    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 

    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 

    11.16 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 frequency 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. 
      Benefits: Increased performance and higher quality halftone 

    * 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. Benefits: Extremely high-quality color 
      separations that approach the quality that previously was 
      available only from high-end, color electronic pre-press systems. 

    11.17 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. Benefits: 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. 

    11.18 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. Benefits: 

    11.19 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. 

    11.20 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. 
    Benefits: Convenience, extensibility. 

    11.21 When did Level 2 products come available? 

    The first Level 2 products were available in early 1991. Level 2 
    printers will soon be much more common. 

    11.22 Are Level 1 and Level 2 implementations compatible? 

    [ Mostly, but not fully. The incompatibilities are of sufficient 
    magnitude that when QMS introduced its first Level 2 compatible 
    printer, it provided a ``Level 1'' mode for backward compatibility, 
    for handling jobs which wouldn't run in Level 2. This should not be 
    taken as too much of a criticism...some of the incom- patibilities 
    from Level 1 to Level 2 involved fixing design mistakes in Level 1, 
    or tightening up definitions which had been loose in Level 1 (where 
    careless application writers had made use of the looseness, writing 
    not to the language specification but to particular 
    implementations.) ] 

    (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 

User Contributions:

Comment about this article, ask questions, or add new information about this topic:

Part11 - Part12 - Part13 - Part14 - Part15 - Part16 - Part17 - Part18 - Part19 - Part20 - Part21

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer: (PostScript FAQ comments address)

Last Update March 27 2014 @ 02:12 PM