NEWS - OpenPrinting CUPS Filters v1.0.36 - 2013-08-13 ----------------------------------------------------- CHANGES IN V1.0.36 - Fixed libdl detection in configure. Thanks to Andreas Huettel and Yuta Satoh (Gentoo bug #478642). - cups-browsed: Allow BrowsePoll operation also access print queues on older CUPS servers. Thanks to David Mohr for the patch. - cups-browsed: Assure that it always applies to the local CUPS daemon and never to a remote one specified via client.conf (Ubuntu bug #1207203). - pdftoopvp, pdftoijs, pdftoraster, bannertopdf: Made code working with Poppler 0.24.x (Bug #1144). - gstoraster: Silenced compiler warnings. - gstoraster, pdftoraster: Added support for PPD-less printing controlled by IPP attributes (CUPS 1.7.x+ only). - gstoraster, gstopxl: Moved these filters from Ghostscript to cups-filters as upstream home. - libcupsfilters: Added new cupsRasterParseIPPOptions() API function for PPD-less printing controlled by IPP attributes (raster.h, CUPS 1.7.x+ only). - pdftopdf: Added support for page labels. "page-label" option and "CLASSIFICATION" environment variable. Thanks to Tim Waugh from Red Hat for the patch. - pdftops: If one or more of the PDF-to-PS renderers (Ghostscript, Poppler pdftops, Poppler pdftocairo, acroread) is not installed at build time, pre-fill the appropriate executable's path with the executable name to allow the use of this renderer when it gets installed later (Debian bug #716842). - cups-browsed: Do not resolve host names of remote printers discovered via CUPS broadcasts (Bug #1141). - Added man pages for cups-browsed and cups-browsed.conf. Thanks to Brian Potkin for the contribution (Debian bug #714460). - Install also escp.h, it is useful for .drv files. CHANGES IN V1.0.35 - pdftoraster: Silenced compiler warning (Bug #1092). - bannertopdf: Fixed typo which prevented the host name to be shown (Bug #1115). - README: Fixed info about the PPD keyword cupsManualCopies (Bug #1086). - Modified the cost factors of the filters to avoid unneeded PDF conversion detours when the input data is PostScript. Instead of pstopdf->pdftopdf->pdftops and pstopdf->pdftopdf->gstoraster we get pstops and pstops->gstoraster now (Bug #1138). - pdftops: Added experimental support for pdftocairo as PDF renderer. Note that PostScript level 1 output and PDF input with color spaces other than DeviceRGB, DeviceGray, sRGB or sGray is not supported. PDFs generated by Cairo (for example when printing from evince) uses only supported color spaces. Thanks to James Cloos for the patch (Bug #1139). - cups-browsed: Changed default of browsing protocols fron none to both DNS-SD and CUPS. - pdftops: Let Poppler generally generate PostScript level 3 if the PPD identifies the printer as PS3 printer, make an exception of sending PostScript Level 2 only for HP's laser printers, to not compromise print quality and performance on all PS3 printers only due to some buggy HP models (Debian bug #712949, see also Ubuntu bug #277404). - Install pcl.h, it is needed by cupsfilters.drv. Thanks to Jiri Popelka from Red Hat for the patch (Bug #1133). - Make cups-filters building with automake 1.13. Thanks to Andreas K. Huettel (dilfridge) on IRC. - libcupsfilters, libfontembed, pdftopdf, texttopdf, cups-browsed: Fixed several resource leaks and other problems. Thanks to Jiri Popelka from Red Hat for the patches (Bug #1116). CHANGES IN V1.0.34 - cups-browsed: Fixed build with OpenBSD (Bug #1103). - pdftopdf: Enabled hardware copy generation, if available. - pdftopdf: Fixed evenDuplex logic. - cups-browsed: If a queue left over from the last session gets confirmed, fill in the data structure with the Bonjour parameters, also update the Bonjour parameters if a local queue is upgraded from IPP to IPPS. CHANGES IN V1.0.33 - cups-browsed: Added NULL check (Bug #1106). CHANGES IN V1.0.32 - cups-browsed: Shared algorithm to generate local queues based on browsed remote queue data between Bonjour and CUPS browsing, as the simpler method used for CUPS browsing could overwrite local print queues and had de-duplication problems, for example if the server appears on two IPs in the network (connected by both ethernet and WLAN). - cups-browsed: CUPS broadcasting also broadcasted non-shared, especially cups-browsed-generated printers. Switched to detection of non-shared printers by the appropriate bit in the printer-type bit field IPP attribute. - cups-browsed: Made CUPS broadcasting work also without BrowseAllow lines in cups-browsed.conf. In this case we accept all remote printers (Ubuntu bug #1163764). - README: Updated documentation for cups-browsed. - Added more comments and examples to /etc/cups/cups-browsed.conf. - cups-browsed: Added support for "...:" extensions of BrowsePoll addresses. Thanks to Tim Waugh from Red Hat (Ubuntu bug 1159213). CHANGES IN V1.0.31 - cups-browsed: cups-browsed removed valid local queues pointing to remote queues when cups-browsed did not shut down cleanly after the previous session, leaving the user with missing local accessor queues for some of the remote CUPS queues (Ubuntu bug #1131149). - Fixed build system to allow parallel or multilib builds. Thanks to Timo Gurr for the patch (Bug #1104). - pdftopdf: Improved error output. - pdftopdf: getRotation now handles unusual cases more graceful (probably fixes Ubuntu Bug #1154318). - Fixed build system to allow building without Avahi. In this case a cups-browsed with only CUPS broadcasting/browsing will get built. Thanks to Tim Waugh from Red Hat (Bug #1101, Bug #1102). CHANGES IN V1.0.30 - cups-browsed: Do not remove a generated local print queue when it was made the system default printer (Ubuntu bug #1146407). - texttopdf: Fixed corrupted pdf when a utf-8 title is given and corresponding crash with 'prettyprint' (Ubuntu Bug #1137438). - cups-browsed: Added CUPS Broadcasting for sharing local printers to remote CUPS clients with CUPS 1.5.x and older. Thanks to Tim Waugh from Red Hat. - cups-browsed: Added sample config-file and build-time default setting options. Thanks to Tim Waugh from Red Hat. - cups-browsed: Added CUPS browsing and BrowsePoll functionality, to be backwards compatible to CUPS 1.5.x and older servers. Thanks to Tim Waugh from Red Hat. - pdftopdf: Fixed incorrect evenDuplex page insertion (Bug #1088). - pdftoopvp: Let it build with Poppler 0.22.x. Thanks to Koji Otani from BBR Inc. (Bug #1089). CHANGES IN V1.0.29 - Fixed ./configure option "--with-rcdir=no". Thanks to Jiri Popelka from Red Hat (Bug #1091). CHANGES IN V1.0.28 - cups-browsed: Do not create CUPS queues for shared local CUPS printers. CHANGES IN V1.0.27 - cups-browsed: The daemon crashed if there is no local CUPS queue at all. Fixed. CHANGES IN V1.0.26 - Some fixes in README and INSTALL. - cups-browsed: Added daemon to browse the Bonjour broadcasts of shared remote CUPS printers and automatically add local raw queues pointing to them, to resemble the behavior of the former CUPS broadcasting/browsing which was dropped in CUPS 1.6. Now remote printers appear as local print queues as before, but with the standardized Bonjour broadcasting. - "make dist" got broken in 1.0.25. Fixed. CHANGES IN V1.0.25 - urftopdf: Newly added filter to convert the URF format which (at least some) iOS apps send when printing via AirPrint (Bug #1076). - pdftopdf: pdfautorotate functionality has been patched directly into pdftopdf (Bug #1080). - pdftopdf: "mirror" produced only empty pages (XObjects not there). - pdftopdf: Fixed segfault on "page-ranges=1-2147483647" (from cups). - pdftopdf: Fixed collate filler insertion. - texttopdf: Fixed deficient string escaping (Bug #1071). - pdftoopvp: Get correct byte order definition when building under OpenBSD (Bug #1070). - serial backend: Added check for sys/ioctl.h to configure.ac (Bug #1069). - pdftopdf: Made code building under OpenBSD (Bug #1068). - pdftopdf: Don't expect too much C++11 support for now (Bug #1067). CHANGES IN V1.0.24 - pdftopdf now generates the necessary pdf comments to disable duplicate number-up when pdftops is also applied (Bug #1063). - pdftops: Added support for using Adobe Reader (acroread) in command line mode for turning PDF to PostScript (Bug #1065). - pdftopdf: Fix build on OpenBSD (Bug #1062). - pdftops: Fix stripping of page management options from the pstops command line which got already applied by pdftopdf. If the name of the option to be removed is contained in the name of a option in the command line (like "number-up" in "number-up-layout" or "scaling" in "Natural-scaling"), this option gets stripped instead of the correct option (Bug #1064). CHANGES IN V1.0.23 - Removed filter/pdftopdf.old - Fixed the requires.private for cupsfilters lib CHANGES IN V1.0.22 - Added missing *.h files of filter/pdftopdf/ to source file list so that "make dist" builds correct upstream tarballs. CHANGES IN V1.0.21 - bannertopdf: Page duplication routine fixed. - bannertopdf: Fixed invalid output of a direct stream object. - pdftopdf filter replaced by new QPDF-based filter from Tobias Hoffmann's Google Summer of Code project. The former Poppler-based pdftopdf duplicated a lot of Poppler's code. The old filter is still in the package as pdftopdf.old with source code in filter/pdftopdf.old. It will be removed in a later release. - Added most recent contributors to AUTHORS and COPYING files. CHANGES IN V1.0.20 - pdftops: Added another workaround for Kyocera printers: Some models get very slow on images which request interpolation, so now we remove the image interpolation requests by additional PostScript code only inserted for Kyocera printers (Ubuntu bug #1026974). - pdftops: The build system only configured the default renderer (Ghostscript OR Poppler), not the other renderer, but as we support switching on runtime both need to get configured. - Improved portability of the package to non-Linux systems (Bug #1056). - Made the Poppler-based filters pdftopdf and pdftoopvp build with both Poppler 0.18.x and 0.20.x (Bug #1055). - Let build system check for dlopen. CHANGES IN V1.0.19 - Fixes according to Coverity scan results (Bug #1054). - Added distribution packaging instructions to INSTALL. - Switched build system to autotools. This especially fixes several build problems in Gentoo. Also build-tested with CUPS 1.6.0b1. - Fixes for compatibility with clang/gcc-4.7. - textonly: Filter did not work as a pipe with copies=1 (Bug #1032). - texttopdf: Avoid trimming the results of FcFontSort(), as this may miss some reasonable candidates under certain circumstances. BTW, fix passing a non-pointer as a pointer to "result" (Debian bug #670055), - Corrected documentation. The option for the maximum image rendering resolution in pdftops is "pdftops-max-image-resolution", not "pdftops-max-image-resolution-default". CHANGES IN V1.0.18 - Modified "./configure" options related to the pdftops filter to allow changing the defaults for the renderer being used by default (Ghostscript or Poppler) and the maximum image rendering resolution and to supply paths for both Ghostscript's gs and Poppler's pdftops. - pdftops: Allow selection whether Ghostscript or Poppler is used at runtime, setting the "pdftops-renderer" option to "gs" or "pdftops". - pdftops: Allow setting an upper limit for the image rendering resolution, also at runtime, setting the option "pdftops-max-image-resolution" to the desired limit in dpi. "0" means no limit. - pdftops: Fixed crash by wrong usage of sizeof() function when adding "Collate" to the fifth command line argument for the "pstops" CUPS filter call (Ubuntu bug #982675). - pdftops: Removed newline from copies value when reading it from the "%%PDFTOPDFNumCopies" entry of the incoming PDF file. - pdftops: Silenced compiler warning about ignoring the return value of the write() function. - pdftops: Added a crash guard. - pdftops: Start determining the printing resolution with cupsRasterInterpretPPD(), this is the most reliable as often the choice names of the "Resolution" option are marketing names with higher numerical values than the actual resolution. Also ignore error exit values of cupsRasterInterpretPPD() as the function can error out after having found the resolution. - pdftops: If printing resolution is determined by cupsRasterInterpretPPD() do not stick on 100 dpi if the resolution cannot be determined (Ubuntu bug #984082). CHANGES IN V1.0.17 - pdftopdf: Fixed segmentation fault when printing selected pages ("page-ranges" option, Ubuntu bug #980673). CHANGES IN V1.0.16 - pdftopdf: Fixed segmentation faults when using N-up with certain PDF files (Ubuntu bug #980673) and when calling pdftopdf manually without specifyting a PPD file. CHANGES IN V1.0.15 - pdftops: Suppress image compression only for Brother printers as they really need this measure to print at all. This accelerates printer- internal job processing on most other printers (tested on HP and Kyocera). Also suppress page compression on Kyocera printers, this works around a bug in Kyocera's PostScript interpreters which makes printing pages with images very slow (Ubuntu bug #977912). CHANGES IN V1.0.14 - pdftops: Determine printing resolution from the PPD file and supply it on the Ghostscript or pdftops (Poppler) command line, so that the renderer does the image rendering with a resolution matching the printer's resolution. This avoids too slow processing of the jobs by the printer's built-in PostScript interpreter. In addition a default resolution of 300 dpi is used for PPDs without any hint of the printer's resolution, as most PostScript lasers use multiples of 300 dpi as resolution (Ubuntu bug #977912). CHANGES IN V1.0.13 - bannertopdf: Fix display of the job dates on the test page and on banner pages (Ubuntu bug #975064). CHANGES IN V1.0.12 - Fixed crash of imagetopdf filter when it is called manually without supplying a valid PPD file (Ubuntu bug #973564). CHANGES IN V1.0.11 - Actually install the Generic PDF printer PPD file. - Really introduce a Generic PDF printer PPD file. CHANGES IN V1.0.10 - Added Generic PPD file for native PDF printers. - Updated all code copied from Poppler to the current state of Poppler. - Made Poppler-based PDF filters building with various versions of Poppler. CHANGES IN V1.0.9 - Deactivated NIME conversion rules which are not used by the PDF- based printing workflow. - Cleaned up sample PPD file HP-Color_LaserJet_CM3530_MFP-PDF.ppd. - imagetopdf: Added support for native PDF printers. - imagetopdf, imagetoraster: Let image input "scale to fit" by default. This makes photo printing via AirPrint work, as the iOS devices send JPEG but do not allow setting options. CHANGES IN V1.0.8 - pdftops: Generally do not compress fonts and images, and also do not do CCITT compression for bitmap glyphs to make the PostScript output more compatible with buggy PostScript interpreters. The output gets 30-50% longer but will work on many more different printer models. Problems were also discovered on HP and not only on Brother (Ubuntu bug #960666). CHANGES IN V1.0.7 - pdftops: Added PostScript debug mode. For jobs sent with "-o psdebug" the PostScript output by Ghostscript does not have compression of pages and fonts, so that one can analyse the PostScript code, especially in cases of incompatibilities and bugs of the built-in PostScript interpreters of printers. Thanks to the Ghostscript upstream developers for this hint. CHANGES IN V1.0.6 - texttopdf: Fixed minor miscalculation of /AvgWidth. - texttopdf: Added support for direct file references in pdf.utf-8. - pdftops: Added another workaround for a bug in Brother's PostScript interpreter: Suppress CCITT compression for bitmap glyphs and images on Brother printers (Ubuntu bug #955553). - texttopdf: Fixed typo in pdf font descriptor dictionary keys. - Fixed ColorDevice definition in cupsfilters.drv for HP DesignJet printers. - Put ModelNumber entries in cupsfilters.drv at the right place to get correct "*cupsModelNumber:" entries in the PPDs for the HP DesignJet printers. - rastertopclx: Code of JCL options did not get inserted into the JCL header. - parallel backend: Use the same way as CUPS does to prevent an infinite loop on side channel errors (CUPS STR #4044). - pdftopdf: Added support for native PDF printers, add JCL (PJL) options and send page_log entries only if the PDF has the "*JCLToPDFInterpreter:" keyword. - Updated README.txt for the new native PDF printer support. - Added a sample PPD file for a native PDF printer, HP-Color_LaserJet_CM3530_MFP-PDF.ppd. - texttopdf: A lot of internal rework; also split up into more files - texttopdf: Fixed many bugs on the way - texttopdf: Added support for CFF-flavoured OTFs; for these subsetting is not yet implemented, full embedding is done instead - texttopdf: Adapted and improved fontconfig font selection - Make sure that "make clean" and "make distclean" also work if Makedefs does not exist (Debian bug #663564). CHANGES IN V1.0.5 - pdftops: Added insertion of workaround PostScript code for printers with bugs in their PS interpreters (Ubuntu bugs #950713, #951627). - parallel backend: Break infinite loop (Ubuntu bug #936647). - texttopdf: Complete the implementation of fontconfig-based font selection (Debian bug #663070). CHANGES IN V1.0.4 - texttopdf: Fall back to altermative fonts via fontconfig if the FreeMono TrueType fonts are not installed (Debian bugs #495598 and #662660). - bannertopdf: Fix off-by-one error in page duplication - bannertopdf: Put indirect references to streams into the page's contents - bannertopdf: Let byte offsets for the Xref table of the PDF output being determined correctly also when the output goes to stdout (Ubuntu bug #939735). - bannertopdf: Output multiple copies of the test page if duplex and/or N-up is chosen, to let the test page appear on all possible positions of the sheet (Ubuntu bug #939530). CHANGES IN V1.0.3 - bannertopdf: Draw the frame to mark the non-printable borders 1pt smaller all around to assure that it is always visible, like it was done in bannertops. - bannertopdf: Scale the page to fit onto the desired output page. - bannertopdf: Get and output the correct media limits. CHANGES IN V1.0.2 - bannertopdf: Fixed crash caused by wrong Poppler API use. - bannertopdf: Info text on test page came out in gray and not in black. CHANGES IN V1.0.1 - Added the textonly filter and its PPD file, a driver for text-only printers. - Install the pdftoijs sample PPD file HP-PhotoSmart_Pro_B8300-hpijs-pdftoijs.ppd - Added cupsfilters.drv, centralized ppdc-based PPD generator for the printer driver filters in this package. Current printers supported are several HP DesignJet large format inkjet printers. - Fixed "make uninstall". Now everything of this package gets removed. - Added wrapper scripts texttops and imagetops for backward compatibility to third-party PPD files or custom configurations which refer to these filters explicitly (Debian bug #658258). CHANGES IN V1.0 - Built the pdftops filter based on Ghostscript by default, as Ghostscript is better optimized for print output (Ubuntu bug #926068). - If the pdftops filter is built for using Poppler, let Poppler not emit PostScript level 3, as this causes problems with some HP printers (Ubuntu bug #277404, Freedesktop (Poppler) bug #19640). - bannertopdf needs to be linked with C++ (bug #995) - Added test.sh script for testing texttopdf - Added original documentation of the PDF filters to README.txt - Install C header files and the static library - General clean-up of "make install" targets in Makefiles - Raised MIME conversion cost factor of pdftoraster from 66 to 100 to give priority to the gstoraster filter from Ghostscript, as this filter supports ICC-profile-based color management. - Documentation updated because libijs, liblcms, freetype, and fontconfig are needed to build this package CHANGES IN V1.0b1 - Removed the bannertops, imagetops, and texttops filters, they are not needed any more in the PDF-based printing workflow - Added support for liblcms2 - Named the package "OpenPrinting CUPS Filters" - Renamed libcupslegacy to libcupsfilters - Joined pdftops and cpdftocps filters into one C program - Added new bannertopdf filter from Lars Uebernickel: https://launchpad.net/bannertopdf - Added the filters for the PDF-based printing workflow, from OpenPrinting: http://sourceforge.jp/projects/opfc/ and http://www.openprinting.org/download/printing/pdf-printing/ - Initial packaging of files that are no longer included in CUPS 1.6 from CUPS upstream (http://www.cups.org/)