129 lines · 2.6 KB · Shell
RawDownload
#!/bin/sh ## Writes a PostScript program on standard output that builds a width# table or typesetter description file. The program uses PostScript's# print procedure, which means the table comes back on the printer's# serial port. Try hardcopy if you don't have access to the port.# POSTBIN=/usr/lbin/postscriptPOSTLIB=/usr/lib/postscriptFONTDIR=/usr/lib/font PROLOGUE=$POSTLIB/trofftable.psDPOSTPROLOGUE=$POSTLIB/dpost.ps COPYFILE=HOSTFONTDIR=DEVICE=LIBRARY=TEMPLATE= SLOWDOWN=25STARTCOMMENTS=256 NONCONFORMING="%!PS"ENDPROLOG="%%EndProlog"BEGINSETUP="%%BeginSetup"ENDSETUP="%%EndSetup"TRAILER="%%Trailer" while [ -n "$1" ]; do    case $1 in	-C)  shift; COPYFILE="$COPYFILE $1";;	-C*) COPYFILE="$COPYFILE `echo $1 | sed s/-C//`";; 	-F)  shift; FONTDIR=$1;;	-F*) FONTDIR=`echo $1 | sed s/-F//`;; 	-H)  shift; HOSTFONTDIR=$1;;	-H*) HOSTFONTDIR=`echo $1 | sed s/-H//`;; 	-L)  shift; PROLOGUE=$1;;	-L*) PROLOGUE=`echo $1 | sed s/-L//`;; 	-S)  shift; LIBRARY=$1;;	-S*) LIBRARY=`echo $1 | sed s/-S//`;; 	-T)  shift; DEVICE=$1;;	-T*) DEVICE=`echo $1 | sed s/-T//`;; 	-c)  shift; STARTCOMMENTS=$1;;	-c*) STARTCOMMENTS=`echo $1 | sed s/-c//`;; 	-o)  shift; OCTALESCAPES=$1;;		# only for Latin1 tables	-o*) OCTALESCAPES=`echo $1 | sed s/-o//`;; 	-s)  shift; SLOWDOWN=$1;;	-s*) SLOWDOWN=`echo $1 | sed s/-s//`;; 	-t)  shift; TEMPLATE=$1;;	-t*) TEMPLATE=`echo $1 | sed s/-t//`;; 	-*)  echo "$0: illegal option $1" >&2; exit 1;; 	*)   break;;    esac    shiftdone if [ ! "$DEVICE" -a ! "$LIBRARY" ]; then    echo "$0: no device or shell library" >&2    exit 1fi if [ $# -ne 1 -a $# -ne 2 ]; then    echo "$0: bad argument count" >&2    exit 1fi if [ -d "$HOSTFONTDIR" -a -f "$HOSTFONTDIR/$1" ]; then    COPYFILE="$COPYFILE $HOSTFONTDIR/$1"fi ## Include the shell library and get the command used to build the table.# Make awk call a separate library function??# . ${LIBRARY:-${FONTDIR}/dev${DEVICE}/shell.lib} if [ $# -eq 1 ]    then TEMPLATE=$1    else TEMPLATE=${TEMPLATE:-R}fi CMD=`BuiltinTables | awk '$2 == template"" {	if ( pname == "" )		pname = $3	printf "%s %s %s", $1, tname, pname	exit 0}' template="$TEMPLATE" tname="$1" pname="$2"` if [ ! "$CMD" ]; then    echo "$0: $TEMPLATE not found" >&2    exit 1fi ## Build the PostScript font table program.# echo $NONCONFORMINGcat $PROLOGUEecho "/DpostPrologue 100 dict dup begin"cat $DPOSTPROLOGUEecho "end def"echo $ENDPROLOG echo $BEGINSETUPcat ${COPYFILE:-/dev/null}echo "/slowdown $SLOWDOWN def"echo "/startcomments $STARTCOMMENTS def"echo $ENDSETUP $CMD echo $TRAILER