Public bug reported:

This bug was originally reported upstream as

    https://github.com/OpenPrinting/libcupsfilters/issues/29

The reporter uses Fedora 38, besides Ubuntu 23.04 the second distro
using cups-filters 2.x and libcupsfilters 2.x. As I am able to reproduce
the bug on Ubuntu 23.04 and it is a problem many users could run into
(it especially happens with driverless IPP printers) I post this bug
report as base for an SRU in 23.04.

What happens is that if a job is printed and along with it a resolution
setting is supplied which is not supported by the printer, garbage is
printed as the job gets actually rasterized with the wrong resolution.
This was discovered by the Chromium Browser sending print jobs with `-o
resolution=96dpi` regardless which resolutions the printer actually
supports. Most driverless printers receive their jobs rasterrized into
Apple Raster or PWG Raster and so for them this bug occurs.

I have already fixed the bug upstream in libcupsfilters via

    https://github.com/OpenPrinting/libcupsfilters/commit/2892e9a63

The fix makes the function cfIPPAttrResolutionForPrinter() more
intensely, in which another bug showed, the list of supported
resolutions searched for as a range data type which was wrong and so the
list not being found. So I fixed this here, also in libcupsfilters:

    https://github.com/OpenPrinting/libcupsfilters/commit/9ff1341c2

Now unsupported resolutions supplied to jobs are ignored so that the
default resolution gets used then.

The bug masked another bug in resolution handling which got revealed
once the above-mentioned fix was applied.Here the problem is that for
driverless IPP printers, printing in Apple Raster or PWG Raster always
the minimum resolution got used, even if I higher one was requested, as
the default resolution or by a job attribute/option which sets a higher
resolution. This I fixed in libppd via:

    https://github.com/OpenPrinting/libppd/commit/e2190988ff6c1

Now always the correct resolution gets used for the rasterization of the
job and so the correct print quality obtained.

The fixes get applied to the libcupsfilters and libppd source packages
both in Mantic and in Lunar (SRU).

** Affects: libcupsfilters (Ubuntu)
     Importance: High
         Status: New

** Affects: libppd (Ubuntu)
     Importance: High
         Status: New

** Affects: libcupsfilters (Ubuntu Lunar)
     Importance: High
         Status: New

** Affects: libppd (Ubuntu Lunar)
     Importance: High
         Status: New

** Affects: libcupsfilters (Ubuntu Mantic)
     Importance: High
         Status: New

** Affects: libppd (Ubuntu Mantic)
     Importance: High
         Status: New

** Also affects: libcupsfilters (Ubuntu Mantic)
   Importance: Undecided
       Status: New

** Also affects: libcupsfilters (Ubuntu Lunar)
   Importance: Undecided
       Status: New

** Also affects: libppd (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: libcupsfilters (Ubuntu Lunar)
   Importance: Undecided => Critical

** Changed in: libcupsfilters (Ubuntu Lunar)
   Importance: Critical => High

** Changed in: libcupsfilters (Ubuntu Mantic)
   Importance: Undecided => High

** Changed in: libppd (Ubuntu Lunar)
   Importance: Undecided => High

** Changed in: libppd (Ubuntu Mantic)
   Importance: Undecided => High

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to libcupsfilters in Ubuntu.
https://bugs.launchpad.net/bugs/2022929

Title:
  Bugs in resolution handling, especially garbage printed when invalid
  resolution value supplied

Status in libcupsfilters package in Ubuntu:
  New
Status in libppd package in Ubuntu:
  New
Status in libcupsfilters source package in Lunar:
  New
Status in libppd source package in Lunar:
  New
Status in libcupsfilters source package in Mantic:
  New
Status in libppd source package in Mantic:
  New

Bug description:
  This bug was originally reported upstream as

      https://github.com/OpenPrinting/libcupsfilters/issues/29

  The reporter uses Fedora 38, besides Ubuntu 23.04 the second distro
  using cups-filters 2.x and libcupsfilters 2.x. As I am able to
  reproduce the bug on Ubuntu 23.04 and it is a problem many users could
  run into (it especially happens with driverless IPP printers) I post
  this bug report as base for an SRU in 23.04.

  What happens is that if a job is printed and along with it a
  resolution setting is supplied which is not supported by the printer,
  garbage is printed as the job gets actually rasterized with the wrong
  resolution. This was discovered by the Chromium Browser sending print
  jobs with `-o resolution=96dpi` regardless which resolutions the
  printer actually supports. Most driverless printers receive their jobs
  rasterrized into Apple Raster or PWG Raster and so for them this bug
  occurs.

  I have already fixed the bug upstream in libcupsfilters via

      https://github.com/OpenPrinting/libcupsfilters/commit/2892e9a63

  The fix makes the function cfIPPAttrResolutionForPrinter() more
  intensely, in which another bug showed, the list of supported
  resolutions searched for as a range data type which was wrong and so
  the list not being found. So I fixed this here, also in
  libcupsfilters:

      https://github.com/OpenPrinting/libcupsfilters/commit/9ff1341c2

  Now unsupported resolutions supplied to jobs are ignored so that the
  default resolution gets used then.

  The bug masked another bug in resolution handling which got revealed
  once the above-mentioned fix was applied.Here the problem is that for
  driverless IPP printers, printing in Apple Raster or PWG Raster always
  the minimum resolution got used, even if I higher one was requested,
  as the default resolution or by a job attribute/option which sets a
  higher resolution. This I fixed in libppd via:

      https://github.com/OpenPrinting/libppd/commit/e2190988ff6c1

  Now always the correct resolution gets used for the rasterization of
  the job and so the correct print quality obtained.

  The fixes get applied to the libcupsfilters and libppd source packages
  both in Mantic and in Lunar (SRU).

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libcupsfilters/+bug/2022929/+subscriptions


-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to