]> git.ipfire.org Git - thirdparty/cups-filters.git/log
thirdparty/cups-filters.git
3 years agoImproved bannertopdf() filter function
Till Kamppeter [Fri, 29 Oct 2021 07:50:15 +0000 (09:50 +0200)] 
Improved bannertopdf() filter function

Main reason of the improvements is to make the bannertopdf() filter function
more suitable for Printer Applications, conserving its functionality for
CUPS.

Changes:

- Instead of a pair of an instruction file
  (application/vnd.cups-pdf-banner) and a template PDF file we can
  only use the template PDF file now, sending it as input file to the
  filter function instead of the instruction file. The instruction
  file content can be added to the PDF file as PDF comments,
  preferrably at the end. If no instructions are added to the template
  file, default instructions are used.

- Job-/Printer-related text added to a template file without PDF form
  (according to "Show" instruction) is now cleaned up, not showing lines
  at all for fields for which no content is supplied, instead of showing
  "(null)" or nothing as content.

- Page dimensions are now also shown in centimeters and not only in
  inches.

4 years agoAdded the ppdc utilities from CUPS, updated ppd/README.md
Till Kamppeter [Tue, 26 Oct 2021 20:12:20 +0000 (22:12 +0200)] 
Added the ppdc utilities from CUPS, updated ppd/README.md

Also ported the utilities, for *.drv file handling in Printer
Applications.

Note that they are only installed when ./configure is called with
"--enable-ppdc-utils" to not conflict with CUPS.

4 years agoUpdated NEWS
Till Kamppeter [Tue, 26 Oct 2021 18:55:41 +0000 (20:55 +0200)] 
Updated NEWS

4 years agoBuild system: Added missing EXTRA_DIST entry in Makefile.am
Till Kamppeter [Tue, 26 Oct 2021 17:28:07 +0000 (19:28 +0200)] 
Build system: Added missing EXTRA_DIST entry in Makefile.am

4 years agolibppd: Merged libppdc into libppd, *.drv support for PPD collections
Till Kamppeter [Tue, 26 Oct 2021 17:02:59 +0000 (19:02 +0200)] 
libppd: Merged libppdc into libppd, *.drv support for PPD collections

CUPS PPD compiler (ppdc) was mainly ported into cups-filters to get
driver information file (*.drv) support for PPD file collections, so
that it gets easier to retro-fit CUPS drivers into Printer
Applications if the drivers provide their PPD files as a driver
information file.

In a first approach the ppdc functionality simply got added by an
additional shared library (libppdc), but this would cause circular
dependencies between libppdc and libppd. Therefore we simply merge the
two into one library.

In addition, all PPD legacy support is in a single library now.

Also note that the ppdc functions are written in C++, so you need to
declare a program which uses them as C++ (give it a *.cxx or *.cpp and
not the simple *.c file name extension), even if the program itself is
written in simple C.

The functions for handling PPD collections nw also take into account
any driver information file (*.drv) in the directories supplied to
them, in addition to the already supported static PPD files, PPD file
tarballs, and PPD-generating executables, both for enumerating
available PPDs/drivers and for loading the actual PPD files.

4 years agoPorted CUPS' PPD compiler into cups-filters
Till Kamppeter [Mon, 25 Oct 2021 23:02:28 +0000 (01:02 +0200)] 
Ported CUPS' PPD compiler into cups-filters

Together with PPD files the PPD compiler, which generates PPD files
from driver information files (*.drv) is deprecated in CUPS and will
get removed in CUPS 3.x.

CUPS 3.x and later (and also earlier CUPS versions when sandboxed,
like in a Snap) do not support classic CUPS drivers any more and need
Printer Applications (emulations of driverless IPP printers) for
non-driverless printers.

For retro-fitting classic CUPS drivers, consisting of PPD files, CUPS
filters, and CUPS backends, into Printer Applications without needing
to rewrite the driver (which can be old and the printer it supports
not at hand for testing) we wrap the driver into the Printer
Application without changing the driver itself (usually with the
pappl-retrofit library). Therefore we need to be able to handle PPD
files and especially also the driver information files (*.drv) which
some drivers use to generate their PPD files on-the-fly. Therefore we
conserve CUPS' PPD compiler here to be able to pre-build the PPDs (or
even also generate them on-the-fly) when retro-fitting the drivers
into Printer Applications.

In contrary to recent CUPS we provide the PPD compiler code as a
shared library (libppdc), so that other projects, like pappl-retrofit
can use it.

Note that this is only for retro-fitting existing printer drivers.
This should not motivate you to create new printer drivers using PPD
files or driver information files. Therefore we will also not add new
features to this code or to the corresponding file formats.

4 years agolibcupsfilters: In ghostscript() update comment about PDF-Image output
Till Kamppeter [Sun, 24 Oct 2021 15:10:30 +0000 (17:10 +0200)] 
libcupsfilters: In ghostscript() update comment about PDF-Image output

Streaming out raster-only PDF in Ghostscript works now, starting from
version 9.55.0. These bugs are fixed now:

raster-only PDF and PCLm output need seekable output device

    https://bugs.ghostscript.com/show_bug.cgi?id=704160

PCLm does not support back side orientation for duplex printing

    https://bugs.ghostscript.com/show_bug.cgi?id=704161

Updated the comment for the code to set the Ghostscript command line
options for the OUTPUT_FORMAT_PDF_IMAGE and OUTPUT_FORMAT_PCLM
appropriately.

4 years agolibcupsfilters: In texttopdf() did redirrection of stdout to outputfd
Till Kamppeter [Sun, 24 Oct 2021 09:07:28 +0000 (11:07 +0200)] 
libcupsfilters: In texttopdf() did redirrection of stdout to outputfd

The texttopdf() filter function was missing the redirection of stdout
to the output file descriptor of the function call, outputfd.

On error of parsing the charset configuration file and loading the
fonts exit(1) was called which would kill the caller in a filter
function. This is corrected now, too.

4 years agoRemoved unnneeded duplicate files filter/pdfutils.[ch]
Till Kamppeter [Sat, 23 Oct 2021 21:02:12 +0000 (23:02 +0200)] 
Removed unnneeded duplicate files filter/pdfutils.[ch]

The files filter/pdfutils.c and filter/pdfutils.h got moved into
libcupsfilters, for the texttopdf() filter function. But they did not
get removed from the filter/ directory and the build rules for
filter/test_pdf[12].c not updated to use the pdfutils files of the
library now.

This is now fixed with this commit.

4 years agolibcupsfilters: More white-space/indentation clean-up in texttopdf.c
Till Kamppeter [Sat, 23 Oct 2021 18:21:31 +0000 (20:21 +0200)] 
libcupsfilters: More white-space/indentation clean-up in texttopdf.c

4 years agolibcupsfilters: White-space/indentation clean-up in texttopdf.c
Till Kamppeter [Sat, 23 Oct 2021 18:06:11 +0000 (20:06 +0200)] 
libcupsfilters: White-space/indentation clean-up in texttopdf.c

4 years agolibcupsfilters: In ieee1284NormalizeMakeAndModel() fix parsing device IDs
Till Kamppeter [Fri, 22 Oct 2021 19:20:52 +0000 (21:20 +0200)] 
libcupsfilters: In ieee1284NormalizeMakeAndModel() fix parsing device IDs

Some IEEE-1284 device IDs have spaces before and after the
manufacturer and model names. These need to be removed when generating
make-and-model strings for display, sorting, ... THis especially leads
to duplicate manufacturer names (extra mention of manufacturer in
model name) not being recognized and removed.

4 years agolibcupsfilters: In pwgtoraster() with PPD do not modify header via IPP options
Till Kamppeter [Wed, 20 Oct 2021 14:51:15 +0000 (16:51 +0200)] 
libcupsfilters: In pwgtoraster() with PPD do not modify header via IPP options

In the pwgtoraster() filter function, if we have a PPD file, we do not
call cupsRasterParseIPPOptions() as it sets the Raster header entries
solely by the names and choice names of the IPP attributes and command
line options, regardless of what the PPD supports. This broke some
jobs.

If we have a PPD, we need to convert IPP attributes into proper PPD
options before calling the filter functions (what is done by
libpappl-retrofit for example).

4 years agolibppd: Added "FXOutputMode" of Fuji Xerox to auto-mapping
Till Kamppeter [Tue, 19 Oct 2021 10:14:11 +0000 (12:14 +0200)] 
libppd: Added "FXOutputMode" of Fuji Xerox to auto-mapping

Fuji Xerox has several high-end printers which take jobs in PDF from
the pre-driverless-IPP era, for which they had the "fxlinuxprint"
driver. The PPD contains an "FXOutputMode" option with an odd
"Quality2" choice for high quality. Now it is solved by an explicit
treatment of this option.

4 years agolibcupsfilters: Let filterExternalCUPS() return 1 if filter gets a signal
Till Kamppeter [Mon, 18 Oct 2021 21:38:37 +0000 (23:38 +0200)] 
libcupsfilters: Let filterExternalCUPS() return 1 if filter gets a signal

If the CUPS filter or backend called by the filterExternalCUPS()
filter function stops on a signal (like for example signal 11,
segmentation fault) filterExternalCUPS() returns 1 now and not a value
> 256.  Otherwise filterChain() will not see the failure (exit() only
passes on the last byte of its argument as exit code) and returns 0
for success, making a job with a crashed filter appear as succeeded.

4 years agolibcupsfilters: Allow filter without path in filterExternalCUPS()
Till Kamppeter [Mon, 18 Oct 2021 20:33:46 +0000 (22:33 +0200)] 
libcupsfilters: Allow filter without path in filterExternalCUPS()

The filterExternalCUPS() function now also works if the filter (or
backend) is specified without absolute path. In this case the
CUPS_SERVERBIN environment variable (does not matter whether it was
set in the actual environment or in the parameters of
filterExternalCUPS()) is used to locate the filter or backend, using
the /filter or /backend subdirectory of the directory specified by
CUPS_SERVERBIN.

In addition, this directory is also added to the beginning of PATH, as
CUPS does, so that filters/backends can find auxiliary programs (or
other filters if they are a wrapper) in the same directory where they
themselves are located.

4 years agoSample PPDs: Useful "*Product:" name in the PCL-XL PPDs
Till Kamppeter [Mon, 18 Oct 2021 20:26:51 +0000 (22:26 +0200)] 
Sample PPDs: Useful "*Product:" name in the PCL-XL PPDs

The PCL-XL PPDs, pxlmono.ppd and pxlcolor.ppd, the product name was
"GPL Ghostscript" which could make make printer setup tools list these
PPDs with this name which does not say anything about the PPD, and
even consider the second one as duplicate of the first one (both
libpappl-retrofit and pyppd did this before they received their most
recent improvements).

Now they names are more useful and the PPDs always listed correctly.

4 years agoUpdated NEWS
Till Kamppeter [Tue, 12 Oct 2021 20:03:28 +0000 (22:03 +0200)] 
Updated NEWS

4 years agolibcupsfilters: Make cupsRasterParseIPPOptions() work correctly with PPDs
Till Kamppeter [Tue, 12 Oct 2021 11:33:26 +0000 (13:33 +0200)] 
libcupsfilters: Make cupsRasterParseIPPOptions() work correctly with PPDs

cupsRasterParseIPPOptions() interprets job options/IPP attributes and
their settings just bei their names. This works well when the
destination printer is not described by a PPD file.

If there is a PPD file, their can be weird option and choice names
which do not tell what they are good for, giving wrong
impressions. Only the PostScript or PJL code assigned to the choices
in the PPD file tells what they actually are supposed to do.

A good example for that is the "Resolution" option of Gutenprint. As
the developers of Gutenprint do not want to solely and directly set
the print resolution with this option (as was Adobe's idea for it),
and instead, do more things with it, as having an "Automatic" choice
or variants of the same resolution (for example different dithering
algorithms), but PPD standards require the choices to be "XXXxYYYdpi"
without exceptions, they come with names like "601x600dpi" for the
variants and the PPD's embedded PostScript code contains the actual
resolution.

To avoid that cupsRasterParseIPPOptions() mis-interprets such weird
PPD options, we check whether we are using a PPD (fortunately, we
receive the complete filter data now, in the era of filter functions)
and if so we refrain from parsing options which are in the PPD. Only
if set_defaults = 1 is set, we use them but via a call of
ppdRasterInterpretPPD() and not interpreting them by ourselves
option/choice-name-only.

Now the Gutenprint Printer Application works again.

4 years agolibcupsfilters: Clean up "Kodak" manufacturer name
Till Kamppeter [Tue, 12 Oct 2021 09:23:02 +0000 (11:23 +0200)] 
libcupsfilters: Clean up "Kodak" manufacturer name

Some Kodak printers/PPD files report "Eastman Kodak Company", others
simply "Kodak" as manufacturer name. Let the
ieee1284NormalizeMakeAndModel() function use simply "Kodak" here.

4 years agoRemoved filter/textcommon.c
Till Kamppeter [Thu, 7 Oct 2021 21:51:33 +0000 (23:51 +0200)] 
Removed filter/textcommon.c

Its functionality has moved to libcupsfilters, as there it used by the
filter functions.

R. I. P. remainder of the (too) long era of classic CUPS filters.

4 years agoUpdated NEWS
Till Kamppeter [Thu, 7 Oct 2021 21:43:55 +0000 (23:43 +0200)] 
Updated NEWS

4 years agolibcupsfilters, texttotext: Converted texttotext into a filter function
Pratyush Ranjan [Thu, 7 Oct 2021 21:40:54 +0000 (03:10 +0530)] 
libcupsfilters, texttotext: Converted texttotext into a filter function

Pull request #425

4 years agolibcupsfilters: Fixed typo in PPD generator
Till Kamppeter [Tue, 28 Sep 2021 10:04:47 +0000 (12:04 +0200)] 
libcupsfilters: Fixed typo in PPD generator

4 years agoPorted changes in CUPS' cups/ppd-cache.c file
Till Kamppeter [Wed, 22 Sep 2021 14:24:35 +0000 (16:24 +0200)] 
Ported changes in CUPS' cups/ppd-cache.c file

From original commit to CUPS:

https://github.com/OpenPrinting/cups/commit/a638ae140

Update mapping of media-source, media-type, and output-bin to match both PPD
and PWG names (CUPS Issue #238)

Add printer-privacy-policy-uri, printer-mandatory-job-attributes, and
printer-requested-job-attributes to PPD file.

4 years agolibppd: Improved caching of PPD's page sizes and custom page size limits
Till Kamppeter [Wed, 22 Sep 2021 10:24:24 +0000 (12:24 +0200)] 
libppd: Improved caching of PPD's page sizes and custom page size limits

1. If an PPD page size has non-standard dimensions, pwgMediaForSize()
returns "custom_WIDTHxHEIGHTuu_WIDTHxHEIGHTuu" and not NULL, while we
assume that we would get NULL in such a case. So consider "custom_..."
PWG page size names also as a PWG size not having been found. This
gives PWG page size nmaes of "pp_lowerppd_WIDTHxHEIGHTuu" style, much
more useful and the page size not being skipped by PAPPL's web
interface.

2. If the PPD defines a too high demension (something like ~30 m is
enough) for the maximum allowed custom page size, the generated PWG
page size name ("custom_max_WIDTHxHEIGHTuu") contains negative numbers
due to an integer overflow. If this happens, we sanitize the string
now replacing these negative numbers by a high integer value (10000
inches or 100000 mm). This PWG size name is used by PAPPL's web
interface to know about the allowed dimensions for a custom page
size. With a negative value the web interface inserts 0, making the
max dimension smaller than the min and with this clicks on the "Save
Changes" button on the "Media" web interface page of PAPPL are
silently ignored.

4 years agoFix build issues
nielsenb-jf [Tue, 21 Sep 2021 20:59:28 +0000 (15:59 -0500)] 
Fix build issues

See issue #419

Add missing line continuation character in libcupsfilters-la_LIBADD
stanza. This fixes "make[2]: lm: No such file or directory" errors while
building.

Move fontembed library before cupsfilters library, this fixes
"/usr/bin/ld: cannot find -lfontembed" errors during install. This may
just be a workaround for dependency resolving issues elsewhere.

4 years agolibppd: In string.c added _ppdMutexUnlock() also before abort()
Till Kamppeter [Mon, 20 Sep 2021 08:36:28 +0000 (10:36 +0200)] 
libppd: In string.c added _ppdMutexUnlock() also before abort()

Issue #423.

Note: This actually only applied when building with DEBUG_GUARDS set.

4 years agolibppd: Fixed PPD URIs when generating dynamic PPDs
Till Kamppeter [Sun, 19 Sep 2021 21:39:27 +0000 (23:39 +0200)] 
libppd: Fixed PPD URIs when generating dynamic PPDs

The PPD URIs of the PPD collection handling of libppd are not
identical with the PPD URIs of CUPS and so not identical with the PPD
URIs used by the dynamic PPD generator executables (the ones which are
in /usr/lib/cups/driver/ for CUPS). The difference is in the scheme,
the part before the colon. The schemes for the dynamic PPD generator
did not get extracted correctly. Most dynamic PPD generatores do not
use the scheme internally and therefore work also with the scheme
corrupted, like pyppd or HPLIP, but Gutenprint does not, as it checks
the version by the scheme,

This commit fixes the extraction of the scheme and so all dynamic PPD
generators should work now.

4 years agoUpdated NEWS
Till Kamppeter [Sun, 19 Sep 2021 17:44:31 +0000 (19:44 +0200)] 
Updated NEWS

4 years agolibcupsfilters: Let colord_get_profile_for_device_id() not return empty file name
Till Kamppeter [Sun, 19 Sep 2021 17:32:33 +0000 (19:32 +0200)] 
libcupsfilters: Let colord_get_profile_for_device_id() not return empty file name

If the function colord_get_profile_for_device_id() returns an empty
file name, the color generates an error message in the CUPS
error_log. Some print dialogs report every log message of level error
to the user even if the job got correctly printed.

4 years agoUpdated NEWS
Till Kamppeter [Thu, 16 Sep 2021 18:29:11 +0000 (20:29 +0200)] 
Updated NEWS

4 years agolibppd: In IPP-attr-to-PPD-option auto mapper consider "ColorMode" also with prefix
Till Kamppeter [Wed, 15 Sep 2021 18:51:02 +0000 (20:51 +0200)] 
libppd: In IPP-attr-to-PPD-option auto mapper consider "ColorMode" also with prefix

This way we also cover "cupsColorMode" for example which appears in
auto-generated PPDs for driverless IPP printers (in case we cannot
print directly to the printer but only have access via a CUPS queue).

4 years agolibcupsfilters: More PPD preset rules, especially for HP
Till Kamppeter [Thu, 9 Sep 2021 10:39:16 +0000 (12:39 +0200)] 
libcupsfilters: More PPD preset rules, especially for HP

Checking the PPD file for the HP LaserJet 4050 (PostScript) found more
option/choice names of options which influence print quality:

- Smoothing
- Halftone
- ProRes(600/1200/2400)

Also analyse choice names for options which contain "Resolution" in
their names.

4 years agolibppd: In the preset generator also check for "HPPJLColorAsGray"
Till Kamppeter [Tue, 7 Sep 2021 09:55:56 +0000 (11:55 +0200)] 
libppd: In the preset generator also check for "HPPJLColorAsGray"

Some of HPLIP's PostScript PPDs use "HPPJLColorAsGray" with choices
"yes" and "no" instead of ""HPColorAsGray" with "True" and "False".

4 years agofoomatic-rip: Debug message was wrongly sent to stdout and not to log
Till Kamppeter [Sun, 5 Sep 2021 09:36:28 +0000 (11:36 +0200)] 
foomatic-rip: Debug message was wrongly sent to stdout and not to log

Issue #422

4 years agolibcupsfilters: In ghostscript() pass on LD_LIBRARY_PATH to Ghostscript
Till Kamppeter [Fri, 3 Sep 2021 21:21:26 +0000 (23:21 +0200)] 
libcupsfilters: In ghostscript() pass on LD_LIBRARY_PATH to Ghostscript

In unusual environments (are they still actually unusual?) like Snaps
or other sandboxed packages libraries are not always in standard
locations and the LD_LIBRARY_PATH environment variable tells about the
extra locations then. So when we continue to block out the caller's
environment variables when we call Ghostscript, we have to pass on at
least LD_LIBRARY_PATH.

4 years agoFixed bugs revealed by LGTM.com (on port to CUPS)
Till Kamppeter [Wed, 1 Sep 2021 13:21:52 +0000 (15:21 +0200)] 
Fixed bugs revealed by LGTM.com (on port to CUPS)

This especially revealed that on selecting the final setting for the
color mode/quality presets only 2 of the intended 3 passes were done.

4 years agolibppd: In PPD preset generator support HP LJ Pro m... series (HPLIP)
Till Kamppeter [Tue, 31 Aug 2021 16:39:21 +0000 (18:39 +0200)] 
libppd: In PPD preset generator support HP LJ Pro m... series (HPLIP)

4 years agolibcupsfilters: Log message fixes in color management functions
suraj kulriya [Thu, 26 Aug 2021 18:23:12 +0000 (23:53 +0530)] 
libcupsfilters: Log message fixes in color management functions

4 years agolibcupsfilters: For color management functions use log functions
suraj kulriya [Thu, 26 Aug 2021 14:19:55 +0000 (19:49 +0530)] 
libcupsfilters: For color management functions use log functions

4 years agolibppd: ppdCacheAssignPresets() supports more Economy Mode settings now
Till Kamppeter [Thu, 26 Aug 2021 10:25:30 +0000 (12:25 +0200)] 
libppd: ppdCacheAssignPresets() supports more Economy Mode settings now

4 years agolibppd: The preset generator now also supports Foomatic's composite options
Till Kamppeter [Wed, 25 Aug 2021 23:16:18 +0000 (01:16 +0200)] 
libppd: The preset generator now also supports Foomatic's composite options

4 years agolibcupsfilters: In ieee1284NormalizeMakeAndModel() extract driver info with reexp
Till Kamppeter [Wed, 25 Aug 2021 08:55:10 +0000 (10:55 +0200)] 
libcupsfilters: In ieee1284NormalizeMakeAndModel() extract driver info with reexp

4 years agobannertopdf: Removed some files which got unneeded after filter function conversion
Till Kamppeter [Tue, 24 Aug 2021 08:23:42 +0000 (10:23 +0200)] 
bannertopdf: Removed some files which got unneeded after filter function conversion

4 years agolibcupsfilters: print-rendering-intent in pdftoraster() via already defined function
suraj kulriya [Tue, 24 Aug 2021 07:45:11 +0000 (13:15 +0530)] 
libcupsfilters: print-rendering-intent in pdftoraster() via already defined function

4 years agolibcupsfilters: print-rendering-intent support in mupdftoraster()
suraj kulriya [Tue, 24 Aug 2021 07:11:01 +0000 (12:41 +0530)] 
libcupsfilters: print-rendering-intent support in mupdftoraster()

4 years agolibcupsfilters: print-rendering-intent support for ghostscript() and imagetoraster()
suraj kulriya [Tue, 24 Aug 2021 06:33:58 +0000 (12:03 +0530)] 
libcupsfilters: print-rendering-intent support for ghostscript() and imagetoraster()

4 years agolibcupsfilters: Silenced warnings in bannertopdf
Till Kamppeter [Mon, 23 Aug 2021 23:00:51 +0000 (01:00 +0200)] 
libcupsfilters: Silenced warnings in bannertopdf

4 years agolibcupsfilters: Made bannertopdf filter PPD-file-independent
suraj kulriya [Mon, 23 Aug 2021 22:46:21 +0000 (04:16 +0530)] 
libcupsfilters: Made bannertopdf filter PPD-file-independent

4 years agolibcupsfilters, mupdftoraster: Converted mupdftoraster into a filter function
Pratyush Ranjan [Mon, 23 Aug 2021 22:41:34 +0000 (04:11 +0530)] 
libcupsfilters, mupdftoraster: Converted mupdftoraster into a filter function

4 years agotextbrftoindex: Fix control character filtering (#409)
Samuel Thibault [Wed, 18 Aug 2021 23:08:38 +0000 (01:08 +0200)] 
textbrftoindex: Fix control character filtering (#409)

'-' does not work with $'\000' actually, so we have to filter it out
separately.

4 years agolibcupsfilters: Understand both "graphic" and "graphics", also silenced warnings
Till Kamppeter [Tue, 17 Aug 2021 22:52:42 +0000 (00:52 +0200)] 
libcupsfilters: Understand both "graphic" and "graphics", also silenced warnings

4 years agolibppd: Also write print-content-optimize presets into cache file
Till Kamppeter [Tue, 17 Aug 2021 13:12:06 +0000 (15:12 +0200)] 
libppd: Also write print-content-optimize presets into cache file

4 years agolibppd: Generate correct presets with a cupsPrintQuality=3/4/5 option
Till Kamppeter [Tue, 17 Aug 2021 12:42:57 +0000 (14:42 +0200)] 
libppd: Generate correct presets with a cupsPrintQuality=3/4/5 option

4 years agolibcupsfilters, libppd: Corrected declarations in .h files, silencing warnings
Till Kamppeter [Tue, 17 Aug 2021 09:24:54 +0000 (11:24 +0200)] 
libcupsfilters, libppd: Corrected declarations in .h files, silencing warnings

4 years agolibcupsfilters: Made pdftoraster filter PPD-file-independent
suraj kulriya [Tue, 17 Aug 2021 08:36:32 +0000 (14:06 +0530)] 
libcupsfilters: Made pdftoraster filter PPD-file-independent

4 years agoBuild system: Removed unneeded dependencies from bannertopdf filter stub build
Till Kamppeter [Tue, 17 Aug 2021 08:32:05 +0000 (10:32 +0200)] 
Build system: Removed unneeded dependencies from bannertopdf filter stub build

4 years agolibcupsfilters, bannertopdf: Converted bannertopdf into a filter function
Pratyush Ranjan [Tue, 17 Aug 2021 08:25:33 +0000 (13:55 +0530)] 
libcupsfilters, bannertopdf: Converted bannertopdf into a filter function

4 years agolibcupsfilters: Sanitize options and env variables in filterExternalCUPS()
Till Kamppeter [Sun, 15 Aug 2021 22:39:12 +0000 (00:39 +0200)] 
libcupsfilters: Sanitize options and env variables in filterExternalCUPS()

4 years agolibcupsfilters: Added handling of the device URI in filterExternalCUPS
Till Kamppeter [Sun, 15 Aug 2021 13:19:04 +0000 (15:19 +0200)] 
libcupsfilters: Added handling of the device URI in filterExternalCUPS

4 years agoBuild system: Added libfontembed dependency for libcupsfilters in Makefile.am
Till Kamppeter [Wed, 11 Aug 2021 17:25:37 +0000 (19:25 +0200)] 
Build system: Added libfontembed dependency for libcupsfilters in Makefile.am

4 years agolibcupsfilters: In pwgtoraster() do not rotate/flip duplex sheet back sides
Till Kamppeter [Fri, 6 Aug 2021 21:08:48 +0000 (23:08 +0200)] 
libcupsfilters: In pwgtoraster() do not rotate/flip duplex sheet back sides

4 years agolibcupsfilters: Minor clean-up in filter.h
Till Kamppeter [Thu, 5 Aug 2021 21:26:50 +0000 (23:26 +0200)] 
libcupsfilters: Minor clean-up in filter.h

4 years agoUpdated NEWS
Till Kamppeter [Thu, 5 Aug 2021 19:42:49 +0000 (21:42 +0200)] 
Updated NEWS

4 years agoBuild system: Removed unneeded linking of libfontembed
Till Kamppeter [Thu, 5 Aug 2021 19:39:06 +0000 (21:39 +0200)] 
Build system: Removed unneeded linking of libfontembed

4 years agolibcupsfilters, texttopdf: Converted texttopdf into a filter function
Pratyush Ranjan [Thu, 5 Aug 2021 19:31:31 +0000 (01:01 +0530)] 
libcupsfilters, texttopdf: Converted texttopdf into a filter function

4 years agolibcupsfilters: filterExternalCUPS() supports backends in discovery mode
Till Kamppeter [Thu, 5 Aug 2021 19:28:12 +0000 (21:28 +0200)] 
libcupsfilters: filterExternalCUPS() supports backends in discovery mode

4 years agolibcupsfilters: Added support for the back and side channels
Till Kamppeter [Tue, 3 Aug 2021 19:19:55 +0000 (21:19 +0200)] 
libcupsfilters: Added support for the back and side channels

4 years agolibcupsfilters: Silence warnings
Till Kamppeter [Tue, 3 Aug 2021 19:08:20 +0000 (21:08 +0200)] 
libcupsfilters: Silence warnings

4 years agolibcupsfilters: In ghostscript() added links to Ghostscript bug reports
Till Kamppeter [Mon, 2 Aug 2021 16:13:06 +0000 (18:13 +0200)] 
libcupsfilters: In ghostscript() added links to Ghostscript bug reports

4 years agolibcupsfilters: Made pclmtoraster filter PPD-file-independent
suraj kulriya [Mon, 2 Aug 2021 12:58:44 +0000 (18:28 +0530)] 
libcupsfilters: Made pclmtoraster filter PPD-file-independent

4 years agolibcupsfilters: Made pdftopdf filter PPD-file-independent
suraj kulriya [Mon, 2 Aug 2021 12:46:10 +0000 (18:16 +0530)] 
libcupsfilters: Made pdftopdf filter PPD-file-independent

4 years agolibcupsfilters: White space/indentation clean-up in ghostscript()
Till Kamppeter [Sun, 1 Aug 2021 20:56:14 +0000 (22:56 +0200)] 
libcupsfilters: White space/indentation clean-up in ghostscript()

4 years agolibcupsfilters: Added raster-only PDF and PCLm output support ghostscript()
Till Kamppeter [Sun, 1 Aug 2021 20:51:27 +0000 (22:51 +0200)] 
libcupsfilters: Added raster-only PDF and PCLm output support ghostscript()

4 years agolibcupsfilters, foomatic-rip: Added streaming mode for filters
Till Kamppeter [Sun, 1 Aug 2021 13:56:27 +0000 (15:56 +0200)] 
libcupsfilters, foomatic-rip: Added streaming mode for filters

4 years agolibcupsfilters: Corrected source file permissions
Till Kamppeter [Fri, 30 Jul 2021 20:52:34 +0000 (22:52 +0200)] 
libcupsfilters: Corrected source file permissions

4 years agolibcupsfilters: Cleaned up rastertopwg(), added job cancel support
Till Kamppeter [Fri, 30 Jul 2021 20:11:06 +0000 (22:11 +0200)] 
libcupsfilters: Cleaned up rastertopwg(), added job cancel support

4 years agolibcupsfilters: Removed "ppdclose()" from filter functions
Till Kamppeter [Fri, 30 Jul 2021 19:14:56 +0000 (21:14 +0200)] 
libcupsfilters: Removed "ppdclose()" from filter functions

4 years agolibcupsfilters: In the pdftoraster() filter function fixed input stream handling
Till Kamppeter [Fri, 30 Jul 2021 12:01:38 +0000 (14:01 +0200)] 
libcupsfilters: In the pdftoraster() filter function fixed input stream handling

4 years ago.gitignore: Added "pwgtoraster" file
Till Kamppeter [Thu, 29 Jul 2021 21:30:48 +0000 (23:30 +0200)] 
.gitignore: Added "pwgtoraster" file

4 years agolibcupsfilters: In pdftopdf() do not let QPDF close the output file to not crash...
Till Kamppeter [Thu, 29 Jul 2021 21:17:37 +0000 (23:17 +0200)] 
libcupsfilters: In pdftopdf() do not let QPDF close the output file to not crash on the output of the postamble

4 years agolibppd: In ppdCacheAssignPresets() made resolution parsing in choice name case-insens...
Till Kamppeter [Thu, 29 Jul 2021 09:59:02 +0000 (11:59 +0200)] 
libppd: In ppdCacheAssignPresets() made resolution parsing in choice name case-insensitive

4 years agolibppd: Added resolution support to ppdCacheAssignPresets()
Till Kamppeter [Wed, 28 Jul 2021 22:22:37 +0000 (00:22 +0200)] 
libppd: Added resolution support to ppdCacheAssignPresets()

4 years agoSample PPDs: To the Ricoh PDF PPD added borderless page sizes and fixed OpenUI/CloseU...
Till Kamppeter [Wed, 28 Jul 2021 10:44:12 +0000 (12:44 +0200)] 
Sample PPDs: To the Ricoh PDF PPD added borderless page sizes and fixed OpenUI/CloseUI bug

4 years agoSample PPDs: Add borderless page size definitions to PDF PPDs
Till Kamppeter [Wed, 28 Jul 2021 10:16:38 +0000 (12:16 +0200)] 
Sample PPDs: Add borderless page size definitions to PDF PPDs

4 years agoSample PPDs: Fixed typo in the PDF PPDs
Till Kamppeter [Mon, 26 Jul 2021 20:17:24 +0000 (22:17 +0200)] 
Sample PPDs: Fixed typo in the PDF PPDs

4 years agoSample PPDs: From the PDF PPD files removed the unneeded "*cupsFilters2: ..."
Till Kamppeter [Mon, 26 Jul 2021 19:53:35 +0000 (21:53 +0200)] 
Sample PPDs: From the PDF PPD files removed the unneeded "*cupsFilters2: ..."

4 years agolibcupsfilters: Removed unneeded inputfp from rastertopdf()
Till Kamppeter [Mon, 26 Jul 2021 19:01:14 +0000 (21:01 +0200)] 
libcupsfilters: Removed unneeded inputfp from rastertopdf()

4 years agolibppd: Typo/Copy&Paste fixes in ppdCacheAssignPresets()
Till Kamppeter [Sun, 25 Jul 2021 22:13:31 +0000 (00:13 +0200)] 
libppd: Typo/Copy&Paste fixes in ppdCacheAssignPresets()

4 years agolibppd: Improve print quality presets for Gutenprint and HPLIP
Till Kamppeter [Sun, 25 Jul 2021 15:58:52 +0000 (17:58 +0200)] 
libppd: Improve print quality presets for Gutenprint and HPLIP

4 years agolibppd: Set Ricoh's "RIPrintMode" option as preset controlled by print-quality
Till Kamppeter [Sat, 24 Jul 2021 14:54:26 +0000 (16:54 +0200)] 
libppd: Set Ricoh's "RIPrintMode" option as preset controlled by print-quality

4 years agolibppd: Auto-fill presets in PPD cache, add presets for content optimize
Till Kamppeter [Sat, 24 Jul 2021 07:21:42 +0000 (09:21 +0200)] 
libppd: Auto-fill presets in PPD cache, add presets for content optimize

4 years agolibcupsfilters: In pwgtoraster() overspray stretching also fixes rounding errors
Till Kamppeter [Mon, 19 Jul 2021 15:40:07 +0000 (17:40 +0200)] 
libcupsfilters: In pwgtoraster() overspray stretching also fixes rounding errors

4 years agolibcupsfilters: In pwgtoraster() fixed pixel line stretching for overspray
Till Kamppeter [Mon, 19 Jul 2021 15:21:58 +0000 (17:21 +0200)] 
libcupsfilters: In pwgtoraster() fixed pixel line stretching for overspray

4 years agolibppd: In the ppdCacheGetPageSize() function check also page size variants
Till Kamppeter [Mon, 19 Jul 2021 09:11:07 +0000 (11:11 +0200)] 
libppd: In the ppdCacheGetPageSize() function check also page size variants

4 years agolibcupsfilters: in pwgtoraster() Added support for overspray borderless in PPDs
Till Kamppeter [Sun, 18 Jul 2021 18:33:59 +0000 (20:33 +0200)] 
libcupsfilters: in pwgtoraster() Added support for overspray borderless in PPDs

4 years agolibcupsfilters: Removed debug helper lines in pwgtoraster() filter function
Till Kamppeter [Sun, 18 Jul 2021 09:28:40 +0000 (11:28 +0200)] 
libcupsfilters: Removed debug helper lines in pwgtoraster() filter function

4 years agoUpdated NEWS
Till Kamppeter [Fri, 16 Jul 2021 18:24:43 +0000 (20:24 +0200)] 
Updated NEWS

4 years agolibcupsfilters: Fix page range like "10-" in pdftopdf() filter function
Bryan Mason [Fri, 16 Jul 2021 18:19:42 +0000 (11:19 -0700)] 
libcupsfilters: Fix page range like "10-" in pdftopdf() filter function