New apsfilter V2.3 - lpd input filter, filetype auto recognition

New apsfilter V2.3 - lpd input filter, filetype auto recognition

Post by Andreas Kle » Tue, 26 Apr 1994 02:18:42

If you are interested in easy handling of printing postscript,
ascii and TeX dvi files with no trouble on PS and NON-PS printers
then read the next sections about aps-2 ;-)

(1) New features
(3) What do I need for APS-2
(4) Linux specific
(6) enhanced A2PS
(8) Get it via ftp mail
(9) Get it via ftp
(10) Future Work

(1) New features

   ***  An INSTALLATION SHELLSCRIPT, that asks you questions about
        your printer an sets up /etc/printcap, the spool directories
        and the symbolic links - needed for apsfilter - to turn on or
        off certain a2ps and apsfilter features.

   ***  The installation script shows you details about printer
        filters, so it's no problem anymore to choose between the
        different filters (i.e.: deskjets).

   ***  Support for real Postscript printers ...

   ***  Further modifications to a2ps ! The page header now contains
        Filename and the username !!!

   ***  Support for dvips' feature to include postscript files
        into TeX/DVI Documents (i.e. X11 screenshots using xgrab or
        xfig images !!!

   ***  New search database, automatically updated by cron.
        Contains search paths for dvips (updates TEXINPUTS variable
        for apsfilter) where to look for PS-images.

   ***  print "RAW"

        Print text with FULL SPEED to the printer without processing
        through "a2ps" first. Certain lpr options are again recognized.
        i.e. "-p" to pipe your document through pr(1) first.

   ***  NO TEMP FILES needed any more .... a simple utility REWINDSTDIN
        allows dvips to read data from a pipe. This SAVES SPACE and makes
        things FASTER !

   ***  AUTO-CONFIURATION: After file type auto recognition the next
        logical step for me was "auto configuration".

        That means that in general there is no need to "hack" the filter
        itself for configuration. No need to edit it. You configure it
        now by naming the filter using a fixed naming scheme !!!
        The new installation script knows about that features and
        installs everything (all features) in printcap and makes
        all possible symlinks in the /usr/lib/apsfilter tree ...

        [ Printer type, paper format, file type auto recognition and
          "force printing ascii" (for PS sources) can be selected
          by creating a symbolic link to apsfilter using a special name.

        For this and future releases I plan additional feature flags.

   ***  Using a2ps to print ascii files.

        a2ps puts a nice banner around a file and prints
        two pages on one sheet. That's a very attractive feature.
        I'll include further options in the next release, that
        allows enabling or disabling of the "two pages on one" feature
        for those people, who think, that the font is too small.

        But you can make modifications very easily in the script.
        The man page for a2ps is available in the a2ps source
        directory: /usr/lib/apsfilter/src.a2ps.


aps-2 is an lineprinter input filter for Unix Systems with Berkeley
alike printing system (configuration using /etc/printcap).

Main features are AUTOMATIC FILE TYPE RECOGNITION for the filetypes:

        * ASCII
        * DATA
        * POSTSCRIPT
        * DVI

The user needs no knowledge how to print dvi files on his printer
or how to print postscript files on his non postscript printer.

You only need a lineprinter (laser, ink or matrix), that is supported
by gs the free (-> GPL) Postscript interpreter. Since gs has a lot of
drivers, it is usually no problem, to get it running.

(3) What do I need for APS-2

The best is a Unix System with the following packages included:

        - gs 2.4 (ghostscript ps emulator)
        - dvi2ps

This is - for example - the case for Linux Slackware 1.2.0 and
future releases. Perhaps I can convince Patrick Volkerding in
the near future, to include it into Slackware.

(4) Linux specific

Since I use a2ps (ascii to postscript) to print ascii files (a compiled
and patched version + sources + diffs are included in this package)
you either must have a Linux System with the new
(as in Slackware 1.2.0) to use the binary in the package or you must
have a C compiler installed to recompile it, no matter what libraries
you have in use.


        * You have a deskjet 500
        - You have the paper format DIN A4
        * You want filetype-auto-recognition
        * you want the option two pages on one without print-header

Then create a symbolic link to apsfilter using the scheme


                LIBDIR is usually /usr/lib/apsfilter
                Valid PrinterTypes  are described in $LIBDIR/doc/printer
                        "laserjet deskjet ..."
                Valid Paperformats  are described in $LIBDIR/doc/paper
                        "a3 a4 letter ..."
                Valid PrintMethods  are described in $LIBDIR/doc/method
                        "auto ascii"
                Valid PrintFeatures are described in $LIBDIR/doc/feature
                        "1 2 1n 2n"

        So: ln -s apsfilter aps-djet500-a4-auto-2n

        does the configuration trick.

In /etc/printcap you say, that your input filter for the wanted
purpose is


The valid paperformats, supported printers and useful hints
are part of the shellscript itself.

(6) enhanced A2PS

All filters after aps-20 use a2ps to print ascii files. I patched a2ps
so you can select paperformat, print margins, filename and username on the
commandline instead of compiling it in.
I mailed the diffs to the author of the package, but still received no answer.
Therefore aps-22.tgz comes with the patched source ready for compiling it.
The diffs are also included.


Using a2ps's -8 option enables the printing of the ISO Latin Characterset.
So it's no Problem to print special characters ;-)

(8) Get it via ftp mail:

        File: aps-23.tgz        Size: ~168 KB.

        Subject: <none>
        send os/Linux/Incoming.EUnet/aps-23.tgz

(9) Get it via ftp

        ftp ftp.Germany.EU.Net
        login: ftp
        password: -yourmailaddress
        get /pub/os/Linux/Incoming.EUnet/aps-23.tgz

(10) Future work

Get rid of a static and dynamic TEXINPUTS database that is currently
updated by cron at a time intervall that you can choose during installation.

Next release of apsfilter will scan a users home dir, if there are
ps include files for dvips, when printing a dvi file ...

And there will be a $HOME/.apsfilter init file for user customizable
TEXINPUTS paths ... where each user has the possibility (and the
permissions !) to change paths without asking the superuser ...

BTW: Thanks to (Thomas Bueschgens), who worked a lot
on the dvips TEXINPUTS part and saved the last days of my holidays ;-)
There will be a great Version 2.4, really ;-)

Have fun

        Andreas ///

Andreas Klemm                 /\/\____ Wiechers & Partner Datentechnik GmbH ___/\/\/ (Unix Support)
Mail submissions for comp.os.linux.announce to:
Be sure to include Keywords: and a short description of your software.