#!/bin/rc
# Center pages and put cropmarks at each corner. Physical page size
# is set with -w and -h. The default is 8.5 by 11.0 inches. Device
# dependent code to change paper size (e.g. with setpageparams) goes
# in the prologue. You may need to customize the device dependent
# code that we distribute. By default it only supports variable page
# sizes on Linotronic typesetters, and assumes those typesetters are
# using 12 inch wide paper. Use -d to disable execution of device
# dependent PostScript code.
#
# What's here was written quickly and will likely be very different
# in our next release. It should be part of a more general program!!
#
POSTLIB=/sys/lib/postscript/prologues
PROLOGUE=$POSTLIB/cropmarks.ps
EXPANDPAGE=true
PAGEWIDTH=8.5
PAGEHEIGHT=11.0
SCALETOFIT=false
XOFFSET=0.0
YOFFSET=0.0
NONCONFORMING=%!PS
ENDPROLOG=%%EndProlog
BEGINSETUP=%%BeginSetup
ENDSETUP=%%EndSetup
while (! ~ $#* 0 && ~ $1 -*) {
switch ($1) {
case -d; EXPANDPAGE=false
case -h; shift; PAGEHEIGHT=$1
case -h*; PAGEHEIGHT=`{echo $1 | sed s/-h//}
case -s; SCALETOFIT=true
case -w; shift; PAGEWIDTH=$1
case -w*; PAGEWIDTH=`{echo $1 | sed s/-w//}
case -x; shift; XOFFSET=$1
case -x*; XOFFSET=`{echo $1 | sed s/-x//}
case -y; shift; YOFFSET=$1
case -y*; YOFFSET=`{echo $1 | sed s/-y//}
case -L; shift; PROLOGUE=$1
case -L*; PROLOGUE=`{echo $1 | sed s/-L//}
case --;
case -*; echo '$0: illegal option $1' >[1=2]; exit 1
}
shift
}
echo $NONCONFORMING
cat $PROLOGUE
echo $ENDPROLOG
echo $BEGINSETUP
echo 'CropmarkDict begin'
echo '/pageheight '$PAGEHEIGHT' def'
echo '/pagewidth '$PAGEWIDTH' def'
echo '/expandpage '$EXPANDPAGE' def'
echo '/scaletofit '$SCALETOFIT' def'
echo '/xoffset '$XOFFSET' def'
echo '/yoffset '$YOFFSET' def'
echo 'setup'
echo 'end'
echo $ENDSETUP
cat $*
|