[cups.bugs] [LOW] STR #2916: str2831 patchmade%%BeginFeature/%%EndFeature stop working

Helge Blischke h.blischke at srz.de
Thu Aug 28 06:06:16 PDT 2008


Michael R Sweet wrote:
> Helge Blischke wrote:
> 
>> Michael Sweet wrote:
>>
>>> [STR Closed w/o Resolution]
>>>
>>> You are using a local printer driver, along with a printer driver on the
>>> Linux system.  Both get run, so the Linux driver interferes with the Mac
>>> driver.
>>>
>>> Use a raw queue on the Linux system or use CUPS printer sharing with the
>>> Mac system.
>>>
>>> Not a bug.
>>>
>>> Link: http://www.cups.org/str.php?L2916
>>> Version: 1.3.8
>>> Fix Version: Will Not Fix
>>>
>>
>> I *do* think it is a bug. It is quite common - and legitime - for
>> applications to insert reature requests/settings into the setup section
>> of a PS job (between the %%BeginSetup and %%EndSetup comments).
> 
> 
> Files containing device-specific commands need to be submitted using
> the application/vnd.cups-postscript document-format value.  Otherwise
> we treat the file as device-independent PostScript, which has
> DIFFERENT rules to follow.
> 
> Specifically, if you have an application that wants to produce a
> document that overrides the options the user has specified, it should
> use %%IncludeFeature or %cupsJobTicket instead of %%Begin/EndFeature
> to a) allow CUPS to know that it should apply those options instead
> and b) allow CUPS to insert the proper PostScript commands since you
> most likely have not done so.
> 
> We do our best to not override %%Begin/EndFeature commands, however
> because the rules for embedding those things are not well-defined
> (i.e. no custom page size support, no support for copies, no ordering
> requirements, etc.) bad things can happen, and every "workaround" you
> come up with can cause problems.  IMHO, we have only improved our
> track record for such things, since before it was possible to have
> jobs that would not even print.
> 

I guess we aren't as much apart as it may seem: If we can agree on the
following:

- Emit whatever the PPD defines as *defaults* at the *beginning*
   of the setup section. This assures that vital things like jobPatchFile
   and the like are emitted.
- Emit whatever the user specifies as command line options or via
   %cupsJobTicket at the end of the setup section.

So, what I do and mentioned in my previous post is just that - split
up the dp_setup function into two parts, one for the defaults and
one for the rest as described above.

Helge

-- 
Helge Blischke
Softwareentwicklung

H.Blischke at acm.org




More information about the cups-devel mailing list