#!/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/fontPROLOGUE=$POSTLIB/trofftable.psDPOSTPROLOGUE=$POSTLIB/dpost.psCOPYFILE=HOSTFONTDIR=DEVICE=LIBRARY=TEMPLATE=SLOWDOWN=25STARTCOMMENTS=256NONCONFORMING="%!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 shiftdoneif [ ! "$DEVICE" -a ! "$LIBRARY" ]; then echo "$0: no device or shell library" >&2 exit 1fiif [ $# -ne 1 -a $# -ne 2 ]; then echo "$0: bad argument count" >&2 exit 1fiif [ -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}fiCMD=`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 $ENDPROLOGecho $BEGINSETUPcat ${COPYFILE:-/dev/null}echo "/slowdown $SLOWDOWN def"echo "/startcomments $STARTCOMMENTS def"echo $ENDSETUP$CMDecho $TRAILER
#!/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/postscript
POSTLIB=/usr/lib/postscript
FONTDIR=/usr/lib/font
PROLOGUE=$POSTLIB/trofftable.ps
DPOSTPROLOGUE=$POSTLIB/dpost.ps
COPYFILE=
HOSTFONTDIR=
DEVICE=
LIBRARY=
TEMPLATE=
SLOWDOWN=25
STARTCOMMENTS=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
shift
done
if [ ! "$DEVICE" -a ! "$LIBRARY" ]; then
echo "$0: no device or shell library" >&2
exit 1
fi
if [ $# -ne 1 -a $# -ne 2 ]; then
echo "$0: bad argument count" >&2
exit 1
fi
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 1
fi
#
# Build the PostScript font table program.
#
echo $NONCONFORMING
cat $PROLOGUE
echo "/DpostPrologue 100 dict dup begin"
cat $DPOSTPROLOGUE
echo "end def"
echo $ENDPROLOG
echo $BEGINSETUP
cat ${COPYFILE:-/dev/null}
echo "/slowdown $SLOWDOWN def"
echo "/startcomments $STARTCOMMENTS def"
echo $ENDSETUP
$CMD
echo $TRAILER