philpem / printer-driver-ptouch

P-Touch PT-series and QL-series printer driver for Linux (under CUPS)
GNU General Public License v2.0
97 stars 24 forks source link

QL-600: Huge quality difference between Windows driver and this #37

Closed V10lator closed 1 year ago

V10lator commented 1 year ago

IMG_20230917_150455 The left one has been printed from a Windows VM while the right one has been printed from Linux using this driver. Both drivers had been configured to print in high-quality but as you see it's still day and night.

Here's the image file used for this: Ori-Ava

philpem commented 1 year ago

This isn't a bug in the driver.

All the driver does is take the bitmap (1-bit black-and-white a.k.a. bitonal) data provided by CUPS and turns it into printer commands. The conversion from colour photo to bitonal is CUPS's doing -- or rather the PostScript renderer it uses (pstoraster). See https://github.com/apple/cups/issues/5092 and https://github.com/apple/cups/issues/4820.

The only way this could reasonably be improved is by rewriting rastertoptch as an 8-bit greyscale filter and implementing Floyd-Steinberg (and probably threshold) dithering in the driver itself. But if we're taking that route, the smarter money seems to be in adding P-Touch support to Michael R. Sweet's lprint driver: https://github.com/michaelrsweet/lprint/issues/15