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, PPD files, and extra files:
    $ su
    # make install

If you use CUPS to manage your printers, you must restart cupsd:
    # /etc/init.d/cups restart

Test operation of programs. Skip this if you don't have the exact same
version of Ghostscript that I have (ghostscript-7.05-24.7), because it
will not pass since different versions of Ghostscript generate different
raster images:
    # make test

Create printers (Redhat 7.2/7.3/8.0/9.0, Fedora Core 1):
    # 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 9.0)
    # yast

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)

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 ready-to-download to the printer, 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.

HP LASERJET 1500 NOTES
---------------------------
    The foo2oak driver is completely untested on a real LaserJet 1500 printer.
    I do not have this printer and HP outright rejected my request for a
    donation of this printer.  So this driver represents my best guess as
    to what the printer will accept.

    This is a USB printer, and its very likely that Linux won't even
    recognize the printer at the USB device level.  Linux doesn't seem
    to recognize very many USB printers.  Run "dmesg" after plugging the
    printer into a USB port to see if a new printer device is properly
    created (such as /dev/usb/lp0).  If this doesn't happen, then do not
    pass go, do not collect $200, go directly to jail.

MAC OS X NOTES
---------------
    Please read the detailed installation instructions by Clint Morgan
    in the file INSTALL.osx.

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://foo2zjs.rkkda.com/
    http://foo2oak.rkkda.com/
    wget http://foo2zjs.rkkda.com/foo2zjs.tar.gz

My advice: update early and often!!!!

BUG REPORTS
-----------
Send them to rickr@mn.rr.com (Rick Richardson)
I do not read or reply to HTML email or messages sent under an alias.

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
