INSTALLATION
------------
Compile:
    $ make

Optional: Get extra files from the web, such as .ICM profiles (for
color correction) and firmware:
    $ ./getweb 2300	# Get Minolta 2300 DL .ICM files
    $ ./getweb 2200	# Get Minolta 2200 DL .ICM files
    $ ./getweb cpwl	# Get Minolta Color PageWorks/Pro L .ICM files
    $ ./getweb 1005	# Get HP LJ1005 firmware file
    $ ./getweb 1000	# Get HP LJ1000 firmware file
    $ ./getweb update	# Get latest version of this software.

Install driver, foomatic XML files, and extra files:
    $ su
    # make install

Test operation of programs (will only pass using ghostscript-7.05-24.7):
    # make test

Create printers (Redhat 7.X and 8.X):
    # printconf-gui
	    Create at least one queue for monochrome, and another queue
	    for color printing.  Create the queues, then edit them and
	    set the "device options" as desired.

	    For a networked Minolta/QMS 2300 DL, I used a "Queue Type"
	    of "Unix Printer (LPD)", and set the "Server" to the IP address
	    of the printer, and the "Queue" to "lp".

Create printers (Mandrake)
    # printerdrake

Create printers (Suse)
    # ?????????????????? (Somebody tell me how)

Create printers (Debian)
    On Debian, I'm told that you should install CUPS from dselect,
    then install the foo2zjs driver.  Then, connect to:
	http://localhost:631
    And configure printer (HP example shown) to:
	HP LaserJet 1000, Foomatic + foo2zjs (en)
    Presumably, anybody running Debian is intelligent enough to figure
    this out.  Or should be.

MINOLTA-QMS 2200/2300 DL NOTES
------------------------------
    Use the network interface if you can.  These printers understand
    Unix LPD printer server protocol.  So when setting up the printer
    queue, you can select "UNIX Printer (lpd queue)", set the lpd
    queue name to "lp" (arbitrary), and set the "Server" to the IP
    address of the printer.
    
    These printers also understand several other printer server
    protocols, such as JetDirect, but I have not tried them.

HP LASERJET 1000/1005 NOTES
---------------------------
    You must send a firmware file to the printer each time you power it up.
    If you downloaded the extra files for the HP above, a typical command
    line to load the firmware would be:

	cat /usr/share/foo2zjs/firmware/sihp1000.dl > /dev/usb/lp0
    or:
	cat /usr/share/foo2zjs/firmware/sihp1005.dl > /dev/usb/lp0

    NOTE: The original HP files are named '*.img'.  Sometimes HP
    supplies these files already-to-download, sometimes they are raw
    ARM executables and need to have a special header added to them
    before they can be downloaded.  The "make install" step will use
    the supplied "arm2hpdl" program to automatically detect which kind
    of file they are and convert them (if needed) to the downloadable
    '*.dl' format.

PSUTILS
-------
If you would like to use the 2-up/4-up capability, then you need to
get and install Angus Duggan's excellent psutils package.  You can
find the source code for psutils here:

    http://knackered.knackered.org/angus/psutils/index.html

Or an RPM here:

    http://rpmfind.net/linux/rpm2html/search.php?query=psutils


UPDATE
------
Here are handy lines you can click on to get the latest version:

    http://home.mn.rr.com/richardsons/foo2zjs/

    wget http://home.mn.rr.com/richardsons/foo2zjs/foo2zjs.tar.gz

My advice: update early and often!!!!

BUG REPORTS
-----------
Send them to rickr@mn.rr.com (Rick Richardson)

DEVELOPER AND DEBUGGING TIPS
----------------------------

If you want to work on this program, I recommend creating a "raw"
printer queue directed at the printer, with no protocol conversions.

Then, you can use the "foo2zjs-wrapper" program to convert Postscript
test programs to ZjS format, and inspect them with "zjsdecode" before
deciding whether to print them or not.  For example:

    foo2zjs-wrapper testpage.ps > testpage.zm
    foo2zjs-wrapper -c testpage.ps > testpage.zc

    zjsdecode < testpage.zm
    zjsdecode < testpage.zc

    lpr -Praw testpage.zm
