Annotation of researchv10no/cmd/postscript/trofftable/trofftable.sh, revision 1.1.1.1

1.1       root        1: #
                      2: # Writes a PostScript program on standard output that builds a width
                      3: # table or typesetter description file. The program uses PostScript's
                      4: # print procedure, which means the table comes back on the printer's
                      5: # serial port. Try hardcopy if you don't have access to the port.
                      6: #
                      7: 
                      8: POSTBIN=/usr/lbin/postscript
                      9: POSTLIB=/usr/lib/postscript
                     10: FONTDIR=/usr/lib/font
                     11: 
                     12: PROLOGUE=$POSTLIB/trofftable.ps
                     13: DPOSTPROLOGUE=$POSTLIB/dpost.ps
                     14: 
                     15: COPYFILE=
                     16: HOSTFONTDIR=
                     17: DEVICE=
                     18: LIBRARY=
                     19: TEMPLATE=
                     20: 
                     21: SLOWDOWN=25
                     22: STARTCOMMENTS=256
                     23: 
                     24: NONCONFORMING="%!PS"
                     25: ENDPROLOG="%%EndProlog"
                     26: BEGINSETUP="%%BeginSetup"
                     27: ENDSETUP="%%EndSetup"
                     28: TRAILER="%%Trailer"
                     29: 
                     30: while [ -n "$1" ]; do
                     31:     case $1 in
                     32:        -C)  shift; COPYFILE="$COPYFILE $1";;
                     33:        -C*) COPYFILE="$COPYFILE `echo $1 | sed s/-C//`";;
                     34: 
                     35:        -F)  shift; FONTDIR=$1;;
                     36:        -F*) FONTDIR=`echo $1 | sed s/-F//`;;
                     37: 
                     38:        -H)  shift; HOSTFONTDIR=$1;;
                     39:        -H*) HOSTFONTDIR=`echo $1 | sed s/-H//`;;
                     40: 
                     41:        -L)  shift; PROLOGUE=$1;;
                     42:        -L*) PROLOGUE=`echo $1 | sed s/-L//`;;
                     43: 
                     44:        -S)  shift; LIBRARY=$1;;
                     45:        -S*) LIBRARY=`echo $1 | sed s/-S//`;;
                     46: 
                     47:        -T)  shift; DEVICE=$1;;
                     48:        -T*) DEVICE=`echo $1 | sed s/-T//`;;
                     49: 
                     50:        -c)  shift; STARTCOMMENTS=$1;;
                     51:        -c*) STARTCOMMENTS=`echo $1 | sed s/-c//`;;
                     52: 
                     53:        -o)  shift; OCTALESCAPES=$1;;           # only for Latin1 tables
                     54:        -o*) OCTALESCAPES=`echo $1 | sed s/-o//`;;
                     55: 
                     56:        -s)  shift; SLOWDOWN=$1;;
                     57:        -s*) SLOWDOWN=`echo $1 | sed s/-s//`;;
                     58: 
                     59:        -t)  shift; TEMPLATE=$1;;
                     60:        -t*) TEMPLATE=`echo $1 | sed s/-t//`;;
                     61: 
                     62:        -*)  echo "$0: illegal option $1" >&2; exit 1;;
                     63: 
                     64:        *)   break;;
                     65:     esac
                     66:     shift
                     67: done
                     68: 
                     69: if [ ! "$DEVICE" -a ! "$LIBRARY" ]; then
                     70:     echo "$0: no device or shell library" >&2
                     71:     exit 1
                     72: fi
                     73: 
                     74: if [ $# -ne 1 -a $# -ne 2 ]; then
                     75:     echo "$0: bad argument count" >&2
                     76:     exit 1
                     77: fi
                     78: 
                     79: if [ -d "$HOSTFONTDIR" -a -f "$HOSTFONTDIR/$1" ]; then
                     80:     COPYFILE="$COPYFILE $HOSTFONTDIR/$1"
                     81: fi
                     82: 
                     83: #
                     84: # Include the shell library and get the command used to build the table.
                     85: # Make awk call a separate library function??
                     86: #
                     87: 
                     88: . ${LIBRARY:-${FONTDIR}/dev${DEVICE}/shell.lib}
                     89: 
                     90: if [ $# -eq 1 ]
                     91:     then TEMPLATE=$1
                     92:     else TEMPLATE=${TEMPLATE:-R}
                     93: fi
                     94: 
                     95: CMD=`BuiltinTables | awk '$2 == template"" {
                     96:        if ( pname == "" )
                     97:                pname = $3
                     98:        printf "%s %s %s", $1, tname, pname
                     99:        exit 0
                    100: }' template="$TEMPLATE" tname="$1" pname="$2"`
                    101: 
                    102: if [ ! "$CMD" ]; then
                    103:     echo "$0: $TEMPLATE not found" >&2
                    104:     exit 1
                    105: fi
                    106: 
                    107: #
                    108: # Build the PostScript font table program.
                    109: #
                    110: 
                    111: echo $NONCONFORMING
                    112: cat $PROLOGUE
                    113: echo "/DpostPrologue 100 dict dup begin"
                    114: cat $DPOSTPROLOGUE
                    115: echo "end def"
                    116: echo $ENDPROLOG
                    117: 
                    118: echo $BEGINSETUP
                    119: cat ${COPYFILE:-/dev/null}
                    120: echo "/slowdown $SLOWDOWN def"
                    121: echo "/startcomments $STARTCOMMENTS def"
                    122: echo $ENDSETUP
                    123: 
                    124: $CMD
                    125: 
                    126: echo $TRAILER
                    127: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.