|
|
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.