70 lines · 1.7 KB · rc
RawDownload
#!/bin/rc# Generate paper output from the data that a PostScript program normally# sends back to a host computer using file output operators.# POSTLIB=/sys/lib/postscript/prologuesPROLOGUE=$POSTLIB/hardcopy.ps OPTIONS=MODE=portrait NONCONFORMING='%!PS'ENDPROLOG='%%EndProlog'BEGINSETUP='%%BeginSetup'ENDSETUP='%%EndSetup'TRAILER='%%Trailer' SETUP=HardcopySetupDONE='(%stdout)(w) file -1 write' while (! ~ $#* 0 && ~ $1 -*) {	switch ($1) {	case -c;  shift; OPTIONS=$OPTIONS' /#copies '$1' store'	case -c*; OPTIONS=$OPTIONS' /#copies `{echo $1 | sed s/-c//}' store' 	case -f;  shift; OPTIONS=$OPTIONS' /font '/$1' def'	case -f*; OPTIONS=$OPTIONS' /font '/`{echo $1 | sed s/-f//}' def' 	case -p;  shift; MODE=$1	case -p*; MODE=`{echo $1 | sed s/-p//} 	case -m;  shift; OPTIONS=$OPTIONS' /magnification '$1' def'	case -m*; OPTIONS=$OPTIONS' /magnification '`{echo $1 | sed s/-m//}' def' 	case -s;  shift; OPTIONS=$OPTIONS' /pointsize '$1' def'	case -s*; OPTIONS=$OPTIONS' /pointsize '`{echo $1 | sed s/-s//}' def' 	case -x;  shift; OPTIONS=$OPTIONS' /xoffset '$1' def'	case -x*; OPTIONS=$OPTIONS' /xoffset '`{echo $1 | sed s/-x//}' def' 	case -y;  shift; OPTIONS=$OPTIONS' /yoffset '$1' def'	case -y*; OPTIONS=$OPTIONS' /yoffset '`{echo $1 | sed s/-y//}' def' 	case -L;  shift; PROLOGUE=$1	case -L*; PROLOGUE=`{echo $1 | sed s/-L//} 	case --; 	case -*;  echo '$0: illegal option $1' >&2; exit 1	}	shift} switch ($MODE) {	case l*; OPTIONS=$OPTIONS' /landscape true def'	case *;  OPTIONS=$OPTIONS' /landscape false def'} echo $NONCONFORMINGcat $PROLOGUEecho $ENDPROLOGecho $BEGINSETUPecho $OPTIONSecho $SETUPecho $ENDSETUP cat $* echo $TRAILERecho $DONE