]> git.ipfire.org Git - thirdparty/cups-filters.git/commit
libcupsfilters: In pdftops() identify old LaserJets more precisely
authorTill Kamppeter <till.kamppeter@gmail.com>
Tue, 5 Apr 2022 15:38:43 +0000 (17:38 +0200)
committerTill Kamppeter <till.kamppeter@gmail.com>
Tue, 5 Apr 2022 15:38:43 +0000 (17:38 +0200)
commit607f5e90660c171d26ba0f706079a5babb4c5cc9
treed6590440942352a7a2d89732de19987bdcbbc586
parent68f5a3aaac5febb448b039c6da67de5f84c4e45d
libcupsfilters: In pdftops() identify old LaserJets more precisely

Old HP LaserJet printers have a firmware bug which makes them not
working with Ghostscript's PostScript output, so in pdftops() we
switch to Poppler for them.

We consider an old LaserJet every "HP LaserJet XXXXY" printer with
XXXX being a number (not preceded by a letter), typically 1-4 digits
and Y being 0-2 letters, no separated from the numbers by a space.

Unfortunately, we checked only whether after "LaserJet" comes a number
and not the rest. This made also modern printers with names like "HP
LaserJet 500 color M551" considered old and these modern printers have
another PostScript interpreter bug which makes them not print some
files with Poppler, so they need Ghostscript's PostScript output.

Therefore we refine the check for the old-LaserJet quirk to see
whether after the number are extra words and if so, this is again a
modern printer and we do not switch to Poppler.

See https://bugs.launchpad.net/bugs/1967816
cupsfilters/pdftops.c