PostScript FAQ/General
General
editThe best way to learn any language is to use it. Pick an interesting problem (for instance quine) and try to code it in the new language. Download Ghostscript to test your work.
PostScript resources
editThere are several texts and resources on PostScript available free online. Some of these are.
Blue Book (PDF 0.9M), PostScript Language Tutorial and Cookbook, Adobe Systems, Addison-Wesley 1985, ISBN 0201101793 is the best introduction to PostScript language. PostScript operators are introduced in easy and well-paced way. Sample programs are easy to read and print beautiful pictures. The book describes only a fraction of level 1 PostScript. By itself it is not sufficient for professional work.
Green Book, (PDF 0.9M) PostScript Language Program Design, Adobe Systems, Addison-Wesley, 1988; ISBN 0201143968; shows how to use PostScript in real world situations. Among other things, it explains how to re-encode the font. This question is asked almost every month on comp.lang.PostScript. Although the book is based on level 1 PostScript, the good programming practices have not changed so much as the language itself.
White Book (PDF 0.5M) Adobe Type 1 Font Format, version 1.1, Addison-Wesley, 1990, ISBN 0201570440 describes the format of Type 1 font. The hinting rules description might have been accurate at the time of writing, but modern interpreters seem to use different algorithms. For instance, Adobe interpreters appear to auto-hint diagonal stems.
Red Book (PDF 7.6M) PostScript Language Reference Manual, Adobe Systems Addison-Wesley, 1999; ISBN 0201379228 912 pages, is the official description of PostScript language. Everything in the book is important; everything is explained only once. The Red Book is also available on paper for those who prefer to read in bed. An older version (dated 1999), without the necessity of registration in one of Adobe's partner programs, is available here.
Thinking in PostScript (PDF 0.8M) Glenn C. Reid, Addison-Wesley 1990; ISBN 0201523728 is a good introduction to PostScript. Many programmers prefer to think in terms of objects and methods but the book is available for free. Why not give it a try?
Adobe technical notes for developers cover many topics not included in the Red Book.
news://comp.lang.PostScript usenet group is the best place to discuss PostScript and Ghostscript issues.
freenode.net has a "##postscript" IRC channel to discuss PostScript.
"Mathematical Illustrations - A manual of geometry and PostScript", a book by Bill Casserman, contains many PostScript examples of all kinds.
Jim Land's Collection of PostScript and Ghostscript resources contains many links to PostScript resources available on the net.
Don Lancaster's PostScript Library contains dozens of original articles, utilities, and carefully selected links.
Ghostscript community site among other things hosts mailing lists, documentation archive, and Subversion repository with a handy web interface.
Ghostscript home page is an alternative distribution site for Ghostscript and related programs.
SourceForge is a primary Ghostscript distribution site. The bug tracker and CVS repository are no longer hosted there.
Ghostgum Software is a small software company located in Melbourne, Australia that is developing GSview GUI interface to Ghostscript, and RedMon Windows port redirector. The products and documentation are available for free download. The company also distributes Ghostscript on CD-ROM.
Artifex Software is the main developer and copyright holder of Artifex Ghostscript PostScript, PDF and PCL interpreter technologies. You need an Artifex license if you intend to redistribute Ghostscript technology with your proprietary products, or if you intend to use any source code from Ghostscript technologies within your proprietary products. Please contact them for details.
Unfortunately, many aspects of PostScript language are not documented at all. Ghostscript source code is the best reference to undocumented PostScript. For instance, do you know that Adobe implementations skip '\t'
, '\r'
, '\n'
, and ' '
after eexec
but don't skip '\0'
or '\f'
. So the binary stream cannot start with some white space characters.
How to report a PostScript error?
editA strange error happened... It crashed... I've done nothing... Help...
Unfortunately little can be done without the sample file and detailed description of the problem. Please generate and submit the PostScript file — that's what PostScript programmers know the best. If possible, create a small file: delete insignificant objects in your graphic application and choose small images.
Don't submit native application files. Most likely PostScript programmers don't have your applications. Quark alone has several mutually incompatible versions of QuarkXPress which cost from $500 to $2000 each. Some parts of the PS files come from a PostScript driver or PPD. It is very difficult to reproduce the user's environment exactly on the developer's computer.
Never send the file to discussion groups, unless the file is hand-made, ASCII only, and fits on the screen. Most readers don't need your file, many have slow modem connection, some even pay for the Internet traffic. Put the file on FTP or HTTP server and post the URL. If you don't have a site, you can get a free one from many free ISPs.
With a prior agreement, you can send small files ( < 7M ) by email. Normally ISP limits the size of a single message to 10M but base 64 encoding expands files 1.25 times. If you absolutely need to submit a big file (>300M), mail it on CD or DVD.
Bugs in Ghostscript should be entered directly into Ghostscript Bugzilla.
Who can help me?
editThis is a list of people and companies that are willing to answer user's questions about PostScript and related technologies and do custom software development.
GNU service directory is a list of people and companies who offer support services for GNU software, for a fee or in some cases at no charge. Many of them also offer support for non-GNU free software and general consulting.
Software Contractors' Guild is a resume database run by software contractors/consultants who want to expand the range of choices available to them and to their clients. About 50 people offer PostScript services.