Welcome to Gutenprint 5.2.10-pre2!  Please read these notes carefully.

*** NOTE TO PACKAGERS: Please read the file README.package for issues
    that are of interest to distributors and packagers of Gutenprint.
    It is not necessary for end users of Gutenprint to read this file.

================================================================

I) INTRODUCTION

    This is Gutenprint version 5.2.10-pre2, a prerelease of Gutenprint
    5.2.10.  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.5 and newer) and Linux systems in many cases equal to or better
    than proprietary vendor-supplied drivers.  Gutenprint also
    includes an enhanced print plug-in for the GIMP image editor,
    replacing the Gimp-Print 4.2-based plugin supplied with GIMP 1.2,
    2.0, and 2.2, and offering an alternative with additional
    capabilities to the GtkPrint-based plugin supplied with GIMP 2.4
    and beyond.

    Gutenprint has been renamed in order to clearly distinguish it
    from GIMP.  While this package started out as the Print plugin for
    GIMP, it has expanded into a collection of general purpose printer
    drivers, and the enhanced Print plugin for GIMP is now only a
    small part 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.

    Please read the user's manual (in ODF format as
    doc/gutenprint-users-manual.odt or PDF format as
    doc/gutenprint-users-manual.pdf) carefully, as it covers much more
    information than this README file.  In addition, please read the
    release notes (NEWS), as it has information on the latest changes.

    Gutenprint supports only the printer part of multi-function
    devices (devices that typically include scanning, copying, and fax
    capabilities).

    We recommend that all users who wish to use this package for
    general purpose printing use either CUPS or, if they use another
    printing system or no spooler at all, use Foomatic with the
    Ghostscript driver (both described below), rather than integrating
    the Ghostscript driver with self-made scripts or even manually
    typing in Ghostscript command lines.  It is much simpler to manage
    with CUPS or Foomatic and its PPDs.  CUPS provides an excellent
    web-based interface for easy printer administration, and all
    CUPS-enabled applications (OpenOffice.org, all KDE apps, etc.) and
    printing dialogs (kprinter, xpp, etc.) show all the options in
    easy to use GUIs.  Please visit http://www.cups.org/ for
    information on downloading and installing CUPS.


================================================================

II) INSTALLATION

    This section is provided for people installing the package from
    source.  If you are installing from a pre-compiled package (such
    as the Macintosh OS X package, or a package provided by your
    distribution vendor), you may skip this section.

    Installing packages from source requires some level of system
    administration skills along with superuser privileges.  Superuser
    privilege allows you to perform actions that may be damaging to
    your system.  If you are not comfortable with the material
    discussed here and in the release notes, or with performing simple
    administrative actions, we recommend that you not attempt to
    install this package from source.

    If you are building Gutenprint from the CVS repository, you need
    to take some additional steps.  Please read doc/README.maintaining
    for instructions on how to build from CVS.

    Before beginning, please read the release notes carefully for any
    updates.

----------------

A) OVERVIEW

    Gutenprint includes the following primary components:

      - The core driver library (required for everything else)
      - A CUPS (Common UNIX Printing System) driver
      - A CUPS backend, required for selected dye-sublimation printers
      - A command-line utility to administer and maintain Epson
        printers
      - An enhanced Print plug-in for GIMP
      - GTK-based UI libraries (used by the enhanced GIMP plug-in)
      - Support for the Foomatic spooler configuration system
      - A Ghostscript driver using the IJS plugin facility

    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 must take
    care to use 'gmake'.

    The general procedure to build Gutenprint is as follows:

    ./configure [options]
    make
    make install

    The "configure" script, which must be run before doing anything
    else, controls which of these components are built along with any
    options desired.  This script determines what software is
    installed on your system and what components will be compatible
    with it, and prepares the package to be built and installed.  If
    the script emits any warnings or errors, please be certain that
    you understand them before proceeding.

    After the configure script has completed its work, it will print
    a summary of its choices.  Please ensure that it is correct before
    proceeding.  The summary looks like this:

	Configuration Summary:
	------------- --------

	If you have any problems, please report the information below to
	gimp-print-devel@lists.sourceforge.net

	================================================================
	  Release: gutenprint 5.2.10 generated on 08 Feb 2014

	  Features:
	    Build CUPS:                                 yes, installing in /usr
		Build CUPS 1.2 enhancements:            yes
		Build CUPS PPD files:                   no
		Generate PS level 3 CUPS PPD files:     yes
		Build genppd statically:                yes
		Build CUPS dyesub USB backend:          yes
	    Build Ghostscript IJS driver:               no
	    Build Foomatic data:                        yes
		Build Foomatic 3.x data:                yes
	    Build enhanced Print plugin for GIMP:       yes
		GIMP plugin will be named:              gutenprint
		Install plugin(s) in home directory:    no
	    Build EPSON Stylus utility:                 yes
	    Build test programs:                        yes
	    Build testpattern generator:                yes

	  Installation summary:
	    Installation prefix:                        /usr/local
	    Exec prefix:                                ${prefix} (/usr/local)
	    Data directory:                             /usr/local/share/gutenprint
	    Library directory:                          ${exec_prefix}/lib64/gutenprint (/usr/local/lib64/gutenprint)
	    XML data directory:                         /usr/local/share/gutenprint/5.2/xml
	    Module directory:                           ${exec_prefix}/lib64/gutenprint/5.2/modules (/usr/local/lib64/gutenprint/5.2/modules)
	    Install sample images:                      yes

	  General configuration:
	    Compiler options:                           -Disfinite=finite  -O6  -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wwrite-strings -Werror-implicit-function-declaration -Winline -Wformat=2 -finline-limit=131072 -pedantic -Waggregate-return -Wcast-qual -Wshadow -Wredundant-decls
	    Build static libraries:                     yes
	    Build shared libraries:                     no
	    Maintainer mode:                            yes
	    Use i18n:                                   yes
	    Generate profiling information:             no
	    Generate debugging symbols:                 no
	    Use modules:                                static
	    Use readline libraries:                     yes, extra arguments: -lncurses
	    uname -a output:                            Linux dsl092-065-009 3.11.6-4-default #1 SMP Wed Oct 30 18:04:56 UTC 2013 (e6d4a27) x86_64 x86_64 x86_64 GNU/Linux
	================================================================

    The CUPS, GIMP, Foomatic, and Ghostscript components require that
    the appropriate packages be installed on your system.  Many
    distribution vendors separate packages into runtime and
    development packages.  The development packages are required in
    order to successfully compile Gutenprint.  In many cases the
    configure script cannot detect whether these development packages
    are installed, in which case you will get an error during
    compilation.  Also note that it is necessary for the versions of
    the development packages to match exactly the versions of the
    runtime packages they are related to.

    PLEASE INSPECT THE OUTPUT CAREFULLY BEFORE PROCEEDING.  If you
    expect to build a particular component (particularly the CUPS
    driver, CUPS backends, or enhanced Print plugin for GIMP), and
    the configure output states that that component will not be built,
    please make certain that you have the required development packages
    installed, as described below in the sections for the particular
    components.


----------------

B) CORE DRIVER LIBRARY

    The core driver library, which is always built, contains all of
    the printer drivers comprising the Gutenprint package.  When the
    package is built, it consists of a core library (libgutenprint), a
    set of XML files, and depending upon the options selected,
    additional libraries containing the drivers for each family of
    printers.

    By default dynamically loadable modules (plug-ins) will be built
    for the family drivers, 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.  If you wish to compile Gutenprint entirely
    statically (with no use of shared libraries), you may use the
    option --disable-shared.


----------------

C) 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.2
    requires CUPS 1.1.9 or higher.  We recommend use of 1.1.15 or
    above; that release of CUPS fixes some important bugs.  Gutenprint
    supports CUPS 1.2, and supports the CUPS 1.2 enhancements,
    including dynamic PPD file generation.

    Gutenprint will normally detect the presence of CUPS on your
    system and will attempt to build the CUPS driver if it finds CUPS
    installed.  If your distribution separates the CUPS installation
    into development and runtime packages, you must install the CUPS
    development package (cups-devel or similar).  You may need to
    install other development packages depending upon how your
    distribution has built CUPS.  The list of packages varies, but
    commonly development packages for TIFF (libtiff-devel), JPEG
    (jpeg-devel or libjpeg-devel), PNG (libpng-devel), OpenSSL
    (openssl-devel), and libc (glibc-devel or libc-devel) will be
    required.  Failure to install these packages will lead to errors
    when the package is compiled.  The errors will typically look like
    this; the important error is "cups/cups.h: No such file or
    directory" (other ".h" files may also be missing, depending upon
    the missing packages):

	make[3]: Entering directory `/opt/gutenprint/gutenprint-5.2.10/src/cups'
	gcc -DHAVE_CONFIG_H -I. -I../..  -I../../include -I../../include
	   -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes
	   -Wmissing-declarations -Wnested-externs -Wwrite-strings
	   -Werror-implicit-function-declaration -Winline -Wformat=2
	   -finline-limit=131072  -DCUPS_DRIVER_INTERFACE -DALL_LINGUAS='"cs da
	   de el en_GB es fr hu it ja nb nl pl pt sk sv zh_TW"'
	   -Disfinite=finite  -O6 -MT gutenprint_5_2-genppd.o -MD -MP -MF
	   .deps/gutenprint_5_2-genppd.Tpo -c -o gutenprint_5_2-genppd.o
	   `test -f 'genppd.c' || echo './'`genppd.c
	genppd.c:79:23: error: cups/cups.h: No such file or directory
	genppd.c:80:25: error: cups/raster.h: No such file or directory
	make[3]: *** [gutenprint_5_2-genppd.o] Error 1
	make[3]: Leaving directory `/opt/gutenprint/gutenprint-5.2.10/src/cups'
	make[2]: *** [all-recursive] Error 1
	make[2]: Leaving directory `/opt/gutenprint/gutenprint-5.2.10/src'
	make[1]: *** [all-recursive] Error 1
	make[1]: Leaving directory `/opt/gutenprint/gutenprint-5.2.10'
	make: *** [all] Error 2

    Installing the CUPS driver for Gutenprint 5.2 will not interfere
    with your ability to continue using the Gutenprint 5.0 or
    Gimp-Print 4.2 CUPS driver.

    WARNING: The "canon" and "epson" CUPS backends that previously
    were distributed with Gutenprint are no longer distributed, so you
    will need to ensure that none of your printer queues use these
    backends.  Please read the Critical Upgrade Note in the release
    notes for more information and the procedure for modifying your
    printer queues.

    The Gutenprint CUPS driver consists of the following components:

    * The core Gutenprint CUPS driver, rastertogutenprint.5.2.  This
      is a CUPS filter that converts CUPS raster data into
      printer-specific data.  This is most commonly installed in
      /usr/lib/cups/filter.

    * Additional utilities to send certain commands to these printers
      are installed as commandtocanon and commandtoepson; they are
      installed in /usr/lib/cups/filter.

    * A custom backend, gutenprint52usb, to send data to certain dye
      sublimation printers.  Some dye sublimation printers use custom
      USB protocols to send data to the printer and will not work with
      the standard USB back end.

    * One or more sets of PPD files describing all of the printers
      supported by Gutenprint.  These are normally installed in
      /usr/share/cups/model/gutenprint.  These PPD files can only be
      used by the precise version of Gutenprint that they were built
      with; for example, it is not possible to use PPD files from
      Gutenprint 5.2.9 with Gutenprint 5.2.10.

      If you are using CUPS 1.2 or above, these PPD files may not be
      actually installed by default, depending upon your system.
      Instead, a CUPS driver generates these PPD files on demand.

    * A utility to update PPD files from an earlier release of
      Gutenprint, cups-genppdupdate.  This utility may be used to
      update PPD files generated by earlier versions of Gutenprint
      starting from 4.3.21, including any 5.0, 5.1, or 5.2 release or
      pre-release.  This is normally installed in /usr/sbin.  This
      utility cannot update PPD files from Gimp-Print 4.2.

    * A utility to generate PPD files, cups-genppd.5.2.  Normally this
      is only required when the package is built, and only with CUPS
      1.1.

    * A driver to generate PPD files on the fly, gutenprint.5.2.  This
      is normally used to generate PPD files on the fly with CUPS 1.2
      and above.

    * A utility to permit additional color calibration for
      Gutenprint-supported printers, cups-calibrate.  This is normally
      installed in /usr/bin.

    WARNING: With certain versions of CUPS and in certain non-standard
	configurations, if a new version of Gutenprint is installed
	over an existing version genppd will create PPD files based on
	the older version of Gutenprint rather than the newer version.
	This will happen if all of the following are true:

	i) The cups-config provided by the CUPS driver adds
	   -Wl,rpath=/usr/lib (or wherever the CUPS system libraries
	   live). This is done by some versions of CUPS reportedly
	   because in some cases the runtime linker does not pick up
	   libraries out of /usr/lib.  This can be checked by running

	   cups-config --libs --ldflags

	   and inspecting the output for any mention of "rpath",
	   "RPATH", "RUN_PATH", or the like.  This is controlled by
	   the CUPS installation on your system.

	ii) There is presently a version of Gutenprint installed in
	   the system default, typically /usr (--prefix=/usr) rather
	   than /usr/local or the like.  The default location of
	   Gutenprint installation is in /usr/local, but system
	   vendors typically install Gutenprint in /usr.

	iii) Gutenprint is built dynamically only (--disable-static or
	   --disable-static-genppd).  This is not standard, and
	   requires the explicit --disable-static or
	   --disable-static-genppd on the Gutenprint "configure"
	   command line.  Therefore, if you build Gutenprint normally
	   you should not be vulnerable to this problem.

	iv) Gutenprint is configured to build the PPD files at compile
	   time.  This is the case when using CUPS 1.1, but is not the
	   case when using CUPS 1.2 unless you explicitly use
	   --enable-cups-ppds.

	Note that in general if you install CUPS into a non-standard
	location, and install Gutenprint into the same location, this
	problem can surface.  For example, if you choose to install
	CUPS in /usr/local and Gutenprint in /usr/local you are
	vulnerable to this.  However, it is not standard practice to
	install CUPS anywhere but /usr.

	In this case, the run path embedded in the genppd executable
	points to the version of Gutenprint installed in /usr/lib.
	This run path overrides any attempt by libtool to look in the
	build directory.  The result is that cups-genppd and
	rastertogutenprint are run against the older version of
	Gutenprint.  If the new version contains additional features
	(more printers, changes to printer options, etc.) they will
	not be available.

	This bug is difficult to detect in a normal build.  It
	normally does not cause an error to happen during build unless
	there is an API change from the version installed and the
	version being built; the only failure is frequently that some
	PPD files may not be built or may be built with missing
	options.  Due to the PPD version checking introduced in this
	release, the behavior might manifest itself as a runtime
	error.  It is also possible that there will be no error at all
	other than the older version of Gutenprint being used, with
	the result that new features and bug fixes are not available.

	If you wish to use only shared libraries, do not wish to build
	static libraries at all, and are vulnerable to this issue
	(because cups-config --ldflags sets the run path), there are
	three workarounds available:

	i) Build and install Gutenprint into /usr (rather than
	   /usr/local) and then rebuild Gutenprint from scratch.  This
	   will install the correct libgutenprint.so in /usr/lib, and
	   in the rebuild genppd will be run against the correct
	   library.

	ii) Remove the old version of Gutenprint prior to building the
	   new version of Gutenprint.  The important files to remove
	   are anything named /usr/lib/libgutenprint*.

	iii) Edit cups-config to remove the reference to the run path.

    Following installation of the package with "make install", you
    must restart CUPS to permit CUPS to see the new PPD files.  The
    exact command to restart CUPS varies; it is typically something
    like /etc/init.d/cups restart, /etc/software/init.d/cups restart,
    /etc/rc.d/cups restart, /usr/sbin/rccups, or even
    /etc/rc.d/init.d/cups restart.  Your system may have a different
    way to restart the CUPS server.  OS X (10.4 and 10.5), for
    example, 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, after which you should restart CUPS
    as described above.  We strongly recommend use of this update
    procedure, which is fast and simple.  This script will
    automatically update Gutenprint PPD files from earlier versions
    (5.0, 5.1, or 5.2 release or prerelease).  This script will only
    update PPD files from earlier versions of Gutenprint; it will not
    update Gimp-Print 4.2 PPD files or PPD files from other drivers.
    However, you may install Gutenprint 5.2 alongside Gimp-Print 4.2,
    and use both Gimp-Print 4.2 and Gutenprint 5.2 drivers
    concurrently in separate printer queues.  Therefore, you need not
    convert a workflow based on Gimp-Print 4.2 right away, but can
    gradually convert or even permanently use both drivers for
    different printer queues.

    The following options to configure are available for compiling the
    Gutenprint driver for CUPS:

    --enable-cups-ppds

	With CUPS 1.2, it is possible to arrange for PPD files to be
	generated when a new printer queue is generated rather than
	having all pre-generated PPD files in the filesystem.  This
	saves considerable disk space and avoids the possible build
	problem described above.  Normally, Gutenprint detects which
	version of CUPS is in use and configures itself to create the
	PPD files at build time only when CUPS 1.1 is in use.

	If you wish to generate the PPD files at build time, you may
	use this option.  If you are running CUPS 1.1, and for some
	reason do not wish to generate the PPD files, you may use
	--disable-cups-ppds.

    --disable-translated-cups-ppds

	By default, PPD files for all languages available in
	Gutenprint are created.  If this option is used, only the
	default (US-English) PPD files are created.  Distributors may
	wish to package up the PPD files separately for each language.

	Some systems may not build the translated PPD files correctly,
	in which case all of the PPD files will be in English.  If
	this is the case on your system, you should use
	--disable-translated-cups-ppds to avoid having many duplicate
	PPD files.

    --disable-globalized-cups-ppds

	Starting with Gutenprint 5.2, Gutenprint builds PPD files
	containing translations for all languages if CUPS 1.2 or above
	is in use.  This greatly reduces the number of PPD files
	created or PPD file choices offered.

	If you have problems with the globalized PPD files, you may
	use this option to generate standard translated PPD files (or
	English-only, if --disable-translated-cups-ppds is also in
	use).  This option only has effect if --enable-cups-ppds is
	used.

    --enable-simplified-cups-ppds

	Gutenprint 5.2 offers an option of creating simplified PPD
	files (containing only basic options and standard paper sizes)
	in addition to PPD files offering all available options
	(including all color correction options).  If this option is
	used, both the simplified and standard PPD files are created.
	If --enable-simplified-cups-ppds=only is specified, only the
	simplified PPD files are built.

	If the new dynamic PPD file generation is used with CUPS 1.2,
	the simplified PPD files are always offered.

    --disable-cups-level3-ppds

	By default, the Gutenprint PPD files are configured for
	PostScript Level 3.  If this option is used, Level 2 PPD files
	are created.  This may be useful if you are using a version of
	CUPS older than 1.1.15.  It is normally not necessary to use
	this explicitly, as the configure script detects the version
	of CUPS in use and selects the appropriate PostScript level
	automatically.

    --disable-cups-ppds-at-top-level

	Normally, the PPD files are placed in
	/usr/share/cups/model/gutenprint/5.2.  If this option is used,
	the PPD files are placed in /usr/share/cups/model.  There is
	normally no good reason to use this option.

    --disable-static-genppd

	Build genppd and rastertogutenprint dynamically linked rather
	than statically linked.  WARNING: Use of this option may lead
	to failure during build or installation, or incorrect
	installation.  It is *STRONGLY* recommended that you not use
	this option unless you are certain that you understand the
	problem and how to work around it.


----------------

D) CUPS dye-sublimation backend

    A new CUPS backend was added to support USB specific dye-sublimation
    printers that require a special communications protocol. This backend is
    called 'gutenprint52usb' and currently supports the models listed below.
    If you do not have a printer on this list, you may skip the remainder
    of this section.

        Canon SELPHY ES series  (All models)
        Canon SELPHY CP series  (All models)
        Kodak Professional 1400
        Kodak 805 Photo Printer
        Kodak 6800 Photo Printer
        Kodak 6850 Photo Printer
        Kodak 605 Photo Printer
        Shinko/Sinfonia CHC-S2145
        Sony UP-DR150
        Sony UP-DR200
        DNP DS40
        DNP DS80
        DNP DS-RX1
        Citizen CX
        Citizen CX-W
        Citizen CY
	Mitsubishi CP-D70DW  (EXPERIMENTAL)
	Mitsubishi CP-D707DW (EXPERIMENTAL)

    Although these printers advertise themselves as standard USB Printer
    Class devices, they do not actually obey those specifications, and
    require two-way handshaking in order to successfully print.

    Over time, it is expected that additional printer models will be
    supported by this backend.

    NOTE: While most of these printers are new as of Gutenprint 5.2.10,
    if you are upgrading from 5.2.9 (or earlier) and using one of these
    models, you will need to remove and re-create your printer queue:

        Canon SELPHY ES series  (All models)
        Canon SELPHY CP series  (All models)
        DNP DS40
        DNP DS80
        Sony UP-DR150

  Build Requirements

    This backend requires libusb (or libusbx) 1.0 or newer.

  CUPS Integration

    If you are using up-to-date versions of CUPS (1.6.4 or newer) on
    Linux, then your system will automatically select this backend if
    the you plug in one of its supported printers.  No further intervention
    on the your part should be necessary.

    Unfortunately, if you are using an older version of CUPS or a non-Linux
    system (particularly OSX) then you will probably need to manually
    configure the use of this backend because the system may attempt to
    use the default usb backend, which will not work properly with these
    printers.

    To check which backend your printers are using, run the 'lpstat
    -s' command.  Below is an example of its output:

      device for Canon_SELPHY_ES1: gutenprint52+usb://Canon/SELPHY%20ES1?serial=221CD10131&backend=canonselphy
      device for Canon_SELPHY_ES3: usb://Canon/Canon%20SELPHY%20ES3

    In this example, the SELPHY ES1 is using the correct gutenprint
    backend, but the ES3 is using the incorrect 'usb' backend. In
    order for the ES3 to function properly, you need to configure it
    to use the correct backend.

    The most expedient way to accomplish this is to remove the printer
    via your system's printer configuration interface, then manually
    add a new one, taking care to select the correct backend
    ("gutenprint52+usb"). This backend name is present in the device
    URI for the printer, as demonstrated in the above example.  An
    alternative to the system printer configuration interface is to
    use your local system's CUPS web interface, if it is enabled.
    Step-by-step instructions for using any of these interfaces is
    beyond the scope of this document.

    Once the printer is properly configured, this backend will be
    automatically invoked as needed; you will never invoke the backend
    directly.

  Note on Use of Multiple Printers of the Same Model

    If you do not use (and do not intend to use) more than one printer of
    the same model connected via USB to one computer, you may skip this
    section.

    If you have more than one printer connected to a computer (via
    separate queues), CUPS inspects each printer to determine which
    printer is attached to which queue.  Most printers provide a
    serial number, which is different for each individual printer, to
    determine which unique printer is which.  Unfortunately, certain
    printers do not provide this serial number, so CUPS cannot
    uniquely identify each printer.

    To determine if your printer model is affected, you should inspect the
    CUPS queue URI, specifically the "serial=" portion.  If the serial is
    NONE_UNKNOWN, it indicates that the printer does not report a serial
    number and so CUPS cannot uniquely that printer, if more than one of
    that type is plugged in.

    For example, a device URI of

      gutenprint52+usb://Canon/SELPHY+ES1?serial=221CD10131&backend=canonselphy
    has a proper serial number (221CD10131), and CUPS can uniquely
    identify the printer.

    A device URI of

      gutenprint52+usb://Canon/CP-10?serial=NONE_UNKNOWN&backend=canonselphy

    indicates that the printer does not report a valid serial number,
    so that CUPS cannot uniquely identify the printer if there are
    two or more Canon CP-10 printers attached.

    If you attach more than one of any one of these printer models to
    the same computer (such as two Canon CP-10 printers), you may
    experience incorrect behavior, including:

      * Printing (or attempting to print) to a printer other than
        the desired one
      * Failing to print a particular job at all
      * Inability to create a queue for each printer
      * Attempt to create a queue that already exists

  Note on the Shinko CHC-S2145

    The Shinko CHC-S2145 does not report a serial number in the traditional
    sense; instead it reports a user identification string, which the backend
    will use if one is configured.

    The backend supports configuring this user identification string.
    To do so, first disconnect all other Shinko CHC-S2145 printers from the
    system, and then connect each printer individually, and run the
    following command.  Please ensure that the text you choose for each
    printer is different.

       /usr/lib/cups/backend/gutenprint52+usb -B shinkos2145 -U "sometext"

    After changing the user string, you will need to remove and re-create
    the CUPS queue.


----------------

E) ESCPUTIL

    "escputil" is a command line utility for administering Epson
    inkjet printers.  It performs head alignment, retrieval of ink
    levels and status information, printing of test patterns, etc.  It
    is built and installed by default; if you don't want it, you may
    use --without-escputil when configuring.

    escputil uses the readline package for interactive commands
    (currently only head alignment falls into this category).  Linking
    against libreadline sometimes requires linking against other
    packages.  Gutenprint attempts to determine the correct packages
    to link against; the exact sequence is described in the release
    notes.  If you do not wish to use readline, you may use
    --without-readline.


----------------

F) FOOMATIC

    Foomatic is a printer meta-driver that can be used with any
    spooler (CUPS, lpd, LPRng, etc.) or even no spooler at all.  It
    uses XML data describing printer and driver capabilities in
    conjunction with Ghostscript to allow printing in any environment.
    Please visit http://www.openprinting.org/foomatic.html for more
    information.

    We normally recommend using the native CUPS driver described above
    if your system uses CUPS as its spooler.  However, some systems
    (many releases of Fedora Core, for example) use Foomatic as the
    repository for all printer information; the tools provided on
    those systems will not recognize the CUPS PPD files.  If your
    system uses Foomatic in this way, or does not use CUPS, you should
    use Foomatic to manage your printers.  If you are using CUPS,
    however, we strongly recommend using the CUPS driver described in
    the previous section in preference to Foomatic.

    The Gutenprint driver for Foomatic requires Foomatic 2.0 or
    higher; Foomatic 3.0 or above is highly recommended.  It also
    requires GNU Ghostscript 6.53 or newer, AFPL Ghostscript 7.04 or
    newer, or ESP Ghostscript 7.05 or newer for IJS support.  We
    recommend Ghostscript 8 or above.

    The Foomatic support in Gutenprint consists of a data generator
    and an IJS-based Ghostscript driver.  It is possible to use the
    Ghostscript driver without Foomatic, but the Gutenprint options
    are complex and subject to change without notice.  Older printer
    configuration tools such as apsfilter and magicfilter do not
    provide a convenient interface to the driver's capabilities.
    Therefore, we no longer provide documentation on direct use of the
    Ghostscript driver without the Foomatic front end.

    The Ghostscript driver in Gutenprint 5.2 is based on the IJS
    protocol.  IJS is a protocol originally developed by
    Hewlett-Packard to allow new drivers to be used with Ghostscript
    without having to be compiled into Ghostscript.

    Gutenprint 5.2 offers two Foomatic drivers, one supporting the
    full range of options and the other supporting simplified options,
    as describe above under CUPS.  The full-featured driver is named
    "gutenprint-ijs.5.2"; the simplified driver is named
    "gutenprint-ijs-simplified.5.2".

    Gutenprint 5.2 may coexist with Gimp-Print 4.2; both drivers may
    be installed and used (on separate printer queues, of course) on
    the same system.

    Normally, the Gutenprint configure script will automatically
    detect the presence of Foomatic and Ghostscript on your system.
    In some cases, you may have to install a Ghostscript development
    package that may be named gs-devel, ghostscript-library, or the
    like for the IJS capability.

    The Foomatic driver will not allow use of PPD files created from
    Foomatic data from a different version of Gutenprint.  This
    ensures that the PPD files accurately match the driver in use.
    However, there is no automatic upgrade tool provided for the
    Foomatic driver, unlike the CUPS driver.  Therefore, all queues
    using a Gutenprint driver must be updated manually, using either
    tools provided by your distribution or the Foomatic tool
    "foomatic-ppdfile".

    NOTES TO PACKAGERS:

    * We recommend packaging the IJS driver
      (/usr/bin/ijsgutenprint.5.2) and its man page
      (/usr/man/man1/ijsgutenprint.1.gz) together with the Foomatic
      data.

    * The IJS driver and the Foomatic data kit and PPD files are
      versioned, and hence you should consider permitting multiple
      versions to be installed concurrently.  The man page
      (/usr/man/man1/ijsgutenprint.1.gz) is not versioned.


----------------

G) GIMP

    Gutenprint may be used as an enhanced Print plug-in for GIMP (2.0
    and above), providing the ability to print images.  Please read
    the release notes in addition to this README.  Gutenprint 5.2 no
    longer supports GIMP 1.2.

    The enhanced Print plugin for GIMP replaces the Gimp-Print
    4.2-based plugin provided with GIMP 2.0 and 2.2.  As of the GIMP
    2.4, GIMP team provides a new Print plugin based on the GtkPrint
    framework.  This plugin provides standard printing capabilities,
    but does not provide all of the new Gutenprint 5.2 features.
    Therefore, the enhanced Print plugin for GIMP distributed with
    Gutenprint does not replace that plugin, but is installed
    alongside that plugin.

    If your system separates development packages from runtime
    packages, you will typically have to install development packages
    for GIMP itself, in addition to Gtk and Glib.  With GIMP 2.x and
    GTK 2.x, additional packages may be required.  Failure to install
    these packages will lead to errors when the package is compiled.
    The errors will typically look like this; the important errors are
    the ones "No such file or directory".

	make[3]: Entering directory `/opt/gutenprint/gutenprint-5.2.10/src/gimp2'
	gcc -DHAVE_CONFIG_H -I. -I../..  -I../../include -I../../include
	   -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes
	   -Wmissing-declarations -Wnested-externs -Wwrite-strings
	   -Werror-implicit-function-declaration -Winline -Wformat=2
	   -finline-limit=131072   -Disfinite=finite  -O6 -MT print-image-gimp.o
	   -MD -MP -MF .deps/print-image-gimp.Tpo -c -o print-image-gimp.o
	   print-image-gimp.c
	In file included from print-image-gimp.c:30:
	print_gimp.h:36:21: error: gtk/gtk.h: No such file or directory
	print_gimp.h:37:26: error: libgimp/gimp.h: No such file or directory
	print_gimp.h:38:28: error: libgimp/gimpui.h: No such file or directory
	make[3]: *** [print-image-gimp.o] Error 1
	make[3]: Leaving directory `/opt/gutenprint/gutenprint-5.2.10/src/gimp2'
	make[2]: *** [all-recursive] Error 1
	make[2]: Leaving directory `/opt/gutenprint/gutenprint-5.2.10/src'
	make[1]: *** [all-recursive] Error 1
	make[1]: Leaving directory `/opt/gutenprint/gutenprint-5.2.10'
	make: *** [all] Error 2

    Normally, the Gutenprint configure script detects which version,
    if any, of GIMP is installed and builds an appropriate plugin.  If
    the configure script does not detect it properly, you may need to
    specify --with-gimp or --with-gimp2.  However, it's more likely
    that you need to install appropriate development packages.

    Normally Gutenprint installs 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

    It is not possible for Gimp-Print 4.2, Gutenprint 5.0, and
    Gutenprint 5.2 (or any future release) to coexist in the same
    installation of GIMP.  The Gutenprint 5.2-based plugin can read
    settings from previous versions of Gutenprint and Gimp-Print, but
    the configuration file format in Gutenprint 5.2 cannot be read by
    older versions of Gimp-Print or Gutenprint.


================================================================

III) GETTING STARTED

    This section describes how to get started by installing printers
    under Gutenprint.  Please see the user's manual (in
    doc/gutenprint-users-manual.odt or
    doc/gutenprint-users-manual.pdf) for more information.

----------------

A) PRINTER INSTALLATION

    The actual procedure to install a printer depends upon your
    operating system and the spooler (printing system) in use on your
    system.

    Gutenprint does not normally require the use of non-standard
    procedures (such as starting special programs) to install
    printers.  Assuming that you are using either CUPS or Foomatic, it
    integrates with your printing system, so the tools provided by
    your distribution vendor should work correctly with Gutenprint.

    Most printing systems currently use PPD files to describe printer
    capabilities.  Some printers are supported by more than one
    driver, so you may find more than one PPD file for your printer.
    Gutenprint PPD files are described as

    Epson Stylus Photo R300 - CUPS+Gutenprint v5.2.10
    Epson Stylus Photo R300 - CUPS+Gutenprint v5.2.10 Simplified
    Epson Stylus Photo R300 Foomatic/gutenprint-ijs.5.2
    Epson Stylus Photo R300 Foomatic/gutenprint-ijs-simplified.5.2

    The "simplified" PPD files offer a basic set of options only, for
    selecting printer options, standard paper sizes, and basic quality
    settings.  The PPD files that are not "simplified" offer a much
    broader set of controls, giving the user extensive control over
    quality and color adjustment.

    If you are using CUPS, you may be offered a choice between
    CUPS+Gutenprint and Foomatic/gutenprint-ijs PPD files.  While
    either kind of PPD file will work, we recommend using the
    CUPS+Gutenprint PPD files.  These PPD files can be automatically
    updated with cups-genppdupdate when you later upgrade your
    Gutenprint installation.  Some systems mark the Foomatic PPD files
    as "(recommended)"; we nevertheless recommend using the
    CUPS+Gutenprint PPD files.

    Other PPD files are described differently, such as

    Epson MJ 520C Foomatic/stcolor (recommended)

    These PPD files, whether "recommended" or not, are not Gutenprint
    PPD files.

    NOTES FOR CUPS USERS:

    If you do not choose to automatically update existing PPD files,
    you should reinstall any printer queues 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.2.1 will not work with driver version 5.2.2.  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.2.10(en)

    Linux users please note: 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,
    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.

================================================================

IV) SOLVING PROBLEMS

    While we have attempted to make use of Gutenprint as
    straightforward and trouble-free as possible, we certainly
    recognize that there may be problems with installing and using
    Gutenprint.  In the event of any difficulty, we ask that you take
    the following actions:

    1) Read the release notes (NEWS).

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

    3) Make sure that the paper type and size, and media source, that
       you have selected matches the paper loaded into the printer.
       This is only necessary if the printer attempts to print, but
       does not succeed.  It is a good starting point if quality is
       poor (too dark or too light, wet ink on the paper, etc.).

    4) Reset all settings (particularly the color and quality
       settings) to their defaults.

    5) If you are using CUPS, search /var/log/cups/error_log (which
       may be located elsewhere on some systems) for lines starting
       with 'E' (these lines indicate errors).  Also search for log
       information produced by Gutenprint; all such output lines will
       contain "Gutenprint".  These lines may help you solve the
       problem and will help us investigate your problem if necessary.

    6) If you are using CUPS, enable debugging output.  This can be
       done by editing /etc/cups/cupsd.conf (which must be done as
       root).  There will be a line in that file:

       LogLevel Info

       which should be changed to

       LogLevel Debug

       This will allow CUPS to produce extensive debugging output.
       You will need to restart CUPS (the exact procedure is
       system-dependent) after doing this.  If you report a problem to
       the Gutenprint team, you will be asked for this information.

    7) 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.

    8) 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.

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

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

================================================================

V) USE OF THE CVS REPOSITORY

    Please read doc/README.maintaining for instructions on how to
    build from the CVS repository.  You will need additional packages
    and tools for this purpose.
