Le GNU a2ps 4.10.4 has been widely used for quite a while, and is,
well I think, totally safe (well, there are a few bugs). It offers many new features (see NEWS). The
documentation is also available.
The main features of 4.10.4 are:
Pretty Printing. Many
languages are supported thanks to style sheets, easy to understand,
patch and develop. Regular
expressions can be used. Here is an example.
Automatic style selection. A stand alone
file allows you to define the rules (on the
name, or on the result of a call to `file (1)') that automatically
select a style sheet.
This gives you a uniform access to most PostScript producers, such as
Netscape (HTML to PostScript), psnup (PostScript to PostScript), groff
(roff to PostScript). Actually anything you want! Here is a
gargantua demo $ a2ps ogonkify.1 glibc.dvi.gz a2ps.texi -o demo.ps
[ogonkify.1 (roff, delegated to Groff): 3 pages on 2 sheets]
[glibc.dvi.gz (gzip, delegated to Gzip): 601 pages on 301 sheets]
[a2ps.texi (texinfo, delegated to texi2dvi): 81 pages on 41 sheets]
[Total: 684 pages on 342 sheets] saved into the file `demo.ps'
There are more details here.
(Weak) PPD support. Which means there is
automatic fonts downloading. It also means that you can
break through the 13 basic Level 1 PostScript fonts, and go to the 35
Level 2 (I hate Times, Palatino is much better :-).
Named outputs (printers etc.). Symbolic outputs are
much more powerful. For instance you may define `file' to be the
symbolic output `> $N.#.', which means that `a2ps foo.c bar.h -P
file' will save the PostScript into `foo.ps'. Thanks to
Version control a la GNU Emacs, there is no fear to override
important files: if `foo.ps' existed, it has been moved as `foo.ps~',
or `foo.ps~1~', or destroyed: upon your own choice.
Contributions. Some tools are provided with a2ps:
Card which prints reference cards of your favorit programs,
psmandup which helps you to print Duplex on non Duplex
printers, fixps which automatically fixes most common
problems in PostScript files, and pdiff which makes pretty
contextual diff (to be printed for instance).
Encodings. Many encodings are supported, most notably
the ISO Latin 2, 3, 4, 5 and 6 are quite well handled, thanks to
Output Design is customizable (colors, fonts
Native Language Support.
a2ps speaks your tongue. Well, if somebody taught it :) Many tongue
are yet supported, but you can also contribute (See the
Major changes between 4.10.2 and 4.10.1 include a fix for the
installation of Ogonkify, and the inclusion of the new tool
pdiff. Users of Ogonkify should definitely upgrade.
Major changes between 4.10.1 and previous 4.9.10 and 4.10 include
new translations (Portuguese, and Swedish), and the fact that now a2ps
does recognize the type of files given through stdin. Portability
problems were also solved.