[cups.development] [RFE] STR #3513: generate PPD containing intersection of features between printers

Michael Sweet msweet at apple.com
Fri Feb 26 08:00:53 PST 2010


DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Email discussion:

On Feb 26, 2010, at 6:12 AM, Johannes Meixner wrote:
> ...
> There might be a problem when generating an "intersection PPD":
>
> What should the PostScript invocation values be
> in such an "intersection PPD"?

Unless the invocation code is the same we'll need to either use "" or
"%%IncludeFeature: *Foo Bar".

> Printers with different capablities could be from different
> manufactuers and have different PostScript invocation values
> even for those features which are in the intersection set.
>
> But I think that in practice when a CUPS client program
> gets a PPD via cupsGetPPD, the client program is usually
> not interested at all in the actual PostScript invocation values
> but only in the keywords, translation strings, and UI constraints
> e.g. to build printer feature selection lists in a user dialog.
>
> Therefore I think that an "intersection PPD" may simply have
> empty PostScript invocation values which matches well
> to the literal meaning of "intersection PPD":
> When the PostScript invocation values are different,
> their intersection is the empty set.

As long as developers use %%IncludeFeature (as we've recommended and as
implemented by OOo) then using "" will work.  My suggestion of using
"%%IncludeFeature: *Foo Bar" allows us to still have the option
information we need if an application decides to use %%Begin/EndFeature
instead...

(and of course if the invocation code is the same we can safely use
that...)

We'll also need to filter out custom options with different invocation
code...

> An exception are the PostScript invocation values
> for *ImageableArea and *PaperDimension but here an
> "intersection ImageableArea" can be calculated
> and the values for PaperDimension should be identical
> for the same option keyword (but even here an
> "intersection PaperDimension" could be calculated).

I think we'd consider two PaperDimensions with different sizes as
different sizes and not include them in the intersection PPD.

Link: http://www.cups.org/str.php?L3513
Version:  -feature





More information about the cups-devel mailing list