[cups.general] How to get a class to support duplexing?

Michael Sweet msweet at apple.com
Fri Feb 26 07:56:42 PST 2010


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.

___________________________________________________
Michael Sweet, Senior Printing System Engineer







More information about the cups mailing list