[cups.general] RFC: New Driver Rating/Information Attributes

Till Kamppeter till.kamppeter at gmail.com
Fri Jan 26 11:48:20 PST 2007


I think I will add these data items to te OpenPrinting database so hat 
the get into generated PPDs.

I suggest to add the following items, too:

*cupsManufacturerDriver: True

The driver author entry does not necessarily show in a machine-readable 
form whether the driver is from the printer's manufacturer or not. With 
this flag manufacturer-supplied drivers can get clearly marked.

*cupsDriverLicense: "GPL"
*cupsDriverIsFreeSoftware: True

This can help the distro's printer setup tool to tak into account 
non-free drivers or not, especially when we have ditribution-independent 
driver packages whic the setup tool can automatically download.

* cupsDriverSupport: "..."
* cupsDriverDescription: "..."

Human-readable fields, the former is for support contacts, like mailing 
lists, manufacturer-supplied support, ... The latter is a general 
description of the driver, especially telling about driver properties 
which cannot be represented by the other suggested keywords. These two 
should be provided with translations.

* cupsDriverIsInstalled: "..."

A shell command line which exits with 0 if the driver is locally 
installed or with 1 otherwise. So the user can get presented only the 
installed drivers by the printer setup tool.

Obtaining all this information for a new printer/driver could be made 
part of the OpenPrinting printer certification program. Certification 
could be also marked by a keyword:

*cupsDriverOPCertification: None
*cupsDriverOPCertification: PrinterManufacturer
*cupsDriverOPCertification: DriverAuthor
*cupsDriverOPCertification: OSDistribution
*cupsDriverOPCertification: CertificationAuthority

Another thing is whether we should start the keywords with "*cups...", 
as this information serves as well for other printing systems, like 
Solaris LP. Perhaps we better use "*OpenPrinting...".

See also my comments below.

    Till

Michael Sweet wrote:
> cupsDriverAuthor (ppd-author text)
> ----------------------------------
[...]
> Examples:
> 
>      *% HP PostScript printer driver without filters
>      *cupsDriverAuthor: "HP"
> 
>      *% ALPS printer driver using Foomatic
>      *cupsDriverAuthor: "Masakazu Higaki"
> 
>      *% Gutenprint printer driver
>      *cupsDriverAuthor: "Gutenprint"
>

Perhaps we better call it

*cupsDriverSupplier: "Gutenprint"

and use always manufacturer or project names, the same as we use for the 
PPD directories in the new FHS extension 
(/usr/share/ppd/<supplier>/...). Many drivers, like GutenPrint have very 
many persons who worked on them.

> cupsDriverType (ppd-type keyword)
> ---------------------------------
> 
>      *cupsDriverType: "driver-type"
> 
> This string attribute defines the type of driver, currently one of
> the following:
> 
>      - PostScript; a driver that sends PostScript to the device - this
>        is the default for PPD files without cupsFilter attributes
>      - CUPS-Raster; a driver that converts CUPS raster data to the
>        device's native format - this is the default for PPD files
>        listing an application/vnd.cups-raster filter
>      - Foomatic; a driver that uses the foomatic-rip wrapper script,
>        possibly using a Ghostscript driver, to convert to the device's
>        native format
>      - OPVP; a driver that uses the Open Printing Vector Protocol to
>        send print data to the device
>      - Unknown; a driver that uses some other filter technology - this
>        is the default if the driver is not PostScript or CUPS-Raster
> 

OPVP does not fit very well here, as it does not have a standard CUPS 
filter. OPVP is only a communication method between GhostScript and the 
driver. It does not provide anything for GhostScript to be called by 
CUPS. I have already seen sample drivers using foomatic-rip but also 
other drivers which use a simple, custom-made "psto..." or "pdfto..." 
CUPS filter. And if we have OPVP listed we would also have to list IJS.

Perhaps we should better use the following:

       - PostScript; a driver that sends PostScript to the device - this
         is the default for PPD files without cupsFilter attributes
       - CUPS-Raster; a driver that converts CUPS raster data to the
         device's native format - this is the default for PPD files
         listing an application/vnd.cups-raster filter
       - OPVP; a driver that uses the Open Printing Vector Protocol to
         communicate with the renderer
       - IJS: a driver that uses IJS to communicate with the renderer
       - Filter: a driver which works as a filter on generic
	bitmap output of the renderer (like "pnm2ppa")
       - GhostScript-Uniprint: Driver based on GhostScript "uniprint"
         output device, using .upp file
       - GhostScript-built-in: Driver compiled into GhostScript
       - Unknown; a driver that uses some other integration technology -
         this is the default if the driver is not PostScript or
         CUPS-Raster

The OpenPrinting database has already a driver type entry for each 
driver. I can add the extra types.

    Till





More information about the cups mailing list