]> git.ipfire.org Git - thirdparty/cups-filters.git/commit
libcupsfilters: Many filter function fixes
authorTill Kamppeter <till.kamppeter@gmail.com>
Sun, 13 Feb 2022 02:39:57 +0000 (23:39 -0300)
committerTill Kamppeter <till.kamppeter@gmail.com>
Sun, 13 Feb 2022 02:39:57 +0000 (23:39 -0300)
commitcb2737b5683adfbe5cc25bada323f43cc1ca2329
tree67acd084bc40dcac3d6534db180837f0b80d1cf2
parent109abfee6f2f5827d6f8038316e808171875b16a
libcupsfilters: Many filter function fixes

- All filter functions, at least the ones producing CUPS/Apple/PWG
  Raster output, work with cups-filters-generated PPD files now, where
  no pseudo-PostScript code for the color space and depth is contained
  any more but instead, copies of the printer IPP attributes telling
  about supported color spaces and depths for Apple Raster and PWG
  Raster (using cupsRasterPrepareHeader() function). Did this for
  imagetoraster(), mupdftoraster(), and pdftoraster().

- In filter functions which only output CUPS Raster and not for
  example Apple Raster or PCLm, cups-filters-generated PPD files
  without Pseudo-PostScript code but copies of IPP attributes for
  color spaces can also be used so that the generated CUPS Raster is
  the one needed by rastertopwg() or rastertopdf() to generate the
  final format.  This is available in ghostscript(), imagetoraster(),
  mupdftoraster(), and pdftoraster() now.

- In pdftoraster() and pwgtoraster() 16-bit-per color (high color
  depth) modes printed in wrong colors, it was not taken account that
  the color space/profile conversion by LittleCMS also converts to the
  higher color depth, due to a bug in marking that no color depth
  conversion is needed any more.

- In the imageto...() filter functions fixed the print-scaling=none
  (crop-to-fit) mode, which prints the image in its original size
  (based on PPI resolution stored in the image file or on 200 dpi
  resolution, which is the standard resolution for shipping
  labels). Also use crop-to-fit always when requested, do not fall
  back to fit-to-page when the image is significantly larger or
  smaller than the page.

- The cupsRasterPrepareHeader() function got enhanced to get separate
  arguments for the actual format of the generated Raster header and
  for the final output format of the job, to obtain color space and
  depth, and the resolution according to that final output format.
12 files changed:
cupsfilters/filter.h
cupsfilters/ghostscript.c
cupsfilters/imagetopdf.c
cupsfilters/imagetops.c
cupsfilters/imagetoraster.c
cupsfilters/mupdftoraster.c
cupsfilters/pdftoraster.cxx
cupsfilters/pwgtoraster.c
cupsfilters/raster.c
cupsfilters/raster.h
filter/imagetoraster.c
filter/pdftoraster.c