PostScript(R) Language Reference (3rd Edition)
โ Scribed by Adobe Systems Inc.
- Publisher
- Addison-Wesley Professional
- Year
- 1999
- Tongue
- English
- Leaves
- 912
- Edition
- 3rd
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
If you are going to be working with PostScript you will need this book (widely refered to as the "Red Book.")
It is indeed THE reference for PostScript, but the organizational aspects of the book itself are a bit confusing until you understand some PostScript fundementals and have a grasp for some oddball "Adobeisms."
In addition to this book I've always made a habit of leveraging the "suppliments" released for each version of an interpreter.
For example, PostScript level 2 actually consists of several versions of level 2 interpreter (2011, 2015, etc) all of which have associated supplements describing specific features supported (or not.) The supplements are available for download from Adobe's developer side of their web site (they are often far smaller than the Red Book, and absolutely indespensible.)
Additionally, each manufacturer who OEMs an Adobe interpreter sometimes release documentation pertaining to which specific features within an interpreter version are supported, and how.
For example, companies often develop specialized applications built upon frameworks provided by Adobe in an interpreter version. Understanding the customized PostScript commands for these applications enables you to take full advantage of them.
Either way, buy the book. Don't waste your time downloading it. Sure, that's "tree friendly" but we all know it will end up getting printed anyway.
โฆ Table of Contents
Contents......Page 3
Figures......Page 7
Tables......Page 9
Preface......Page 13
Introduction......Page 15
1.1 About This Book......Page 17
1.2 Evolution of the PostScript Language......Page 19
1.3 LanguageLevel3 Overview......Page 20
1.4.1 The Supplement......Page 21
1.4.3 Document Structure......Page 22
1.5 Copyrights and Trademarks......Page 23
2.1 Raster Output Devices......Page 25
2.2 Scan Conversion......Page 26
2.3 Page Description Languages......Page 27
2.3.2 Static versus Dynamic Formats......Page 28
2.4.1 The Interpreter......Page 29
2.4.2 Program Structure......Page 31
2.4.3 Translating from Other Print Formats......Page 32
2.4.4 Using the Interpreter Interactively......Page 33
Language......Page 37
3.1 Interpreter......Page 38
3.2.1 Scanner......Page 39
3.2.2 ASCII Encoding......Page 40
Comments......Page 41
Numbers......Page 42
Literal Text Strings......Page 43
Hexadecimal Strings......Page 44
Names......Page 45
Procedures......Page 46
Dictionaries......Page 47
3.3.1 Simple and Composite Objects......Page 48
3.3.2 Attributes of Objects......Page 49
Literal and Executable......Page 50
3.3.3 Integer and Real Objects......Page 51
3.3.5 Array Objects......Page 52
3.3.7 String Objects......Page 53
3.3.8 Name Objects......Page 54
3.3.9 Dictionary Objects......Page 55
3.3.10 Operator Objects......Page 56
3.3.11 File Objects......Page 57
3.3.14 Save Objects......Page 58
3.4 Stacks......Page 59
3.5.1 Immediate Execution......Page 60
3.5.3 Deferred Execution......Page 61
3.5.4 Control Constructs......Page 63
3.5.5 Execution of Specific Types......Page 64
3.6.1 Stack Operators......Page 65
3.6.3 Array, Packed Array, Dictionary, and String Operators......Page 66
3.6.5 Control Operators......Page 69
3.7 Memory Management......Page 70
3.7.1 Virtual Memory......Page 71
3.7.2 Local and Global VM......Page 73
3.7.3 Save and Restore......Page 75
3.7.4 Garbage Collection......Page 77
3.7.5 Standard and User-Defined Dictionaries......Page 79
3.7.6 User Objects......Page 81
3.7.7 Job Execution Environment......Page 82
Server Operation......Page 83
Altering Initial VM......Page 84
exitserver......Page 86
3.8.1 Basic File Operators......Page 87
End-of-Line Conventions......Page 88
Communication Channel Behavior......Page 90
3.8.2 Named Files......Page 91
Creating and Closing a File Object......Page 93
3.8.3 Special Files......Page 94
3.8.4 Filters......Page 96
Creating Filters......Page 97
Standard Filters......Page 98
3.9 Named Resources......Page 101
3.9.1 Resource Operators......Page 102
3.9.2 Resource Categories......Page 104
Font......Page 107
Encoding......Page 108
ProcSet......Page 109
ColorRendering......Page 110
ControlLanguage, PDL, Localization, and HWOptions......Page 111
Implicit Resources......Page 112
3.9.3 Creating Resource Categories......Page 113
Category Implementation Dictionary......Page 114
Generic Category......Page 116
3.9.4 Resources as Files......Page 117
3.10 Functions......Page 120
3.10.1 Function Dictionaries......Page 121
Type 0 Function Dictionaries (Sampled Functions)......Page 122
Type 2 Function Dictionary (Exponential Interpolation Functions)......Page 126
Type 3 Function Dictionaries (Stitching Functions)......Page 127
3.11 Errors......Page 128
3.11.2 Error Handling......Page 129
3.12 Early Name Binding......Page 131
Operator Substitution......Page 132
Idiom Recognition......Page 133
3.12.2 Immediately Evaluated Names......Page 135
3.13.1 Data Sources and Targets......Page 137
Procedures......Page 138
3.13.2 End-of-Data and End-of-File......Page 140
Decoding Filters......Page 141
Encoding Filters......Page 142
3.13.3 Details of Individual Filters......Page 143
ASCII85Decode Filter......Page 144
ASCII85Encode Filter......Page 145
LZWDecode Filter......Page 146
LZWEncode Filter......Page 147
UnitLength and LowBitFirst......Page 150
FlateEncode Filter......Page 151
Comparison of LZW and Flate Encoding......Page 152
Predictor Functions......Page 153
RunLengthEncode Filter......Page 156
CCITTFaxEncode Filter......Page 157
DCTDecode Filter......Page 160
DCTEncode Filter......Page 161
SubFileDecode Filter......Page 165
ReusableStreamDecode Filter......Page 167
3.14 Binary Encoding Details......Page 170
3.14.1 Binary Tokens......Page 172
Encoded System Names......Page 174
Homogeneous Number Arrays......Page 175
3.14.2 Binary Object Sequences......Page 177
3.14.3 Encoded System Names......Page 182
3.14.4 Number Representations......Page 183
3.14.5 Encoded Number Strings......Page 185
3.14.6 Structured Output......Page 186
Graphics......Page 189
4.1 Imaging Model......Page 190
4.2 Graphics State......Page 192
4.3.1 User Space and Device Space......Page 196
4.3.2 Transformations......Page 198
4.3.3 Matrix Representation and Manipulation......Page 201
4.4 Path Construction......Page 203
4.4.1 Current Path......Page 204
4.4.2 Clipping Path......Page 206
4.5.1 Stroking......Page 207
4.5.2 Filling......Page 208
Nonzero Winding Number Rule......Page 209
4.5.3 Insideness Testing......Page 210
4.6 User Paths......Page 211
4.6.1 User Path Construction......Page 212
4.6.2 Encoded User Paths......Page 214
4.6.3 User Path Cache......Page 216
4.6.4 User Path Operators......Page 218
4.6.5 Rectangles......Page 219
4.7 Forms......Page 220
4.7.1 Using Forms......Page 221
4.8.1 Types of Color Space......Page 224
4.8.2 Device Color Spaces......Page 230
DeviceRGB Color Space......Page 231
DeviceCMYK Color Space......Page 232
DeviceGray Color Space......Page 233
4.8.3 CIE-Based Color Spaces......Page 234
CIEBasedABC Color Spaces......Page 235
CIEBasedA Color Spaces......Page 242
CIEBasedDEF and CIEBasedDEFG Color Spaces......Page 246
Remapping Device Colors to CIE......Page 251
Pattern Color Space......Page 252
Indexed Color Space......Page 253
Separation Color Spaces......Page 255
DeviceN Color Spaces......Page 259
4.8.5 Overprint Control......Page 261
4.9 Patterns......Page 262
4.9.1 Using Patterns......Page 263
4.9.2 Tiling Patterns......Page 264
PaintProc Procedure......Page 267
Colored Tiling Patterns......Page 268
Uncolored Tiling Patterns......Page 271
4.9.3 Shading Patterns......Page 273
Shading Dictionaries......Page 275
Color Space: Special Considerations......Page 277
Type1 (Function-Based) Shadings......Page 279
Type2 (Axial) Shadings......Page 280
Type3 (Radial) Shadings......Page 281
Type4 Shadings (Free-Form Gouraud-Shaded Triangle Meshes)......Page 284
Type5 Shadings (Lattice-Form Gouraud-Shaded Triangle Meshes)......Page 288
Type6 Shadings (Coons Patch Meshes)......Page 291
Type7 Shadings (Tensor-Product Patch Meshes)......Page 297
4.10 Images......Page 302
4.10.1 Image Parameters......Page 303
4.10.2 Sample Representation......Page 304
4.10.3 Source Coordinate System......Page 307
4.10.4 Images and Color Spaces......Page 310
Type1 Image Dictionaries......Page 311
Sample Decoding......Page 313
4.10.6 Masked Images......Page 315
Stencil Masking......Page 316
Explicit Masking......Page 317
Color Key Masking......Page 321
4.10.7 Using Images......Page 322
Monochrome Image......Page 323
Color Image with Single Source......Page 324
Image Dictionary......Page 325
5.1 Organization and Use of Fonts......Page 327
5.1.1 The Basics of Showing Text......Page 328
5.1.2 Selecting Fonts......Page 330
5.1.3 Achieving Special Graphical Effects......Page 332
5.1.4 Glyph Positioning......Page 334
5.2 Font Dictionaries......Page 335
5.2.1 Entries in Font Dictionaries......Page 338
5.3 Character Encoding......Page 342
5.4 Glyph Metric Information......Page 345
5.5 Font Cache......Page 347
5.6 Unique ID Generation......Page 349
5.6.1 Unique ID Numbers......Page 350
5.7 Type3 Fonts......Page 351
5.7.1 BuildGlyph......Page 352
5.7.2 BuildChar......Page 354
5.7.3 Example of a Type3 Font......Page 355
5.8.1 Type2 and Type14 Fonts (CFF and Chameleon)......Page 357
FontSet Resources......Page 358
Accessing CFF and Chameleon Fonts in a PostScript Program......Page 359
5.8.2 Type42 Fonts (TrueType)......Page 360
5.9 Font Derivation and Modification......Page 362
5.9.1 Changing the Encoding Vector......Page 363
5.9.2 Changing Glyph Metrics......Page 364
5.9.3 Replacing or Adding Individual Glyphs......Page 365
5.9.4 Subsetting and Incremental Definition of Glyphs......Page 366
General Considerations......Page 367
Incremental Definition of Type42 Fonts......Page 369
5.10 Composite Fonts......Page 371
5.10.1 Character Mapping......Page 372
SubsVector Mapping......Page 374
5.10.2 Other Dictionary Entries for Type0 Fonts......Page 376
5.10.3 Nested Composite Fonts......Page 377
5.11 CID-Keyed Fonts......Page 378
5.11.1 The Basics of CID-Keyed Fonts......Page 379
5.11.2 CIDSystemInfo Dictionaries......Page 381
5.11.3 CIDFont Dictionaries......Page 382
Type0 CIDFonts......Page 385
GlyphDirectory for Type0 CIDFonts......Page 389
Type1 CIDFonts......Page 390
Type2 CIDFonts......Page 391
Type4 CIDFonts......Page 393
Operators for Type 4 CIDFonts......Page 395
5.11.4 CMap Dictionaries......Page 396
CMap Operators in the CIDInit Procedure Set......Page 398
CMap Example......Page 399
5.11.5 FMapType9 Composite Fonts......Page 401
CMap Mapping......Page 402
Handling Undefined Characters......Page 403
Device Control......Page 405
6.1 Using Page Devices......Page 407
6.1.1 Page Device Dictionary......Page 408
6.1.2 Details Dictionaries......Page 411
6.2.1 Media Selection......Page 412
Matching Requests with Attributes......Page 417
Special Media Handling......Page 421
Managing the InputAttributes Dictionary......Page 422
Deferred Media Selection......Page 425
6.2.2 Roll-Fed Media......Page 426
6.2.3 Page Image Placement......Page 427
6.2.4 Page Delivery......Page 430
6.2.5 Color Support......Page 433
Process Color Model......Page 436
Separations and Device Colorants......Page 438
6.2.6 Device Initialization and Page Setup......Page 440
6.2.7 Unsatisfied Parameter Requests......Page 446
Recovery Policies and Media Selection......Page 450
PolicyReport Procedure......Page 452
6.3 In-RIP Trapping......Page 453
6.3.1 Trapping Details Dictionary......Page 455
6.3.2 Trapping Zones......Page 459
6.3.3 Trapping Parameters......Page 460
Normal Trapping Rule......Page 463
Black Trapping Rule......Page 465
Sliding Traps......Page 466
Image Trapping......Page 467
Zone-Specific Colorant Details......Page 468
6.4 Output Device Dictionary......Page 469
Rendering......Page 471
7.1 CIE-Based Color to Device Color......Page 473
7.1.1 CIE-Based Color Rendering Dictionaries......Page 474
7.1.2 Type1 Color Rendering Dictionary......Page 475
7.1.3 Rendering Intents......Page 483
Customizing CRD Selection......Page 486
7.2 Conversions among Device Color Spaces......Page 487
7.2.1 Conversion between DeviceRGB and DeviceGray......Page 488
7.2.3 Conversion from DeviceRGB to DeviceCMYK......Page 489
7.2.4 Conversion from DeviceCMYK to DeviceRGB......Page 491
7.3 Transfer Functions......Page 492
7.4 Halftones......Page 494
7.4.1 How Halftones Are Defined......Page 495
7.4.2 Halftone Screens......Page 496
7.4.3 Halftone Dictionaries......Page 497
7.4.4 Spot Functions......Page 498
Type1 Halftone Dictionaries......Page 501
7.4.5 Threshold Arrays......Page 503
Type3 Halftone Dictionaries......Page 504
Type6 Halftone Dictionaries......Page 505
Type10 Halftone Dictionaries......Page 506
Type16 Halftone Dictionaries......Page 509
7.4.6 Halftone Dictionaries with Multiple Color Components......Page 511
Type5 Halftone Dictionaries......Page 512
7.4.7 Proprietary Halftone Dictionaries......Page 513
7.4.8 Supercells......Page 514
7.5 Scan Conversion Details......Page 515
7.5.1 Scan Conversion Rules......Page 516
7.5.2 Automatic Stroke Adjustment......Page 517
Operators......Page 519
Arithmetic and Math Operators......Page 522
Packed Array Operators......Page 523
Dictionary Operators......Page 524
Relational, Boolean, and Bitwise Operators......Page 525
Type, Attribute, and Conversion Operators......Page 526
File Operators......Page 527
Virtual Memory Operators......Page 528
Graphics State Operators (Device-Independent)......Page 529
Graphics State Operators (Device-Dependent)......Page 530
Coordinate System and Matrix Operators......Page 531
Path Construction Operators......Page 532
Painting Operators......Page 533
Form and Pattern Operators......Page 534
Glyph and Font Operators......Page 535
Interpreter Parameter Operators......Page 536
Errors......Page 537
8.2 Operator Details......Page 538
a......Page 541
b......Page 550
c......Page 554
d......Page 582
e......Page 589
f......Page 601
g......Page 612
i......Page 619
k......Page 633
l......Page 634
m......Page 638
n......Page 642
p......Page 645
r......Page 651
s......Page 667
t......Page 716
u......Page 720
v......Page 730
w......Page 732
x......Page 735
y......Page 737
A.1 LanguageLevel3 Features......Page 739
A.1.3 Version 2015 Extensions......Page 743
A.1.6 Version 2012 Extensions......Page 744
A.2 LanguageLevel 2 Features......Page 745
A.2.1 CMYK Color Extensions......Page 747
A.2.4 Version 25.0 Language Additions......Page 748
A.3 Incompatibilities......Page 749
Implementation Limits......Page 751
B.1 Typical Limits......Page 752
B.2 Virtual Memory Use......Page 756
Interpreter Parameters......Page 759
C.1 Properties of User and System Parameters......Page 760
C.1.1 User Parameters......Page 761
C.1.2 System Parameters......Page 762
C.2 Defined User and System Parameters......Page 763
C.3 Details of User and System Parameters......Page 767
C.3.1 Passwords......Page 768
C.3.2 Font Cache......Page 769
Storage for Halftone Screens......Page 770
Halftone Setting......Page 771
C.3.5 Virtual Memory and Stacks......Page 772
C.3.6 Resource File Location......Page 773
C.4 Device Parameters......Page 774
D.1 The LanguageLevel Approach......Page 775
D.2 When to Provide Compatibility......Page 777
D.3 Compatibility Techniques......Page 779
D.3.1 Complete Emulation......Page 780
D.3.2 Partial Emulation......Page 781
D.3.3 Emulation in the Driver......Page 782
D.4 Installing Emulations......Page 783
Character Sets and Encoding Vectors......Page 787
E.1 Times Family......Page 789
E.2 Helvetica Family......Page 790
E.3 Courier Family......Page 791
E.4 Symbol......Page 792
E.5 Standard Latin Character Set......Page 793
E.6 StandardEncoding Encoding Vector......Page 798
E.7 ISOLatin1Encoding Encoding Vector......Page 799
E.8 CE Encoding Vector......Page 800
E.9 Expert Character Set......Page 801
E.10 Expert Encoding Vector......Page 804
E.11 ExpertSubset Encoding Vector......Page 805
E.12 Symbol Character Set......Page 806
E.13 Symbol Encoding Vector......Page 808
System Name Encodings......Page 809
Operator Usage Guidelines......Page 815
Resources from Adobe Systems Incorporated......Page 825
Other Resources......Page 827
INDEX......Page 831
A......Page 832
B......Page 835
C......Page 837
D......Page 847
E......Page 856
F......Page 860
G......Page 865
H......Page 868
I......Page 869
K......Page 873
L......Page 874
M......Page 876
N......Page 879
O......Page 880
P......Page 883
R......Page 888
S......Page 894
T......Page 903
U......Page 906
V......Page 908
W......Page 909
Z......Page 910
Colophon......Page 911
๐ SIMILAR VOLUMES
"The Red Book"
communications. This powerful and flexible language efficiently describes the appearance of text, sampled images, and graphics on a printed page or display. PostScript language interpreters have been incorporated into some of today's most innovative printers, typesetters, film records, and computer
Introduces the Postscript programming language, describes the imaging model, and discusses emulators, page design, program structure, scanned images, file merging, and error handling.