Welcome to Gutenprint 5.1.4!  Please read these release notes
carefully.

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, 10.3, 10.4,
and 10.5) and Linux systems that in many cases equal or exceed
proprietary vendor-supplied drivers in quality and functionality, and
can be used for demanding printing tasks requiring flexibility and
high quality.  This software package includes an enhanced Print
plug-in for GIMP that replaces the plug-in packaged with GIMP, and
Ghostscript and CUPS drivers, as well as Foomatic data supporting the
Ghostscript driver.

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

Gutenprint currently supports over 600 printer models.

Gutenprint 5.1.4 is a development release of Gutenprint 5.1.

*** NOTE TO PACKAGERS: This is a DEVELOPMENT version of Gutenprint.
    It should not be packaged as the principal release of Gutenprint
    in any OS or distribution release.  The most recent stable release
    (the release with the second number being even -- for example,
    5.0.1) should be used for that.

    If you need a bug fix from the development release, you should
    backport it to the stable release if possible.  If you really
    think you need the development release, please contact us at
    gimp-print-devel@lists.sourceforge.net well in advance of your
    packaging deadline to discuss your particular needs with us.  We
    normally back port bug fixes from the development release to the
    next stable release, and we back port new printers and new
    capabilities if we determine it's safe to.

    By all means feel free to deliver this release as a
    "gutenprint-unstable" release if you want to make bleeding edge
    packages available as an option.

These release notes contain the following sections:

I)    General Requirements
II)   Changes from Previous Releases
	A) New features in 5.1.4
	B) New features in 5.1.3
	C) New features in 5.1.2
	D) New features in 5.1.1
	E) New features in 5.1.0
III)   Exceptions and Workarounds
	A) General Issues
	B) Build/Installation Issues


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

I) GENERAL REQUIREMENTS

Gutenprint will run on any reasonably modern computer running Linux,
Macintosh OS X (10.2 or above), Solaris, or any other UNIX-like
operating system.  If you plan to compile this package from source,
you will also need an ANSI C compiler, such as gcc (recommended).  A
compiler is not required if you are installing a pre-compiled package.

Processor and memory requirements vary depending upon the printer and
runtime options selected; it is suggested that you have at least 64 MB
of memory for general purpose printing, 256 MB or more for high
quality printing on a good printer, and 1 GB or more for large format
printing at high resolution.  You should have at least 50 MB of free
disk space to compile and install Gutenprint.  Disk space requirements
for printing will vary depending upon how you use Gutenprint, but are
generally modest except as noted below.  We recommend a processor
speed of at least 300 MHz.  Fast printers may require a faster
processor to achieve maximum printing speed.

For general use, you should have the Common UNIX Printing System, CUPS
(version 1.1.15 or above) or Foomatic (2.0 or above) installed.
Please the rest of the release notes, in particular the Exceptions and
Workarounds, for full details on installation, as there is important
information to be aware of.  CUPS is the printing system used on
Macintosh OS X 10.2 and above, and many other systems use it.  The
combination of CUPS and Gutenprint provides a flexible, general
purpose printing system capable of producing the highest quality
output with any of the printers supported by this package.  We
strongly recommend using CUPS with Gutenprint as a general-purpose
printing solution.

The enhanced Print plug-in for GIMP requires GIMP 2.0 or above (GIMP
2.2 recommended).  This plug-in will work with any printing system,
and offers a comprehensive user interface to control all aspects of
the printing process.  If you are printing photographs in large format
from GIMP at very high resolution, disk space requirements may be
substantial, and we recommend at least 2 GB of free disk space for
that purpose.

The Ghostscript driver requires GNU Ghostscript 6.53 or higher, ESP
Ghostscript 7.05 or higher, or AFPL Ghostscript 7.04 or higher.  It
uses the IJS package included with these versions of Ghostscript to
create a driver that may be built much more easily than traditional
Ghostscript drivers.  This driver should be used in conjunction with
Foomatic to configure printers.

Users of Macintosh OS X 10.2 (Jaguar), 10.3 (Panther), 10.4 (Tiger),
and 10.5 (Leopard) can use this package, as the printing system is
based on CUPS.  For ease of installation, a pre-built package with
installer is normally supplied a few days after the release of the
source package.  We strongly recommend that OS X users use the
pre-built package rather than attempt to build it themselves.

NOTE: This package will not work with any version of OS X 10.0 and
10.1 (such as 10.1.5).  The printing system used with these versions
of OS X is not compatible with Gutenprint.  OS X 10.2 and above use
CUPS as the basis of the printing system, which is compatible with
Gutenprint.

The README file included with this package provides full instructions
for building and installing Gutenprint.


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

II) MAJOR CHANGES FROM PREVIOUS RELEASES

A) NEW FEATURES AND FIXES IN GUTENPRINT 5.1.4:

   1) New printers supported in this release:

      * Epson inkjet printers:

	Epson Stylus CX4400
	Epson Stylus CX4900
	Epson Stylus CX5600
	Epson Stylus CX7400
	Epson Stylus CX9400
	Epson Stylus DX4050
	Epson Stylus Photo RX595
	Epson PM 670C

      * Canon inkjet printers:

	Canon MP710
	Canon MP740

      * Other printers:

	HP LserJet 1022

   2) Preliminary support for the following printers:

      * Canon inkjet printers:

        Canon BJC5100
        Canon BJC5500
        Canon BJC8500
	Canon Pixma iX5000
	Canon Pixma iP4500
	Canon Pixma iP5300
	Canon Pixma MP170
	Canon Pixma MP180

      * Dye sublimation printers:

	Canon SELPHY ES1 (*)
	Canon SELPHY ES2 (*)
	Canon SELPHY ES20(*)
	Shinko CHC S9045

	(*) Note that these printers may not work on all systems due to
	    communication requirements.

   3) The following printers are no longer supported going forward in
      Gutenprint 5.1 and beyond.  We recommend that users switch to
      the HPIJS driver package (the printer part of HPLIP), available
      from http://hplip.sourceforge.net.  This package is licensed
      under the GPL and BSD licenses.

      These printers will continue to be supported in Gutenprint 5.0.

	HP Business Inkjet 2200
	HP Business Inkjet 2230
	HP Business Inkjet 2250
	HP Business Inkjet 2250TN
	HP Business Inkjet 2280
	HP Color Inkjet Printer CP1160
	HP Color Inkjet Printer CP1700
	HP Color LaserJet 2500
	HP Color LaserJet 4500
	HP Color LaserJet 4550
	HP Color LaserJet 4600
	HP Color LaserJet 5
	HP Color LaserJet 5000
	HP Color LaserJet 5500
	HP Color LaserJet 8550GN
	HP DeskJet 400
	HP DeskJet 420C
	HP DeskJet 450
	HP DeskJet 500
	HP DeskJet 500C
	HP DeskJet 505J Plus
	HP DeskJet 510
	HP DeskJet 520
	HP DeskJet 540C
	HP DeskJet 550C
	HP DeskJet 5550
	HP DeskJet 5551
	HP DeskJet 560C
	HP DeskJet 600
	HP DeskJet 600C
	HP DeskJet 610C
	HP DeskJet 610CL
	HP DeskJet 6122
	HP DeskJet 6127
	HP DeskJet 612C
	HP DeskJet 640C
	HP DeskJet 648C
	HP DeskJet 660C
	HP DeskJet 670C
	HP DeskJet 670TV
	HP DeskJet 672C
	HP DeskJet 680C
	HP DeskJet 682C
	HP DeskJet 690C
	HP DeskJet 692C
	HP DeskJet 693C
	HP DeskJet 694C
	HP DeskJet 695C
	HP DeskJet 697C
	HP DeskJet 810C
	HP DeskJet 812C
	HP DeskJet 815C
	HP DeskJet 816C
	HP DeskJet 825C
	HP DeskJet 830C
	HP DeskJet 832C
	HP DeskJet 840C
	HP DeskJet 841C
	HP DeskJet 842C
	HP DeskJet 843C
	HP DeskJet 845C
	HP DeskJet 850C
	HP DeskJet 855C
	HP DeskJet 870C
	HP DeskJet 880C
	HP DeskJet 882C
	HP DeskJet 890C
	HP DeskJet 895C
	HP DeskJet 916C
	HP DeskJet 920C
	HP DeskJet 9300
	HP DeskJet 930C
	HP DeskJet 932C
	HP DeskJet 933C
	HP DeskJet 934C
	HP DeskJet 935C
	HP DeskJet 940C
	HP DeskJet 948C
	HP DeskJet 950C
	HP DeskJet 952C
	HP DeskJet 955C
	HP DeskJet 957C
	HP DeskJet 959C
	HP DeskJet 960C
	HP DeskJet 970C
	HP DeskJet 975C
	HP DeskJet 980C
	HP DeskJet 990C
	HP DeskJet 995C
	HP DeskJet 1100C
	HP DeskJet 1120C
	HP DeskJet 1125C
	HP DeskJet 1200C
	HP DeskJet 1220C
	HP DeskJet 1600C
	HP DeskJet 1600CM
	HP DeskJet 2000
	HP DeskJet 2500
	HP DeskJet 2500CM
	HP DeskJet 340C
	HP DeskJet 3810
	HP DeskJet 3816
	HP DeskJet 3820
	HP DeskJet 3822
	HP OfficeJet 300
	HP OfficeJet 330
	HP OfficeJet 350
	HP OfficeJet 500
	HP OfficeJet 520
	HP OfficeJet 570
	HP OfficeJet 580
	HP OfficeJet 590
	HP OfficeJet 600
	HP OfficeJet 610
	HP OfficeJet 625
	HP OfficeJet 630
	HP OfficeJet 635
	HP OfficeJet 700
	HP OfficeJet 710
	HP OfficeJet 720
	HP OfficeJet 725
	HP OfficeJet 5105
	HP OfficeJet 5110
	HP OfficeJet 5110xi
	HP OfficeJet 6105
	HP OfficeJet 6110
	HP OfficeJet 7110
	HP OfficeJet 7130
	HP OfficeJet 7140
	HP OfficeJet D125
	HP OfficeJet D135
	HP OfficeJet D145
	HP OfficeJet D155
	HP OfficeJet G55
	HP OfficeJet G85
	HP OfficeJet G95
	HP OfficeJet K60
	HP OfficeJet K60xi
	HP OfficeJet K80
	HP OfficeJet K80xi
	HP OfficeJet LX
	HP OfficeJet Pro 1150C
	HP OfficeJet Pro 1170C
	HP OfficeJet Pro 1175C
	HP OfficeJet R40
	HP OfficeJet R45
	HP OfficeJet R60
	HP OfficeJet R65
	HP OfficeJet R80
	HP OfficeJet T45
	HP OfficeJet T65
	HP OfficeJet V40
	HP OfficeJet V40xi
	HP OfficeJet
	HP PSC 370
	HP PSC 380
	HP PSC 500
	HP PSC 750
	HP PSC 950
	HP PSC 950xi
	HP PSC 2110
	HP PSC 2150
	HP PSC 2210
	HP PhotoSmart 7150
	HP PhotoSmart 7345
	HP PhotoSmart 7350
	HP PhotoSmart 7550
	HP PhotoSmart P100
	HP PhotoSmart P130
	HP PhotoSmart P230
	HP PhotoSmart P1000
	HP PhotoSmart P1100
	HP PhotoSmart P1115
	HP PhotoSmart P1215
	HP PhotoSmart P1218
	HP PhotoSmart P1315
	HP e-printer e20

      All monochrome laser printers previously supported continue to
      be supported.  In addition, the following wide format printers
      that are not supported by HPLIP continue to be supported by
      Gutenprint:

	HP DesignJet 230
	HP DesignJet 250C
	HP DesignJet 430
	HP DesignJet 450C
	HP DesignJet 455CA
	HP DesignJet 488CA
	HP DesignJet 700
	HP DesignJet 750C Plus
	HP DesignJet 750C
	HP DesignJet 2500CP
	HP DesignJet 3500CP
	HP DesignJet ColorPro CAD

   4) All native CUPS PPD files are now perfectly compliant with the
      PPD specification, as tested under CUPS 1.2.  Fixing this
      requires some changes to the internal resolution names.  These
      changes should be transparent if PPD files are updated with
      cups-genppdupdate.5.1.

   5) Borderless printing on the Epson Stylus Photo 2200 now works
      correctly.

   6) A bug in which certain data was not printed correctly by Canon
      inkjet printers (in areas where the entire area was filled with
      maximum color density, some lines could be silently discarded).

   7) Various fixes for the Canon iP4000, iP4200, and i560.

   8) The paper size for the CD - Custom paper size has been changed
      to 120 mm from 118.8 mm to allow correct printing from CUPS.

   9) A compile problem on Solaris has been fixed.

   10) It is now possible to specify the printer model to all escputil
      commands, via the -m option.  It is no longer necessary to use
      the -u option to specify a new printer vs. an old printer.

   11) The Postscript driver now sends device-specific settings, such
      as media type, to the print command.

   12) The Epson driver will not select resolutions higher than
      5760x1440 for the automatic quality settings, as we have
      determined that many current printers offer poor quality at the
      bottom of the page with resolutions of 2880x2880 and 5760x2880.
      We have not removed these resolutions altogether, as they may
      work well for certain applications, but they will not be
      automatically selected by the Best or Ultra Photo quality
      settings.

   13) A problem where in some cases certain options were not handled
      correctly by the CUPS driver has been fixed.  In particular,
      yes/no options such as borderless printing were not handled
      correctly in all cases when the printing system is CUPS 1.2 or
      1.3.


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

B) NEW FEATURES AND FIXES IN GUTENPRINT 5.1.3:

  1) The Canon PIXMA iP4300 and related printers now print black
     properly.

  2) Margins have been improved for Canon PIXMA printers.

  3) Borderless printing has been improved for many of the Epson
     R200/R300 series printers and related multifunction devices.

  4) A build problem on certain systems has been fixed.


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

C) NEW FEATURES AND FIXES IN GUTENPRINT 5.1.2:

  1) Improved tunings for Epson printers using Claria inks.

     The driver for the Stylus Photo 1400 has two separate quality
     settings for 720x360 and 720 DPI.  The 720x360 DPI Enhanced and
     720 DPI High Quality options offer improved quality at some cost
     in printing speed.  The small format Claria-based printers (R260,
     R390, RX580, and related printers) offer 720x360 and 720 DPI
     modes approximately equal in quality to the Enhanced and High
     Quality modes on the 1400 without a speed penalty.

  2) A problem whereby in some situations printers using Claria inks
     did not print black ink has been fixed.

  3) A problem with the Postscript driver always printing in grayscale
     has been fixed.  This problem was apparently introduced in 5.1.1.

  4) The range of sizes for printing custom CD's has been extended
     down to 65 mm in both the Epson and Canon drivers.

  5) The Epson Stylus Photo RX590 is now supported.

  6) Borderless printing on the Epson Stylus Photo RX400, RX420,
     RX425, RX430, RX500, RX510, RX600, RX630, and RX640 now works
     correctly.

  7) Printing to CD's on Epson printers now works correctly if the
     image is not placed at the top of the page.


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

D) NEW FEATURES AND FIXES IN GUTENPRINT 5.1.1:

  1) New printers supported in this release:

     * Epson inkjet printers:

       Epson Picturemate Flash
       Epson Picturemate Pal
       Epson Picturemate Snap
       Epson Picturemate PM-200
       Epson Picturemate PM-210
       Epson Picturemate PM-240
       Epson Picturemate PM-250
       Epson Picturemate PM-280
       Epson Stylus C79+
       Epson Stylus C87+
       Epson Stylus Photo 1400
       Epson Stylus Photo 1410
       Epson Stylus Photo R230
       Epson Stylus Photo R350
       Epson Stylus Photo R260
       Epson Stylus Photo R265
       Epson Stylus Photo R270
       Epson Stylus Photo R360
       Epson Stylus Photo R380
       Epson Stylus Photo R390
       Epson Stylus Photo RX560
       Epson Stylus Photo RX580
       Epson Stylus Photo RX640
       Epson PM A820
       Epson PM D870
       Epson PM G850
       Epson PM G4500

  2) Preliminary support for the following printers:

     * Epson inkjet printers:

       Epson Stylus Photo R240
       Epson Stylus Photo R245

  3) A minor border problem with the R800 and related printers has
     been fixed.  The standard bottom border is now slightly wider to
     eliminate the very bottom of the print from being chopped off.

  4) Some Canon printers have been renamed from "Multipass" to
     "Pixma".

  5) A build problem with the CUPS driver on some systems (in
     particular, OS X and any system where --disable-nls is used) has
     been fixed.

  6) The CUPS PPD files now use the correct UTF-8 encoding.

  7) Printing to CD's has been re-enabled for the Canon PIXMA iP4200.

  8) CD printing for the Canon PIXMA iP4000 has been fixed.

  9) The Canon driver now also supports the CD fine adjustment controls.

  10) The resolutions for the Canon S300 have been fixed.
 
  11) Printing to Canon PIXMA printers that are connected to Microsoft
     Windows hosts has been fixed (bug 1625202).

  12) The Postscript driver now handles CMYK input correctly, fixing a
     problem with Cinepaint (bug 1701954).

  13) The Postscript driver and UI library now handle setting the
     locale correctly.

  14) The PPD file updater, cups-genppdupdate.5.1, now handles the -n
     (don't do anything) correctly.  In addition, it handles --help
     and --version.


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

E) NEW FEATURES AND FIXES IN GUTENPRINT 5.1.0:

  1) New printers supported in this release:

     * Dye sublimation printers:

       The driver for these printers has been renamed "dyesub", as
       many of the printers are manufactured by companies other than
       Olympus.

       Canon CP-10
       Fujifilm FinePix NX-500
       Kodak Easyshare Printer
       Olympus P-S100
       Sony DPP-EX5
       Sony UP-DR100

     * Canon inkjet printers:

       The support for these printers is under development, and there
       are known issues with these printers.  Please check with the
       mailing list (gimp-print-devel@lists.sourceforge.net) if you
       have any questions.

       Canon PIXMA iP2000
       Canon PIXMA iP3000
       Canon PIXMA iP3100
       Canon PIXMA iP4100
       Canon PIXMA iP4200
       Canon PIXMA iP4300
       Canon PIXMA iP5000
       Canon PIXMA iP5200
       Canon PIXMA iP6700
       Canon PIXMA MP150
       Canon PIXMA MP500
       Canon PIXMA MP700
       Canon PIXMA MP730
       Canon PIXMA MP750
       Canon PIXMA MP760
       Canon PIXMA MP770
       Canon PIXMA MP780
       Canon PIXMA MP790
       Canon PIXMA MP830
       Canon PIXUS iP3100
       Canon PIXUS iP4100
       Canon i560
       Canon i850
       Canon i860
       Canon i865

     * Epson inkjet printers:

       Epson Stylus CX5000
       Epson Stylus CX5000F
       Epson Stylus CX6000
       Epson Stylus CX7000F

     * Lexmark inkjet and compatible printers:

       Compaq IJ1200
       Lexmark X73

     * PCL laser printers (monochrome only):

       Lexmark Optra E220
       Xerox WorkCentre M118

  2) CUPS 1.2 is now supported using on-the-fly PPD file generation.
     In addition, the resolution names are all compliant with the PPD
     specification.  cups-genppdupdate correctly updates on-the-fly
     PPD files.

  3) The native CUPS driver offers a new Shrink Page If Necessary to
     Fit Borders option, enabling the user to choose how to fit the
     output to the imageable area of the page.  This is useful when a
     printer offers a choice of imageable areas, typically normal
     (which has margins) and full bleed (which allows printing to the
     edge of the paper, or even beyond).  The following options are
     available:

     * Shrink (default): the output is shrunk if necessary to fit the
       imageable area of the page.  If a printer is capable of
       borderless operation but normal margins are selected, the
       output will be shrunk.  This will print the entire page
       (nothing will be lost), but will not preserve the dimensions of
       the printout.  For example, a line intended to be 10 cm long
       may print smaller than that.

     * Crop: the output is cropped if necessary to fit the imageable
       area of the page.  The dimensions of the page will be preserved
       (a line intended to be 10 cm long will print out exactly 10
       cm), but the edges of the output may be truncated (cropped).

     * Expand: the output is expanded to fit the maximum possible
       imageable area of the page.  When selected on printers capable
       of full bleed output, in conjunction with any other necessary
       options, the output will be expanded to match the maximum page
       dimension.  The dimensions of the page will be expanded if
       necessary beyond the page size; a line intended to be 10 cm
       long may print longer than that.

     This option has no effect on printers not capable of full bleed
     or other expanded margins.  It also has no effect when printing
     to CD's or the like.

  4) Support for GIMP 1.2 has been removed.

  5) An experimental PostScript driver has been added, enabling use of
     all PPD file options in the enhanced GIMP plugin.  This is a work
     in progress.

  6) Epson inkjet printers now correctly support borderless printing.
     In addition, printing at the top and bottom of the page has been
     improved on printers that support borderless printing, although
     this is still not perfect in all cases.

     Certain printers (in particular the C/D8x and C6x series) do not
     print correctly to the bottom of the page with all colors.  This
     problem is understood, but we do not know when a fix will be
     available.

  7) The list of resolutions supported on newer Epson printers has
     been changed; resolutions of 5760x1440, 2880x2880, and 5760x2880
     (as appropriate) have been added, replacing various 1440x2880
     enhanced resolutions.

  8) The output for the Canon PIXMA printers has been improved.

  9) The Canon driver now supports DuplexNoTumble for the PIXMA
     iP4000.

 10) Roll printing now works correctly on the Epson Stylus Photo
     R800.


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

III) EXCEPTIONS AND WORKAROUNDS

A) GENERAL ISSUES

  1) The Canon, Hewlett-Packard, and Lexmark drivers do not offer all
     of the additional options and improvements that the Epson driver
     does.  We do not have an estimated time for fix.  Please contact
     us if you would like to assist with this.


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

B) BUILD/INSTALLATION ISSUES

  1) With certain versions of CUPS and in certain non-default
     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. 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 /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 a default, 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.

     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.

  2) There is a known translation problem building the PPD files used
     by the CUPS driver such that on many systems all of the PPD
     files are in the English language.  This causes CUPS tools, such
     as KUPS or http://localhost:631 to display many copies of each
     PPD file, all in the English (en) language.  In fact, the PPD
     files should be translated into many different languages.

     The PPD files are created by a program named "genppd" in the
     src/cups directory.  This program is called once for each
     language, and creates all of the PPD files for the language in
     one shot.

     The command 'zgrep' can be used to determine if genppd is
     creating the PPD files correctly, as follows:

	 src/cups$ zgrep LanguageVersion ppd/*/pcl-4.ppd.gz
	 ppd/C/pcl-4.ppd.gz:*LanguageVersion: English
	 ppd/da/pcl-4.ppd.gz:*LanguageVersion: Danish
	 ppd/en_GB/pcl-4.ppd.gz:*LanguageVersion: English-GB
	 ...

     If the PPD file for each language has a different language
     version, the genppd program operated correctly.  If instead the
     output looks like this:

	 src/cups$ zgrep LanguageVersion ppd/*/stp-pcl-4.5.0.ppd.gz
	 ppd/C/stp-pcl-4.5.0.ppd.gz:*LanguageVersion: English
	 ppd/da/stp-pcl-4.5.0.ppd.gz:*LanguageVersion: English
	 ppd/en_GB/stp-pcl-4.5.0.ppd.gz:*LanguageVersion: English
	 ...

     the program did not operate correctly.

     If you do not have 'zgrep' on your system, you can gunzip the
     PPD files, and use

	 grep LanguageVersion ppd/*/stp-pcl-4.5.0.ppd

     to accomplish the same test.

     The normal mechanism for performing translations is to set the
     LANG environment variable to the appropriate language prior to
     running the program.  This normally causes the program to search
     the translations (normally in /usr/share/locale or
     /usr/lib/locale) for the chosen language.  When a specially
     marked string is used, a special macro calls `gettext()' on the
     string to retrieve the translation, and substitutes the
     translation for the string in question.

     There are two problems with this approach in the context of
     genppd.  The translation engine is intended to be used after
     installation, not during build, and this causes problems.

     i) At the time genppd is run, the translations have not been
	installed in the normal system directories.  Fortunately,
	it's possible to tell the translation machinery (via
	bindtextdomain) to look elsewhere for the translation
	catalogs.  What we do is install the catalogs in a temporary
	directory under src/cups, and tell genppd to instruct the
	translation machinery to look there.  This workaround is
	straightforward, and doesn't normally cause problems.

     ii) LANG only lets us pick a valid locale (normally determined by
	listing the directories in /usr/share/locale or
	/usr/lib/locale).  Unfortunately, while language codes (which
	form the base of locales) are standard, the actual locale
	names aren't always.  On some systems, the locale names are
	just the language base names; on others, they are the
	language names concatenated with country codes (e. g. en_US),
	while on others they are language codes concatenated with
	character sets.  We are not aware of any workaround for this,
	possibly short of actually running make install and then
	rebuilding the PPD's.  'make install' will install the
	message catalogs, and that may create the necessary locale
	directories.  This is not exactly a very elegant approach.

     The GNU gettext library (libintl.a) provides another environment
     variable, LANGUAGE, which unconditionally looks up translations
     according to the language, ignoring LANG and the LC_*
     environment variables that are normally used for translation.
     This library is no longer included with Gutenprint
     (--with-included-gettext will not work).  Install the GNU
     gettext package first if you need libintl.a.  Many systems
     provide translation machinery in their standard libraries, and
     it may not always be best to use foreign libraries to replace
     standard system functionality.

     We have chosen to use LANGUAGE for this purpose, as the GNU
     gettext library appears to offer the most reliable translation,
     and LANGUAGE appears to offer the most reliable mechanism.  We
     have actually found that LANG and LC_* can interfere with
     LANGUAGE, thus we do not use both.

     To determine if the translations are working, you must actually
     inspect the PPD files.  You will need to

     cd src/cups/ppd/sv
     gunzip *
     more *

     or the like to determine if this is successful.  In particular,
     look for LanguageVersion, and make sure that it is correct (it
     should be "Swedish" in the sv directory, for example), and also
     make sure that the paper sizes are also translated.  We
     currently suggest using the Swedish translation for this purpose
     as it is the most complete.

     If packagers find that the PPD files are all in English, rather
     than translated into the appropriate languages, we suggest the
     following:

     i) Install GNU gettext (libintl).  If your system is not based
	on GNU libc (Linux usually is based on GNU libc; BSD,
	Solaris, IRIX, etc. are not), you will need this to have any
	possibility of creating the translated PPD files.

     ii) Run 'make install' to install the package (including the
	message catalogs) onto the system first, and then do the
	following:

	cd src/cups
	rm ppd-stamp
	make

	to rebuild the PPD files.  Having the message catalogs on the
	system may permit this to succeed.

     iii) Ensure that your system actually has locales named 'sv',
	'pl', and all of the other supported languages, and change
	LANGUAGE to something more appropriate (most likely LANG,
	LC_MESSAGES, or LC_ALL).

     iv) Build the PPD files on a Linux-based system; they are
	portable.

     v) Use --disable-translated-cups-ppds on the configure command line
	to suppress the translated PPD files altogether.

     Please feel free to contact us about this issue.

  3) There are multiple issues that one must be aware of when using
     Foomatic with Gutenprint.

     i) Before installing any new release of Gutenprint 5.0, you must
	manually remove any existing Foomatic option files.  This is
	because the Foomatic utility to load data kits
	(foomatic-kitload) does not remove obsolete data files from
	the Foomatic database.  If you do not do this, any PPD files
	you generate will be incorrect and printing may work
	incorrectly or not at all.

	Foomatic option files are usually located in

	/usr/local/share/foomatic/db/source/opt

	or

	/usr/share/foomatic/db/source/opt

	Assuming they're in the former location, you must remove data
	files associated with the Gutenprint driver.  The command to do
	this, which must be run as the superuser (root) is

	cd /usr/local/share/foomatic/db/source/opt
	ls -l gutenprint-ijs*.xml

	If there are existing files present, you must remove them:

	rm -f gutenprint-ijs*.xml

	Now check to make sure that they are gone:

	ls -l gutenprint-ijs*.xml

	CAUTION: Be very careful when typing this command!  Minor
	errors in typing these commands may result in severe damage to
	your system.

	After this, you may run 'make install' in your Gutenprint
	source directory to install the package.  You will then need to
	re-create any printer queues using Foomatic.

	In general, you will have to perform this procedure any time
	you install a new version of Gutenprint.

	Please check the Foomatic site
	(http://www.openprinting.org/foomatic.html) and the Gutenprint
	site (http://gimp-print.sourceforge.net) for updated
	instructions about this.

     ii) Unlike with the CUPS native driver, there is no simple way to
	update all PPD files when you install a new version of
	Gutenprint.  You must either use the foomatic-ppdfile command
	to upgrade PPD files individually, or foomatic-compiledb to
	build all PPD files.  Your system may provide an alternate way
	to install new PPD files, in which case you may use that
	method.

     iii) The Foomatic data is version locked to the Gutenprint release
	installed on the system.  For example, PPD files generated
	with the Foomatic data for release 5.0.0 will not work with
	the ijsgutenprint in release 5.0.1.  This is to prevent
	accidentally using incorrect data, which could cause incorrect
	function to take place.

  4) There is a known complication building "escputil" that causes
     problems on some systems.  "escputil" uses the "readline"
     package, to support command editing and history within the
     program.  Unfortunately, linking programs with "readline" often
     requires linking against additional libraries, and the exact
     library depends upon the system (e. g. not all Linux systems have
     the same requirements).

     The configure script attempts to determine which additional
     library must be linked against.  It tries using the following
     libraries in this order to build a test executable:

     -lncurses
     -lcurses
     -ltermcap
     no additional libraries

     The reason it tries other libraries first is that some systems
     will link successfully, but only fail when an attempt is made to
     actually call readline.  Therefore, we assume that additional
     libraries are required.  Since we try the extra libraries in
     order from most recent to oldest, we expect that the first one we
     find will be appropriate.  For example, if the "ncurses" library
     is the standard on a given system, the "termcap" library may be
     provided for back compatibility, but it is unlikely that
     "termcap" will be the standard with "curses" or "ncurses" being
     provided for compatibility only (so that the link will succeed
     but the command will use the incorrect library).

     As this procedure is not failsafe, we provide the following
     configure options to control this behavior:

     ./configure --with-readline=yes  (the default; attempts to
				      determine the correct library
				      to link against)

     ./configure --with-readline=no   (turns off use of readline
				      altogether)

     ./configure --with-readline=only (specifically instructs
				      configure to not attempt to
				      link against any other
				      libraries)

     ./configure --with-readline=libs (specifies the libraries to be
				      linked against)

     An hypothetical (this won't work anywhere!) example of the
     latter would be

     ./configure --with-readline='-lncurses -ltermcap'

     Note that configure will not allow readline to be used if it
     cannot successfully build the test program, regardless of the
     option selected.  If you are having difficulty getting escputil
     to build, we suggest using --with-readline=no.  The commands
     used within escputil are very short and seldom require
     significant editing.
