UPSTREAM: Add missing registered media sizes to PWG mapping table

A number of sizes that were added to ipp-registrations.xml after the
initial PWG 5101.1-2002 document are not currently mapped.  When these
sizes are mapped through a generated IPP Everywhere PPD and back to IPP
media size names, they get changed into auto-generated self-describing
names instead of the official registered names.

This change adds all the non-duplicate missing names.  Most of them
don't have official MediaOptions keywords, so the PPD names are mapped
to dimensions.  With the updated mapping table, all of these sizes can
roundtrip correctly.

This also fixes a missing unit and an incorrect name in two existing
mappings for oe photo sizes.

These entries were not added due to being duplicates of existing sizes:

* iso_id-3_88x125mm duplicates iso_b7_88x125mm.
* oe_photo-s10r_10x15in duplicates na_10x15_10x15in.
* prc_3_125x176mm duplicates iso_b6_125x176mm.
* om_postfix_114x229mm duplicates iso_c6c5_114x229mm.
* prc_10_324x458mm duplicates iso_c3_324x458mm.
* prc_5_110x220mm duplicates iso_dl_110x220mm.

(cherry picked from commit from 3410e50dc03aa82ccf2849b347ddc8db71dc35f5)

BUG=b:244447138
TEST=Manual checks with ippeveprinter

Change-Id: I8121c1a27dcf98f338ae0a7eac23a33a794cdce3
1 file changed
tree: 7cac3f28b8166420055ce5a0920e67224f94a40c
  1. .github/
  2. backend/
  3. berkeley/
  4. cgi-bin/
  5. conf/
  6. config-scripts/
  7. cups/
  8. data/
  9. desktop/
  10. doc/
  11. examples/
  12. filter/
  13. fuzzers/
  14. locale/
  15. man/
  16. monitor/
  17. notifier/
  18. packaging/
  19. ppdc/
  20. scheduler/
  21. scripts/
  22. systemv/
  23. templates/
  24. test/
  25. tools/
  26. vcnet/
  27. xcode/
  28. .clang-format
  29. .codacy.yml
  30. .gitattributes
  31. .gitignore
  32. .lgtm.yml
  33. .mailmap
  34. .presubmitignore
  35. .travis.yml
  36. CHANGES-OPENPRINTING.md
  37. CHANGES.md
  38. config.guess
  39. config.h.in
  40. config.sub
  41. configure.ac
  42. CONTRIBUTING.md
  43. CREDITS.md
  44. cups-config.in
  45. cups.pc.in
  46. DEVELOPING.md
  47. install-sh
  48. INSTALL.md
  49. LICENSE
  50. Makedefs.in
  51. Makefile
  52. NOTICE
  53. option_mapping.md
  54. OWNERS
  55. PRESUBMIT.cfg
  56. README.md
README.md

OpenPrinting CUPS v2.4.0

Version Apache 2.0 Build and Test

Introduction

OpenPrinting CUPS is a standards-based, open source printing system for Linux® and other Unix®-like operating systems. CUPS supports printing to:

  • AirPrint™ and IPP Everywhere™ printers,
  • Network and local (USB) printers with Printer Applications, and
  • Network and local (USB) printers with (legacy) PPD-based printer drivers.

CUPS provides the System V (“lp”) and Berkeley (“lpr”) command-line interfaces, a configurable web interface, a C API, and common print filters, drivers, and backends for printing. The cups-filters project provides additional filters and drivers.

CUPS is licensed under the Apache License Version 2.0 with an exception to allow linking against GNU GPL2-only software. See the files LICENSE and NOTICE for more information.

Reading the Documentation

Initial documentation to get you started is provided in the root directory of the CUPS sources:

  • CHANGES.md: A list of changes in the current major release of CUPS.
  • CONTRIBUTING.md: Guidelines for contributing to the CUPS project.
  • CREDITS.md: A list of past contributors to the CUPS project.
  • DEVELOPING.md: Guidelines for developing code for the CUPS project.
  • INSTALL.md: Instructions for building and installing CUPS.
  • LICENSE: The CUPS license agreement (Apache 2.0).
  • NOTICE: Copyright notices and exceptions to the CUPS license agreement.
  • README.md: This file.

Once you have installed the software you can access the documentation (and a bunch of other stuff) online at http://localhost:631/ and using the man command, for example man cups.

If you're having trouble getting that far, the documentation is located under the doc/help and man directories.

Please read the documentation before asking questions.

Getting Support and Other Resources

In addition to the OpenPrinting CUPS home page at https://openprinting.github.io/cups, we provide a mailing list for CUPS users and developers to ask questions and discuss issues at https://linuxfoundation.groups.io/g/printing.

Setting Up Printers

CUPS includes a web-based administration tool that allows you to manage printers, classes, and jobs on your server. Open http://localhost:631/admin/ in your browser to access the printer administration tools. You will be asked for the administration password (root or any other user in the “sys”, “system”, “root”, “admin”, or “lpadmin” group on your system) when performing any administrative function.

The lpadmin command is used to manage printers from the command-line. For example, the following command creates a print queue called “myprinter” for an IPP Everywhere printer at address “11.22.33.44”:

lpadmin -p myprinter -E -v "ipp://11.22.33.44/ipp/print" -m everywhere

The -p option specifies the printer name. The -E option enables the printer and accepts new print jobs immediately. The -v option specifies the device URI for the printer, which tells CUPS how to communicate with the printer. And the -m option specifies the model (driver) to use, in this case the IPP Everywhere (“everywhere”) driver that is used for AirPrint and IPP Everywhere printers as well as shared printers and printers supported through Printer Applications.

Legacy printers are supported using PPD (PostScript Printer Description) files that describe printer capabilities and driver programs needed for each printer. CUPS includes several sample PPD files for common legacy printers:

DriverPPD Name
Dymo Label Printersdrv:///sample.drv/dymo.ppd
Intellitech Intellibardrv:///sample.drv/intelbar.ppd
EPSON 9-pin Seriesdrv:///sample.drv/epson9.ppd
EPSON 24-pin Seriesdrv:///sample.drv/epson24.ppd
Generic PCL Laser Printerdrv:///sample.drv/generpcl.ppd
Generic PostScript Printerdrv:///sample.drv/generic.ppd
HP DeskJet Seriesdrv:///sample.drv/deskjet.ppd
HP LaserJet Seriesdrv:///sample.drv/laserjet.ppd
OKIDATA 9-Pin Seriesdrv:///sample.drv/okidata9.ppd
OKIDATA 24-Pin Seriesdrv:///sample.drv/okidat24.ppd
Zebra CPCL Label Printerdrv:///sample.drv/zebracpl.ppd
Zebra EPL1 Label Printerdrv:///sample.drv/zebraep1.ppd
Zebra EPL2 Label Printerdrv:///sample.drv/zebraep2.ppd
Zebra ZPL Label Printerdrv:///sample.drv/zebra.ppd

The sample drivers provide basic printing capabilities, but generally do not exercise the full potential of the printers or CUPS. Other drivers provide greater printing capabilities.

You can run the lpinfo -m command to list all of the available drivers:

lpinfo -m

Similarly, the lpinfo -v command lists the available printers and their device URIs:

lpinfo -v

Once you know the device URI and driver name, add the printer using the lpadmin command:

lpadmin -p PRINTER-NAME -E -v "DEVICE-URI" -m DRIVER-NAME

Printing Files

CUPS provides both the System V lp and Berkeley lpr commands for printing:

lp FILENAME
lpr FILENAME

Both the lp and lpr commands support printing options:

lp -o media=A4 -o resolution=600dpi FILENAME
lpr -o media=A4 -o resolution=600dpi FILENAME

CUPS recognizes many types of images files as well as PDF, PostScript, and text files, so you can print those files directly rather than through an application.

If you have an application that generates output specifically for your printer then you need to use the -oraw or -l options:

lp -o raw FILENAME
lpr -l FILENAME

This will prevent the filters from misinterpreting your print file.

Legal Stuff

Copyright © 2020-2021 by OpenPrinting

Copyright © 2007-2020 by Apple Inc.

Copyright © 1997-2007 by Easy Software Products.

CUPS is provided under the terms of the Apache License, Version 2.0 with exceptions for GPL2/LGPL2 software. A copy of this license can be found in the file LICENSE. Additional legal information is provided in the file NOTICE.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.