1*219b2ee8SDavid du Colombier#!/bin/rc 2*219b2ee8SDavid du Colombier# Generate paper output from the data that a PostScript program normally 3*219b2ee8SDavid du Colombier# sends back to a host computer using file output operators. 4*219b2ee8SDavid du Colombier# 5*219b2ee8SDavid du Colombier 6*219b2ee8SDavid du ColombierPOSTLIB=/sys/lib/postscript/prologues 7*219b2ee8SDavid du ColombierPROLOGUE=$POSTLIB/hardcopy.ps 8*219b2ee8SDavid du Colombier 9*219b2ee8SDavid du ColombierOPTIONS= 10*219b2ee8SDavid du ColombierMODE=portrait 11*219b2ee8SDavid du Colombier 12*219b2ee8SDavid du ColombierNONCONFORMING='%!PS' 13*219b2ee8SDavid du ColombierENDPROLOG='%%EndProlog' 14*219b2ee8SDavid du ColombierBEGINSETUP='%%BeginSetup' 15*219b2ee8SDavid du ColombierENDSETUP='%%EndSetup' 16*219b2ee8SDavid du ColombierTRAILER='%%Trailer' 17*219b2ee8SDavid du Colombier 18*219b2ee8SDavid du ColombierSETUP=HardcopySetup 19*219b2ee8SDavid du ColombierDONE='(%stdout)(w) file -1 write' 20*219b2ee8SDavid du Colombier 21*219b2ee8SDavid du Colombierwhile (! ~ $#* 0 && ~ $1 -*) { 22*219b2ee8SDavid du Colombier switch ($1) { 23*219b2ee8SDavid du Colombier case -c; shift; OPTIONS=$OPTIONS' /#copies '$1' store' 24*219b2ee8SDavid du Colombier case -c*; OPTIONS=$OPTIONS' /#copies `{echo $1 | sed s/-c//}' store' 25*219b2ee8SDavid du Colombier 26*219b2ee8SDavid du Colombier case -f; shift; OPTIONS=$OPTIONS' /font '/$1' def' 27*219b2ee8SDavid du Colombier case -f*; OPTIONS=$OPTIONS' /font '/`{echo $1 | sed s/-f//}' def' 28*219b2ee8SDavid du Colombier 29*219b2ee8SDavid du Colombier case -p; shift; MODE=$1 30*219b2ee8SDavid du Colombier case -p*; MODE=`{echo $1 | sed s/-p//} 31*219b2ee8SDavid du Colombier 32*219b2ee8SDavid du Colombier case -m; shift; OPTIONS=$OPTIONS' /magnification '$1' def' 33*219b2ee8SDavid du Colombier case -m*; OPTIONS=$OPTIONS' /magnification '`{echo $1 | sed s/-m//}' def' 34*219b2ee8SDavid du Colombier 35*219b2ee8SDavid du Colombier case -s; shift; OPTIONS=$OPTIONS' /pointsize '$1' def' 36*219b2ee8SDavid du Colombier case -s*; OPTIONS=$OPTIONS' /pointsize '`{echo $1 | sed s/-s//}' def' 37*219b2ee8SDavid du Colombier 38*219b2ee8SDavid du Colombier case -x; shift; OPTIONS=$OPTIONS' /xoffset '$1' def' 39*219b2ee8SDavid du Colombier case -x*; OPTIONS=$OPTIONS' /xoffset '`{echo $1 | sed s/-x//}' def' 40*219b2ee8SDavid du Colombier 41*219b2ee8SDavid du Colombier case -y; shift; OPTIONS=$OPTIONS' /yoffset '$1' def' 42*219b2ee8SDavid du Colombier case -y*; OPTIONS=$OPTIONS' /yoffset '`{echo $1 | sed s/-y//}' def' 43*219b2ee8SDavid du Colombier 44*219b2ee8SDavid du Colombier case -L; shift; PROLOGUE=$1 45*219b2ee8SDavid du Colombier case -L*; PROLOGUE=`{echo $1 | sed s/-L//} 46*219b2ee8SDavid du Colombier 47*219b2ee8SDavid du Colombier case --; 48*219b2ee8SDavid du Colombier 49*219b2ee8SDavid du Colombier case -*; echo '$0: illegal option $1' >&2; exit 1 50*219b2ee8SDavid du Colombier } 51*219b2ee8SDavid du Colombier shift 52*219b2ee8SDavid du Colombier} 53*219b2ee8SDavid du Colombier 54*219b2ee8SDavid du Colombierswitch ($MODE) { 55*219b2ee8SDavid du Colombier case l*; OPTIONS=$OPTIONS' /landscape true def' 56*219b2ee8SDavid du Colombier case *; OPTIONS=$OPTIONS' /landscape false def' 57*219b2ee8SDavid du Colombier} 58*219b2ee8SDavid du Colombier 59*219b2ee8SDavid du Colombierecho $NONCONFORMING 60*219b2ee8SDavid du Colombiercat $PROLOGUE 61*219b2ee8SDavid du Colombierecho $ENDPROLOG 62*219b2ee8SDavid du Colombierecho $BEGINSETUP 63*219b2ee8SDavid du Colombierecho $OPTIONS 64*219b2ee8SDavid du Colombierecho $SETUP 65*219b2ee8SDavid du Colombierecho $ENDSETUP 66*219b2ee8SDavid du Colombier 67*219b2ee8SDavid du Colombiercat $* 68*219b2ee8SDavid du Colombier 69*219b2ee8SDavid du Colombierecho $TRAILER 70*219b2ee8SDavid du Colombierecho $DONE 71