Here are the two versions of the program that converts CAT output to a format
suitable for the Hewlet-Packard DeskJet family of printers.

This program relies heavily on previous work done by 
ihnp4!mnetor!clewis (Chris Lewis), published in the 3rd volume of
comp.sources.unix.  For this reason some of the
files carry the copyright of the original author.  The rest
have the GNU copyleft applied to them.

Special thanks are due to Hewlett-Packard for all the information
about the DeskJet and its font format that they sent to me.

Now a few words about the programs in this distribution:

The first version (lcat) uses the DeskJet graphics mode to send the
document to the printer, while the other one (vcat) creates soft fonts
and downloads them accordingly.  The lcat program gives you a choice of
two resolutions (300 dpi and 150 dpi).  The low res mode is really good
only for drafts but is so much faster that its worth having.

Here are the times for the execution of the two programs

(the mode button is that little button you have on the DeskJet control
panel.  If the LED is on then you are in DRAFT mode, otherwise you are
in LQ mode)

Program          Resolution     Mode Button     Time (minutes.seconds)
lcat              hires             LQ               2.54
                  lores            DRAFT             1.01
vcat
(empty cache)      N/A              LQ               1.48
(empty cache)      N/A             DRAFT             1.40

(full cache)       N/A              LQ               0.53
(full cache)       N/A             DRAFT             0.45

The times are from the time the RETURN key is pressed till the paper is
ejected by the printer.  Note though that while lcat ties up the
computer the whole time, vcat terminates before the DeskJet finishes
printing.  This is due to the fact that the DeskJet buffer can hold
quite a few characters, but only one line of graphics data.

TODO:
	The font cache management needs a lot of work.  It should
	at least check the size of the downloaded fonts and use
	that to determine which fonts have to go.

	The ligature code works only on lcat.  If your font doesn't 
	have ligatures and you want to use vcat, then be sure to
	tell troff not to use ligatures (.lg 0).  Note that by default
	troff assumes that you do want ligatures.
	
Bug fixes, comments etc. to:
    Vasilis Prevelakis
    Centre Universitaire d'Informatique (CUI)
    12 Rue du Lac, Geneva, Switzerland CH-1207
email: vp@cui.unige.ch
uucp:  ...!mcsun!cui!vp

