#!/usr/bin/perl -s

# psduplex - filter to insert PostScript code to set/unset duplex mode
# Steve Kinzler, steve@kinzler.com, Oct 91
# https://kinzler.com/me/home.html#unix

# Note: This was found not to be effective with the "Generic postscript
#	printer" PPD (vs "Generic PostScript Printer") from the foomatic
#	printer database on RHEL5 2008-07-08.

$usage = "usage: $0 [ -e | -t ] [ file ... ]
	-e	use edge orientation (default)
	-t	use tumble orientation\n";
die $usage if $h;

$_ = <>;
print;
unless (/^%!/) {	# not PostScript, pass through as is
	while (<>) { print }
	exit;
}

while (<>) {
	last unless /^\s*%/;
	print;
}

print "statusdict begin\n\ttrue setduplexmode\n";
print "\ttrue settumble\n" if $t;
print "end\n";

print;
while (<>) { print }

print "statusdict begin\n\tfalse setduplexmode\n";
print "\tfalse settumble\n" if $t;
print "end\n";
