|
|
1.1 root 1: #
2: # Builds one or more font width tables or the typesetter description
3: # file on a PostScript printer. Assumes you have direct access to the
4: # printer's serial port. No arguments means build a standard collection
5: # of tables - usually the LaserWriter Plus set. See trofftable and the
6: # shell library files /usr/lib/font/dev*/shell.lib for more details.
7: #
8:
9: set -e
10:
11: POSTBIN=/usr/lbin/postscript
12: POSTLIB=/usr/lib/postscript
13: FONTDIR=/usr/lib/font
14:
15: POSTIO=$POSTBIN/postio
16: TROFFTABLE=$POSTBIN/trofftable
17:
18: BAUDRATE=
19: DEVICE=
20: LIBRARY=
21:
22: while [ -n "$1" ]; do
23: case $1 in
24: -C) shift; OPTIONS="$OPTIONS -C$1";;
25: -C*) OPTIONS="$OPTIONS $1";;
26:
27: -F) shift; FONTDIR=$1;;
28: -F*) FONTDIR=`echo $1 | sed s/-F//`;;
29:
30: -H) shift; OPTIONS="$OPTIONS -H$1";;
31: -H*) OPTIONS="$OPTIONS $1";;
32:
33: -S) shift; LIBRARY=$1;;
34: -S*) LIBRARY=`echo $1 | sed s/-S//`;;
35:
36: -T) shift; DEVICE=$1;;
37: -T*) DEVICE=`echo $1 | sed s/-T//`;;
38:
39: -b) shift; BAUDRATE=$1;;
40: -b*) BAUDRATE=`echo $1 | sed s/-b//`;;
41:
42: -c) shift; OPTIONS="$OPTIONS -c$1";;
43: -c*) OPTIONS="$OPTIONS $1";;
44:
45: -l) shift; LINE=$1;;
46: -l*) LINE=`echo $1 | sed s/-l//`;;
47:
48: -s) shift; OPTIONS="$OPTIONS -s$1";;
49: -s*) OPTIONS="$OPTIONS $1";;
50:
51: -t) shift; OPTIONS="$OPTIONS -t$1";;
52: -t*) OPTIONS="$OPTIONS $1";;
53:
54: -?) OPTIONS="$OPTIONS $1$2"; shift;;
55: -?*) OPTIONS="$OPTIONS $1";;
56:
57: *) break;;
58: esac
59: shift
60: done
61:
62: if [ ! "$DEVICE" -a ! "$LIBRARY" ]; then
63: echo "$0: no device or shell library" >&2
64: exit 1
65: fi
66:
67: LIBRARY=${LIBRARY:-${FONTDIR}/dev${DEVICE}/shell.lib}
68:
69: #
70: # No arguments means build everything return by the AllTables function.
71: #
72:
73: if [ $# -eq 0 ]; then
74: . $LIBRARY
75: set -- `AllTables`
76: fi
77:
78: for i do
79: SHORT=`echo $i | awk '{print $1}'`
80: LONG=`echo $i | awk '{print $2}'`
81:
82: if [ "$LINE" ]
83: then echo "==== Building table $SHORT ===="
84: else echo "==== Creating table program $SHORT.ps ===="
85: fi
86:
87: $TROFFTABLE -S$LIBRARY $OPTIONS $SHORT $LONG >$SHORT.ps
88:
89: if [ "$LINE" ]; then
90: $POSTIO -t -l$LINE ${BAUDRATE:+-b${BAUDRATE}} $SHORT.ps >$SHORT
91: rm -f $SHORT.ps
92: fi
93: done
94:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.