PostScript has evolved through three major versions, each adding significant capabilities while maintaining backward compatibility.
1. Overview
PostScript was developed by Adobe Systems and released in three major levels, each building upon the previous version with enhanced features and capabilities.
2. Evolution Timeline
| Level | Release Year | Key Features |
|---|---|---|
1984 |
Original specification with basic imaging model, stack-based execution, vector graphics, and font handling |
|
1990 |
Added color extensions, composite fonts, filters, forms, patterns, file system, and performance improvements |
|
1996 |
Introduced smooth shading, better color management, improved PDF integration, and additional imaging features |
3. Version Documentation
3.1. PostScript Level 1
The original PostScript specification introduced:
-
Stack-based execution model
-
Basic imaging operators
-
Path construction and painting
-
Font rendering
-
Device independence
-
Coordinate transformations
3.2. PostScript Level 2
Level 2 extended PostScript with:
-
Color spaces (DeviceRGB, DeviceCMYK, DeviceGray, CIE-based)
-
Composite fonts and CID-keyed fonts
-
Binary encoding for efficiency
-
Filters (compression, decompression)
-
Forms (cached graphical objects)
-
Patterns (tiling patterns)
-
Image operators enhancements
-
File system and named resources
-
Better memory management
3.3. PostScript Level 3
Level 3 added advanced features:
-
Smooth shading (gradient fills)
-
DeviceN and Separation color spaces
-
In-RIP separations
-
Better PDF integration
-
Improved halftoning
-
Better device control
-
Enhanced font support
4. Feature Comparison
For a detailed comparison of features across all three levels, see the version comparison table.
5. Compatibility
PostScript interpreters are generally backward compatible:
-
A Level 2 interpreter can execute Level 1 programs
-
A Level 3 interpreter can execute Level 1 and Level 2 programs
-
Programs can query the language level using the
languageleveloperator
6. Choosing the Right Level
When writing PostScript programs:
-
Use Level 1 if maximum compatibility is required
-
Use Level 2 for color documents, better performance, and modern features
-
Use Level 3 for advanced imaging, smooth shading, and optimal PDF workflow
Most modern PostScript interpreters support Level 3, but it’s good practice to:
-
State the required level in document comments
-
Use conditional code for optional features
-
Test on target devices when possible
7. Document Structuring Comments
Declare the PostScript level in your document header:
%!PS-Adobe-3.0
%%LanguageLevel: 2
%%Creator: My Application
%%Title: Sample Document
%%EndComments
8. See Also
-
Command Reference - Lists which commands are available in each level
-
Language Syntax - Core syntax applicable to all levels
-
PostScript Language Reference Manual - Official specification