INTRODUCTION

    This is Gutenprint version 5.0.0 release candidate 2, the second
    release candidate of Gutenprint 5.0.  Gutenprint, formerly named
    Gimp-Print, is a suite of printer drivers that may be used with
    most common UNIX print spooling systems, including CUPS, lpr,
    LPRng, or others.  These drivers provide high quality printing for
    UNIX (including Macintosh OS X 10.2 and newer) and Linux systems
    in many cases equal to or better than proprietary vendor-supplied
    drivers, and can be used for many of the most demanding printing
    tasks.  A complete list of supported printers may be found in the
    NEWS file.

    The package has been renamed in order to clearly distinguish it
    from the GIMP.  While this package started out as the Print plugin
    for the GIMP, it has expanded into a collection of general purpose
    printer drivers, and the Print plugin for the GIMP is now only a
    small (but important) piece of the package.  Furthermore, the name
    Gutenprint recognizes Johannes Gutenberg, the inventor of the
    movable type printing press.  Finally, the word "guten" means
    "good" in German.

    Gutenprint also includes a plug-in for the GIMP image editor.
    This plug-in is also distributed with the GIMP.

    Gutenprint was previously known as Gimp-Print.  The name was
    changed prior to the 5.0.0 release.

    Please read this README, and the NEWS file carefully!  Many things
    have changed from previous releases.  The package is quite
    different in many ways from Gimp-Print 4.2, and you should read
    these instructions carefully.  In addition, the NEWS file contains
    specific software requirements.

    A user's manual exists in doc/users_guide; it is normally
    installed in PDF and HTML form in /usr/local/share/gutenprint/doc.
    This manual covers setup and use of the GIMP Print plug-in and the
    CUPS driver.

    We urge all distributors of this package to read the PACKAGING
    section below and KNOWN BUILD ISSUES section in the release notes.


BASIC INSTALLATION

    Gutenprint includes the following primary components:

      - The core driver package
      - A CUPS (Common UNIX Printing System) driver
      - A Print plug-in for the GIMP
      - Support for the Foomatic spooler configuration system
      - A Ghostscript driver using the IJS plugin facility
      - A utility to administer and maintain Epson printers

    The core driver package is always built.  Directions for building
    the other components are listed below.

    Please check our web site at http://gimp-print.sourceforge.net for
    details about what is and is not supported.

    Please report any problems to gimp-print-devel@sourceforge.net.

    In general, to build Gutenprint, you run the following commands:

    ./configure [options]
    make
    make install

    If you do not have the GIMP installed (or if you have only the
    user package installed, and not the development package that most
    distributions include separately), the attempt to run configure
    will fail.  To build other components (such as the Ghostscript or
    CUPS drivers) without the GIMP being present, you must use the
    --without-gimp option to configure.

    By default dynamically loadable modules (plug-ins) will be built,
    and loaded at run-time if your operating system supports it.  If
    you experience problems, --with-modules=dlopen or
    --with-modules=ltdl may be used to select the module loading
    method (dlopen is the default, but GNU libltdl is more portable),
    or --with-modules=static or --without-modules disables them.

    Note: This package requires the use of GNU Make to compile.  On
    systems with both GNU make and another make installed, GNU make
    may be named `gmake' or `gnumake'.  BSD users in particular will
    need to use 'gmake'.


CUPS

    Gutenprint may be used as a driver under CUPS (Common UNIX
    Printing System), if your system uses that spooler.  Full
    description of CUPS is beyond the scope of this README file; full
    information may be found at http://www.cups.org.  Gutenprint 5.0
    requires CUPS 1.1.9 or higher.  We recommend use of 1.1.15 or
    above; that release of CUPS fixes some important bugs.

    This package includes a CUPS driver that may be built, allowing
    use of this software for general printing purposes.  Gutenprint
    will normally detect the presence of CUPS; if it doesn't on your
    system, you must run:

    ./configure --with-cups
    make
    make install
    cups-genppdupdate.5.0 (OPTIONAL)
    /etc/init.d/cups restart

    If you have installed CUPS as a precompiled package (e. g. it's
    the standard printing system that your distribution uses), you may
    need to install a separate development package (typically called
    "cups-devel" or "cups-developer").  You will need to do this if
    configure completes correctly, but "make" fails when building in
    src/cups.  The CUPS package typically installed by most
    distributions only contains the components needed to run CUPS, not
    those required to build additional CUPS drivers.

    The last command (/etc/init.d/cups restart) varies with your
    operating system; the purpose is to restart the CUPS server
    (daemon) so that it sees the newly installed driver.  It is
    typically /etc/init.d/cups, /etc/software/init.d/cups,
    /etc/rc.d/cups, or even /etc/rc.d/init.d/cups.  Your system may
    have a different way to restart the CUPS server.  OS X uses the
    following command:

    sudo /System/Library/StartupItems/PrintingServices/PrintingServices.sh restart
  
    You may optionally choose to update your existing PPD files using
    the command cups-genppdupdate.5.0, after which you should restart
    CUPS as described above.  We strongly recommend use of this update
    procedure.  This script will automatically update Gutenprint PPD
    files from earlier versions.  This script will only work with
    Gimp-Print 4.3.21 or above, or any earlier version of Gutenprint;
    it will not update Gimp-Print 4.2 PPD files.  However, you may
    install Gutenprint 5.0 alongside Gimp-Print 4.2, and use both
    Gimp-Print 4.2 and Gutenprint 5.0 drivers concurrently.
    Therefore, you need not convert a workflow based on Gimp-Print 4.2
    right away, but can gradually convert or even use both drivers for
    different printer queues.

    If you do not choose to automatically update existing PPD files,
    you should reinstall any printers that you are using Gutenprint
    PPD files with.  The Gutenprint driver and the PPD files must be
    kept in sync, since the PPD files reflect the particular version
    of the driver that they were built against.  If you attempt to use
    a version of Gutenprint with PPD files not built for that precise
    version, the driver will fail with a diagnostic error message.
    For example, PPD files built for Gutenprint 5.0.0-beta4 will not
    work with driver version 5.0.0-rc2.  You can identify printers
    using Gutenprint PPD files by the name of the PPD file, which will
    be something like:

		    EPSON Stylus Photo EX - CUPS+Gutenprint v5.0.0-rc2(en)

    NOTE for Linux (at least) users: If you are using CUPS 1.1.11 or
    higher, and you have a USB-connected printer, you must have a
    printer connected to each USB port that you plan to use and
    powered on when you restart CUPS.  If you do not do so, you will
    not be able to reinstall the printer.  It is only necessary to do
    this if you wish to update PPD files manually; if you use
    cups-genppdupdate.5.0, you do not need to do this.

    Starting with CUPS 1.1.11, you cannot choose an AppSocket
    connection and enter "usb:/dev/usblp0" or the like as the URI; you
    will get a "client-error-not-possible" error at the end of the
    installation process, and you will have a message like the
    following in your CUPS error log (typically
    /var/log/cups/error_log):

E [21/Nov/2001:17:59:07 +0500] add_printer: bad device-uri attribute 'usb:/dev/usb/lp0'!

    If the printer was turned on correctly, you will be given a choice
    of a USB connection in the Device dialog.

    You may also have problems if you have a .lpoptions file that has
    old options set.  If you have problems printing, please remove any
    existing .lpoptions file in your home directory and try printing
    again.

    This package normally builds translated versions of the PPD
    files.  This provides PPD files translated into the languages that
    this package supports.  However, the translation process does not
    work correctly on all systems; in particular, many BSD systems are
    known to simply build multiple copies of the English PPD files.
    If your system does not build these files correctly, which will be
    apparent when you use a CUPS front end to select a PPD file and
    you see something like this:

		    EPSON Stylus Photo EX - CUPS+Gutenprint v5.0.0-rc2(en)
		    EPSON Stylus Photo EX - CUPS+Gutenprint v5.0.0-rc2(en)
		    EPSON Stylus Photo EX - CUPS+Gutenprint v5.0.0-rc2(en)

    rather than this:

		    EPSON Stylus Photo EX - CUPS+Gutenprint v5.0.0-rc2(en)
		    EPSON Stylus Photo EX - CUPS+Gutenprint v5.0.0-rc2(sv)
		    EPSON Stylus Photo EX - CUPS+Gutenprint v5.0.0-rc2(fr)

    you may wish to turn off the translation of PPD files:

    ./configure --with-cups --disable-translated-cups-ppds

    You may also wish to do this to greatly reduce the number of PPD
    files installed on your system, as the number of translations is
    large and growing.

    The PPD files associated with this driver are normally for Level 3
    PostScript.  CUPS versions starting with 1.1.15 fully implement
    Level 3 Postscript, but earlier versions do not implement a few
    Level 3 constructs.  The configuration script will attempt to
    detect the version of CUPS and generate appropriate PPD files.  If
    you wish to build PPD files for Level 2 Postscript even with a
    newer version of CUPS, you can run

    ./configure --with-cups --disable-cups-level3-ppds

    We recommend that all users who wish to use this package for
    general purpose printing install either CUPS or use Foomatic with
    the Ghostscript driver (both described below) and use that as
    their printing system, rather than the traditional lpd or lp
    systems.  It is much simpler to manage than lpd, and provides an
    excellent web-based interface for both administration and use.
    Please visit http://www.cups.org for information on downloading
    and installing CUPS.


THE GIMP

    Gutenprint may be used as a plug-in for the GIMP, providing the
    ability to print images.  If you wish to do so, you must use the
    GIMP 1.2.3 or above on the 1.2 line, or any GIMP 2.x release (2.0,
    2.1, 2.2, etc.)  Please read the release notes in addition to this
    README, as there have been some changes in procedure since
    Gimp-Print 4.2 if you are using certain versions of the GIMP.

    To build and install the GIMP Print plug-in for the GIMP 1.2:

    ./configure [--with-gimp]
    make
    make install

    For the GIMP 2.0 or above, the option "--with-gimp2" rather than
    "--with-gimp" should be used.

    You may optionally specify --with-gimp or --with-gimp2 if you wish
    to be explicit about building the GIMP Print plugin; --with-gimp
    is implied if `configure' detects that the GIMP is installed, so
    you do not actually need to specify it.

    This installs the GIMP Print plugin in your system plug-in
    directory.  If you wish to install it in your personal plugin
    directory, you may use

    ./configure --enable-user-install

    If you have installed the GIMP as a precompiled package
    (e. g. from an RPM), you will need to install the gimp-devel
    (sometimes called gimp-developer, or something similar) package as
    well as the gimp package.  The GIMP package as supplied in most
    distributions only contains what's needed to run the GIMP, not the
    additional files needed to build GIMP-based applications and
    plugins such as the Print plugin.  On some systems, you will also
    need to install gtk-devel and glib-devel packages as well.

    If you have installed the GIMP from source on Linux: after running
    make install, you must run ldconfig as root before attempting to
    build this plugin.

    The GIMP 1.2 will not be supported in Gutenprint 5.1 and beyond.
    However, all Gutenprint 5.0 releases will support The GIMP 1.2.

    The GIMP 2.x plugin may eventually be migrated to The GIMP project
    for a future GIMP release.  It may be removed from the Gutenprint
    distribution in Gutenprint 5.1.


FOOMATIC

    Gutenprint includes support for the Foomatic meta-driver package.
    This requires the foomatic-xml distribution.  Foomatic is
    available from http://www.linuxprinting.org/foomatic.html.  The
    first version of Foomatic (the one used with Gimp-Print 4.0) is
    not compatible with Gutenprint 5.0.  Note that the Foomatic driver
    was named `stp' in Gimp-Print 4.0; in Gimp-Print 4.2 (and early
    4.3) it was named `gimp-print' for the Ghostscript ("stp") driver
    and "gimp-print-ijs" for the IJS driver.  In 5.0 only the
    "gutenprint-ijs" data is present.  The data for the Gimp-Print 4.2
    driver is not compatible with the 5.0 driver.

    Furthermore, as of Gutenprint 5.0 the Foomatic driver will include
    the release version of Gutenprint in its name.  Therefore, the
    Foomatic name for this driver is "gutenprint-ijs.5.0".

    Foomatic data generation works correctly as of Gutenprint
    5.0.0-beta4 and later releases, and is now an appropriate solution
    for queue configuration.

    To verify that you have an appropriate version of Foomatic, please
    run

    foomatic-kitload

    or

    /usr/local/sbin/foomatic-kitload (if /usr/local/sbin is not on your PATH).

    Both Foomatic 2.0.x (old stable branch) and 3.0 (current stable
    branch) are supported.  With Foomatic 3.0 there are the extra
    features of heaving an additional "PrintoutMode" option with
    pre-configurations for common printing tasks and the options being
    put into different groups ("General", "PrintoutMode",
    "Adjustment").

    If you don't have Foomatic installed, or the version that is
    installed is too old, please download the current Foomatic 3.0x
    package from

    http://www.linuxprinting.org/download/foomatic/foomatic-current.tar.gz

    and follow the instructions in that package. See

    After Foomatic is installed, build the Foomatic data as follows:

    ./configure --with-foomatic
    make
    make install

    The "make install" step will add the necessary data to your
    Foomatic installation.  It must be run as root.  It will fail if
    Foomatic is not installed or your Foomatic is too old.  Now you
    can either set up a queue for your printer with
    "foomatic-configure" (see USAGE file in the Foomatic package) or
    generate the printer description file for your spooler (with
    "foomatic-datafile") and configure your printer as described on
    the spooler-specific web pages of linuxprinting.org.

    IMPORTANT: Whenever you install a new version of Gutenprint you
    must re-create the printer queues using Gutenprint with Foomatic
    (these queues have a driver name of "gutenprint-ijs.5.0").

    Note that it almost never makes sense to build the Foomatic driver
    without also building the Ghostscript driver, even if Foomatic is
    to be used with CUPS (CUPS-O-Matic).  Please read the instructions
    below in the GHOSTSCRIPT section.

    If you do not wish to build the Print plugin for the GIMP plugin,
    you must run

    ./configure --with-foomatic --without-gimp

    or

    ./configure --with-ghostscript --with-foomatic --without-gimp

    Please visit http://www.linuxprinting.org/foomatic.html for more
    information on Foomatic.

    Foomatic provides an alternate interface to CUPS, in addition to
    an interface to LPD, LPRng, GNUlpr, PDQ, PPR, CPS, and spooler-less
    printing.


GHOSTSCRIPT

    Gutenprint includes an IJS-based Ghostscript driver.  As
    paraphrased from the Ghostscript documentation, IJS is a
    relatively new initiative to improve the quality and ease of use
    of inkjet printing with Ghostscript.  Using IJS, one can add new
    drivers, or upgrade existing ones, without recompiling
    Ghostscript.  IJS drivers run as separate processes that
    communicate with Ghostscript via an IPC channel.  As the basic IJS
    implementation is licensed compatibly with the GPL, and as the
    driver runs in a separate process from Ghostscript itself, the IJS
    driver may be used with AFPL Ghostscript (7.04 and above).

    The basic way to build the Ghostscript driver is

    ./configure --with-ghostscript [--without-gimp]
    make
    make install

    You must have the IJS libraries installed for this to work.
    Instructions for that are included with GNU Ghostscript 6.53 and
    beyond, AFPL Ghostscript 7.04 and beyond, and ESP Ghostscript 7.05
    and beyond.

    We strongly recommend that end users use CUPS, or use Foomatic to
    configure printer queues for Gutenprint.  The available options
    are very complex and are subject to change, and the older printer
    configuration tools (such as apsfilter and magicfilter) do not
    provide a convenient interface to the driver's capabilities.  We
    no longer provide documentation on direct use of this driver
    without the Foomatic front end.

    Gutenprint 5.0 no longer provides the monolithic "stp" driver
    present in Gimp-Print 4.2.  This driver, which was compiled and
    linked directly into Ghostscript, was very difficult to maintain
    and required a complex integration procedure.


RECOMMENDED SETTINGS

    We recommend starting with all default settings for the color
    settings.  The settings can be adjusted as necessary for
    particular combinations of ink, paper, and subject material.

    On most inkjet printers, using plain or coated inkjet paper, 600
    or 720 dpi will produce high quality; 1200x1200 or 1440x720 dpi
    will produce extremely high quality.  On newer printers with very
    small drops, or when printing photographs to special photo paper,
    higher resolutions such as 2880x1440 DPI may be required to
    achieve the highest quality.


SUPPORT

    1) Read the FAQ, in doc/FAQ.html.  Your question may be answered
       there.

    2) Read the user's manual, in doc/users_guide.

    3) There are public forums on Sourceforge dedicated to this
       package.  Please see
       http://sourceforge.net/forum/?group_id=1537 for more
       information.  The Help forum is a good source of information.

    4) If you have a technical support issue that does not appear to
       be a bug in the software, you can use the Tech Support Manager.
       Please see http://sourceforge.net/support/?group_id=1537.

    5) If you have found a clear bug in the package, you may file a
       bug report at http://sourceforge.net/bugs/?group_id=1537.

    6) You may send mail to the gimp-print-devel@sourceforge.net
       mailing list.  This is recommended as a last resort only.


KNOWN BUILD/INSTALLATION ISSUES

    As of Gutenprint 5.0.0-rc1, the description of known issues has
    been moved to the NEWS file (release notes).


PACKAGING

    We recommend that packagers and distributors of Gutenprint use the
    following settings to build the package:

    --with-foomatic
    --with-ghostscript
    --with-user-guide
    --with-samples
    --with-escputil

    We suggest the following packaging:

    * A Gutenprint core package should contain the following.  You may
      wish to install the user's guide only in certain formats.

      /usr/lib/libgutenprint.so.2.x.y (the core shared library)
      /usr/bin/escputil (Epson Stylus utility)
      /usr/bin/ijsgutenprint.5.0 (Gutenprint Ghostscript IJS plug-in driver)
      /usr/share/gutenprint/doc/html (HTML documentation)
      /usr/share/gutenprint/doc/users-guide.pdf
      /usr/share/gutenprint/doc/users-guide.ps
      /usr/share/locale/*/LC_MESSAGES/gutenprint.mo

    * A gutenprint-devel package (for developers) should contain the
      following.  Again, you may wish to install the programmer's
      manual only in certain formats.

      /usr/include/gutenprint
      /usr/bin/gutenprint-config
      /usr/share/gutenprint/doc/manual-html
      /usr/share/gutenprint/doc/gutenprint.ps
      /usr/share/aclocal/gutenprint.m4
      /usr/lib/libgutenprint.a
      /usr/lib/libgutenprint.so

      You may wish to include the test pattern generator source and
      the sample test pattern in this package, and you may wish to
      include test patterns of your own.  You may also wish to include
      the various unprint programs and the parse-* scripts from the
      test directory, although these are typically of more use to
      developers of the Gutenprint package per se than developers of
      applications layered on Gutenprint.  However, the test programs
      have received less testing than the others, and are known to
      have some limitations that are not documented.

    * A gutenprint-extras package should contain

      /usr/share/gutenprint/samples

      You may wish to include the test pattern generator and the
      sample test pattern from src/testpattern if you don't include it
      in the developer package; test/unprint; test/pcl-unprint;
      test/bjc-unprint; test/parse-escp2; and test/parse-bjc in this
      package.

    * Ghostscript requires GNU Ghostscript 6.53 or above, or ESP
      Ghostscript 7.05 or above.

    * CUPS packages should include the gutenprint PPD's in
      /usr/share/cups/model, and the following utilities:

      + "epson" and "canon" belong in /usr/lib/cups/backend.

      + "rastertogutenprint-5.0", "commandtoepson", and
	"commandtocanon" belong in /usr/lib/cups/filter.

      + "cups-calibrate" belongs in /usr/bin.

      + "command.types" belongs in /etc/cups.

      + "calibrate.ppm" belongs in /usr/share/cups.

      The PPD's packaged with gutenprint are rather bulky, about 1 MB
      for each language installed.  At present, twelve language
      translations are installed, in addition to the US English
      defaults: GB English, Swedish, Danish, Norwegian, French,
      Polish, Slovakian, Greek, Spanish, Dutch, German, and
      Portuguese.  You may wish to install these selectively.

      Please see KNOWN BUILD ISSUES above for more discussion about
      build issues related to the PPD files.

    * A gutenprint-foomatic package, containing the
      src/foomatic/foomatic-db/gutenprint*/ directories, should be 
      provided to allow people who wish to use foomatic to install the
      corresponding data files. The packaging should arrange to call
      "foomatic-kitload" (or the equivalent) on this tree when it is
      installed.

      An alternative option is to install pregenerated PPD files,
      which may be created with foomatic-compiledb.

    * Please read the release notes carefully!

    * Distributors (UNIX vendors and Linux distributors) should
      subscribe to the gimp-print-devel@sourceforge.net mailing list
      to monitor development activities.  When reporting a problem
      related to building the package for distribution, please
      identify yourself as such.  The Gutenprint package is primarily
      an infrastructure package, rather than an end-user application,
      and as such we particularly want to fix any problems that
      interfere with building and distribution of this package on any
      POSIX-compliant operating system.


USE OF THE CVS REPOSITORY

    Please read doc/README.maintaining for instructions on how to
    build from the CVS repository.
