Select Git revision
gen-nessie-xcpt
-
Martin Mareš authoredMartin Mareš authored
gen-nessie-xcpt 20.32 KiB
#!/usr/bin/perl
# FIXME: Precision of paper sizes (and mismatch with paperconf)
# FIXME: Color adjustments
# FIXME: cupsIPPFinishings
# FIXME: cupsSingleFile?
# FIXME: Allow PS printing
use strict;
use warnings;
use lib ".";
use PPD;
use PPD::PJL;
use PPD::Paper;
use PPD::Common;
set('FileVersion', '1.0');
set('PCFileName', 'XRWC7845.PPD');
set('Manufacturer', 'Xerox');
set('Product', [ 'WorkCentre 7845', '(1.3.6.1.4.1.253.8.62.1.20.6.26.1.1)' ]);
set('PSVersion', '(3010.106) 3000');
set('Throughput', 45);
set('TTRasterizer', 'Type42');
set('Protocols', 'PJL BCP TBCP');
set('cupsFilter', 'application/vnd.cups-pdf 0 /aux/root/xcpt');
set('ColorDevice', 1);
set('DefaultColorSpace', 'CMYK');
# FIXME: Librarize
sub jopt {
my $out = "";
while (@_) {
my $key = shift @_;
my $val = shift @_;
$out .= sprintf('@PJL SET %s=%s<0A>', $key, $val);
}
return $out;
}
define_ui_group({ Key => 'Basic', Name => 'Basic options' });
option({
Key => 'Duplex',
Name => '2-Sided Printing',
Choice => 'PickOne',
Priority => 40,
JCL => 1,
Values => [
{ Key => 'None', Name => 'Off (1-Sided)', PS => jopt('SIDES', 'one-sided') },
{ Key => 'DuplexNoTumble', Name => 'Long-Edge Binding', PS => jopt('SIDES', 'two-sided-long-edge') },
{ Key => 'DuplexTumble', Name => 'Short-Edge Binding', PS => jopt('SIDES', 'two-sided-short-edge') },
]
});
option({
Key => 'Collate',
Choice => 'Boolean',
Priority => 41,
JCL => 1,
Values => [
{ Key => 'False', Name => 'Off', PS => jopt('COLLATE', 'uncollated') },
{ Key => 'True', Name => 'On', PS => jopt('COLLATE', 'collated'), Default => 1 },
]
});