{"id":19218888,"url":"https://github.com/openprinting/libcupsfilters","last_synced_at":"2025-08-24T18:41:22.716Z","repository":{"id":63360398,"uuid":"566744314","full_name":"OpenPrinting/libcupsfilters","owner":"OpenPrinting","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-16T17:56:38.000Z","size":213546,"stargazers_count":9,"open_issues_count":14,"forks_count":36,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-17T02:36:32.717Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenPrinting.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES-1.x.md","contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-11-16T10:26:34.000Z","updated_at":"2025-04-16T17:56:42.000Z","dependencies_parsed_at":"2023-02-18T23:45:21.027Z","dependency_job_id":"c1d41f9a-5b61-42a4-8004-2816a5a3930f","html_url":"https://github.com/OpenPrinting/libcupsfilters","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenPrinting%2Flibcupsfilters","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenPrinting%2Flibcupsfilters/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenPrinting%2Flibcupsfilters/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenPrinting%2Flibcupsfilters/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenPrinting","download_url":"https://codeload.github.com/OpenPrinting/libcupsfilters/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249958605,"owners_count":21351681,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T14:28:37.676Z","updated_at":"2025-04-20T20:32:08.429Z","avatar_url":"https://github.com/OpenPrinting.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenPrinting libcupsfilters v2.1.1 - 2025-02-18\n\nLooking for compile instructions? Read the file \"INSTALL\"\ninstead...\n\n\n## INTRODUCTION\n\nCUPS is a standards-based, open-source printing system used by Apple's\nMac OS® and other UNIX®-like operating systems, especially also\nLinux. CUPS uses the Internet Printing Protocol (\"IPP\") and provides\nSystem V and Berkeley command-line interfaces, a web interface, and a\nC API to manage printers and print jobs.\n\nCUPS 1.0 was released in early 2000 and since then and until CUPS 2.x\n(at least) conversion of the data format of incoming print jobs to the\nformat the printer needs was done by external filter executables, each\ntaking an input format on stdin and producing an output format on\nstdout. Depending on conversion needs one or more of them were run in\na chain.\n\nThe filters for common formats were part of CUPS and later on, when\nApple was maintaining CUPS and using their own, proprietary filters\nfor Mac OS, transferred to OpenPrinting as the cups-filters package.\n\nIn the New Architecture for printing we switch to an all-IPP workflow\nwith PPD files and printer driver executables being abolished and\nclassic CUPS printer drivers replaced by Printer Applications\n(software emulation of driverless IPP printers).\n\nTo conserve the functionality of the CUPS filters which got developed\nover the last 20+ years into a PPD-less, IPP-driven world without\nhaving to maintain and include the legacy PPD support in OS\ndistributions and other system environments, the original cups-filters\npackage got split into 5 separate packages: libcupsfilters, libppd,\ncups-filters, braille-printer-app, and cups-browsed, with\nlibcupsfilters and braille-printer-app not containing PPD file support\ncode any more and cups-browsed being planned to drop explicit use of\nPPD files.\n\nThis package provides the libcupsfilters library, which in its 2.x\nversion contains all the code of the filters of the former\ncups-filters package as library functions, the so-called filter\nfunctions.\n\nThe call scheme of the filter functions is similar to the one of the\nCUPS filter executables (see `cupsfilters/filter.h`), but\ngeneralized. In addition, it accepts printer and job IPP attributes\nbut not PPD files any more. The PPD file interfacing for retro-fitting\ngot moved to libppd.\n\nThe filter functions are principally intended to be used for the data\nformat conversion tasks needed in Printer Applications. They are\nalready in use (together with libppd and pappl-retrofit) by the\nCUPS-driver retro-fitting Printer Applications from OpenPrinting.\n\nIn addition to the filter functions libcupsfilters also contains\nseveral API functions useful for developing printer drivers/Printer\nApplications, like image and raster graphics handling,\nmake/model/device ID matching, ...\n\nFor compiling and using this package see the INSTALL file.\n\nReport bugs to\n\n    https://github.com/OpenPrinting/libcupsfilters/issues\n\nSee the \"COPYING\", \"LICENCE\", and \"NOTICE\" files for legal\ninformation. The license is the same as for CUPS, for a maximum of\ncompatibility.\n\n## LINKS\n\n### cups-filters\n\n* [Short history](https://openprinting.github.io/achievements/#cups-filters)\n* [cups-filters 2.x development](https://openprinting.github.io/current/#cups-filters-2x)\n\n### The New Architecture of Printing and Scanning\n\n* [The New Architecture - What is it?](https://openprinting.github.io/current/#the-new-architecture-for-printing-and-scanning)\n* [Ubuntu Desktop Team Indaba on YouTube](https://www.youtube.com/watch?v=P22DOu_ahBo)\n\n### Printer Applications\n\n* [All free drivers in a PPD-less world - OR - All free drivers in Snaps](https://openprinting.github.io/achievements/#all-free-drivers-in-a-ppd-less-world---or---all-free-drivers-in-snaps)\n* [Current activity on Printer Applications](https://openprinting.github.io/current/#printer-applications)\n* [PostScript Printer Application](https://github.com/OpenPrinting/ps-printer-app) ([Snap Store](https://snapcraft.io/ps-printer-app)): Printer Application Snap for PostScript printers which are supported by the manufacturer's PPD files. User can add PPD files if the needed one is not included or outdated.\n* [Ghostscript Printer Application](https://github.com/OpenPrinting/ghostscript-printer-app) ([Snap Store](https://snapcraft.io/ghostscript-printer-app)): Printer Application with Ghostscript and many other drivers, for practically all Linux-supported printers which are not PostScript and not supported by HPLIP or Gutenprint.\n* [HPLIP Printer Application](https://github.com/OpenPrinting/hplip-printer-app) ([Snap Store](https://snapcraft.io/hplip-printer-app)): HPLIP in a Printer Application Snap. Supports nearly every HP printer ever made. Installing HP's proprietary plugin (needed for a few printers) into the Snap is supported and easily done with the web interface.\n* [Gutenprint Printer Application](https://github.com/OpenPrinting/gutenprint-printer-app) ([Snap Store](https://snapcraft.io/gutenprint-printer-app)): High quality output and a lot of knobs to adjust, especially for Epson and Canon inkjets but also for many other printers, in a Printer Application Snap.\n* [Legacy Printer Application](https://github.com/OpenPrinting/pappl-retrofit#legacy-printer-application) (not available as Snap): It is a part of the [pappl-retrofit](https://github.com/OpenPrinting/pappl-retrofit) package and it makes drivers classically installed for the system's classically installed CUPS available in a Printer Application and this way for the CUPS Snap. It is especially helpful for drivers which are not (yet) available as Printer Application.\n* [PAPPL](https://github.com/michaelrsweet/pappl/): Base infrastructure for all the Printer Applications linked above.\n* [PAPPL CUPS driver retro-fit library](https://github.com/OpenPrinting/pappl-retrofit): Retro-fit layer to integrate CUPS drivers consisting of PPD files, CUPS filters, and CUPS backends into Printer Applications.\n* [Printer Applications 2020 (PDF)](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/printer-applications-may-2020.pdf)\n* [Printer Applications 2021 (PDF)](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/printer-applications-may-2021.pdf)\n* [CUPS 2018 (PDF, pages 28-29)](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-plenary-may-18.pdf)\n* [CUPS 2019 (PDF, pages 30-35)](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-plenary-april-19.pdf)\n* [cups-filters 2018 (PDF, page 11)](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-filters-ippusbxd-2018.pdf)\n* [cups-filters 2019 (PDF, pages 16-17)](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-filters-ippusbxd-2019.pdf)\n* [cups-filters 2020 (PDF)](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-filters-ippusbxd-2020.pdf)\n* [cups-filters 2021 (PDF)](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-filters-cups-snap-ipp-usb-and-more-2021.pdf)\n* [cups-filters 2022 (PDF)](https://ftp.pwg.org/pub/pwg/liaison/openprinting/presentations/cups-filters-cups-snap-ipp-usb-and-more-2022.pdf)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenprinting%2Flibcupsfilters","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenprinting%2Flibcupsfilters","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenprinting%2Flibcupsfilters/lists"}