home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume24 / psroff3.0 / part11 < prev    next >
Text File  |  1991-10-09  |  57KB  |  1,467 lines

  1. Subject:  v24i106:  psroff, Troff to PostScript filter, Part11/19
  2. Newsgroups: comp.sources.unix
  3. Approved: rsalz@uunet.UU.NET
  4.  
  5. Submitted-by: Chris Lewis <clewis@ferret.ocunix.on.ca>
  6. Posting-number: Volume 24, Issue 106
  7. Archive-name: psroff3.o/part11
  8.  
  9. #! /bin/sh
  10. # This is a shell archive.  Remove anything before this line, then feed it
  11. # into a shell via "sh file" or similar.  To overwrite existing files,
  12. # type "sh file -c".
  13. # The tool that generated this appeared in the comp.sources.unix newsgroup;
  14. # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
  15. # Contents:  lib/psrofflib.S utils/fonts/cmmi10.pk.UU
  16. #   utils/fonts/cmsl10.pk.UU utils/fonts/cmssi10.pk.UU utils/pk2sfp.c
  17. #   widths/Makefile widths/widthps/S2
  18. # Wrapped by clewis@ecicrl on Fri Apr  5 20:56:02 1991
  19. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  20. echo If this archive is complete, you will see the following message:
  21. echo '          "shar: End of archive 11 (of 19)."'
  22. if test -f 'lib/psrofflib.S' -a "${1}" != "-c" ; then 
  23.   echo shar: Will not clobber existing file \"'lib/psrofflib.S'\"
  24. else
  25.   echo shar: Extracting \"'lib/psrofflib.S'\" \(8799 characters\)
  26.   sed "s/^X//" >'lib/psrofflib.S' <<'END_OF_FILE'
  27. X#    2.17 91/04/05
  28. X#    This file controls psroff, you can insert additional printer
  29. X#    types here.  These are eval'd *late* in processing, so that
  30. X#    you can insert $copies etc.
  31. X#
  32. X#    Syntax:
  33. X#
  34. X# troff=<path to troff>
  35. X# trofftype=[-F...|-T...]
  36. X# name width=<width> t2arg=<troff2ps args> lparg=<lp command line> ptr=<ptr>
  37. X#        <repeat as many printers that you have>
  38. X#
  39. X#    "troff" and "trofftype" stay in effect for each subsequent
  40. X#    printer definition until explicitly overridden:
  41. X#
  42. X#    if troff omitted or assigned "", will use your PATH for troff.
  43. X#    if trofftype omitted or assigned "", will not use width table
  44. X#        directories, and "width" will be unused.  This is not
  45. X#        recommended if you have printers with different character
  46. X#        widths.  Psroff will complain.  See trofftype assignment below.
  47. X#
  48. X#    name: name of config (eg: xt for ditroff->xtroff).
  49. X#    width: name of width files (eg: "ps" for %%FONTDIR%%/ps/ftXX).
  50. X#    ptr: default physical printer id (eg: "lp -d$ptr")
  51. X#
  52. X#    Useful troff2ps args:
  53. X#        -T<type>    driver type (ps, lj, dt)
  54. X#        -p<printer>    printer-specific initializations - eg:
  55. X#                prefix for *.lib and *.fonts files.
  56. X#                (defaults to <type>).  Should be set
  57. X#                *before* -T.
  58. X#        -d<device>    x T <device> for ditroff drivers.
  59. X#                (defaults to alw)
  60. X#        -R<num>        ditroff resolution to use.  Default 300
  61. X#        -O<pageoffset>    offset to be applied *bypassing* troff.
  62. X#                Default "-O.5i".  Set to 0 to get this
  63. X#                perfectly offset-compatible with other
  64. X#                troffs.  Most macro packages are set to
  65. X#                centre their default page layout in
  66. X#                (effectively) 7.5i, the adapters plus
  67. X#                the .5i default makes pages centre
  68. X#                by default in 8.5i (matter of taste).
  69. X#        -Y<vertoff>    ditto, but vertical.  Default 0.
  70. X#                Some postscript printers differ in location.
  71. X#        -N        The troff is actually ditroff.  (You have to
  72. X#                have ditroff widths installed for this!)
  73. X#        -Z        optimizer
  74. X#        -S        Use "stop" to terminate Postscript instead
  75. X#                of control-D
  76. X#        -W<directory>    location of CAT width tables.  Defaults
  77. X#                to FONTDIR/<type>/ft*
  78. X#
  79. X#    lparg: how to get output to printer.  Note the "-n$copies" and
  80. X#        -d$ptr.  The $ptr is the psroff selected physical printer
  81. X#        id, and is what would be specified by psroff -d<printer>.
  82. X#        Default "ptr" is described above.  psxlate is for
  83. X#        page-flipping postscript.  psxlate should really be in
  84. X#        your print spooler.  Or, you could do the psxlate and
  85. X#        print spool invocation manually simply by changing lparg
  86. X#        to "cat".
  87. X#
  88. X#    Use single quotes for all strings that have embedded blanks or
  89. X#    other metacharacters.  (This delays the variable replacement until
  90. X#    the correct point).  Lines can be continued by prepending the
  91. X#    continuation lines with the "name" followed by whitespace.
  92. X#
  93. X#    psroff will use the last assignments to troff and trofftype
  94. X#    ditroff prior to the matching name.
  95. X#
  96. X#    There is one additional magic flag, "v".  If you specify
  97. X#    "v=1" (as in cdps entry below), psroff will arrange to run
  98. X#    catconv on the (it has to be CAT) troff input.  This will
  99. X#    permit you to do the extended character set and drawing routine
  100. X#    stuff without having to manually invoke catconv.  HOWEVER,
  101. X#    before trying this, you have to have Perl, and make sure that
  102. X#    Perl will start it up properly (see MISC regarding catconv).
  103. X#
  104. X#    Note: for the automatic ditroff width table installer to work,
  105. X#    the width parameter, -N and -W (if present) options must be
  106. X#    on the same line.
  107. X
  108. X
  109. Xtroff=''
  110. Xtrofftype='-T$width'
  111. X#    Uncomment the following if you're a Sun or Ultrix -F troff.
  112. X#    Check your manual pages.  (Though some support -F without mentioning
  113. X#    it in their manual pages).  The default is "-T" (Xenix and a few others)
  114. X#    Most BSD-derived troffs use -F, including those needing ASCIIWIDTHS
  115. X#    turned on.
  116. X#trofftype='-F%%FONTDIR%%/$width/ftXX'
  117. X
  118. X#    psroff generating postscript directly.
  119. X#    The clause "| $LIBDIR/psxlate -r" is there to reverse the pages
  120. X#    for some Postscript printers (eg: the ones that print the first
  121. X#    page face up and then drop the second page face up on top of the
  122. X#    first), most more recent Postscript printers don't need this so
  123. X#    you can remove the psxlate call alltogether.  Actually, even if
  124. X#    you do need to reverse pages for your printer, psxlate should
  125. X#    REALLY be in your spooler rather than here - see MISC for more
  126. X#    details.  Or, you could do psxlate and the print spooler manually.
  127. X#    In that case simply change lparg to be lparg='cat'.
  128. X#
  129. Xps    width=ps t2arg=-Tps lparg='| $LIBDIR/psxlate -r | rlp -d$ptr -n$copies'
  130. Xps    ptr='gate!AppleLaser'
  131. X#    Example optimizer entry.
  132. Xops    width=ps t2arg='-Tps -Z -W/usr/lib/font/ps'
  133. Xops    lparg='| $LIBDIR/psxlate -r | rlp -d$ptr -n$copies' ptr='gate!AppleLaser'
  134. X#    For testing new width tables without clobbering real one.
  135. Xtps    width=tps t2arg='-Tps -Z -W/usr/lib/font/tps'
  136. Xtps    lparg='| $LIBDIR/psxlate -r | rlp -d$ptr -n$copies' ptr='gate!AppleLaser'
  137. X
  138. X#    System V'ish LJ printing to printer called laser.
  139. X#    (Your lp filter script should support -og (8 bit, no filtering))
  140. X
  141. Xlj    width=lj t2arg=-Tlj lparg='| lp -d$ptr -og -n$copies' ptr=laser
  142. X
  143. X#    HPLJ-2-postscript testing:
  144. X
  145. Xtlj    width=lj t2arg=-Tlj lparg='| %%LIBDIR%%/lj2ps | rlp -d$ptr -n$copies'
  146. Xtlj    ptr='gate!AppleLaser'
  147. X
  148. X#    Laserjet III (built-in fonts, using supplied widths, Times base)
  149. X
  150. Xlj3    width=lj3 t2arg='-Tlj -plj3 -W%%FONTDIR%%/lj3'
  151. Xlj3    lparg='| lp -d$ptr -og -n$copies' ptr=laser
  152. X#    Laserjet III (built-in fonts, using supplied widths, Univers base)
  153. Xlj3u    width=lj3u t2arg='-Tlj -plj3u -W%%FONTDIR%%/lj3u'
  154. Xlj3u    lparg='| lp -d$ptr -og -n$copies' ptr=laser
  155. X#    Ditroff:
  156. Xdlj3    width=lj3 t2arg='-Tlj -plj3 -N -W%%FONTDIR%%/lj3'
  157. Xdlj3    lparg='| lp -d$ptr -og -n$copies' ptr=laser
  158. X#    Ditroff:
  159. Xdlj3u    width=lj3u t2arg='-Tlj -plj3u -N -W%%FONTDIR%%/lj3u'
  160. Xdlj3u    lparg='| lp -d$ptr -og -n$copies' ptr=laser
  161. X
  162. X
  163. X#    Deskjet: Only difference is troff2ps library inclusions for deskjet.
  164. X#    (dt.lib has a slightly different prolog)
  165. X
  166. Xdj    width=lj t2arg='-Tlj -pdj' lparg='| lp -d$ptr -og -n$copies' ptr=laser
  167. X
  168. X#    DiTROFF test output (outputs ditroff on screen) using
  169. X#    supplied ps widths.
  170. X
  171. Xdt    width=ps t2arg='-Tdt -ddjet' lparg="| cat"
  172. X
  173. X#    Ditroff configurations:
  174. X
  175. X#    Tpscript output (ditroff drivers, PS widths, dt libraries)
  176. X
  177. Xtp    width=ps t2arg='-Tdt -R720 -dalw'
  178. Xtp    lparg='| /usr/lib/troff/tpscript | rlp -d$ptr -n$copies'
  179. Xtp    ptr=gate!AppleLaser
  180. X
  181. X#    jetroff output (ditroff drivers, jt widths, jt libraries)
  182. X#    The jt widths are not supplied - see README.  These are widths
  183. X#    derived from Knuth's PK fonts from TeX, which are what is distributed
  184. X#    with jetroff.  jt.fonts has some example character mapping overrides
  185. X#    to make dt.c's mapping tables correspond to jetroff's
  186. X#    character->font arrangement.  (Box drawing characters in Rick
  187. X#    Richardson's ST (cmtrf) font)
  188. X
  189. Xjt    width=jt t2arg='-Tdt -pjt -ddjet' lparg='| djet | lp -d$ptr -n$copies'
  190. Xjt    ptr=laser
  191. X
  192. X#    X.11 Xtroff using supplied ps width tables
  193. X#
  194. X#    You should probably run xtroff's devpsc ditroff width tables
  195. X#    through gfttab ("cd widths; gfnttab /usr/lib/font/devpsc psc" ?)
  196. X#    and change width to psc.  However, the default "ps" tables work
  197. X#    pretty well.  A few characters in CAT troff do not print as you
  198. X#    would expect: ^, @, \(ga, \(em, \(dg, \(bs, \(eq.  Some of these
  199. X#    may have been fixed in your version of xtroff (patch 10).
  200. X
  201. Xxt    width=ps t2arg='-Tdt -dpsc' lparg='| xtroff'
  202. X
  203. X#    Adobe Transcript psdit - this appears to work, but I've not
  204. X#    set a workable lparg.  A number of characters are missing:
  205. X#    @, ^, ff, ffi, ffl (ligatures are off by default anyways),
  206. X#    \(bs displays as a heart.
  207. X
  208. Xpsd    width=ps t2arg='-Tdt -dpsc' lparg='| psdit | something'
  209. X
  210. X#    AT&T ditroff previewer on 3b2's - using supplied ps width tables.
  211. X#    Using otroff (CAT troff on these machines) to drive.
  212. X#
  213. X#    You should probably run xproof's devpsc ditroff width tables
  214. X#    through gfttab ("cd widths; gfnttab /usr/lib/font/devpsc psc" ?)
  215. X#    and change width to psc.  Special note: xproof keeps each symbol
  216. X#    character/pointsize in a separate file, and counts as a separate font.
  217. X#    The limit appears to be 50 fonts, so testtab.m won't print completely.
  218. X
  219. Xtroff=otroff
  220. Xxp    width=ps t2arg='-Tdt -dpsc' lparg='| xproof'
  221. X#
  222. X
  223. Xtroff=''
  224. Xtrofftype='-T$width'
  225. X
  226. X#    Ditroff input driving postscript
  227. Xdtps    width=alw t2arg='-O0 -Tps -N -W%%FONTDIR%%/ps' ptr='gate!AppleLaser'
  228. Xdtps    lparg='| $LIBDIR/psxlate -r | rlp -d$ptr -n$copies'
  229. X
  230. X#    Ditroff input driving display postscript (ie: IBM RS/6000)
  231. X#    dodps is expecting dpsexec in /usr/local/bin.
  232. X#    I run a patched version of dpsexec - the patch I used
  233. X#    is in the MISC file.
  234. Xdps    width=psc t2arg='-O0 -Tps -N -W%%FONTDIR%%/ps -S -Z'
  235. Xdps    lparg='> /tmp/dps$$ ; %%LIBDIR%%/dodps /tmp/dps$$; rm /tmp/dps$$'
  236. X#    LJ3 widths generating postscript
  237. Xdpslj3    width=lj3 t2arg='-O0 -Tps -N -W%%FONTDIR%%/lj3 -S -Z'
  238. X
  239. Xtroff=/usr/local/bin/otroff
  240. Xcdps    v=1 width=ps t2arg='-Tps -S -Z'
  241. Xcdps    lparg="> /tmp/dps$$; %%LIBDIR%%/dodps /tmp/dps$$; rm /tmp/dps$$'
  242. END_OF_FILE
  243.   if test 8799 -ne `wc -c <'lib/psrofflib.S'`; then
  244.     echo shar: \"'lib/psrofflib.S'\" unpacked with wrong size!
  245.   fi
  246.   # end of 'lib/psrofflib.S'
  247. fi
  248. if test -f 'utils/fonts/cmmi10.pk.UU' -a "${1}" != "-c" ; then 
  249.   echo shar: Will not clobber existing file \"'utils/fonts/cmmi10.pk.UU'\"
  250. else
  251.   echo shar: Extracting \"'utils/fonts/cmmi10.pk.UU'\" \(9072 characters\)
  252.   sed "s/^X//" >'utils/fonts/cmmi10.pk.UU' <<'END_OF_FILE'
  253. Xtable
  254. X !"#$%&'()*+,-./0123456789:;<=>?
  255. X@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
  256. Xbegin 644 utils/fonts/cmmi10.pk
  257. XM]UD11T9T;U!+(#$N,B!O=71P=70`H```"Z!B/@`$)JX`!":NP#M!#``"'QP=
  258. XM_QS7\MSSVTVEVA$]D2/9$SU_%#UA4]7Q8]3Q<],8/2&3TM#1\;/!P[\=`Z\=
  259. XM$Y+1-TT328O0.$(,(ML?'!S^&W`3`023P[.SM/H\.3T_D\23M).THZ2SA<`0
  260. XMTZ2SM*\\2.,]1SU(/3D\.CLZ.D<!2L!!0PMO@!X='OX<TF<<-B0J.A(Y+02#
  261. XMTC<],V/5)4U18]85/7%$UQ1-OB3;XTW.)-86\]48+4&3TAL]`=`Z+2-RUWT0
  262. XMP#U$#3\F(A\<_AM]7324T3P]`]`\\]$Z/2.N(])..#TTXG/32#TS@]-(/3.3
  263. XMTDD](Y/2.CT3L]`\.ST#I*U=`,`Y10O/IA\='/X;?9I+2CT2XJ/1&O/2&C<7
  264. XM&C<=3S<=4V+5O4XS<=0W&!D],9\](9\](:/1*CT"H[5ME\`P1@I)]AL<'/X;
  265. XM?8I*2CT"XJ/0&O/1&C<6&C<=/S<=0V+4O3XS<=,W'4XCV^,]M-?-,,!(1PR4
  266. XM>B$='OX<TF<<-B0J.A(Y+02#TC<],V/5)4U18]85/7%$UQ1-OB3;]-Q-"Q34
  267. XM1.)-0V/4-CTS@M,X/2.3T$HZ(APW)!TGT<`H2`U,SB,A'/X;>TNDM-'C/#T>
  268. XM,\/1XCP]+5T>,\/1XSP]'C/#T4M*M+?`'$D'"(H2$AS^&VRDT>,]'C/1XST>
  269. XM,]'C/1XST4K&P"A*"-]*%Q4=_1N<T4U.,]3C/4XSU.,]3B.A<Y-3E%.38J%S
  270. XMH6/!0]%=$,!,2PV6PR,A'/X;>WBDT$P]$M$]`=,\'4.QU#H=8Y'7.!V#<=@V
  271. XM':-2VC1-DS$3V#,3/7,14]='/6.#U3D]7SH]0[/2\\/2\]`]!-!(MZ7`)TP*
  272. XMXY`<%QS^&WS136XSUN,];C/6XSUN(]`6/!8]`6/"8[)SHV.4/7/`7TT/A;(H
  273. XM*!S^&WC4BEU$T1$]--+Q$](1/2$3T1(]'Q(]`2/2\3.Q,]$4.A,]+Q0Y%#TA
  274. XM0X%3T?%3<5/2\6-18]$7-!8]+Q<S%STA<R&#T?&#$8/2&3D]$I.3T#DI2I86
  275. XMM\!*3@S;!B$A'/X;=ZFST#T!$\+1\1/!TA(['1$SH=(4*ATO%#D='B%C<=(7
  276. XM-AT1@U'2XADT'1XALR'2'#$=$=!-+QT3T2T3T#TAN<&PP$)/##15(!P>_AS1
  277. XM?6-3TCD[/#D]`X/2-CTS5--#340SU4\DU4XA36CBUD'TU4+TU$---%/3-CTC
  278. XM@]`Y2SLY/2-4U7T0P"U0"D6P&QP<_AM]312$P[.SM/H\/BD\23PY/$D[2CI+
  279. XM.$S0TN(]OC/;XSVTU[U`P%E1#*8=(1PE_AS1?6-3TCD[/#D]`X/2-CTS5--#
  280. XM340SU4\DU4XA36CBUD'TU4)-4S340TTT4V1C8U%!0X,Q43.3,5$CLR%4TD1&
  281. XM&Y<=4F+5)AUC,]:-=]EME)#`/%(,)@T@'1W^&WT]-(30.SP[2_/#KB/$H[2C
  282. XMP[.DPX31S3."TSDM+SD]#C.CPZ3/.D85.D452T01N3,=I3#`.U,)SZ89&![^
  283. XM',91HF(BD:2!PH+"?RT";RT1?SV$V&UITZTYUEV$V#V?)O'2)?+1)BT"<M`7
  284. XM2B@B)RD5>\`O5`E9FQ@<'/\;/<,X.#(I.B(:.A(J.A(;.A(:.Q'QL['0/;XS
  285. XMV^,]OC/;XSVTU=+`P#)5"NRH'!L=_1L;:430-ST2CB/1&.,]$8XST1CC/1&.
  286. XM(]$9\]`:/!PK'0*ATB@=0E+774#(058)5588'!W]&ZJ#32-CTR<],8/2&4T1
  287. XMKST!L\'/.QT#H='SD=)''4-QU#8=7S4=8T'7,RUS,=A!':,1VDV_/<\M<,AG
  288. XM5P\<<R<H'?T;I;63/$Q%/0/0%ST#P8/$P8.UL9.Q$[&?.A(Z&O.1,Y&S@4.!
  289. XMPX%#<=`W%3<=`V%C8=%%%C8=+S07-1TS,9,QU#,9,BU#(:,AU3(:,1UC$;,1
  290. XMUO3$U_/0/8+1+9+1'6#`2E@-06XB(1S_&WMIM+312RU#L=5)'7.!V#<=E%';
  291. XM-!W$(=XQ'?4!#S`13?$3WA(]T4/;%3VA9-@8/7&4U1L]0K/3+$T2T3Q-!8F:
  292. XM4,@Y60E)]A@='/\;NH1-)&32*3TAH]$;3!T#L=%)'3."TS@=1&'6-1UT,=DR
  293. XM':,2VEW//<XSW.,]P]F](,`\6@KL&!P;'/X;C6A+.#PY+#H<.QM*'#L;/!H]
  294. XMH]H]H]H]I-E-H]H]HZ'#H<.QL\&CP:3!H\*3PI/#@[2-:-`H80AU&Q81$OX1
  295. XM=#)C,1-29$)T,W-"@S\X,N,X,^(W,Q$F0Q(C(B(413+0+&(&W=X2#AW^'":_
  296. XM.N,ZXSHR13$3)$4C-B(W(N(W;B<Q-R(V,C8C-24D-A,I1]`@8P;LDA(/$OX1
  297. XM=9)"4U)#5"-4,G(_.^0\.A(I$R@5)2=FP#%D"%/K%A,=_AS0;],^/2/2XSE"
  298. XM.#,1-R9&)T4W-B@U\X-.,X->(W,Q,F0Q0C(B(6130-`B90=S-1,.$OX1=7-!
  299. XM4F%"@2-Q,H$C8CE.0[.A$I$B@4)2=5#`-&8'U5@4%27^'-)-(C+0,DPB3#,M
  300. XM#B/434\]'-#SU.0]3D/4Y#U2U?/0(RT$(M!!+1,ATTTPT#%G!Z&J%!$:_Q&3
  301. XM,G(Q$V)44F1#8U)S3S<SXS<TXC8V)4<363(P$//38F-44F1#8T*6H,`S:`DW
  302. XM\Q@3'?X<1M/STN,]+C/2,U@Q)"=&-C<U1S7B.#3B.#4W-?.#,1-S01-S,1.2
  303. XM(3*C,)`C:06#(`X*'/X;<_9'+6-A(S\3,O%#;S;B-C?S,2-!(S%"(6-`T"IJ
  304. XM!I;#$1`D`!O3_$T@;#P2.10H%2@4-Q4]\\XSSC/.,\-R0V0R="*#(J6@P#AK
  305. XM"%1E%A(=_AQ&TO/1XST>,]$V-C0C%3,4-#,30S,31#(5)3$=!-![,CKS,XXC
  306. XM0T$S0S$S8C%"=$#0&VP$QBH,"1W^'#;V/C4UXS7C->,UXS7C,A0B%3300VT.
  307. XM#%@D(!+^$2-F95$C,5(R0D$R(6,18S$R$71S(32$<R$SDX-O.3@UXCDX-CDW
  308. XM-O.3@S$CDW-!(Y-S,2.3DB%"HJ,PT#)N"9J0&102_A$C95$C(D)!,A%C,3-S
  309. XM(31S(3.#;S@UXC@V-S;S@S$C<T$C<S$CDB%"HS#0)&\'P6T4$1+^$86B0G-B
  310. XM4X)"DC*B+SIN*C'SDR.#0H)2<G)#I8#`-W`(#,X5%1H!$5-4@2,A0F$R$6)1
  311. XM,W)!,X)!,X/W.#XF.#<X)S@W."@W*44I,10J,DSSU.,]1-*<T"IQ!R2#$P\:
  312. XM_A%S05(Q(D)4,F0C8S)S+S<QXS<RXC8T)4435S(\\[XSM(H@P"-R!S?S$Q`2
  313. XM_A$C5#$C(4$A,A%#$3-%,T01,U)O/.,\XSP]$L#0)7,'@``3#Q+^$76"4F%Q
  314. XM4F,R<D/%MXB7PT&#(W(D<B1Q,9)"8G9@T!UT!<<>#PP:`!F"GB..,SSB4XXS
  315. XMCC./-1/S05(Q=$#0)W4)*,H8$Q+^$3.B,2-S+Q,W,?%#8V\W->,W-N(G,Q,U
  316. XM0Q0D$B(65#+0)W8'P6X4$!+^$3.!,2-3$3-3$3-C]#<?0X'B,X%#<5*!7R<6
  317. XM-1@D&E;0.'<+=&8>&A+^$3.B83$C<U,1,W-3$3-S8_0V.!]#<X'B,W.!0W-Q
  318. XM4H*!4H)Q8V-Q8V11@T$B0;5%8,`R>`DD^Q@3$OX15$1A,B%!041",50T(5,T
  319. XM(6-"KSTN,Z(S<20C<20C83,A$F$Q02(R5$1@P#!Y!]@R%!(:_A$SHB$C<_$3
  320. XM-T]#8U\W-.,W->(G-C5')$E1/2/2)B<U1B9%)S4I%2M;P"MZ!W#8$Q`2_A%C
  321. XM85511R)18U&!T1T1T1T1T1T1T1T1@5&101)20QA!1D%C8,`C``G8+AH;'/X;
  322. XM?7I*.CPN*CP:XCT!H]KC/:XSVN,]KC/:36S2P$8!#558(QX=_AS8\MX]U=OQ
  323. XM(]H3/9%$UQ8]8F/6%TU!A-,:/2*CTAM-`<3!T3LM$['221TT@=4W+5-QUD4=
  324. XM=$'9,RV3/?$"X,!-`@PT52`<'OX<T7UC4](Y.SPY/0.#TC8],U330TU$,]5/
  325. XM)-5!0QL33Q0]`X\]`T%#&Q-!]-5"35,TU$---%/3-CTC@]`Y/#LY/2-4U7T0
  326. XMP#L#"QQS'1H=_QS6\MKSV?38$3U_$CUA,]8334%$U!4],6/2\7/1\8/0\9/!
  327. XMH[\;.APZ'$@=!'+1-CT$.6O`)`0+X+@?'AS^&W_:8M<7XAV!!T\=`=+]+1\=
  328. XM`0L.(=@7'7)OVG#`)@4-3,XC(1S^&WW:3#T>,\/1XSP]'C/#T>,\/1XSP]'C
  329. XM/#T4M*M+<+!!!@QZ4B`?'/X;?,=,-8/%.#QAKSQ1I,0;/$&TPQP//030/030
  330. XM+1'1'1'1'#'!'$'`'%&QQ1L<4I+&*!QR@<57RWS'P#,'"555&!L=_QQ%M5>(
  331. XM.6H25$1%<S-SDC*2DB*AHA/8(2V2$=KTVN(]KC/:XSVN,]I-70T`P$(("JJK
  332. XM'!H<`!NM#439XCUXTC(R2C0T-T4U-48V,T8W,S<W3Q1S>/<W04<W,S<V0S8V
  333. XM134U1S0T.D(R/2C7XCV4U-"@P$`)"<NJ&1L<_QN-#53:XCPY.$$W-T0V-S7S
  334. XM8V->(V-C8V-B?S4V-S4U.#4U*30U.B0T/",S+2(C$]5MGB/:35T-`,!."@Q;
  335. XMOB`='?T<TGUD5-$Z/#PY31-TTC<]-%333B1-1/--1$331CTT8])'/2.3T#H]
  336. XM`K/"T"LM$K&A4:)105&244%B@6%!8G%A6(A8>5AX8,`P"PH\.!L6$OX1A-,D
  337. XM+#8F$S<U$C@T$RDT$O.4(2\[,1,[1.([-BI&*"$S$R4D(A97,\!(#`D,SA<7
  338. XM)?\<TETR0M$7+!@K&3D:.!LX&C@;.!LI&C@5B104*Q5Z&RCQPH\<-N(<-QLW
  339. XM*S<K*!$9*1$8*1,D.A5<\=CC'8\=D,`M#0A(H!44&_\15*$WD2EQ*V$B<E$B
  340. XMD4$QH4'2\2'3XA$=3RU>(=7B+4XRU/+5&M`R#@<<<A(/'?X<E9)!<6%BSB+3
  341. XMQ,3$M9(48S-34S-C,H(O."'SD2."+S@3-R0G%287)!E7T!@/!GZ5$0T2_A%V
  342. XM4Y*BHZ*CJ3Y#ORPL)"94P#80!P`"$A$E_QR^(=-J)!D221TATATBT2TATBT?
  343. XM+2'2XBT3T?+2XCTCT4T6R+?&T4T?/1*B,=`VP"X1!_'+%1(;_A$C93$C(D(A
  344. XM,A%C$3-T-'0S@_0X/C,X,^,X,S@U*#TO/1XST?/2)L`Y$@>"V!,0'?X<E+(B
  345. XMDD)R4F)B4V)2<D-S,H/R.",H,O.#+1'B.#(X(S<S*#,G-/)R4F)B4H)"@C&T
  346. XMH-`8$P6IN@\*$OX14GXC;C-N(V-_-4]1(C)$0-`L%`DW\Q@3$OX14H-39D-1
  347. XM)$-!0D-!LS'#$M0!"I-3CS8VXC<T$3<S$3DC$BI"P#,5"558&!,=_AQ4U#U/
  348. XM/333XCU.(]--/STTTSTDT6PB.R,Z)$@F-S8V-S4X0SHR.S$\02T#P"H6":0+
  349. XM&14;_Q%RDGXC@VXS@VXS@VXC@S$T9#$E0B(A,Q533SU.,]3SU2U@T"<7!^=;
  350. XM%1,2_A$6HN)#D_,Y-#@U."4X-3<V-R<V)S8H-2DS.C(K;4`1P#08!P`"$A$E
  351. XM`!R^(=-H1!<R1ST#T.4](A:308(6<=(M$M(=+RT>(](]%=![BXQM!='RH4'$
  352. XM4,`J&0D>U1@5$OX134/5+5(E%!@6%!<7$RT?%"T/)"T!4L\D.S0[)3KS8Y)R
  353. XM<,`Q&@A%LA43&_\1M-`S*B8H)R<W)R@_4X/B0X-3@E.#4X)C<G12<Q%"@R2O
  354. XM/2XSTO/3+4#`)QL))(,8%1+^$7T6TDTT1$DG.#@G\Y)N(Y-CDG.#<X*#<J)B
  355. XMPD+170#`'QP&_I82$Q+^$4TCTRTR)2H6*1<=4=3B+3XBT^(](]0LT"<="*3]
  356. XM%A,2_A$SL3$C@Q$S@Q$SD_0Z'T.QXC.Q3SH5*A8X%S<9-1QGP#\>"8B*&10E
  357. XM_AS2'5XQU>,=7QTVPR$B@S%#4E%20F%3(V%B\3877W%F87;V%C(F%3,E%34D
  358. XM%"@R$CMM/C'5XQT`P$$?"@+6&A8:_Q$TT1(3.Q,32A@Y&3@:1APU'0-!T4,=
  359. XM(R'3,1U$UO/53573$CTA,]$4/0%4OQ<Z&$@:-!(<,A(=%##`2"`*;!H;%R7^
  360. XM'-3QV.,=CC'8&S@6$Q(V%3$3-A4Q$S47/T-1@4-A@4-1D>(S88%#48%347%C
  361. XM46%S45&205&S(3+1?6'8XQV.(='`,"$)]9,:%Q(`$4'3%/'3/R'5(1UQ$:&1
  362. XM$9*2^B@1&2@A&2@2*"<B)D8CUT@95S=U5'#`)2('=@H3$!3_$H:)4V,RT1T?
  363. XM'3%!H1,1EX'1\='QTAP3&A0V)IE7T#TC"7:*&10=_AS4`1$RWQ4KXA8K\6.A
  364. XM8L%2,W$S(2-A(R$R=2$RE?,X-C@V.";S@V-S<W)S@G-RGR8K)!`06L`V)`U`
  365. XM!2(?$OX13>/?+?(D'7$Q4=<2%1V!?QH;%O&AL7&2HG&2H8&#DH%R$G*20R)3
  366. XMJ#FW5]%'2L`R)0A%LA41&OT1E+,R@F)B<E-R4H/S.#XB.#,X(T<S1R1&)1$E
  367. XM)A(C)A1(XATRTK>WK3%0T!XF!<XZ#P\6_Q&'8E)"PL+1WRSB/3Q;:GIK3?/"
  368. XMT;-@P#TG"G=X&Q<;_A%!M&&G49DQDU,ADG+Q&1H1&!LI&A$8&Q$8&B$G&A,6
  369. XM&20T&"9"%4C1K-%M/B+7\]<M?SURU-!"0`A^E184'_X=I=)"L8&1DH*29()D
  370. XM@V*BX@%"AC-C42-2@1-"D1,RM".S,L,CPR.S+SPR/",[,SLD\Z)BDH)RHD+5
  371. XML-`U8`:JKA$0'0`<P\$QHC'Y)!^"47-!@E%_-!?S08,QDR&?,AHQ&TP]\M/!
  372. XM$K$BH3*!8E*!0;10X!U[!2C(#0D2_A$<$Y'(Z'0X.!P<#@<'`XG%PN(R#@#0
  373. XM)7P&)/T0#AH`$9.A(W%"85)A0U%3^SXZ.N,ZXSHU)#1#)4(F,BA8P$A]"B[P
  374. XM&A4<_1)BU"UAAE%R4C)A<R%ADA)1HA)!LA(QQ?(<81T'T2(]`R1"8D0Q8T0Q
  375. XM4T$4,3)A)#1_$ST.(4+1%!TA,M(3'4/4L!-^"``"%1((^!W!+$/$(MC!/"/#
  376. XM)-`1?P1QR`P0!?4;5W)R0;$AT@$!T!\P"``"%1`4_A)6@T-2@C.#+RHAYSH_
  377. XM$J(C@S*"4T.&4-`0,0@``A4-$_P2<914$ZX!`UW`)3((``(5$!/^$D=R8T&3
  378. XM,:,2IZ,1L\3#P\/#PM`7%2@4&2/"T1TAP"XS"``"%1`<_A)6@E-?&#-&0D<R
  379. XM1D,G3//#PJ;2+2\]$]#T$ICX>5LR&308-24I9<`L-`@``A42&_\2SRTCT?30
  380. XM$3P2.R([$SH4.20Y%3@6-Q<V)S88-1DT*335YK.[P"TU"``"%1`<_A(B@DM:
  381. XM:(Y1TA-7$20U*"09+1/1+1\Q*G^6I,(AHR&B08)B4I5@T#<V"``"%1`=_AN$
  382. XMHD)R86)C0F0R=#*"/STM,U4R%"0Q%B-((D@Q.B'D.C\2HQ.2,H,R@E)B<D*E
  383. XM4,`D-P@``A41'/X2$=/3\=(AP2\<$QL=+QTATO'2\M'RT>,]#E31*=`R.`@`
  384. XM`A40'?X;5I)"<8%2@CXRHB.2,W)$864BA[6G<D129#*3(J6UX\(2L2*B,H)3
  385. XM4H90T#<Y"``"%1`<_A)5HD)R8E*",X(RDQ\Z(>,Z,2HQ*4(H0R81-"02-5,_
  386. XMTM,R@C1R-&)#<E%R8D*E<)`2*!```RHE"/X0<;D;GQN1N"N-\+@3*1```RHE
  387. XM"/X*V1V"+9'9\=D=D=&`$BH0``,J)0C^$*0:P:SQK!K"+1"($BL0``,J)0C^
  388. XM"M&H*I&J\:H:H7#0$BP$<<@,!PO^$T,E$S-.(E-354/8$BT$<<@,!PO^$S15
  389. XM-3XE)#,Q4C3(*BX(``(5$A3_$RTTT6PB.R-))4<G12DT*D+RQJ0BDT)T4E1R
  390. XM-)(CML31+3#`*B\(``(5$A3_$],M%,:S(I0R=%)4<D.2)*;\(DHD.25')T4I
  391. XM0RLR+&T4TR#@"CH$<<@,!`3\`V_VX`X[!''(#`0,_`-O]Q$1(DC`*SP,<<H@
  392. XM&1C]%=D]=-9-9-9-9-9-9-9-9-9-;TVDVDVDVDVDVDVDVDVDVDVCT"X]"``"
  393. XM%1`I_AX!#RT_TM/2T]\M/?+3WRT]\M/2T]\M/?+3WRT]\M/2T]\M/?(!`,@K
  394. XM/@QQRB`9&/T5/:3:3:3:3:3:3:3:3:3:3:]-9-9-9-9-9-9-9-9-9-9-<]G`
  395. XM)C\(``(5%10`$ZY1UCDG-R%3,U70J='UTC$]$C+0)2P7&R<I*2@;%-@E6P8X
  396. XMY1`+(/X>ZQH24S0B)3'E%T]C$6(A4R%#,4)!,E$B81)S@:#('%P&..40"2C]
  397. XM'ND8%C-AT18S8NMR8S8=$6,V'E@0P"A=!CCE$`LG_AV/%.85%!4R$F+5)B$C
  398. XM44ZQ44%3(28M4F(2-13C%13Q@+@@7A```RHE"OX/'7$1U1,=,5'1%QSQDLLK
  399. XM/'/"6UQL7,G"L"-?$``#*B4+_A#&'2P<G'Q$PTP2R2L<T8+/)2T20=,3'5$1
  400. XMUQ#P#VED96YT:69I97(@0TU-2?`<8V]D:6YG<V-H96UE(%1E6"!M871H(&ET
  401. X886QI8_`,9F]N=&9A8V5B>71E]`#J``#U
  402. X`
  403. Xend
  404. END_OF_FILE
  405.   if test 9072 -ne `wc -c <'utils/fonts/cmmi10.pk.UU'`; then
  406.     echo shar: \"'utils/fonts/cmmi10.pk.UU'\" unpacked with wrong size!
  407.   fi
  408.   # end of 'utils/fonts/cmmi10.pk.UU'
  409. fi
  410. if test -f 'utils/fonts/cmsl10.pk.UU' -a "${1}" != "-c" ; then 
  411.   echo shar: Will not clobber existing file \"'utils/fonts/cmsl10.pk.UU'\"
  412. else
  413.   echo shar: Extracting \"'utils/fonts/cmsl10.pk.UU'\" \(8638 characters\)
  414.   sed "s/^X//" >'utils/fonts/cmsl10.pk.UU' <<'END_OF_FILE'
  415. Xtable
  416. X !"#$%&'()*+,-./0123456789:;<=>?
  417. X@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
  418. Xbegin 644 utils/fonts/cmsl10.pk
  419. XM]UD11T9T;U!+(#$N,B!O=71P=70`H```<*XP2@`$)JX`!":NP#]!#``"'QP=
  420. XM_QS5'>+<\]OTVEV2%-@237(DUQ--8C36%%U"5-0633\732&$TAA=#2T!I,\;
  421. XM2QQ+'02?'11TQ4E\P#5""U58'1L<_AM-706#M*.DI)2SGTM'3#CTM(2DE)2D
  422. XM=+TL24I*2>)+1^-,1TM(2DA*24E&UH#`0$,+CCL>'![\'-!W&S8D*3H2*2T$
  423. XM<](V/3-?/5)#UA1-84/7$^)-KD3;37$TUA7SUA8]07/3&3TAHM`L*QTC<M9\
  424. XMP#Q$##CF(!X<_AM-736$T$L\3#OTT#I-!(XTTCA-)'32-TTS?B321TTCA-%'
  425. XM]-(X31.4T#I,2DL[2SQ).M7`P#I%"N.0'!L<_AM-J%I(3#XX30&$T1A&%QCT
  426. XM8=-%+31#TKTT4M/B1ATT87%_32%_31&$T"A,*$PX2E394,`N1@IQRAL:'/X;
  427. XM39A92$L^.$P830&$86&/1ATD4M)$/1O212TN-&'1Y4V$V5U-#0#`1$<,CCLA
  428. XM'![\'-!W&S8D*3H2*2T$<](V/3-?/5)#UA1-84/7$^)-KB3;3-/34TU$---%
  429. XM\]-&\])'/06"T$HJ(BLV)1T6T-`A2`P``A\?'/X;32R%E<Y$I,Y4I,`4WD2D
  430. XMSE2DQ*35E8PL4-`6207''0\1'/\;387.1,Y4SE3.5,35C4#`(TH(..45%!W^
  431. XM&WT,72Y$TN5-+E32](-4?U1'1$@U.18[%#T%T,!+2PQQRB`?'/X;30686UI,
  432. XM/$P=%+'22ATTD=-)'42!U48==%'81#UT--9#$4U4(23501-=15341DU$=-)(
  433. XM32])31]*302TM,2UIFQ;,,`B3`H``AH6'/X;31Q=3D34Y4U.1-5+'B5,'U2Q
  434. XM9*)4HU2$+7+06$T.JJTF)AS^&TD!*84!%L$4`07?$4T13?$4P23/$TH23?$T
  435. XMD331-(%$T41Q1,\51A1-\5115-%D,6319"%TP70A9-\701=-%UA-&$A-&#E,
  436. XM*#A,1RE8E27%T$).#``"'Q\<_AM)BH6TMK+!%+'1%:'?$DH<\42!WQ5''?%D
  437. XM8<\81!WQE#'1E2'1I"'!MM\<7?'4T0$#P@$"Q`$!F<&0P$%/#''*(!P>_!S0
  438. XM?5-CT3D\/"H]`X/2-CTS5--$/5,TU3,]8RXDUHX]9!XDU4,]1$/4-4TD8]%'
  439. XM30.3P[.3TC4]9]#`*E`*XY`<&AS^&TU<5TI*.4I.*$L^)TM'2SA*.4DY2$K0
  440. XMT.--CE383974S1#`6%$,<<H@'"7\'-!]4V/1.3P[.CT#@](V/3-4TT0]4S35
  441. XM,SUC+B36CCUD%-8R]-5#/41#U#5&-D8U$Q4W-!43.3(6$CLQ%DTD0W&Y<=4G
  442. XM'5)AUC0M:==]AMI'P$!2"\<>'QT=_AM-335ST4E,2DM+._2TGTM*2SM*/$D]
  443. XM!'30T--'/22#T4A-!)/024OD24Q)1A1*115:-1''-!VE,,`Y4PCCD!<6'OX<
  444. XMIE&"8B)RDW*C8L)>(\)$P5357574G1O+R]&=1=5-;S3B'1-!T24L-#PE2B8B
  445. XM)C<5><`L5`N..QX<'/P;/<)'5D(I22(:21(J21+QM)$AI*$1M*'0XTVN5-KE
  446. XM3:3;74TYV"I5#``"'QL=^AO4I%M'32CC31CE31CE31CB31KSP;.QTY$!$H$!
  447. XM,T(!90$0R#]6#``"'QT=^QO(DVT$=-(H32&4T1M-`;],'$L=!:'1])'2]('3
  448. XM5AU48=5%'61"UD0==2'90AV?01VO7<\]WRU0R&57$''**RD=^QO$M9-;6D=+
  449. XM6RA,2QE+6QE+6AI*$4H:2A%)*E@221Q($E@<]'%$<=#T851AT44611TE0611
  450. XMTT,74QU$,80QU/0AE"'502E!'601I!'6:EV$M=A,/9/0/9/0+:\M$M/`1E@,
  451. XM``(?'QS_&UQ*AX7%D]))+36!U4<=9&'75!V4,ME2';01W%WDWO7=;;$DVA--
  452. XMD477)4UQ9=4834&5TAM-$K7"T$I;9J;#R#M9#``"'QT<^QO)@VT$=-(H71&D
  453. XMT!M;'02AT5D=%8'31QU%4=9%'64QV$(=E!':;;]-P]SD3</<3<77S0#`/%H)
  454. XMQQX9&1S^&VUE6D8[1RM(*E@;21I)&DH977373737773737377721I)&DH92Q
  455. XME**$L82R=,)TI&25;6;`*V$(``(5$A+]$5>34H12<V-B<]+SJ'1#8U-B<U-S
  456. XM3S@S1T-&$3(2-!(Q(V0SP"]B"..0%Q(=_!PFT4T>4]'B/2,T@Q)"9')$@S\Z
  457. XM(^(Z/B$Z,CHC.3,X,T@D(B0F%4C0(6,''',2#Q+]$79S,U)4,F,S8D+.([XC
  458. XMTM*A(X%"<6)1AE#`+V0(XY`7%!W]'-%M-.73/3XCI#."0A-BA%.#4Y-2HTXC
  459. XMHSXCHU\J-3A&)T@D(4E#8L`E90<<<Q(0$OX1=H-"8G)#<R.2(J(3HATA/.(]
  460. XM$M$K$RD4*!8T*5;`(F8$XY`-$AW_',6S(Y)#@S1S4HXCT>([N_/1Y3T>4]$]
  461. XM)+J`P#MG"``"%18<`!+5.T(B*",A$C<E)!<U.N,V.C4\)2T#,M`232'7\M>\
  462. XMR=%RHV'0)2T#/RT24L)QLI)SQZ#`)F@(XY`7%!W_'%;333Y3T^(]0S63$D*$
  463. XM8V]'-N,X->4X-3@V1T*2D-`7:01QR`P*'?\<@O<W($QF1S;E-N4V-T.1T"!J
  464. XM!..0#1`E!!P!`OT]('M\33SE/.4\Y34E-40U0S<C.5G`-6L(<<H6%1W_'%;4
  465. XM34Y3U.(]4TAC9(-BDV&S4<-!T#,=$Q/1C$(\,TLT.S1*-3HU2#<X-E22@M`6
  466. XM;`1QR`P+'?\<5G3E<WY3?E-^4W.$22#0*6T-55@D(1+_$38V9H0A4D%2A6,2
  467. XM8V](2#;C.3DUY3DY-3DY-DA(0I.3D-`>;@CCD!<4$O\1-C6$$D*$8V]'-N,X
  468. XM->4X-3@V1T*2D-`D;P@``A43$OX1AK)3<X)3DS.R,L(N(\;BPR+",K,SDU-S
  469. XM<U*V@,`N<`CCD!<6&@`11C2T$D*D<H2#<Y-SHGXCH^)3HV\Y-S@W1S@Q)"HS
  470. XM3.(]7C/3G0#`+G$(<<@6$AK]$8118D$R0V$3,X,_.3+B.C'B.C,J,SDS.$0G
  471. XM1B0A.$,]+B/1XSR1T!IR!D1&$!`2_Q$V(W83="14,V0R?C/.4\/4FF#0)W,&
  472. XM3Z80#Q+_$68A0F,R@C&1,I$S@36XB(C$(9,O&B(H(C@3(14D$V70'70&..40
  473. XM"QK\&6XAGR@H-T6_,WY3<XXS42\T%",61-@==0CCD!<1$OP196)'0S@^4C@R
  474. XMXS@S\W0S9%)1%%8FR"EV"''*%A,2_!&$<D@U."8X%S<G-QA%&C4:\T&S,=`R
  475. XM'0,1T5T4TCU"U!S8/'<+CCL>&Q+\$8*"<D9&-#@G)3<W%S9&%_-1$U-!
  476. XMDT$R09,Q0C&S(4,AOS$5,1Q&34<]."`1*"`1&1O`+G@(<<H6%A+_$3@X5523
  477. XM8L-1T#0=(R'3,2U$U3USU4U!(](330%3P7.B<X1T5TD@P#AY"''*%A<:`!%(
  478. XM1V2#DX*C@;-RLW'$4=$U'1\T'2,QU#(=0Q'57536/8+8\=CQT30='T,=(R+4
  479. XM35#0)WH''',2$1+_$4U#8U%S4G-1<V%C<5/3WSTU%S86-Q4W%3@5-R0V--3`
  480. XM(``*``(:&1S^&TV(6$A*/CA+&/3!CC37Y4U^5-=-A=/0P,!%`0U56",>'?X<
  481. XMUBWO/=7;;;$4VA)=@378%$UQ5=4675%TU!A=+QI-$;7!T$LM!+'161TT@M-(
  482. XM'45AUD4M9%'74QV4+?("X,!1`@QQRB`<'OP<T'U38]$Y/#LZ/0.#TC8],U33
  483. XM1#U3--4S/6,DUD%#&Q-!0]`X\]`T%#&Q-!3604UC+TU4,]1$/4-4TD8](W/1
  484. XM.3P[.3TC4]9]`,`V`PL<<QT:'?\<U!W"VO/9]-A=AM8176$DU?$TU/%$TQ5=
  485. XM(631\730\83/&5KQM)\<2"Q'2U.5P%`D!`JJK1P<'/X;5Q]'%>,6\;;Q9Q9V
  486. XMEF]I9_%G'2XA;Q46XDXG%=`?!0P``A\?'/X;0!V$I<Y$I,Y4I,Y4I,Y4I,2D
  487. XMU96,+%#`008+CCL>'1S^&UVU715DTS9=(H33&%TAE-(971&DT1KUW/7<7;3=
  488. XM+>'>'>'2&QTAL=,:'3*"U!@=4G'5-AU%7:7;4,`N!PQQRB`;'?H<1;5(B#EI
  489. XM(E1$17-"<Y,C@I,3D:,2V2$ME=GC39Y4V>5-E-I=31K`/P@+CCL>&1S\&XTM
  490. XM)=?B35C10D$Y-$-&-44T-D4S-T5/%'18XG1H=&,C=%0D9%-#5%-C1#.C)!30
  491. XMG6]-=-A=+1?`.@D,<<H@&QSZ&WTM1=GB2U=&4D9%1/145%XT5$1D1$1_-41'
  492. XM]$0TDT0DHS0SPR0CT3&-1]GTV4VEU-&@P$L*"XX['AL=_1S(U#8]`Z.4PW30
  493. XM14TC4]-/---.(DU$)-0S330TTS4])%/2-ST#@]`J+#HK/"HG%2DE$A89%A(6
  494. XM&"43%A@6$XB#^'A`T"\P"``"%1$=_!N%HS-R8F\H)"D_(Y,BH^,3IN2C$Z(C
  495. XMDR\J,BHC*3,I)2<F)B@D*EG0&#$(``(5#1S\&[*3=E(SKB.>4YY3GE.3I$W`
  496. XM-#((``(5$QS^&Y:R4X&#;QH_1(/S6#0Y/232/2\](](](](](M,M,M,H%RD6
  497. XM&A8;%=%-%-)`P#,S"``"%1(=_1N5LD.!<VB1D0W/2/1/2+2+1.VU#T_/2
  498. XMXD,X0O5T)(,SA#&C48-R4Z:`P#,T"``"%1(<_AO3+2+2\]%-`1/!([$CLB.B
  499. XM,Z%#D5.!8W%C<7-B<V1-!HSU>2ST3TDJQP#$U"``"%1(=_1MB<VMYB9Y!
  500. XMTQU!-9$20H)C?Q@](]+B0CA"](0D@S&D,:-1@V&"@D.UD,`Z-@@``A41'?P;
  501. XMI:-!@G%B8U)D0G0S<T+1/1+1,U8Q)"5'(S$7,O22+B.C$Y,N(J,BDS."4G-2
  502. XM<G)"M8#`+S<(``(5$AW[&S'3_3+2(L$QP4&Q0;'4'3'3'3'3+3'3\M(M+ST4
  503. XMT?/1XDT.)-(M`-`V.`@``A42'?T;E;)2@8)B@EXBHO,Y)$<F5"=B*7Q[B"-F
  504. XM)60H0RHS*R+B+"(L$RLD*A4H)S4J:,`\.0@``A41'?P;A:)1@F)B@D.",Y(S
  505. XMDR*CXQ.C$Y03DR.$,H1"81-142-E(]$]$M$T*"1&-$8E-B87*!0Z6L!/)`@`
  506. XM`A43(?T>SQTFLC$B@4%185%146%A,F%#\R830C44,S4;-!M2&YNJJYP17!,\
  507. XM%"46%#,T%2-$%2,U%2,7%107%"46%!85%!@C$BMM/QO`5R8,<<H@'1_]'</<
  508. XM(AVB,=GR0=CS0=@S'9)!V2,=GS(=HQ&)@[2SPK2RL1.QL2.AL32!LD.!HE-Q
  509. XMHV-1LG-!LX,QLX,APY2A(Y.A,Z.10W(3<6)20T*5A7#0(C\'CCL4#QWZ'%=B
  510. XM8D&2(I?X:3L[.SLL+1T=+?'>(06?.TPKP"D^!XX[%!`=_Q2BT/30(%#C'1+1
  511. XM'1+1'1+0+#P\/0.#(X>3(J(CD4)C9V#0$A`$<<@,"1+_$3948^537E-39"G0
  512. XM&Q$$XY`-#QH$$8>TP^6SOE.^4T)31$-$,V(SA8#`.!D(``,5%1W_',71-"LG
  513. XM*3<^)S@W-S<X*#<I-3=B3#4K-BDW.#@HXS@VXSDV.#<R)#8R0C<S(C5D1\`Y
  514. XM&@N..QX;$OT15W5C4D)"5%(2<D-E@C)TDOPZ)]=$0](U/2)ST3<]`X/0.$H1
  515. XM.$D2-R$W%#0S-1=G9<`Z&PQQRB`>$OX1A9624E)"8H(B<D.&@B.DDB*SHA.S
  516. XMHA.](3L\XCL]$J31.5H2.#$I%"<R-Q8T)349667`11P(``(5%!K^%=4=4M4=
  517. XM4;81HE.#<V-Q$T-Q,D*!,C-Q0R-A4R-18Q-A4R-18R-!<S(Q@D(Q<T,1<V-S
  518. XM@U*A%K'5'5+5'6#`7!T.<<HE)1S_&]':U1%834$DH],B2QU!-+'3\42QTO%$
  519. XMP='Q5&'6%D8=8612U19%+6U=4712U1=&'4&$8=081A4:&$86&AA-`9&4P9*4
  520. XMP9&DLH*DL9&DLG24E$E-9<!F'A`XYBHF'OL<T&`0-M:$=:1SH\-CL]`6/#T!
  521. XM5,/0%$T#T!0]`]$330.103/1.1=-$Y%TT3@G31-S9-'0=-$X)^)-$Y%TT3D4
  522. XM$DT#TA,]`](3],/1%3P]`E2DT!=)/#@X2EHUUM!ML-!?'PQQRB`<(/P=`<$!
  523. XM!U'#8R*CHA&CPJ/3@]$38]$C5,(S0]%#-,%3,\%C)+%T%*&$%)*(H804D904
  524. XM@:04<;048K,D8;0D4<0S0=-#,=-3(=1ETW33D\.DHK$S4\%GT@'`H!HA!''(
  525. XM#`D>_!UB;T4UXD7C-N,FXR?QV/-48F"@&3P$<<@,"![]%%)?12TN,6XR7B-2
  526. XM7C-.-$-0L%$C#558(Q\E_1S&)RQS8\?R<L<V/')RQS8\?R<L<V/')RQS8\<G
  527. XM*=`M+[)RQS8\?B)RQS8\<G*](M"2<L<V/'\G+'-CQR<L<V/'\G+'-CQ_)RQ0
  528. XMP&\E#558(QLA^AY4TR0C'1,R4<,R8X0S<1@3,H&3,X�X%S4X%R8X%C8H%C
  529. XM<H%3@G%3DV%#LE%2T!05/1139-`U)!LU)1LE-ADU)Q@U-Q<V*!8V.!8G.!4W
  530. XM.!0X.!,Y-Q,Z-Q(\)A,M`E$ST2,4+310X!$G!''(#`8,^1P8]\T$$((01B#0
  531. XM*"@&..40#BK\'M'!LK*RP<*RORORORL[\K\[XBOG/.,M'?+2T=+1`0%PT"LI
  532. XM!CCE$`XJ`!YQ`0$!`=+1TM'>(L/GPN*S^ROSORL[*SLK.RORLK*RLK*QT,`H
  533. XM*@@``A41$OL>GB+2&245(C030S(B-XOTHQ$2="$C0S(T$E)1DM(=+RG`("L,
  534. XM<<H@&QS\%]+B+;/;Y"VSV^(L`IP]OD+;/;XRVSVRTN`0+`1QR`P%#/T#.]YP
  535. XMA$(A$0#@"BX$<<@,!`3\`W?VP$<O"``"%1<I`![8+7/7+7/7+7/7+7/7+7/7
  536. XM+7/7+7/7+7/7+7/7+7/6/7+7/7+7/7+7/7+7/7+7/7+7/7+7/7+7/7+7/6/7
  537. XM+8"0$#H$<<@,!Q+\$4)$\SWO,T0D@!<[!''(#`@:_1%25/0]HT]%-_%O%O%A
  538. XM87#`$#T,<<H@'`S]#RW"W@T]XMP@P%)`#''*(!P=_!S0?5-RT2P<'2&AU!@=
  539. XM86&$@5%R0G%!8F%Q,6*#03%3@U'B$5.34N-3DU$18I-!(6-T03%B81)!07)!
  540. XM(R)!A41QWQWQWQTSDI;0JM`:6P1QR`P.*?X>?W]ROE*^4KY2OE*^4KY"QV=P
  541. XMT!I=!''(#`XI`AY_?\+ELKY2OE*^4KY2OD)W9W#@$6`$<<@,!@SZ'`0A""$$
  542. XM$+OGC.`.$@@``A4&"/<<8\<.&'#!X`\3"``"%0@'\QP.'APX<,"`Z`T4"``"
  543. XM%0H$]QG`V&/P<-@2%0@``A4,!_<<&B^1$G$C0SA54,@)%@@``A4.`?D8T>`/
  544. XM%PSP-B('!^\='(4,&"B.`-`0&`<<<Q(+"/W^4X23GS<R@AK0#2`$<<@,"@3]
  545. XM#W-24U*`X!!>"``"%0H&]QP$`X&PQD"@$.`*7P1QR`P$!/@<;_;0%'T(``(5
  546. XM#0?W'#\T,C0S)2/R4C)20.`/?@@``A4.!/D;'@3^-C^@..`.?P@``A4+!/<<
  547. XM8-X_Q[!@P#$+"558&!T=_QS09%PU$3(Y-D0X-E-'-T4HXC@]'B.#O9OS@]'E
  548. XM.#T>4X/1.#TCA+DY@,`K#`CCD!<5'?\<T&T#4:-C@V1S='."CSU.(]'5<W1S
  549. XM@VY3@VY3@V.#<X0Y.!#0)@T(XY`7%AW_'-FS1)-4DV2.,X-^(X-`%(\X-^4X
  550. XM-^4X-S@X1T22DK`[#@U56",A'?\<P75L$V$C4:-U8X-U9'.$='.$@H\Y/%XC
  551. XMD\+2<Y-T<Y.#;E.3@VY3DX-CDX-TA'0Y.2D0T#8/#558(R(=_QS76;-A(T23
  552. XM=523=62#A(..(Y.#?B.3@T`@CSDX-^4Y.#?E.3@W.3@X2$=$DY*2X!TB"``"
  553. XM%0X,_!P8&/#WQ\T-!`00$(""`A`00$8&("#`"BT%558.#`+_"1V1X!U<"``"
  554. XM%0X,]QP$!"`A`0@(("$!!`00$+B[X^>'C`S("7L(``(5%`'^"]>X"7P0``,J
  555. XM*0'^"]WP#VED96YT:69I97(@0TU33/`58V]D:6YG<V-H96UE(%1E6"!T97AT
  556. X7\`QF;VYT9F%C96)Y=&7T`.H``/7V]O85
  557. X`
  558. Xend
  559. END_OF_FILE
  560.   if test 8638 -ne `wc -c <'utils/fonts/cmsl10.pk.UU'`; then
  561.     echo shar: \"'utils/fonts/cmsl10.pk.UU'\" unpacked with wrong size!
  562.   fi
  563.   # end of 'utils/fonts/cmsl10.pk.UU'
  564. fi
  565. if test -f 'utils/fonts/cmssi10.pk.UU' -a "${1}" != "-c" ; then 
  566.   echo shar: Will not clobber existing file \"'utils/fonts/cmssi10.pk.UU'\"
  567. else
  568.   echo shar: Extracting \"'utils/fonts/cmssi10.pk.UU'\" \(7911 characters\)
  569.   sed "s/^X//" >'utils/fonts/cmssi10.pk.UU' <<'END_OF_FILE'
  570. Xtable
  571. X !"#$%&'()*+,-./0123456789:;<=>?
  572. X@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
  573. Xbegin 644 utils/fonts/cmssi10.pk
  574. XM]UD11T9T;U!+(#$N,B!O=71P=70`H```Q56-Z0`$)JX`!":NP$!!"JJN'!D=
  575. XM_QS4/8]=8A/5\B/4(SU"--(D31-$T25-`U30)DPV3"A*.$GSE(_4<[5BT$4]
  576. XM!$\]%#/20RTT(].-5,`Y0@JJKAP9'?P<;1O3E(5TI62T;B3$1-`U3$5+1DE7
  577. XMU'TYU(1H=*54Q%XTT$--$T301$Q%2T9(9M2-*L`J0PHXYAL7'_H=T(S0E&1T
  578. XMH7353536/635]-7B35Z4USUTUST!9*-U9*S0><`U1`N./1X:'?P<;1S3I(6$
  579. XMM'],1O301$T4XT32/C--)/)-)#]-%$301$T35-!%3$9*2$A8TZT<P!Q%"8X[
  580. XM&1@=_!QOU636Y$UN1-;]1_36Y$UN1-;]5L`<1@D<=1@7'?P<;]1DU>1-7D35
  581. XM_3?TU>1-7D35]-;`-4<*JJT<&!_Z'=!]'0I&5THG3!9-9-<]=-;TUN)-;B37
  582. XM28-(A.--`T3#8\-DLW.S=*.%5;S1>L`?2`M56AT:'?P<;B3$Y%3$7D3$7]=O
  583. XM3$7D3$7D3$7TQ�%DD$<<H,"AW\'&XDY%1>1%XT7D1>1%]&P!]*!XX[%!,>
  584. XM_AS2XDY-%-'D31XTT>1-'B1A=')5;(JVH,!+2PL<=AT<'?P<9-%&30.$PX2T
  585. XME*2DE+2$Q'3$<]%&/21$TT--1"730GTD$Q32<ET61-!E305EQ(3$A;24I*2D
  586. XMI92TE+6$Q'301TT48+`63`BJK18/'?P<;B2N1*Y$KC2N1*Y$K2#`:4T.``4D
  587. XM(1W\'&]M)F;1=3$]$11O,3T"%&,4LB1C%*,D4R2B)&,DDR1C,Y(T8S.#-&,S
  588. XM@D130W,T8T1B1&-$4T1C1%)44U1#1&-40E1C8S-48V,R9&-C(G13<R)D;S<Q
  589. XM)T;S=813DX1CUT;0.4X+55H=&AW\'&XFLU,3HVXS(Y->(S1S8T-S8T1C7B-4
  590. XM4V-C4UXC=#-O.#,U.3(V\Y038Z,38Z=?.V;`/T\+QQX?&A_['=!]2]#1IE:%
  591. XME66T5<5$T4--)"330DU#\4U3%-2./5C]1!]--"320TT51,55I725AE:M'1O4
  592. XM;0#`*U`*..8;&1W\'&T;TY2%?TM&XDQ$30-4Q%3#9+1DI&25?4C2I-?D37Y$
  593. XMU_38P$-1"\<>'QHC^QW0?4O0T:96A95EM%7%1-%#323R333B%-2./5C]1!]-
  594. XM-"1D5#1S141D-%1Y=&B&5JT='0TF%-E=GUV54-`U4@I56!L9'?P<;<`2E(5T
  595. XMM&3#;B3$1--4Q%2T9*1TAF`3@!*=Q&._1TKB2$CB2D?TM%3$5-1`P#)3"..0
  596. XM%Q4?_1VWRY-D8Y)RL6/4XCU/3534;3G0K*T)TUU%U/35\]3S,L-"PE.C9&.;
  597. XMQZ#(&E0*XY`<&1WY'`);37Y$U^1-?C37Y$U^1-?TT]`F50L`!1T8'OH<3B33
  598. XMY#33/D33/C33/C333TPU]+-SHX2#I%3*`2;0R#Y6"JJN'!D=^1STU7U#%=,C
  599. XM32,_31-/30-4PW]*./23E(.D@L1CST4]!$/11"TD,],S+4,CU#(M4Q+6;678
  600. XM33#(:E</''8G)!WY'/3%Q\6S%+(3LQ2Q(Z,DHB.C)*(CDS22,Y,TDC.21()#
  601. XM@T2"0X)D8E-S9&)3<G134V-T4F-BA$-C4X1"<U*4,W-#E#*#0J0R@S.O0BDS
  602. XM*_02HR+#(;,AT2$L(2T?3032/1/1P$A8"JJN'!T=_QQTTC==`Y3$E:2TE,2$
  603. XMT49-)%340TUC)-=!/9;:7</<7:;9C70CUD--1%/31DTC=-$Y3#I+/$D]!731
  604. XM1DTE1-1$R#E9"JJN'!L=^1Q-5!730ETS1=$U70-ULX6DE)2E@\1ST%4])$/3
  605. XM4CU4(]5!/7;879XTVCVN--H]KTU0P#-:"<<>&1H=_AQ_UMA-A-A-A===A-A-
  606. XMA-A=====A-A-A-A===A-A-A-A===A-A-A-A=?]=@T")A![!=%!`2_1%VB5Q#
  607. XM8T&3T\.F6STE8R-S+S@R15(!`\53,]`K8@A$1A41'?T<;B/>0]XC`0,U8QA-
  608. XM153S.#XR.3(X,CDR.$)&0T5$Q#&%,U;0&6,''',2#Q+\$79Y6S13([\[Y3PY
  609. XM$D5#Q)=FP"UD"$1&%1,=_!S3XCY-(]+B.%,VD3705513=$.30X-.,Y-/.#4W
  610. XM141FD3:!.4,VT!UE!QQS$@X2_!%EB$LS1"-R$X(0+>+#LY$45"PY9E#0'68$
  611. XMXY`-$1W\'*:8B732`0XCWB.ON>,]Y#WD/?,!`,`T9P@``A46&P`1I32="-%S
  612. XM0[-4HV.>(V.S0\G)T"%-'SUKO0C28Y13LT2S0\-$I%1U?1F]!Z#0)F@(1$85
  613. XM$1W]'&XCWD/>(P$#-6,80!`U5#1S,X,D<SXS@RY#@R\X,Y`5:0/2?@H)'?T<
  614. XM7B1$VO->,UY#7D-?-M`=:@1$1@L1)00<WB3$"&\]XSWD/>0]XSWS<D1YB*:@
  615. XMT#!K!]*`%!$=_1QN(]Y#WB,!`V1#5$-44T1C-',D<R2(F843A"1D0V\U138U
  616. XM-D,X,SA"T!9L`])^"@D=_1QN(^137D->,UY#7D-?-M`I;0RV#B(>$OT10S9F
  617. XM8QDY0QL;-69D-(2#,Y.3)(2#/C.3DRY#DY,O.3DSP!]N"$1&%1$2_1%#-6,8
  618. XM31-50T<S.#)',^,X,N0X,O.#,-`@;P@``A42$OT1AJE\5&0TA!2C$[;BQOLQ
  619. XM.C)(0T54UJIHP"QP"$1&%1,:_Q%C-8,8;09453=%.#XT.30X-#DT.$1&145&
  620. XMQC&',UCSTN0](]/0*W$(1$85$1K\$64S5R-,1$4T9"1T(X,N,Y,O.#,W0T54
  621. XMD32!-E,P$//>0]-@T!AR!7=Z#@T2_1%#,T,5,Q5&=82$GC.>0Y\ZT!QS!B(C
  622. XM$`\2_A%G:SLT8CXCQYB(M<\R&3(V,\2G9M`9=`7''0\,&/L73B..(V^SXSCD
  623. XM..(Y,R3X56#`'74(1$85$1+\$3\X/C(X,N0X,O.#,W0S93T3D35C--@D=@=@
  624. XMN!,1$OP12C\3DR\X,S<T-R8U-O-#?S,X,CHB*R$[(2Q<2NA#=PKN\AP:$OP1
  625. XMX!\!W`?`9P-P.<#<#'!W!QP9P8<.<.'#G#!QQQP<<<8'.'.!SAS`<P<P'<'8
  626. XM`V!V`-@-`#P#P`\`X`#`+7@'8+@3%1+_$3244X1S9(-4HS/0,3T6TTU#U4TR
  627. XM$M(B/0)#LT.C8X-S<Y-3I$#`,7D'8+@3%1H`$5.C]3DV\X.#8Y\U.O-#PC/0
  628. XM(RT2(]'R(M,1+4\]4M7RU2U3T'T6TETPP")Z!O2@$A(2_Q%?T$T-$]$]$]$]
  629. XM$]$]$]$]$]$]$]$]'1/]%,`;``BJK185'?P<;])DT^1-/D33XTT^1-/D33]-
  630. XM0,!%`0U56",>'?X<UDW%W&VB%-DQ39(DV"1-8T36)4U35-0V73*$TCA-$Y31
  631. XM*EPZ6SQ++02CT%@]%7\]-&/45#U50]9#WB\"X,!!`@QQRB`;'_L=T'U;T=*U
  632. XM9H6D=;5DT$5-)#333R343Q3504/0*.(]`XUH_50?340DTT--)%3055M765AF
  633. XM:M+1O5?0P#T#"<<@&18=_QS2]-1=01/3\A/2\B30(TPS3"1+-$LE2C5*)DDV
  634. XM22=7.$<I1CE&*D4Z12M$.T0L0SQ"\]"-)(`5!`JJK1P='?X<;BG@PYB2^8#]
  635. XMGE^>8,`>!0M56AT:'?P<;]=DQ.14Q%Y$Q%XTQ%Y$Q%Y$Q%],1L`M!@N..QX?
  636. XM'?X<;]SV7>]=[UWO7>]=[UWEW4W4W4WCWCWCWCWDW4W4W4W=MMMMQL`O!PQQ
  637. XMRB`;'OD=595I:#I9)$0S1!-C(V:"(G:"$W/[(2V5V>)-E=GC39Y$V>1-GTTP
  638. XMP#P("XX['AD=^QS1XDUTUHT="M.&*F1$-414121D5/%'18XG1H=%049&049%
  639. XM0T5$4U1#56*HTZT-)]?TU_30P$$)#''*(!L=^1S0XDIF1K9%T%1'%E1%1&1$
  640. XM5%1%7B141&14-&XD5$1D5#1T1$1U-#24-"65)!6F&<T=&]5]GTV?33#`/0H+
  641. XMCCL>'1[^'=*-70T=/&9J6EA-!6323U333C1-1/1--%321DTC@]%(3$E,.SL\
  642. XM.DQ)/1.#TO-ST_-CKZ6DT"TP"``"%1(=_!N5N8MD1&-C4X/S.3,J/R.C(Y,N
  643. XM,Z,>,Z,O.3/S@T1C9#1[B+6@T!HQ"``"%0X<_!O1LX5H8C._.N0ZXSKD.N0U
  644. XM_1#`-#((``(5%!S^&Z;0F35()S<H13D_4J-1L]0]--,]--,],],],],])-)-
  645. XM)-(],],],])-+]-`P#,S"``"%1,=_1NENH1$8W-3A$*44932/232/2306HMM
  646. XM!]----,]/B310_&T,I12=&-4BK:0P#$T"``"%1,;_1K07131$3T"$\\B.R([
  647. XM,CHS.4,Y-#@T.#4W13<V-C8V-S5'-?U;Y#TO-\`K-0@``A44'/T:;1;0<]/C
  648. XM/3\]0R2[G'8T?T9&-TT^--+T4912DV-S@T2IQK#`-38(``(5$AW\&[6YA$&#
  649. XMT3T3T3TBTCTB1',H701E0U<S2#,Y,DDRXSHR\Y,S@U*"8V-C1(C%D,`J-P@`
  650. XM`A42&_H:+3'3TCT3T3T3T4T$T3T3T4T3T4T/30]-#TT.)-#B30]-$-`Q.`@`
  651. XM`A44'?T;ILJ$5&\X-?.C\SHT2#8W1D5(K&RI-4<W-C@UXCHSXCHU.#8W.#1)
  652. XMK&K`.#D(``(5$QW]&Z7(I$*#8V."8I)3DT*CXC.C,Y,SHS2$0X1#=41&:1-H
  653. XM(W4STSTO/2/2-Q<W-3F<6]`Z)`@``A44(?T>SR`2>ZDR(D8R)18S)17B-"KB
  654. XM0RQ1+)R<G8TA6_(TOB)#KR0T)2,U-"(W0B$YK&`2\L#`428,(B4?&A_]'=!-
  655. XMAM:-0S/4)#T_-#TR4],D/3-#TS,]0R/5?6;76R=<)EPF>R11.B1#.24T2"0V
  656. XM-R4V124W1"8X0B<Y,2@Y6CE'(46%([*E9V/0(3\'CCL4#QWY'$=K/2-T$:/\
  657. XM.SM*25E+.SL\+.,L(%D[\\#`(#X'CCL4#QW_%*XC!)XBSB+"P[.TI*2DOB.T
  658. XMD2-E'1*U==`2$`/2?@H'$OT13SXS,^0SY#/S0-`9$01$1@L/&@01SSX[.^0[
  659. XMY#OC._-A1%EHAH#0.!D'L%X4$QW]'*:YFW148W/U.#4W-3@U-S8U1S)H,E@R
  660. XM=S5'-D8W-3A$XSDS\Y-#@U-T4S=3-V,F@-`P&@N..QX;$OT1=F9Y.4P;,V=3
  661. XM,95RU(+`$8`50!DMU6/3=,.$PX61%&=4$!PJ.E=V4,`P&PQQRB`=$OT1=H9Y
  662. XM65L[-%044R.'<A.E@A.M7[U;//.DPY7$=Y$D5!14+"T#E:=99<`]'`@``A46
  663. XM&_\5UCU4U$U3R;N<E%5T5U13(U-4(T-4,T-30T-#4T,S4U,D4U,44V=4=46-
  664. XM";JL/5/535/7'7#`11T-QR`D)AW_'-77U-C3,TWS)-\S3>\T3=-4W31-TU3<
  665. XM\V3;-TVR?2T#?2SSA-G]+9.4V/.DUSI-@K37.TUO/$U3S38]#3:P0AX/CCTH
  666. XM)Q_\'<%]+0G2A6;(64R%I,A+3'3`3&3!3%],%,7B3"3$],+%3TPDQ>1,%,9;
  667. XM3(2TR%I,E87)9FRM*]#!?-#`6!\,<<H@&R/[']L=TM%S/-&].E9H65=9=DF%
  668. XM2C)#2C-"2D-"2C1!2C5!239!2$:)-X@XATB&288Y044Z041)0D0Z0D,Z0T(Z
  669. XM18I%>5=96&9IT[T<,WT3W!VPH!HA!1QS#0D=^QQN(^-3;R;S;B)C;C)C8M@U
  670. XM\V"@&CP%'',-"1W]%&XCU^(F-N(F\VXB;B-B;C-38+!3(PU56",@)?T<Q_)R
  671. XMR#8\@G+(-CR"<L@V/()RR#8\CR<L@V/()RK0/2P"<L@V/(\G+(-CR/)RR#8[
  672. XMTCT*\G+(-CR"<L@V/()RR#8\@G+(-CR.(G+&P&4E#558(QLA^1Y4TB5M$DC#
  673. XM,S2C,U.30U.#0V."4V-S4V-C8V-3<U-3@U-2DT-3DS1#J4/'0]%&)DT35L-8
  674. XMHU,SHE-$@T-C<U-C8V-C4V-C8G-C4W-C0X-30Y-3,[,S0LA#T&4M)&#@#"<$
  675. XM<<@,!`CW''=V9,C`)B@&..40$"K]'M`\/#P\/#SSP\\\\\XCSB/.4\YCT>,]
  676. XM'ST?/1/1.,`E*08XY1`0*@`>@]$]$]'ST>,]'I/DP\XCSSSSSSSSP\/#P\/#
  677. XMP]#`)RH(``(5$1+Z'I\]$M$X,S,R0C)"42%5J6IXI5$A4E(B43,S..(]$I#`
  678. XM(RL,<<H@&QS\%]/RVSV^,ML]OC+;.P*=`ML]OC+;/;XRVSVRTN`,+`1QR`P$
  679. XM"/P"?N;,B-`*+@1QR`P$`_P"%O'`1B\(``(5&"D`'MGRV#V"V#V"V#USV"V#
  680. XMV"V#V"V#USV"V#V"V#V"V#USV"V#V"V#V"V#USV"V#V"V#V"V#USV"V#V"V#
  681. XMV"V0@`XZ!''(#`<2_!%/,SW3/S2`$CL$<<@,!Q?\$4\S/=,_-23R7Q;`$#T,
  682. XM<<H@'0S]#SW#W@V]X]PPP$5`"JJM'!@=^QS0?2K-"69'639&E$6S1<,U1%(U
  683. XM1D%%-T$U.$$U.#'B-3DQ\U.#(U-T(U1C,V-$1%IC:'1EI-A85]*M#1>0T"1;
  684. XM!)]+#!`I_QZ.*(/2WC/2WB/?+>(]+>,]+>,]+>(]+>,]+>*(T"-=!)]+#!`I
  685. XM`AZ.*/T]+>,]+>,]+>(]+>,]+>,]+>(]+>,WXHC@#&`$<<@,!`CW'!(F3N[8
  686. XM#A((``(5"`?W'#8V\V-C8]`0$P@``A4*!_,<<V-C5%-C8W#8$Q0(``(5#@?W
  687. XM&CAF0C0U,C<A.4HHV!,5"``"%0X(]QSSAG,45!1$.EAU8+@)%@@``A4.`_@9
  688. XMWM`1%PO,XQ\*!_$<-C@3-D<SPX`P8!QQS$@8%_/P<XYS@T`X@`])^"@L%
  689. XM_@^"9B8U8I#0%%X(``(5#@?X''*TDA-C,E-#,V,3@]`+7P1QR`P%!/<<&.(0
  690. XMT!1]"``"%0X']QQ#0_,T,S0S-#/S0T#0$GX(``(5#P7X&S13)C0=$T8C5##8
  691. XM#'\(``(5#`3V'/1(\T'0*0L)55@8'!W\'*96F#B)*71TTI(!#B.#WB.#K[1Y
  692. XMXS@]Y#@]Y#@]\X,!`,`F#`B3ZQ85'OP=U#I3.6(Y?0/5+5XCU.(]'\,VXS@V
  693. XMY#@VY#@V\X-PT"<-")/K%A4=_!R5,Y8SAS-S<X*#?B.#;B.#/\,VXS@VY#@V
  694. XMY#@V\X-PL#(.#06S(B$>_!W1.U9$.753.81L(Y/&*BQN(Y/%XCD\+[5T-N,Y
  695. XM.#;D.3@VY#DX-O.3@W#0,P\-!;,B(1W\'*5D0Y=50XA&0W.3<X*B@WXCDX-N
  696. XM(Y.#/[5T-N,Y.#;D.3@VY#DX-O.3@W#0%"((``(5#`CZ'!XC4_$F(A<2)B(7
  697. XM$\@)+0555@X+`OX)V=`47`@``A4,"/,<,7'R%Q(F(A<2XC4QL`M["``"%14#
  698. XM_@P=SQ"`"WP0``,J*@/^#!V?$/`0:61E;G1I9FEE<B!#35-32?`58V]D:6YG
  699. XC<V-H96UE(%1E6"!T97AT\`QF;VYT9F%C96)Y=&7T`.H``/53
  700. X`
  701. Xend
  702. END_OF_FILE
  703.   if test 7911 -ne `wc -c <'utils/fonts/cmssi10.pk.UU'`; then
  704.     echo shar: \"'utils/fonts/cmssi10.pk.UU'\" unpacked with wrong size!
  705.   fi
  706.   # end of 'utils/fonts/cmssi10.pk.UU'
  707. fi
  708. if test -f 'utils/pk2sfp.c' -a "${1}" != "-c" ; then 
  709.   echo shar: Will not clobber existing file \"'utils/pk2sfp.c'\"
  710. else
  711.   echo shar: Extracting \"'utils/pk2sfp.c'\" \(8075 characters\)
  712.   sed "s/^X//" >'utils/pk2sfp.c' <<'END_OF_FILE'
  713. X/*
  714. X    Copyright 1985, 1986, 1987, 1988, 1989, 1990, 1991 Chris Lewis
  715. X        All Rights Reserved
  716. X
  717. X    See the LICENSE file for a full description of restrictions under which
  718. X    this software is provided.
  719. X
  720. X    Function:        Generates SFP's from PK's.
  721. X */
  722. X
  723. X#ifndef    lint
  724. Xstatic char SCCSID[] =
  725. X    "@(#)pk2sfp.c 2.4 Copyright 91/02/20 09:09:52 Chris Lewis";
  726. X#endif
  727. X
  728. X#include "defs.h"
  729. X#include "pk.h"
  730. X
  731. X#define    MAXMAP 256
  732. X
  733. Xstruct fontmap {
  734. X    short from;
  735. X    short to;
  736. X} fontmap[MAXMAP], *flast = fontmap, *fp;
  737. X
  738. Xchar emittedyet[256];
  739. X
  740. X#define    NOTSET    32767
  741. X
  742. Xint symset = NOTSET;
  743. Xint style = NOTSET;
  744. Xint strokeweight = NOTSET;
  745. Xint typeface = NOTSET;
  746. Xint fontid = NOTSET;
  747. Xint verbose = 0;
  748. Xint merge = 0;
  749. Xint symbol = 0;
  750. Xint partial = 0;
  751. Xint permanent = 0;
  752. X
  753. Xchar *progname;
  754. X
  755. X#ifdef    PARTIAL
  756. Xextern struct enctab encNormal[], encSymbol[];
  757. X
  758. Xneedchar(font, character)
  759. Xint font;
  760. Xlong character; {
  761. X    register struct enctab *tab;
  762. X    register char *p;
  763. X
  764. X    if (!partial)
  765. X    return(1);
  766. X
  767. X    if (symbol)
  768. X    tab = encSymbol;
  769. X    else
  770. X    tab = encNormal;
  771. X
  772. X    for(; tab->e_name; tab++) {
  773. X    for (p = tab->e_seq; *p; p++)
  774. X        if (((*p) & 0xff) == character)
  775. X        return(1);
  776. X    }
  777. X
  778. X    return(0);
  779. X}
  780. X#else
  781. Xneedchar(font, character)
  782. Xint font;
  783. Xlong character; {
  784. X    return(1);
  785. X}
  786. X#endif
  787. X
  788. Xmain(argc, argv)
  789. Xint argc;
  790. Xchar **argv; {
  791. X    char buf[512];
  792. X    extern int optind;
  793. X    long totalbytes = 0, numbytes;
  794. X    int totalcodes = 0, numcodes;
  795. X
  796. X    extern char *optarg;
  797. X    int i;
  798. X    int c;
  799. X
  800. X    progname = argv[0];
  801. X
  802. X    while((c = getopt(argc, argv, "D:s:t:w:f:i:vmSpP")) != EOF) {
  803. X    switch(c) {
  804. X        case 'D':
  805. X#ifdef    DEBUG
  806. X        setdebug(optarg, "diagnostics");
  807. X        break;
  808. X#else
  809. X        fprintf(stderr, "%s: DEBUG disabled, recompile\n", progname);
  810. X        exit(1);
  811. X#endif
  812. X        case 'P':
  813. X        permanent = 1;
  814. X        break;
  815. X        case 'S':
  816. X        symbol = 1;
  817. X        break;
  818. X        case 'p':
  819. X        partial = 1;
  820. X        break;
  821. X        case 's':
  822. X        symset = ((optarg[0] - '0') << 5) + optarg[1] - 64;
  823. X        break;
  824. X        case 't':
  825. X        style = atoi(optarg);
  826. X        break;
  827. X        case 'w':
  828. X        strokeweight = atoi(optarg);
  829. X        break;
  830. X        case 'f':
  831. X        typeface = atoi(optarg);
  832. X        break;
  833. X        case 'i':
  834. X        fontid = atoi(optarg);
  835. X        break;
  836. X        case 'v':
  837. X        verbose = 1;
  838. X        break;
  839. X        case 'm':
  840. X        merge = 1;
  841. X        break;
  842. X
  843. X        default:
  844. X        fprintf(stderr, "usage: pk2sfp [-Dopts] [<options>] file...\n");
  845. X        fprintf(stderr, "or   : pk2sfp -m [-Dopts] [<options>]");
  846. X        fprintf(stderr, " map file map file ....\n");
  847. X
  848. X        fprintf(stderr, "\t-sna: symset, eg: -s8U\n");
  849. X        fprintf(stderr, "\t-t0|1: style: 0 upright, 1 italic\n");
  850. X        fprintf(stderr, "\t-wn: stroke weight (-7..7)\n");
  851. X        fprintf(stderr, "\t-fn: typeface, eg: 5 is Times Roman\n");
  852. X        fprintf(stderr, "\t-in: prepend fontid n, auto increments\n");
  853. X        fprintf(stderr, "\t-v: verbose - emit actions to stderr\n");
  854. X        fprintf(stderr, "\t-p: only download chars psroff needs\n");
  855. X        fprintf(stderr, "\t-S: font is used for psroff Symbol font\n");
  856. X        fprintf(stderr, "\t-P: mark font as permanent (needs -in)\n");
  857. X        exit(1);
  858. X    }
  859. X    }
  860. X    if (merge)
  861. X    fprintf(stderr, "MERGING fonts\n");
  862. X
  863. X    numbytes = 0;
  864. X
  865. X    for(;argv[optind];optind++) {
  866. X    register struct pkp *pk;
  867. X    register struct pkc *pc;
  868. X
  869. X    numcodes = 0;
  870. X    numbytes = 0;
  871. X
  872. X    strcpy(buf, argv[optind]);
  873. X
  874. X    if (merge && readmerge(buf))
  875. X        continue;
  876. X
  877. X    /* Read the PK file in-core */
  878. X    pk = pk_read(buf);
  879. X
  880. X    /* Overrides */
  881. X    if (symset != NOTSET)
  882. X        pk->pkp_symset = symset;
  883. X    if (style != NOTSET)
  884. X        pk->pkp_style = style;
  885. X    if (strokeweight != NOTSET)
  886. X        pk->pkp_sw = strokeweight;
  887. X    if (typeface != NOTSET)
  888. X        pk->pkp_typeface = typeface;
  889. X
  890. X    if (verbose)
  891. X        if (merge > 1)
  892. X        fprintf(stderr, "Appending %s: ", buf);
  893. X        else
  894. X        fprintf(stderr, "Emitting %s: ", buf);
  895. X
  896. X    /* you want a font ID select? */
  897. X    if (merge <= 1 && fontid != NOTSET) {
  898. X        if (verbose)
  899. X        fprintf(stderr, "fontid %d\n", fontid);
  900. X        printf("\033*c%dD", fontid);
  901. X    } else
  902. X        if (verbose)
  903. X        fprintf(stderr, "no fontid\n");
  904. X
  905. X    if (merge <= 1 && verbose) {
  906. X        fprintf(stderr, "\tsymset: %d%c\n", pk->pkp_symset >> 5,
  907. X        (pk->pkp_symset & 0x1f) + 64);
  908. X        fprintf(stderr, "\ttype: %s\n", pk->pkp_style?"italic":"upright");
  909. X        fprintf(stderr, "\tstroke weight: %d\n", pk->pkp_sw);
  910. X        fprintf(stderr, "\ttypeface: %d\n", pk->pkp_typeface);
  911. X    }
  912. X
  913. X    if (merge <= 1) {
  914. X        /* Emit the SFP header */
  915. X        epk_desc(pk, stdout);
  916. X        numbytes += 2048;
  917. X        numcodes = 0;
  918. X        if (merge == 1)
  919. X        merge++;
  920. X    }
  921. X
  922. X    /* Emit each character */
  923. X    for (i = 0; i < pk->pkp_num; i++) {
  924. X        pc = pk->pkp_list[i];
  925. X        if (merge) {
  926. X        for (fp = fontmap; fp < flast; fp++)
  927. X            if (pc->pkc_char == fp->from) {
  928. X            pc->pkc_char = fp->to;
  929. X            if (emittedyet[(fp->to)&0xff]) {
  930. X                if (verbose)
  931. X                fprintf(stderr,
  932. X                "Skipping %02x (%c) as %02x (%c) from %s\n",
  933. X                fp->from, pchr(fp->from),
  934. X                fp->to, pchr(fp->to), buf);
  935. X                break;
  936. X            }
  937. X            if (verbose)
  938. X                fprintf(stderr,
  939. X                "Emitting %02x (%c) as %02x (%c) from %s\n",
  940. X                fp->from, pchr(fp->from),
  941. X                fp->to, pchr(fp->to), buf);
  942. X            emittedyet[(fp->to)&0xff] = 1;
  943. X            fp->to = 0x00;
  944. X            numbytes += epkc_desc(pc, stdout);
  945. X            numcodes++;
  946. X            break;
  947. X            }
  948. X        } else {
  949. X        DBP((D_FONT,"Downloading char %02x (%c)\n", pc->pkc_char,
  950. X            pchr(pc->pkc_char)));
  951. X        numbytes += epkc_desc(pc, stdout);
  952. X        numcodes++;
  953. X        }
  954. X    }
  955. X                /* added to make fonts permanent */
  956. X                /* ron@mlfarm 6.1.90 */
  957. X
  958. X    if (fontid != NOTSET && permanent)
  959. X        printf("\033*c%dd5F", fontid);
  960. X
  961. X    if (fontid != NOTSET)
  962. X        fontid++;
  963. X
  964. X    /* Clobber in-core PK */
  965. X    pk_destroy(pk);
  966. X
  967. X    totalbytes += numbytes;
  968. X    totalcodes += numcodes;
  969. X    if (verbose)
  970. X        fprintf(stderr, "%s: %d bytes %d codes\n", buf, numbytes, numcodes);
  971. X
  972. X    }
  973. X    if (merge)
  974. X    checkmissing((char *) NULL);
  975. X    if (verbose)
  976. X    fprintf(stderr, "total: %d bytes %d codes\n", totalbytes, totalcodes);
  977. X    exit(0);
  978. X}
  979. X
  980. X/*    similar to strtol */
  981. Xshort
  982. Xcvt(p)
  983. Xregister char *p; {
  984. X    register short ret = 0;
  985. X    int base = 10;
  986. X
  987. X    if (!isdigit(*p) && !*(p+1))
  988. X    return(*p);
  989. X
  990. X    if (*p == '0')
  991. X    if (*(p+1) == 'x' || *(p+1) == 'X') {
  992. X        base = 16;
  993. X        p += 2;
  994. X    } else
  995. X        base = 8;
  996. X    while(*p)
  997. X    ret = ret * base + ccvt(*p++);
  998. X    return(ret);
  999. X}
  1000. X
  1001. Xccvt(c)
  1002. Xint c; {
  1003. X    if (isdigit(c))
  1004. X    return(c - '0');
  1005. X    else if (isupper(c))
  1006. X    return(c - 'A' + 10);
  1007. X    else if (islower(c))
  1008. X    return(c - 'a' + 10);
  1009. X    else {
  1010. X    fprintf(stderr, "%s: bad digit %c in map file\n", progname, c);
  1011. X    exit(1);
  1012. X    }
  1013. X}
  1014. Xpchr(x)
  1015. Xint x; {
  1016. X    if (isascii(x) && isprint(x))
  1017. X    return(x);
  1018. X    else
  1019. X    return('?');
  1020. X}
  1021. X
  1022. X/*    Reads merge descriptor.  Returns non-zero if not a merge */
  1023. Xreadmerge(name)
  1024. Xchar *name; {
  1025. X    char from[20], to[20];
  1026. X    FILE *f = fopen(name, "r");
  1027. X    char buffer[512];
  1028. X    register char *p;
  1029. X    if (!f) {
  1030. X    fprintf(stderr, "%s: Can't open %s\n", progname, name);
  1031. X    exit(1);
  1032. X    }
  1033. X    if (!fgets(buffer, sizeof(buffer), f)) {
  1034. X    fprintf(stderr, "%s: Nothing in this file? (%s)\n", progname, name);
  1035. X    fclose(f);
  1036. X    return(0);
  1037. X    }
  1038. X    if (buffer[0] == '\033' || (buffer[0] & 0xff) == PK_pre) {
  1039. X    fclose(f);
  1040. X    return(0);
  1041. X    }
  1042. X    checkmissing(name);
  1043. X    flast = fontmap;
  1044. X    do {
  1045. X    for(p = buffer; *p && isspace(*p); p++);
  1046. X    if (!*p || *p == '\n' || *p == '#')
  1047. X        continue;
  1048. X    switch(sscanf(p, "%s %s", from, to)) {
  1049. X        case 0:
  1050. X        continue;
  1051. X        case 1:
  1052. X        strcpy(to, from);
  1053. X        break;
  1054. X        case 2:
  1055. X        if (strcmp(to, "\"") == 0)
  1056. X            strcpy(to, from);
  1057. X        break;
  1058. X    }
  1059. X    if (flast - fontmap >= MAXMAP) {
  1060. X        fprintf(stderr, "%s: too many map sequences in %s\n", progname,
  1061. X        name);
  1062. X        exit(1);
  1063. X    }
  1064. X
  1065. X    flast->from = cvt(from);
  1066. X    flast->to = cvt(to);
  1067. X    flast++;
  1068. X    } while (fgets(buffer, sizeof(buffer), f));
  1069. X    fclose(f);
  1070. X
  1071. X#ifdef    DEBUG
  1072. X    if (debug&D_FONT) {
  1073. X    DBP((D_FONT, "Map from %s map file\n", name));
  1074. X    for (fp = fontmap; fp < flast; fp++)
  1075. X        DBP((D_FONT, "  %02x (%c) -> %02x (%c)\n",
  1076. X        fp->from, pchr(fp->from),
  1077. X        fp->to, pchr(fp->to)));
  1078. X    }
  1079. X#endif
  1080. X    return(1);
  1081. X}
  1082. X
  1083. Xcheckmissing(name)
  1084. Xregister char *name; {
  1085. X    static char lastmap[512];
  1086. X    if (!verbose || flast == fontmap)
  1087. X    return;
  1088. X    for (fp = fontmap; fp < flast; fp++)
  1089. X    if (fp->to)
  1090. X        fprintf(stderr, "Didn't remap 0x%02x:0%o:%d (%c) in map file %s\n",
  1091. X        fp->from, fp->from, fp->from, pchr(fp->from), lastmap);
  1092. X    if (name)
  1093. X    strcpy(lastmap, name);
  1094. X}
  1095. END_OF_FILE
  1096.   if test 8075 -ne `wc -c <'utils/pk2sfp.c'`; then
  1097.     echo shar: \"'utils/pk2sfp.c'\" unpacked with wrong size!
  1098.   fi
  1099.   # end of 'utils/pk2sfp.c'
  1100. fi
  1101. if test -f 'widths/Makefile' -a "${1}" != "-c" ; then 
  1102.   echo shar: Will not clobber existing file \"'widths/Makefile'\"
  1103. else
  1104.   echo shar: Extracting \"'widths/Makefile'\" \(8122 characters\)
  1105.   sed "s/^X//" >'widths/Makefile' <<'END_OF_FILE'
  1106. X#    Copyright 1985, 1986, 1987, 1988, 1989, 1990, 1991 Chris Lewis
  1107. X#        All Rights Reserved
  1108. X#
  1109. X#    See the LICENSE file for a full description of the restrictions
  1110. X#    under which this software is provided.
  1111. X#
  1112. X#2.18 91/04/05
  1113. XSCRIPTS    = gfnttab genext installdit
  1114. XTD    = testdir
  1115. XPSW    = \
  1116. X    widthps/DESC \
  1117. X    widthps/AB widthps/BR widthps/HB widthps/I  widthps/PX \
  1118. X    widthps/AI widthps/BX widthps/HO widthps/NB widthps/R \
  1119. X    widthps/AR widthps/C  widthps/NI widthps/S \
  1120. X    widthps/AX widthps/CB widthps/HX widthps/NR widthps/S2 \
  1121. X    widthps/B  widthps/CO widthps/Hb widthps/NX widthps/ZC \
  1122. X    widthps/BB widthps/CX widthps/Hi widthps/PB widthps/ZD \
  1123. X    widthps/BI widthps/Hr widthps/PI widthps/BO widthps/H \
  1124. X    widthps/Hx widthps/PR
  1125. XLJ3W    = \
  1126. X    widthlj3/DESC widthlj3/S2 \
  1127. X        widthlj3/B widthlj3/I widthlj3/R widthlj3/S widthlj3/X \
  1128. X    widthlj3u/DESC \
  1129. X        widthlj3u/B widthlj3u/I widthlj3u/R widthlj3u/S widthlj3u/X
  1130. X
  1131. Xinclude ../makeincl
  1132. X
  1133. Xall:    subst.done $(PSW) $(LJ3W) lj3ext dit2catwid $(SCRIPTS) ljwidths \
  1134. X    widths extensions
  1135. X
  1136. Xunsccswidths:    $(PSW) $(LJ3W)
  1137. X
  1138. Xlj3ext:        $(LJ3W)
  1139. X    @$(IGNORESH) for i in R I B X ; \
  1140. X    do \
  1141. X        echo "Creating widthlj3u/T$$i" ; \
  1142. X        sed -e 's/^name /name T/' widthlj3/$$i > widthlj3u/T$$i ; \
  1143. X        echo "Creating widthlj3/U$$i" ; \
  1144. X        sed -e 's/^name /name U/' widthlj3u/$$i > widthlj3/U$$i ; \
  1145. X    done
  1146. X    rm -f widthlj3u/S2
  1147. X    cp widthlj3/S2 widthlj3u/S2
  1148. X    touch lj3ext
  1149. X
  1150. X$(PSW) $(LJ3W):
  1151. X    @eval `echo $@ | sed -e 's/\(.*\)\/\([^\/]*\)$$/d=\1 f=s.\2 n=&/'` ; \
  1152. X        cd $$d ; echo Extracting $$n ; $(GET) -s $(GFLAGS) $$f
  1153. X
  1154. Xditwidths:
  1155. X    cd ../lib ; $(MAKE) psrofflib
  1156. X    ./installdit
  1157. X
  1158. Xwidths:    gfnttab dit2catwid installdit
  1159. X    @if [ ! -r widthps/TE -a -r widthps/s.TE ] ; \
  1160. X    then \
  1161. X        cd widthps ; $(GET) -s $(GFLAGS) s.TE ; \
  1162. X    fi
  1163. X    @if [ ! -r widthps/HW -a -r widthps/s.HW ] ; \
  1164. X    then \
  1165. X        cd widthps ; $(GET) -s $(GFLAGS) s.HW ; \
  1166. X    fi
  1167. X    -rm -f gfnttab.log
  1168. X    for i in width* ; \
  1169. X    do \
  1170. X        echo "Processing $$i" ; \
  1171. X        ./gfnttab $$i >> gfnttab.log ; \
  1172. X    done
  1173. X    ./installdit
  1174. X
  1175. Xsubst.done:    ../makeincl ../sedscript
  1176. X    rm -f $(SCRIPTS)
  1177. X    touch subst.done
  1178. X
  1179. X../utils/pk2ditwid:
  1180. X    cd ../utils ; make pk2ditwid
  1181. X
  1182. X# The "for ps in" list below is sort of monotonic increasing ratios
  1183. X# away from point size 10, further, the larger fonts are the ones
  1184. X# most likely to not be EXACTLY what pointsize they say they are
  1185. X# (eg: my PK 36 is actually closer to 32)
  1186. Xsepwidths: ../utils/pk2ditwid
  1187. X    rm -f pk2sep.log pk2sep.err
  1188. X    @$(IGNORESH) if [ -d $(LJF) ] ; \
  1189. X    then \
  1190. X        fontlist=`find $(LJF) -type f \
  1191. X        '(' -name '*.*.pk' -o -name '*.*.sfp' ')' -print | \
  1192. X        sed -e 's/^\.\///' -e 's/\..*$$//' -e 's/.*\///' | sort -u` ; \
  1193. X        for font in $$fontlist ; \
  1194. X        do \
  1195. X        case $$font in \
  1196. X        ?) ;; \
  1197. X        ??) ;; \
  1198. X        *) \
  1199. X            echo "$$font can't be a psroff/troff font!" \
  1200. X            >> pk2dit.err ; \
  1201. X            continue ; \
  1202. X            ;; \
  1203. X        esac ; \
  1204. X        file= ; \
  1205. X        for ps in 10 11 9 12 8 7 14 6 16 18 20 22 24 28 36 ; \
  1206. X        do \
  1207. X            file= ; \
  1208. X            if [ -r $(LJF)/$$font.$$ps.pk ] ; \
  1209. X            then \
  1210. X            file=$(LJF)/$$font.$$ps.pk ; \
  1211. X            elif [ -r $(LJF)/$$font.$$ps.sfp ] ; \
  1212. X            then \
  1213. X            file=$(LJF)/$$font.$$ps.sfp ; \
  1214. X            fi ; \
  1215. X            if [ -n "$$file" ] ; \
  1216. X            then \
  1217. X            if [ "$$font" = S ] ; \
  1218. X            then \
  1219. X                args=-S ; \
  1220. X            else \
  1221. X                args= ; \
  1222. X            fi ; \
  1223. X            echo "pk2ditwid: $$file" >> pk2sep.log ; \
  1224. X            ../utils/pk2ditwid $$args $$file >> pk2sep.log \
  1225. X                2>> pk2sep.err ; \
  1226. X            if [ $$? != 0 ] ; \
  1227. X            then \
  1228. X                echo "pk2ditwid (on $$font) failed - check pk2sep.log" \
  1229. X                >> pk2sep.err ; \
  1230. X            else \
  1231. X                mv $$font widthlj/$$font.$$ps ; \
  1232. X            fi ; \
  1233. X            fi ; \
  1234. X        done ; \
  1235. X        done ; \
  1236. X        for ps in 10 11 9 12 8 7 14 6 16 18 20 22 24 28 36 ; \
  1237. X        do \
  1238. X        for i in $$fontlist ; \
  1239. X        do \
  1240. X            if [ ! -r widthlj/$$i.$$ps ] ; \
  1241. X            then \
  1242. X            continue ; \
  1243. X            fi ; \
  1244. X            case $$i in \
  1245. X            S) \
  1246. X                args="-s widthlj/R.$$ps widthlj/S.$$ps" ; \
  1247. X                if [ ! -r widthlj/R.$$ps ] ; \
  1248. X                then \
  1249. X                continue ; \
  1250. X                fi ; \
  1251. X                ;; \
  1252. X            *) \
  1253. X                args="widthlj/S.$$ps widthlj/$$i.$$ps" ; \
  1254. X                ;; \
  1255. X            esac ; \
  1256. X            echo "dit2catwid: $$i.$$ps" >> pk2sep.log ; \
  1257. X            ./dit2catwid $$args widthlj/ft$$i.$$ps >> pk2sep.log \
  1258. X            2>> pk2sep.err ; \
  1259. X        done ; \
  1260. X        done ; \
  1261. X    fi
  1262. X
  1263. X# The "for ps in" list below is sort of monotonic increasing ratios
  1264. X# away from point size 10, further, the larger fonts are the ones
  1265. X# most likely to not be EXACTLY what pointsize they say they are
  1266. X# (eg: my PK 36 is actually closer to 32)
  1267. Xljwidths: ../utils/pk2ditwid
  1268. X    rm -f pk2dit.log pk2dit.err
  1269. X    @$(IGNORESH) if [ -d $(LJF) ] ; \
  1270. X    then \
  1271. X        fontlist=`find $(LJF) -type f \
  1272. X        '(' -name '*.*.pk' -o -name '*.*.sfp' ')' -print | \
  1273. X        sed -e 's/^\.\///' -e 's/\..*$$//' -e 's/.*\///' | sort -u` ; \
  1274. X        for font in $$fontlist ; \
  1275. X        do \
  1276. X        case $$font in \
  1277. X        ?) ;; \
  1278. X        ??) ;; \
  1279. X        *) \
  1280. X            echo "$$font can't be a psroff/troff font!" \
  1281. X            >> pk2dit.err ; \
  1282. X            continue ; \
  1283. X            ;; \
  1284. X        esac ; \
  1285. X        file= ; \
  1286. X        for ps in 10 11 9 12 8 7 14 6 16 18 20 22 24 28 36 ; \
  1287. X        do \
  1288. X            if [ -r $(LJF)/$$font.$$ps.pk ] ; \
  1289. X            then \
  1290. X            file=$(LJF)/$$font.$$ps.pk ; \
  1291. X            break ; \
  1292. X            elif [ -r $(LJF)/$$font.$$ps.sfp ] ; \
  1293. X            then \
  1294. X            file=$(LJF)/$$font.$$ps.sfp ; \
  1295. X            break ; \
  1296. X            fi ; \
  1297. X        done ; \
  1298. X        if [ -n "$$file" ] ; \
  1299. X        then \
  1300. X            echo "Best fit for $$font is $$file" >> pk2dit.log ; \
  1301. X            if [ "$$font" = S ] ; \
  1302. X            then \
  1303. X            args=-S ; \
  1304. X            else \
  1305. X            args= ; \
  1306. X            fi ; \
  1307. X            echo "Creating widthlj/$$font from $$file" ; \
  1308. X            ../utils/pk2ditwid $$args $$file >> pk2dit.log \
  1309. X            2>> pk2dit.err ; \
  1310. X            if [ $$? != 0 ] ; \
  1311. X            then \
  1312. X            echo "pk2ditwid (on $$font) failed - check pk2dit.log" \
  1313. X                >> pk2dit.err ; \
  1314. X            else \
  1315. X            mv $$font widthlj/$$font ; \
  1316. X            fi ; \
  1317. X        fi ; \
  1318. X        done ; \
  1319. X    fi
  1320. X    @test ! -s pk2dit.err || (cat pk2dit.err ; exit 1)
  1321. X    @rm -f pk2dit.err
  1322. X
  1323. Xinstall:
  1324. X
  1325. Xinstallwidths:    installdit
  1326. X    @$(IGNORESH) \
  1327. X    test -w $(FONTDIR) || (echo "Install as root" ; exit 1 ; ) ; \
  1328. X    for i in width* ; \
  1329. X    do \
  1330. X        base=`echo $$i | sed -e 's/.*width//'` ; \
  1331. X        test -d $(FONTDIR)/$$base || mkdir $(FONTDIR)/$$base ; \
  1332. X        test -w $(FONTDIR)/$$base || \
  1333. X        (echo "Install as root" ; exit 1 ; ) ; \
  1334. X        files=`echo width$$base/ft*` ; \
  1335. X        if [ "$$files" = "width$$base"'/ft*' ] ; \
  1336. X        then \
  1337. X        echo "No $$base widths to install" ; \
  1338. X        continue ; \
  1339. X        fi ; \
  1340. X        echo "Installing $$base widths" ; \
  1341. X        cp width$$base/ft* $(FONTDIR)/$$base ; \
  1342. X    done
  1343. X    ./installdit -i
  1344. X
  1345. Xextensions:    genext
  1346. X    @$(IGNORESH) \
  1347. X    for i in width* ; \
  1348. X    do \
  1349. X        if [ ! -r "$$i/R" -o ! -r "$$i/S" ] ; \
  1350. X        then \
  1351. X        continue ; \
  1352. X        fi ; \
  1353. X        base=`echo $$i | sed -e 's/.*width//'` ; \
  1354. X        echo "./genext $$i > $$i/$$base.ext" ; \
  1355. X        ./genext $$i > $$i/$$base.ext ; \
  1356. X    done
  1357. X
  1358. Xcmp:
  1359. X    test -d $(TD) || mkdir $(TD)
  1360. X    @$(IGNORESH) for i in width* ; \
  1361. X    do \
  1362. X        base=`echo $$i | sed -e 's/.*width//'` ; \
  1363. X        cd $$i ; \
  1364. X        for j in ft* ; \
  1365. X        do \
  1366. X        if [ ! -f $$j ] ; \
  1367. X        then \
  1368. X            continue ; \
  1369. X        fi ; \
  1370. X        echo "Comparing $$j to $(FONTDIR)/$$base/$$j" ; \
  1371. X        set +e ; \
  1372. X        cmp -l $$j $(FONTDIR)/$$base/$$j ; \
  1373. X        set -e ; \
  1374. X        done ; \
  1375. X        cd ../ ; \
  1376. X    done > $(TD)/widthdiff 2>&1
  1377. X
  1378. Xtest:    dit2catwid $(SCRIPTS)
  1379. X    test -d $(TD) || mkdir $(TD)
  1380. X    rm -f $(TD)/*
  1381. X    cp widthps/S $(TD)/S
  1382. X    chmod +w $(TD)/S
  1383. X    sed -e '1,/charset/d' widthps/S2 >> $(TD)/S
  1384. X    ./dit2catwid -v $(TD)/S widthps/R $(TD)/ftR > $(TD)/ftR.nout
  1385. X    @echo "Comparing $(TD)/ftR and $(FONTDIR)/ps/ftR"
  1386. X    -cmp -l $(TD)/ftR $(FONTDIR)/ps/ftR
  1387. X    ./dit2catwid -vc $(TD)/S widthps/R $(TD)/ftR.c > $(TD)/ftR.c.nout
  1388. X    ./dit2catwid -sv widthps/R $(TD)/S $(TD)/ftS > $(TD)/ftS.nout
  1389. X    @echo "Comparing $(TD)/ftS and $(FONTDIR)/ps/ftS"
  1390. X    -cmp -l $(TD)/ftS $(FONTDIR)/ps/ftS
  1391. X    ./dit2catwid -svc widthps/R $(TD)/S $(TD)/ftS.c > $(TD)/ftS.c.nout
  1392. X
  1393. Xclean:
  1394. X    rm -rf dit2catwid $(SCRIPTS) */ft* *.o $(TD) *.fonts.new
  1395. X    rm -f gfnttab.log pk2dit.log pk2sep.log pk2dit.err pk2sep.err
  1396. X    rm -f */[A-Z]*.out */*.ext lj3ext
  1397. X    rm -f widthlj3/U[RIBX] widthlj3u/T[RIBX]
  1398. X
  1399. Xdit2catwid.o:    ../defs.h
  1400. X
  1401. X../cattab.o:    ../defs.h
  1402. X    @echo "cattab.o is out of date, please run make troff2ps in top level first"
  1403. X    exit
  1404. X
  1405. Xdit2catwid:    ../cattab.o dit2catwid.o
  1406. X    $(CC) $(CFLAGS) -o dit2catwid dit2catwid.o ../cattab.o $(LIBFLAGS)
  1407. END_OF_FILE
  1408.   if test 8122 -ne `wc -c <'widths/Makefile'`; then
  1409.     echo shar: \"'widths/Makefile'\" unpacked with wrong size!
  1410.   fi
  1411.   # end of 'widths/Makefile'
  1412. fi
  1413. if test -f 'widths/widthps/S2' -a "${1}" != "-c" ; then 
  1414.   echo shar: Will not clobber existing file \"'widths/widthps/S2'\"
  1415. else
  1416.   echo shar: Extracting \"'widths/widthps/S2'\" \(867 characters\)
  1417.   sed "s/^X//" >'widths/widthps/S2' <<'END_OF_FILE'
  1418. X# BracketF
  1419. X#2.2 91/02/06
  1420. Xname S2
  1421. Xinternalname BracketF
  1422. Xspecial
  1423. Xcharset
  1424. Xbv    50    2    0101    bold vertical
  1425. Xlt    50    2    0102    left top of big curly bracket
  1426. Xlk    50    2    0103    left centre of big curly bracket
  1427. Xlb    50    2    0104    left bottom of big curly bracket
  1428. Xrt    50    2    0105    right top of big curly bracket
  1429. Xrk    50    2    0106    right centre of big curly bracket
  1430. Xrb    50    2    0107    right bottom of big curly bracket
  1431. Xlc    50    2    0110    left ceiling (left top of big square bracket)
  1432. Xlf    50    2    0111    left floor (left bottom of big square bracket)
  1433. Xrc    50    2    0112    right ceiling (right top of big square bracket)
  1434. Xrf    50    2    0113    right floor (right bottom of big square bracket)
  1435. Xbr    0    2    0114    box vertical rule (matches ul)
  1436. Xrn    50    2    0115    root en extender
  1437. Xci    100    3    0116    circle
  1438. X\|    17    0    0117    1/6em narrow space
  1439. X\^    8    0    0120    1/12 em narrow space
  1440. Xr1    80    0    0121    reversible reaction ( chemical )
  1441. Xr2    80    0    0122    reversible reaction - 2 full arrows
  1442. END_OF_FILE
  1443.   if test 867 -ne `wc -c <'widths/widthps/S2'`; then
  1444.     echo shar: \"'widths/widthps/S2'\" unpacked with wrong size!
  1445.   fi
  1446.   # end of 'widths/widthps/S2'
  1447. fi
  1448. echo shar: End of archive 11 \(of 19\).
  1449. cp /dev/null ark11isdone
  1450. MISSING=""
  1451. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ; do
  1452.     if test ! -f ark${I}isdone ; then
  1453.     MISSING="${MISSING} ${I}"
  1454.     fi
  1455. done
  1456. if test "${MISSING}" = "" ; then
  1457.     echo You have unpacked all 19 archives.
  1458.     echo "Read the README to get started with psroff installation"
  1459.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1460. else
  1461.     echo You still must unpack the following archives:
  1462.     echo "        " ${MISSING}
  1463. fi
  1464. exit 0
  1465.  
  1466. exit 0 # Just in case...
  1467.