cups-filters Second Generation - Second Beta Release!
During creation of the Debian/Ubuntu packages for the components of the 2nd-generation cups-filters and also during the further development of the Common Print Dialog Backends (CPDB) some bugs were discovered which are fixed now.
Also the adaptation of the source code documentation files to the individual components was not yet complete.
So there were many things to fix and these fixes are now available in the second beta release.
libcupsfilters
- Filter functions did not handle the page size correctly when no printer IPP attributes are supplied (in case of classic CUPS filter no PPD file). Now if a page size is supplied with the job, this one is simply used, otherwise the sizes of the input pages and as a last mean US Letter.
- In the
cfCatalog...()API for obtaining human-readable strings and translations of attribute/option and choice names, we added suport for specifying the user’s UI language now, to receive the requested strings in the correct language, and not only human-readable strings in English. - In the
cfCatalog...()API also removed theconstqualifiers from output string pointers as these strings get allocated by the functions. - Let API header files
catalog.handipp.hnot includeconfig.h. - Fixed building libcupsfilters with and without libpoppler. By default, libpoppler is used, to not use it, supply the
--disable-poppleroption to./configure. - Unnecessary
./configureoptions for the former PDF-to-PostScript filter function (has moved to libppd as ppdFilterPDFToPS) which were forgotten during the separation, are removed now. - All
AC_DEFINEmacro calls inconfigure.acgot corrected, setting the macros inconfig.hreally to 1 after testing positive. - libcupsfilters does not use glib, removed the check in
configure.ac. - In
libcupsfilters.pc.inadded libqpdf underLibs.private.
libppd
- In the PPD file generator for driverless printing with CUPS we now support more than 2 resolutions in Apple Raster/AirPrint. The
urf-supportedIPP attribute was only parsed correctly when itsRSpart had only 1 or 2 and not more resolutions specified. We have corrected now for an arbitrary amount of resolutions, taking the lowest for “draft”, the highest for “high” and one in the middle for “normal” print quality. - Update
cfCatalogLoad()calls for API change in libcupsfilters. In libcupsfilters we have added language/translation support to thecfCatalog...()API functions via OpenPrinting/libcupsfilters#2. This changes thecfCatalogLoad()calls in libppd (both in the PPD generator for driverless printing). For a quick solution we supply NULL as language for now, resembling the old behavior. We look into language support in the PPD generator later. ppdFilterEmitJCL(): Added NULL check for PPD not being supplied. Classic CUPS filters created based on filter functions usingppdFilterCUPSWrapper()and also filter functions of libppd (ppdFilter...()) should also work without PPD file and not crash if no PPD file is supplied.- Make build of
genstringsoptional.genstringsis only a development tool for the PPD compiler, not a user tool, therefore we make its build optional.
cups-filters
- Corrected installation path for include files for
*.drvfiles. The PPD compilerppdc(and underlying functions) of libppd searches for include files in/usr/share/ppdcand not in/usr/share/cups/ppdcany more.
General
- Tons of fixes in the source code documentation:
README.md,INSTALL,DEVELOPING.md,CONTRIBUTING.md,COPYING,NOTICE, … Adapted the files to the individual components, added links. - Include
NOTICEin distribution tarballs - In
configure.acaddedforeignto toAM_INIT_AUTOMAKE()calls. Makes automake not require a file namedREADME. Removed the emptyREADMEfiles. - Cleaned up
.gitignore
Packages
- libcupsfilters: More Details and Download, Discussion
- libppd: More Details and Download, Discussion
- cups-filters: More Details and Download, Discussion
- cups-browsed: More Details and Download, Discussion
Note that braille-printer-app will only be released once the conversion to a Printer Application got committed.
Comments