ppr-list-digest volume 4, number 24, message 1

Note: please don't spam any of the e-mail addresses which you see here. Follow this link if you want some addresses to misuse.


From: "godfrey" <godfrey@hattaways.com>
Date: Mon, 18 Mar 2002 23:00:34 +1200
Subject: PPR: Auto Collating

 I have a printer that can do auto collated copies (Kyocera 7000+) the relevant part of the ppd file is listed at the bottom of this
long email.

Would the following alterations be sufficient to enable the printer to do the collating?

To pprdrv.c  static void select_copies_method(void)

- - if(!job.opts.collate )

+ if(!job.opts.collate || auto_collate )

to pprdrv_req.c write_requirement_comments(void)

- - if(job.opts.collate) /* Since I know of no printer which can collate */

+ if(job.opts.collate) /* Since there are few printers which can collate */

printer_puts(" collate"); /* auto copies, it seems likely that this will */

- - /* never be TRUE. */

+ /* rarely be TRUE. */

printer_putc('\n');

}

- - } /* end of dump_document_requirements() */

+ } /* end of write_requirement_comments() */



I would also need an option to ppr and/or ppad do you have any preference for what to call the option "auto_collate" ?

If this is all that is necessary I will create a real patch and send it to you.



Godfrey



part of ppd file



*% Job Spooling Definitions

*OpenUI *KCCollate/Job Spooling: PickOne

*OrderDependency: 20 AnySetup *KCCollate

*DefaultKCCollate: Temp

*KCCollate None/None: "<< /Collate false >> setpagedevice"

*KCCollate Temp0/Temporary (RAM Disk): "

userdict /UICollateDetails known not {userdict /UICollateDetails 10 dict put} if

userdict /UICollateDetails get /Mode 0 put <</Collate true /CollateDetails UICollateDetails>> setpagedevice"

*End

*KCCollate Temp/Temporary (Hard Disk): "

userdict /UICollateDetails known not {userdict /UICollateDetails 10 dict put} if

userdict /UICollateDetails get /Mode 1 put <</Collate true /CollateDetails UICollateDetails>> setpagedevice"

*End

*KCCollate Perm/Permanent (Hard Disk): "

userdict /UICollateDetails known not {userdict /UICollateDetails 10 dict put} if

userdict /UICollateDetails get /Mode 2 put <</Collate true /CollateDetails UICollateDetails>> setpagedevice"

*End

*?KCCollate: "

save

currentpagedevice dup /Collate known {

dup /CollateDetails known {

/CollateDetails get

dup /Mode known {

/Mode get

1 {

dup 0 eq {pop (Temp0) exit} if

dup 1 eq {pop (Temp) exit} if

dup 2 eq {pop (Perm) exit} if

dup 8 eq {pop (VMB) exit} if

pop (Unknown)

} repeat

}{pop (Unknown)} ifelse

}{pop (Unknown)} ifelse

}{pop (Unknown)} ifelse

= flush restore"

*End

*CloseUI: *KCCollate