|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.