Excuse me, but I could not let this one pass. The most common problem by far
with documents failing to work with Ghostscript (or any other interpreter) has
nothing whatsoever to do with any Ghostscript shortcomings -- it is instead a
direct result of either poor quality PostScript production or bad handling of
the resulting PostScript data stream.
The number of PostScript applications which produce output that will only work
on one specific sort of printer is staggering. The PostScript specifications
outline in considerable detail what is printer and transport-specific and what
is not, yet applications continue to produce PostScript which uses bizarre
printer-specific features for absolutely no reason. Such problems are not
limited to LaserWriter-specific usage either: I've seen LaserJet-specific
output, DEC PrintServer-specific output, and many other variants.
Garbage in the data stream is also a common problem. PostScript is pure binary
data, really, yet it looks so much like text that many people treat it as text.
This leads to big problems in some cases. Applications also get confused about
what things are truly part of PostScript and what are just an artefact of the
transport (like CTRL/D). This leads to a wide variety of problems.
In the old days the big problem was whether or not your printer has the right
fonts available. But this has dwindled into insignificance now that almost all
interpreters have all the common fonts. The remaining problems are almost
always related to printer specifics and stream corruption.
So what about Ghostscript? Its support of the full PostScript language is the
best I have found anywhere. (A recent comparison of several interpreters on
lots of sample inputs found that Ghostscript was the only interpreter tested
that fully conformed to the specifications in all cases. It was also the
fastest interpreter in most of the tests.) Ghostscript supports all the fonts
people have come to expect. Ghostscript also supports quite a few Level II
features now and full support should be in place by the end of the year. (I
have yet to see widespread enough usage of Level II to make this an issue
anyway.) It also provide emulation features that eliminate many of the problems
with printer-specific usage; features which practically every other interpreter
does not have.
I speak as someone who spent 5 years doing diagnostic work that often included
troubleshooting document printing problems. I have subsequently spent an
additional 3 years supporting a product that includes PostScript interpreter
functionality that is based on Ghostscript.
I should also point out that I have nothing to do with writing Ghostscript -- I
speak only as a *very* satisfied customer.
Ned