Errata for PostScript Language Reference, third edition
and for PostScript 3 version 3010 and 3011 Product Supplement
-----------------

Copyright (c) 2000 Adobe Systems Incorporated. All rights reserved.
Last modified: 8 December 2000

General
-------

The former Tech Note 5085 contained errata that applied to PostScript
Language Reference, second edition. All of those errata were
incorporated into the third edition and do not appear here.

Some of the Red Book errata given here also appear in Appendix E of
the 3010 and 3011 Supplement.


========
Red Book
========

Chapter 2
---------

Chapter 3
---------

Page 135, Table 3.18, there should be an additional row, immediately
preceding the last row that emits EOD. The input sequence is 66, the
output code is 66, and no code is added to the table (since there is
no next input character).

Page 136, near top, the encoded result should be:

 80 0B 60 50 22 0C 0C 85 01

In the next paragraph, "9-bit codes" should be "(UnitLength+1)-bit
codes".

Page 137, near top, the first encoded result should be:

 80 0B 60 50 22 0C 0C 85 01

The second encoded result should be:

 00 5B 08 14 18 64 20 04 68


Chapter 4
---------

* Page 212, figure 4.5: There is an extraneous horizontal line between
CIEBasedDEFG and DeviceRGB.

* Page 250, last full paragraph, following "...to fill an area." insert:
"The order in which the tiles are painted is unspecified and
unpredictable."

* Pages 284-7: The following rather extensive corrections are needed in
the specification of tensor-product patches. [The corrected material
also appears in PDF Reference, second edition, pages 239-242.]

The table above Figure 4.20 should be:

P03 P13 P23 P33
P02 P12 P22 P32
P01 P11 P21 P31
P00 P10 P20 P30

Figure 4.20 should be altered accordingly to relabel all the control
points according to the above table.

At the top of page 285, "row i and column j" should be changed to
"column i and row j".

In the paragraph below the equations on page 285, all of the pij
should have their i and j subscripts interchanged. All instances of
"bottom" should be changed to "top" and vice versa.

The four equations near the top of page 286 should be:

P11 = S(1/3, 1/3)
P12 = S(1/3, 2/3)
P21 = S(2/3, 1/3)
P22 = S(2/3, 2/3)

The table on page 286 that gives the order of specifying the control
points should be:

4  5  6  7
3 14 15  8
2 13 16  9
1 12 11 10

Finally, all of the xij, yij, and cij in Table 4.19 should have their
i and j subscripts interchanged. Thus, the first sequence (f = 0)
should be:

x00 y00 x01 y01 x02 y02 x03 y03 x13 y13 x23 y23 x33 y33 x32 y32
x31 y31 x30 y30 x20 y20 x10 y10 x11 y11 x12 y12 x22 y22 x21 y21
c00 c03 c33 c30

* Page 303, end of first bullet: Append the following: "(The actual
interpretation of Decode for masks is that polarity is true if the
first element of Decode is greater than the second; it is false
otherwise.)"

* Page 305, table 4.22, InterleaveType: Append the following to the
description of code 3:

 The data source for the mask samples must be independent of the data
 source(s) for the image samples; they are read at unpredictable
 times with respect to each other. This is the case even if the width
 and height of the mask and image are the same. (However, if the
 image has MultipleDataSources true and all data sources are
 procedures, the image procedures will be called in a predictable way
 with respect to each other, as described in Section 4.10.2, and all
 the image procedures will be called in order without a call of the
 mask procedure intervening.)

* Page 307, MaskColor: The color component values must lie within the
range 0 to 2^BitsPerComponent - 1.

Chapter 5
---------

* Page 344, example 5.7: Change "%%DocumentNeedResources" to
"%%DocumentNeededResources".

* Page 349, last paragraph, first sentence: Change "two or more other
characters" to "two other characters".

Chapter 6
---------

Page 427, following first paragraph after table, append: "Note: The
page device's default Install procedure establishes the default
device-dependent graphics state parameters that are appropriate for
the device. If a PostScript program replaces the Install procedure,
the replacement procedure should call the original procedure as part
of its execution. Otherwise, some parameters may not be initialized
properly."

Pages 447-9, Table 6.13, add the following trapping parameter, which
was omitted inadvertently:

HalftoneName   name or null   (Optional) Name of a Halftone resource
with which to mark traps. It is recommended that the resource be
defined in global VM. The Halftone resource may be used at
unpredictable times, including at a lower save level than the current
save level. If the entry is null or undefined, the halftone in effect
just before the traps are marked will be used, which may create
unexpected results.

Chapter 7
---------

Chapter 8
---------

Page 542, clip: Change "the order of its segments" to "the direction
and order of its segments".

Page 552, cshow: Add stringwidth and charpath to the See Also list.
(This is to indicate that the special glyph selection process applies
to those operators as well as the ones having "show" in their names.)

Page 553, currentcmykcolor: Change the last bullet to: "For any other
color space, currentcmykcolor returns the color value 0 0 0 1."

Page 557, currentfont: Append the following:

The current font may be a descendant base font or CIDFont of a
composite font that has been transformed by makefont, scalefont, or
selectfont. As discussed in section 5.10.3 on p. 364, those operators
do not transform the descendant base fonts or CIDFonts. In that
situation, currentfont returns a copy of the original base font or
CIDFont whose FontMatrix has been transformed appropriately to reflect
the transformation previously performed on the parent composite font.

Page 620, languagelevel: change "returns an integer" to "is an
integer".

Page 625, makepattern: This description needs to be revised to apply
to shading patterns (PaintType 2) in addition to tiling patterns
(PaintType 1). Essentially, the semantics are the same except for the
actions having specifically to do with pattern cells and tiling.

Page 700, stroke, following the second paragraph, insert: "Note that
the above rule applies only to zero-length subpaths of the path being
stroked, and not to zero-length dashes in a dash pattern. In the
latter case, the line caps are always painted, since their orientation
is determined by the direction of the underlying path."

Page 716, version: change "returns a string" to "is a read-only string
object".

Appendix A
----------

Page 735, second bullet: "the source dictionary's attribute" should be
"the source dictionary's access attribute".

Appendix B
----------

Appendix C
----------

Appendix D
----------

Appendix E
----------

Appendix F
----------

Appendix G
----------

Bibliography
------------

Page 811, the correct URL for the Adobe Developer Relations web site is
now:

<http://partners.adobe.com/asn/developer/>

Index
-----

Page 871, second column (and probably elsewhere): Entries for pathbox
and setbox should be pathbbox and setbbox.


==========
Supplement
==========

Chapter 5
---------

Page 77, bottom: Should also cite Tech Note 5176, Compact Font Format
Specification. Note that this kind of CIDFont dictionary (like Type 2
and 14 fonts) is generated automatically from a CFF font set; there is
no way for a PostScript program to define such a font directly.
Certain entries that would normally be present in a Type 0 CIDFont,
such as GDBytes, FDBytes, and CIDMapOffset, are not relevant to a CFF
CIDFont and are not present; other (undocumented) entries may be
present.

Page 80: Note that the two-byte metrics obtained from the glyph
description have their high-order byte first and are interpreted as
unsigned integer values in glyph space.

Pages 80-81: This description incorrectly states the precedence of the
various sources of glyph metric information. In fact, the Metrics,
Metrics2, or CDevProc entries, if present, will override the metrics
obtained from the font itself, regardless of whether those metrics
came from the "vmtx" table or from the bytes at the beginning of a
glyph description.