[cups.general] MacOS X client misbehaving
Kurt Pfeifle
kpfeifle at danka.de
Tue Aug 8 08:27:49 PDT 2006
Marc Lanctot <marc.lanctot at mail.mcgill.ca> wrote (Tuesday 08 August 2006 17:09):
> Helge Blischke wrote:
>> Marc Lanctot wrote:
>>
>> > Helge Blischke wrote:
>> >
>> >>
>> >> Look at the following excerpt of this printer's PPD:
>> >> ---snip---
>> >> *% =================================
>> >> *% Print Color as Gray
>> >> *% Chose NOT to use standard *ColorModel keyword because color on or off is simpler
>> >> *% =================================
>> >> *OpenUI *ColorModel/Print Color as Gray: PickOne
>> >> *OrderDependency: 20 AnySetup *ColorModel
>> >> *DefaultColorModel: CMYK
>> >> *ColorModel Gray/On: "<</ProcessColorModel /DeviceGray>> setpagedevice"
>> >> *ColorModel CMYK/Off: "<</ProcessColorModel /DeviceCMYK>> setpagedevice"
>> >> *?ColorModel: "
>> >> save
>> >> currentpagedevice /ProcessColorModel get
>> >> /DeviceGray eq {(Gray)}{(CMYK)}ifelse = flush
>> >> restore
>> >> "
>> >> *End
>> >> *CloseUI: *ColorModel
>> >> ---snip---
>> >> By using e.g. a job patch file in the PPD, you may force the printer to gray mode
>> >> independent of whatever the PS job requests otherwise.
>> >>
>> >
>> > Can you elaborate? I don't really understand what you mean but "using a job patch file in the
>> PPD". Is it doing that already, you mean?
>> >
>> > Marc
>> >
>>
>> Insert the following into your printer's PPD, e.g. just after the following snippet:
>> ---snip---
>> *% =================================
>> *% Emulations and Protocols
>> *% =================================
>> *Protocols: TBCP
>>
>> *% =================================
>> *% Force gray mode
>> *% =================================
>> *JobPatchFile 1: "
>> % first, set the color model to gray only
>> <</ProcessColorModel /DeviceGray>> setpagedevice
>> % now, redefine setpagedevice as to ignore this key
>> % whenever is is specified
>> userdict begin
>> /setpagedevice
>> {
>> dup /ProcessColorModel undef
>> setpagedevice
>> }bind def
>> end
>> "
>>
>> ---snip---
>>
>> Note, this will only work if the spooler you use supports this PPD
>> feature, as CUPS does.
>>
>
> I modified the PPD as stated, gzip'd it, replaced it in
> /usr/share/cups/model/HP and then restarted cups.
Heh... you're misunderstanding how CUPS works :-)
That directory is only the official repertory for *installable* PPDs.
Now that the PPD is there, it will be used next time you install it.
You can now
a) either install the printer again, using this PPD (actually, a simple
"lpadmin -p printername -P /usr/share/cups/model/HP/<ppdname.ppd.gz>"
should be enough;
b) or just copy the PPD file to "/etc/cups/ppd/<printername.ppd>"
where the *installed* PPDs are, and it should work
Cheers,
Kurt
More information about the cups
mailing list