rsalz@uunet.UU.NET (Rich Salz) (11/03/87)
Submitted-by: Crispin Goswell <caag@vd.rl.ac.uk> Posting-number: Volume 12, Issue 54 Archive-name: postscript/part05 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 5 (of 18)." PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'doc/hard-interface' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'doc/hard-interface'\" else echo shar: Extracting \"'doc/hard-interface'\" \(7674 characters\) sed "s/^X//" >'doc/hard-interface' <<'END_OF_FILE' X#include "main.h" X#include "graphics.h" X Xstruct hardware X { X }; X X/* X * This file describes the interface that PostScript requires to the X * graphics system at Version 1.4. X * X * ''Hardware'' in this context refers to a pointer to windows and/or X * bitmaps and is the lowest level X * of access that PostScript is interested in. Any Hardware parameter X * may be expected to be NULL. X */ X X/************************* CREATION OF WINDOWS AND BITMAPS *******************/ X Xstruct hardware *InitHardware () {} X/* X * InitHardware () returns a default device which PostScript may use X * immediately (or NULL if not appropriate). X * Its size and shape are not defined. Most typically the user will want X * to start up another device X * before it is used anyway. No attempt will be made by PostScript to X * Destroy the resulting X * device. X */ X Xstruct hardware *NewBitmapHardware (width, height) int width, height; {} X Xstruct hardware *NewWindowHardware (width, height) int width, height; {} X/* X * NewBitmapHardware () is expected to create a new bitmap. Only one plane will be needed. X * X * NewWindowHardware () is expected to create a window on the screen. X * On a colour system this will X * be expected to support full colour. X */ X Xint IsWindowHardware (h) struct hardware *h; {} X/* X * IsWindowHardware () should return TRUE if the hardware is a window, X * FALSE otherwise. X * NULL is a window. X */ X Xvoid DestroyHardware (h) struct hardware *h; {} X/* X * DestroyHardware () should release the resources required by the X * hardware, bitmap or window. X * This should cause a window device to vanish. X * NULL is not an error (does nothing). X */ X X XMatrix DeviceMatrix (width, height) int width, height; {} X XDevicePoint HardwareExtent (h) struct hardware *h; {} X/* X * X * DeviceMatrix () should return a matrix appropriate to a device of the X * given height and width. X * For a typical display with a graphics origin at the top left of a X * window, X * an appropriate definition would be: X * X * Matrix DeviceMatrix (width, height) int width, height; X * { X * return NewMatrix (PIXELS_PER_INCH / 72.0, 0.0, 0.0, X * -PIXELS_PER_INCH / 72.0, 0.0, (float) height); X * } X * X * HardwareExtent () returns a DevicePoint describing the width and X * height of the argument. X * NULL has extent NewDevicePoint (0, 0). X */ X X/*********************** OUTPUT PRIMITIVES ******************************/ X Xvoid BitBlt (from, to, fromPoint, toPoint, extent, rop) X struct hardware *from, *to; X DevicePoint toPoint, fromPoint, extent; X int rop; X {} X Xvoid Paint (from, to, fromPoint, toPoint, extent, colour) X struct hardware *from, *to; X DevicePoint toPoint, fromPoint, extent; X Colour colour; X {} X X/* X * BitBlt () is a full function RasterOp will the ability to mask the X * source with a colour. The 'rop' argument X * will have values as described in the header file hard.h. X * If the from argument is NULL it is taken to be X * a bitmap full of ones the shape of the fromPoint and extent. X * If the to argument is NULL, this is a no-op. X * X * Paint () is an addition to BitBlt. Bits that are set in the source X * are Painted into the destination X * in the given colour with a copying rasterop so that they replace X * pixels previously there. If the X * machine does not support colour windows, half-toning should be X * performed. X * Colour values have hue, saturation and brightness components. X * on a black and white or greyscale X * system the brightness value will be a FP value between 0.0 (black) X * and 1.1 (white), which can be X * used as a grey level. X */ X Xvoid BitBltTrapezoid (to, lefttop, leftbottom, righttop, rightbottom, top, X bottom, rop) X struct hardware *to; X DevicePoint lefttop, leftbottom, righttop, rightbottom; X int top, bottom, rop; X {} X Xvoid PaintTrapezoid (to, lefttop, leftbottom, righttop, rightbottom, top, X bottom, colour) X struct hardware *to; X DevicePoint lefttop, leftbottom, righttop, rightbottom; X int top, bottom; X Colour colour; X {} X X/* X * BitBltTrapezoid () and PaintTrapezoid () render a complete X * trapezoidal shape. X * The corners of the trapezoid may lie far outside the range of X * interesting scan-lines, but the slope X * of the line should be clipped by the top and bottom. The coordinates X * are half-open. X */ X Xvoid Line (h, fromPoint, toPoint, rop) X struct hardware *h; X DevicePoint fromPoint, toPoint; X int rop; X {} X Xvoid PaintLine (h, fromPoint, toPoint, colour) X struct hardware *h; X DevicePoint fromPoint, toPoint; X Colour colour; X {} X X/* X * Line () is expected to draw a line between the given points (the last pixel is expected to be drawn) X * with the given RasterOp and colour masking. The line should be one pixel wide and half-open. [Thicker lines are X * done with BitBlt.] X * X * PaintLine () is expected to Paint a line by analogy with Paint and BitBlt. X */ X Xint TransferSize () {} X Xvoid SetTransfer (vec) float *vec; {} X/* X * TransferSize () and SetTransfer () control the mapping function X * between user brightnesses X * and device brightnesses. The interface is expected to perform this X * mapping of brightnesses X * to a sufficient resolution. SetTransfer takes a table of floating X * point numbers between X * 0 and 1. User brightnesses are scaled to the size of this table and X * mapped through it. X * The argument table given to SetTransfer () will be deleted after use. X * TransferSize () simply X * enquires the required size of the table. X * X * It may be appropriate to half-tone on a grayscale or colour device to X * improve rendering if it is not too X * expensive. TransferSize () returns the size of the pattern table. X */ X Xchar *StringFromHardware (h) struct hardware *h; {} X Xstruct hardware *HardwareFromString (s, width, height) Xchar *s; int width, height; {} X/* X * StringFromHardware () produces a string from its argument which X * describes the bitmap. X * The bitmap is returned in row-major order with the leftmost bit of X * each byte in the most significant X * position. Rows are padded to byte boundaries. Only single plane X * bitmaps are used. X * X * HardwareFromString () performs the inverse mapping, generating a X * bitmap from a set of bits, given X * a width and height. Only single plane bitmaps are used. X */ X Xint ScreenSize (freq, rotation) float freq, rotation; {} X Xvoid BuildScreen (freq, rotation, x, y) float freq, rotation, *x, *y; {} X Xvoid SetScreen (freq, rotation, thresh) float freq, rotation, *thresh; {} X/* X * ScreenSize () allows PostScript to determine how large an array of X * sample points to expect. X * It should return the length of the side of the sample square. X * X * BuildScreen () returns a set of sampling coordinates to PostScript to X * hand to the users spot-function X * X * SetScreen () allows PostScript to set the thresholds for each sample X * point so that half-tone bitmaps X * can be made. X */ X Xvoid SetClipHardware (h, clip) struct hardware *h, *clip; {} X/* X * SetClipHardware sets hardware which is a clip mask for BitBlt. X * This mask should be ANDed with any output X * operation. If clip is NULL, masking will not be needed. X */ X Xvoid HardUpdate () {} X/* X * HardUpdate is a hook to allow devices which do output buffering to X * flush that buffering when appropriate. X * This allows an interactive user to see completed graphics between X * prompts (it is called as a side-effect X * of the PostScript flush operator). Typically is is a no-op. X */ X Xvoid UpdateControl () X {} X/* X * This call can be used to enable batching of output operations. X * UpdateControl (FALSE) means ``start of X * batching'' UpdateControl (TRUE) means ``end of batching''. X * It is used to improve performance on machines X * where screen updates have a high locking overhead. It may be a no-op. X */ END_OF_FILE if test 7674 -ne `wc -c <'doc/hard-interface'`; then echo shar: \"'doc/hard-interface'\" unpacked with wrong size! fi # end of 'doc/hard-interface' fi if test -f 'postscript/demos/fishes' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'postscript/demos/fishes'\" else echo shar: Extracting \"'postscript/demos/fishes'\" \(7514 characters\) sed "s/^X//" >'postscript/demos/fishes' <<'END_OF_FILE' X%! X% The following are all the functions required to produce the famous X% "Square Limit" drawing by M. C. Escher. These functions were derived by X% Peter Henderson. See his paper in 1982 Conf. on LISP and Func. Prog. X% (C) Miranda coding by Michael Parsons, September 1985 X% Translation to PostScript by Peter Bumbulis, July 1986 X% X X30 0 translate X X% quartet combines 4 images, one image in each quadrant, to produce one image. X/quartet { X 4 -1 roll 1 2 div 0 1 zoom X 4 -1 roll 1 2 div 1 1 zoom X 4 -1 roll 1 2 div 0 0 zoom X 4 -1 roll 1 2 div 1 0 zoom X 4 {exec} /repeat cvx X 7 array astore cvx X} def X X% nonet arranges 9 images in equal sized squares to form 1 image. X/nonet { X 9 -1 roll 1 3 div 0 1 zoom X 9 -1 roll 1 3 div 0.5 1 zoom X 9 -1 roll 1 3 div 1 1 zoom X 9 -1 roll 1 3 div 0 0.5 zoom X 9 -1 roll 1 3 div 0.5 0.5 zoom X 9 -1 roll 1 3 div 1 0.5 zoom X 9 -1 roll 1 3 div 0 0 zoom X 9 -1 roll 1 3 div 0.5 0 zoom X 9 -1 roll 1 3 div 1 0 zoom X 9 {exec} /repeat cvx X 12 array astore cvx X} def X X% cycle combines 4 smaller copies of an image, each rotated by a different X% multiple of 90 degrees. X/cycle {dup 270 rot dup 180 rot dup 90 rot quartet} def X X% t is one of the basic fish rearrangements. X/t {{p} {q} {r} {s} quartet} def X X% u is another of the basic fish rearrangements. X/u {{q} 90 rot cycle} def X X% side defines one side of the picture at level n. X/side { X dup 0 le X { pop {} dup t 90 rot t quartet} X {1 sub side dup t 90 rot t quartet} X ifelse X} def X X% corner defines one corner of the picture at level n. X/corner { X dup 0 le X { pop {} {} {} u quartet} X {1 sub dup corner exch side dup 90 rot u quartet} X ifelse X} def X X% quadcorner forms one quarter of the image at level n; X/quadcorner { X dup corner exch side dup dup 90 rot dup u exch t 90 rot dup 3 1 roll X {q} 90 rot nonet X} def X X% squarelimit produces the fish drawing. X/squarelimit {quadcorner cycle} def X X% fish gives a border to produce the final drawing. X/fish { X squarelimit exec X newpath X 0 0 moveto X 0 1 lineto X 1 1 lineto X 1 0 lineto X closepath X stroke X} def X X/flip {0.5 0.5 translate 1 -1 scale -0.5 -0.5 translate} def X X% All the data needed to draw the fish. X/p { X gsave flip X newpath X 0 0.8125 moveto 0 0.5 lineto X 0 0.8125 moveto 0.1875 0.75 lineto X 0.75 0 moveto 0.8125 6.25e-2 lineto X 0.1875 0.75 moveto 0 0.5 lineto X 0.375 1 moveto 0.25 0.75 lineto X 0.25 0.6875 moveto 0.4375 0.625 lineto X 0.25 0.6875 moveto 0.25 0.375 lineto X 0.4375 0.625 moveto 0.25 0.375 lineto X 0.6875 1 moveto 0.625 0.75 lineto X 0.6875 1 moveto 0.875 0.875 lineto X 0.875 0.875 moveto 1 0.875 lineto X 0.625 0.75 moveto 0.8125 0.6875 lineto X 0.8125 0.6875 moveto 1 0.75 lineto X 0.625 0.75 moveto 0.5 0.5 lineto X 0.5625 0.625 moveto 0.75 0.5625 lineto X 0.75 0.5625 moveto 1 0.625 lineto X 0.5 0.5 moveto 0.75 0.4375 lineto X 0.75 0.4375 moveto 1 0.5 lineto X 0.5 0.5 moveto 0.25 0.1875 lineto X 0.25 0.1875 moveto 0 0 lineto X 0.5 0.25 moveto 1 0.375 lineto X 1 0.25 moveto 0.75 0.25 lineto X 0.75 0.25 moveto 0.5 0 lineto X 0.5 0 moveto 0.375 6.25e-2 lineto X 0.375 6.25e-2 moveto 0 0 lineto X 0.625 0 moveto 0.75 0.125 lineto X 0.75 0.125 moveto 1 0.1875 lineto X 1 0.125 moveto 0.8125 6.25e-2 lineto X 1 6.25e-2 moveto 0.875 0 lineto X stroke X grestore X} def X X/q { X gsave flip X newpath X 0 0 moveto 0 0.25 lineto X 0 0.5 moveto 0 1 lineto X 0 1 moveto 0.5 1 lineto X 0.75 1 moveto 1 1 lineto X 0.125 1 moveto 0.25 0.6875 lineto X 0.25 1 moveto 0.375 0.6875 lineto X 0.375 1 moveto 0.5 0.6875 lineto X 0.5 1 moveto 0.625 0.625 lineto X 0.25 0.6875 moveto 0.25 0.5625 lineto X 0.375 0.6875 moveto 0.375 0.5625 lineto X 0.5 0.6875 moveto 0.5 0.5 lineto X 0.625 0.625 moveto 0.625 0.4375 lineto X 0.625 1 moveto 0.875 0.3125 lineto X 0.75 1 moveto 0.8125 0.75 lineto X 0.8125 1 moveto 1 0.625 lineto X 0.875 1 moveto 1 0.75 lineto X 0.9375 1 moveto 1 0.875 lineto X 0 0.25 moveto 0.1875 0.1875 lineto X 0 0.375 moveto 0.4375 0.3125 lineto X 0 0.5 moveto 0.25 0.5625 lineto X 0.125 0 moveto 0.1875 0.1875 lineto X 0.1875 0.1875 moveto 0.3125 0.125 lineto X 0.3125 0.125 moveto 0.25 0 lineto X 0.3125 0.125 moveto 0.4375 6.25e-2 lineto X 0.4375 6.25e-2 moveto 0.5 0 lineto X 0.5 6.25e-2 moveto 0.6875 6.25e-2 lineto X 0.6875 6.25e-2 moveto 0.5625 0.1875 lineto X 0.5625 0.1875 moveto 0.5 6.25e-2 lineto X 0.5625 0.25 moveto 0.75 0.25 lineto X 0.75 0.25 moveto 0.625 0.375 lineto X 0.625 0.375 moveto 0.5625 0.25 lineto X 1 0 moveto 0.75 0.375 lineto X 0.375 0 moveto 0.4375 6.25e-2 lineto X 0.75 0.375 moveto 0.375 0.5625 lineto X 0.375 0.5625 moveto 0.25 0.5625 lineto X 1 0 moveto 0.9375 0.375 lineto X 0.9375 0.375 moveto 1 0.5 lineto X 1 0.5 moveto 0.8125 0.75 lineto X stroke X grestore X} def X X/r { X gsave flip X newpath X 0.5 0.5 moveto 0.125 0.25 lineto X 0.125 0.25 moveto 0 0 lineto X 0 0.5 moveto 0.125 0.25 lineto X 0 0.25 moveto 6.25e-2 0.125 lineto X 0 1 moveto 0.5 0.5 lineto X 0 0.75 moveto 0.3125 0.375 lineto X 6.25e-2 0.9375 moveto 0.25 1 lineto X 0.125 0.875 moveto 0.5 1 lineto X 0.1875 0.8125 moveto 0.5 0.875 lineto X 0.3125 0.6875 moveto 0.75 0.8125 lineto X 0.5 0.875 moveto 0.75 1 lineto X 0.75 0.8125 moveto 1 1 lineto X 0.5 0.5 moveto 0.875 0.625 lineto X 1 0.625 moveto 0.6875 0.375 lineto X 0.6875 0.375 moveto 0.375 0 lineto X 1 0.5 moveto 0.75 0.25 lineto X 1 0.75 moveto 0.875 0.625 lineto X 0.75 0.25 moveto 0.6875 0 lineto X 0.75 0.25 moveto 1 0 lineto X 1 0.375 moveto 0.8125 0.1875 lineto X 1 0.25 moveto 0.875 0.125 lineto X 1 0.125 moveto 0.9375 6.25e-2 lineto X stroke X grestore X} def X X/s { X gsave flip X newpath X 0 1 moveto 0.25 0.875 lineto X 0.125 0.9375 moveto 0 0.75 lineto X 0.25 0.875 moveto 0.5 0.875 lineto X 0.5 0.875 moveto 1 1 lineto X 1 1 moveto 0.625 0.75 lineto X 0.625 0.75 moveto 0.5 0.625 lineto X 0 0.625 moveto 0.4375 0.75 lineto X 0 0.5 moveto 0.5 0.625 lineto X 0 0.375 moveto 0.4375 0.5 lineto X 0 0.25 moveto 0.4375 0.375 lineto X 0 0.125 moveto 0.4375 0.1875 lineto X 0.5 0.625 moveto 0.4375 0.5 lineto X 0.4375 0.5 moveto 0.4375 0.1875 lineto X 0.4375 0.1875 moveto 0.5 0 lineto X 0.625 0 moveto 0.6875 0.375 lineto X 0.75 0 moveto 0.8125 0.1875 lineto X 0.8125 0.1875 moveto 0.9375 0.4375 lineto X 0.9375 0.4375 moveto 1 0.5 lineto X 1 0.125 moveto 0.8125 0.1875 lineto X 1 0.25 moveto 0.875 0.3125 lineto X 1 0.375 moveto 0.9375 0.4375 lineto X 0.75 0.5625 moveto 0.75 0.75 lineto X 0.75 0.75 moveto 0.625 0.625 lineto X 0.625 0.625 moveto 0.75 0.5625 lineto X 0.8125 0.5625 moveto 0.9375 0.5 lineto X 0.9375 0.5 moveto 0.9375 0.6875 lineto X 0.9375 0.6875 moveto 0.8125 0.5625 lineto X stroke X grestore X} def X X% rot rotates an image by th radians anti-clockwise, about the image centre. X/rotcode {gsave 0.5 0.5 translate rotate -0.5 -0.5 translate exec grestore} def X X/rot { /rotcode cvx 3 array astore cvx } def X X% zoom scales an image up or down with one fixed point. X/zoomcode { X gsave 2 copy neg exch neg exch 5 2 roll translate dup scale translate exec grestore X} def X/zoom { /zoomcode cvx 5 array astore cvx} def X X/setup {0 144 translate 72 7 mul dup scale .25 7 div dup translate .001 setlinewidth} def X X% display a level 2 fish X Xsetup X2 fish Xcopypage Xcopypage Xshowpage END_OF_FILE if test 7514 -ne `wc -c <'postscript/demos/fishes'`; then echo shar: \"'postscript/demos/fishes'\" unpacked with wrong size! fi # end of 'postscript/demos/fishes' fi if test -f 'postscript/fonts/Times/italic.a' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'postscript/fonts/Times/italic.a'\" else echo shar: Extracting \"'postscript/fonts/Times/italic.a'\" \(7989 characters\) sed "s/^X//" >'postscript/fonts/Times/italic.a' <<'END_OF_FILE' XCharStrings X/parenleft X<CB30 X4932 X4735 X4539 X443E X4442 X4547 X474B X494E X4B50 XC932 X4736 X4639 X453E X4542 X4647 X474A X494E X> Xput XMetrics X/parenleft X[9 X14] Xput XCharStrings X/parenright X<C330 X4532 X4735 X4939 X4A3E X4A42 X4947 X474B X454E X4350 XC532 X4736 X4839 X493E X4942 X4847 X474A X454E X> Xput XMetrics X/parenright X[9 X14] Xput XCharStrings X/bracketleft X<C430 X4450 XC530 X4550 XC430 X4B30 XC450 X4B50 X> Xput XMetrics X/bracketleft X[9 X14] Xput XCharStrings X/bracketright X<C930 X4950 XCA30 X4A50 XC330 X4A30 XC350 X4A50 X> Xput XMetrics X/bracketright X[9 X14] Xput XCharStrings X/braceleft X<C930 X4731 X4632 X4534 X4536 X4638 X4739 X483B X483D X463F XC731 X4633 X4635 X4737 X4838 X493A X493C X483E X4440 X4842 X4944 X4946 X4848 X4749 X464B X464D X474F XC641 X4843 X4845 X4747 X4648 X454A X454C X464E X474F X4950 X> Xput XMetrics X/braceleft X[9 X14] Xput XCharStrings X/braceright X<C530 X4731 X4832 X4934 X4936 X4838 X4739 X463B X463D X483F XC731 X4833 X4835 X4737 X4638 X453A X453C X463E X4A40 X4642 X4544 X4546 X4648 X4749 X484B X484D X474F XC841 X4643 X4645 X4747 X4848 X494A X494C X484E X474F X4550 X> Xput XMetrics X/braceright X[9 X14] Xput XCharStrings X/zero X<C934 X4635 X4438 X433D X4340 X4445 X4648 X4949 X4B49 X4E48 X5045 X5140 X513D X5038 X4E35 X4B34 X4934 XC934 X4735 X4636 X4538 X443D X4440 X4545 X4647 X4748 X4949 XCB49 X4D48 X4E47 X4F45 X5040 X503D X4F38 X4E36 X4D35 X4B34 X> Xput XMetrics X/zero X[2 X20] Xput XCharStrings X/one X<C638 X4837 X4B34 X4B49 XCA35 X4A49 XC649 X4F49 X> Xput XMetrics X/one X[2 X20] Xput XCharStrings X/two X<C438 X4539 X443A X4339 X4338 X4436 X4535 X4834 X4C34 X4F35 X5036 X5138 X513A X503C X4D3E X4840 X4641 X4443 X4346 X4349 XCC34 X4E35 X4F36 X5038 X503A X4F3C X4C3E X4840 XC347 X4446 X4646 X4B48 X4E48 X5047 X5146 XC646 X4B49 X4F49 X5048 X5146 X5144 X> Xput XMetrics X/two X[2 X20] Xput XCharStrings X/three X<C438 X4539 X443A X4339 X4338 X4436 X4535 X4834 X4C34 X4F35 X5037 X503A X4F3C X4C3D X493D XCC34 X4E35 X4F37 X4F3A X4E3C X4C3D XCC3D X4E3E X5040 X5142 X5145 X5047 X4F48 X4C49 X4849 X4548 X4447 X4345 X4344 X4443 X4544 X4445 XCF3F X5042 X5045 X4F47 X4E48 X4C49 X> Xput XMetrics X/three X[2 X20] Xput XCharStrings X/four X<CC36 X4C49 XCD34 X4D49 XCD34 X4243 X5243 XC949 X5049 X> Xput XMetrics X/four X[2 X20] Xput XCharStrings X/five X<C534 X433E XC33E X453C X483B X4B3B X4E3C X503E X5141 X5143 X5046 X4E48 X4B49 X4849 X4548 X4447 X4345 X4344 X4443 X4544 X4445 XCB3B X4D3C X4F3E X5041 X5043 X4F46 X4D48 X4B49 XC534 X4F34 XC535 X4A35 X4F34 X> Xput XMetrics X/five X[2 X20] Xput XCharStrings X/six X<CF37 X4E38 X4F39 X5038 X5037 X4F35 X4D34 X4A34 X4735 X4537 X4439 X433D X4343 X4446 X4648 X4949 X4B49 X4E48 X5046 X5143 X5142 X503F X4E3D X4B3C X4A3C X473D X453F X4442 XCA34 X4835 X4637 X4539 X443D X4443 X4546 X4748 X4949 XCB49 X4D48 X4F46 X5043 X5042 X4F3F X4D3D X4B3C X> Xput XMetrics X/six X[2 X20] Xput XCharStrings X/seven X<C334 X433A XC338 X4436 X4634 X4834 X4D37 X4F37 X5036 X5134 XC436 X4635 X4835 X4D37 XD134 X5137 X503A X4C3F X4B41 X4A44 X4A49 XD03A X4B3F X4A41 X4944 X4949 X> Xput XMetrics X/seven X[2 X20] Xput XCharStrings X/eight X<C834 X4535 X4437 X443A X453C X483D X4C3D X4F3C X503A X5037 X4F35 X4C34 X4834 XC834 X4635 X4537 X453A X463C X483D XCC3D X4E3C X4F3A X4F37 X4E35 X4C34 XC83D X453E X443F X4341 X4345 X4447 X4548 X4849 X4C49 X4F48 X5047 X5145 X5141 X503F X4F3E X4C3D XC83D X463E X453F X4441 X4445 X4547 X4648 X4849 XCC49 X4E48 X4F47 X5045 X5041 X4F3F X4E3E X4C3D X> Xput XMetrics X/eight X[2 X20] Xput XCharStrings X/nine X<D03B X4F3E X4D40 X4A41 X4941 X4640 X443E X433B X433A X4437 X4635 X4934 X4B34 X4E35 X5037 X513A X5140 X5044 X4F46 X4D48 X4A49 X4749 X4548 X4446 X4445 X4544 X4645 X4546 XC941 X4740 X453E X443B X443A X4537 X4735 X4934 XCB34 X4D35 X4F37 X503A X5040 X4F44 X4E46 X4C48 X4A49 X> Xput XMetrics X/nine X[2 X20] Xput XCharStrings X/period X<C547 X4448 X4549 X4648 X4547 X> Xput XMetrics X/period X[-4 X10] Xput XCharStrings X/comma X<C549 X4448 X4547 X4648 X464A X454C X444D X> Xput XMetrics X/comma X[-4 X10] Xput XCharStrings X/colon X<C53B X443C X453D X463C X453B XC547 X4448 X4549 X4648 X4547 X> Xput XMetrics X/colon X[0 X10] Xput XCharStrings X/semicolon X<C53B X443C X453D X463C X453B XC549 X4448 X4547 X4648 X464A X454C X444D X> Xput XMetrics X/semicolon X[0 X10] Xput XCharStrings X/exclam X<C534 X4436 X4542 X4636 X4534 XC536 X453C XC547 X4448 X4549 X4648 X4547 X> Xput XMetrics X/exclam X[7 X10] Xput XCharStrings X/question X<C438 X4539 X443A X4339 X4338 X4436 X4535 X4734 X4A34 X4D35 X4E36 X4F38 X4F3A X4E3C X4D3D X493F X4942 XCA34 X4C35 X4D36 X4E38 X4E3A X4D3C X4B3E XC947 X4848 X4949 X4A48 X4947 X> Xput XMetrics X/question X[3 X18] Xput XCharStrings X/quoteright X<C434 X433B XC534 X433B X> Xput XMetrics X/quoteright X[8 X8] Xput XCharStrings X/quotedbl X<C434 X433B XC534 X433B XCC34 X4B3B XCD34 X4B3B X> Xput XMetrics X/quotedbl X[4 X16] Xput XCharStrings X/ring X<C634 X4435 X4337 X4339 X443B X463C X483C X4A3B X4B39 X4B37 X4A35 X4834 X4634 X> Xput XMetrics X/ring X[5 X14] Xput XCharStrings X/asterisk X<C834 X4840 XC337 X4D3D XCD37 X433D X> Xput XMetrics X/asterisk X[4 X16] Xput XCharStrings X/slash X<D430 X4250 X> Xput XMetrics X/slash X[5 X22] Xput XCharStrings X/parenleft X<CB30 X4932 X4735 X4539 X443E X4442 X4547 X474B X494E X4B50 XC932 X4736 X4639 X453E X4542 X4647 X474A X494E X> Xput XMetrics X/parenleft X[9 X14] Xput XCharStrings X/parenright X<C330 X4532 X4735 X4939 X4A3E X4A42 X4947 X474B X454E X4350 XC532 X4736 X4839 X493E X4942 X4847 X474A X454E X> Xput XMetrics X/parenright X[9 X14] Xput XCharStrings X/bracketleft X<C430 X4450 XC530 X4550 XC430 X4B30 XC450 X4B50 X> Xput XMetrics X/bracketleft X[9 X14] Xput XCharStrings X/bracketright X<C930 X4950 XCA30 X4A50 XC330 X4A30 XC350 X4A50 X> Xput XMetrics X/bracketright X[9 X14] Xput XCharStrings X/braceleft X<C930 X4731 X4632 X4534 X4536 X4638 X4739 X483B X483D X463F XC731 X4633 X4635 X4737 X4838 X493A X493C X483E X4440 X4842 X4944 X4946 X4848 X4749 X464B X464D X474F XC641 X4843 X4845 X4747 X4648 X454A X454C X464E X474F X4950 X> Xput XMetrics X/braceleft X[9 X14] Xput XCharStrings X/braceright X<C530 X4731 X4832 X4934 X4936 X4838 X4739 X463B X463D X483F XC731 X4833 X4835 X4737 X4638 X453A X453C X463E X4A40 X4642 X4544 X4546 X4648 X4749 X484B X484D X474F XC841 X4643 X4645 X4747 X4848 X494A X494C X484E X474F X4550 X> Xput XMetrics X/braceright X[9 X14] Xput XCharStrings X/angleleft X<CA30 X4340 X4A50 X> Xput XMetrics X/angleleft X[9 X14] Xput XCharStrings X/angleright X<C430 X4B40 X4450 X> Xput XMetrics X/angleright X[9 X14] Xput XCharStrings X/bar X<C430 X4450 X> Xput XMetrics X/bar X[12 X8] Xput XCharStrings X/minus X<C440 X5640 X> Xput XMetrics X/minus X[-4 X26] Xput XCharStrings X/plus X<CD37 X4D49 XC440 X5640 X> Xput XMetrics X/plus X[-4 X26] Xput XCharStrings X/equal X<C43D X563D XC443 X5643 X> Xput XMetrics X/equal X[-4 X26] Xput XCharStrings X/less X<D437 X4440 X5449 X> Xput XMetrics X/less X[-3 X24] Xput XCharStrings X/greater X<C437 X5440 X4449 X> Xput XMetrics X/greater X[-3 X24] Xput XCharStrings X/asciicircum X<C342 X4B3D X5342 XC342 X4B3E X5342 X> Xput XMetrics X/asciicircum X[-3 X22] Xput XCharStrings X/quoteleft X<C536 X4435 X4534 X4635 X4637 X4539 X443A X> Xput XMetrics X/quoteleft X[7 X10] Xput XCharStrings X/quoteright X<C634 X4535 X4437 X4439 X453A X4639 X4538 X> Xput XMetrics X/quoteright X[7 X10] Xput XCharStrings X/percent X<D534 X4349 XC834 X4A36 X4A38 X493A X473B X453B X4339 X4337 X4435 X4634 X4834 X4A35 X4D36 X5036 X5335 X5534 XD142 X4F43 X4E45 X4E47 X5049 X5249 X5448 X5546 X5544 X5342 X5142 X> Xput XMetrics X/percent X[0 X24] Xput XCharStrings X/ampersand X<D53C X543D X553E X563D X563C X553B X543B X533C X523E X5043 X4E46 X4C48 X4A49 X4749 X4448 X4346 X4343 X4441 X4A3D X4C3B X4D39 X4D37 X4C35 X4A34 X4835 X4737 X4739 X483C X4A3F X4F46 X5148 X5449 X5549 X5648 X5647 XC749 X4548 X4446 X4443 X4541 X473F XC739 X483B X5046 X5248 X5449 X> Xput XMetrics X/ampersand X[0 X25] Xput XCharStrings X/at X<D23C X513A X4F39 X4C39 X4A3A X493B X483E X4841 X4943 X4B44 X4E44 X5043 X5141 XCC39 X4A3B X493E X4941 X4A43 X4B44 XD239 X5141 X5143 X5344 X5544 X5742 X583F X583D X573A X5638 X5436 X5235 X4F34 X4C34 X4935 X4736 X4538 X443A X433D X4340 X4443 X4545 X4747 X4948 X4C49 X4F49 X5248 X5447 X5546 XD339 X5241 X5243 X5344 X> Xput XMetrics X/at X[-1 X27] Xput XCharStrings X/dollar X<C830 X484D XCC30 X4C4D XD037 X4F38 X5039 X5138 X5137 X4F35 X4C34 X4834 X4535 X4337 X4339 X443B X453C X473D X4D3F X4F40 X5142 XC339 X453B X473C X4D3E X4F3F X5040 X5142 X5146 X4F48 X4C49 X4849 X4548 X4346 X4345 X4444 X4545 X4446 X> Xput XMetrics X/dollar X[6 X20] Xput XCharStrings X/numbersign X<CB34 X4450 XD134 X4A50 XC43F X523F XC345 X5145 X> Xput XMetrics X/numbersign X[2 X21] Xput XCharStrings X/space X() Xput XMetrics X/space X[0 X20] Xput XCharStrings X/.notdef X<CF44 X4F45 X4E47 X4D48 X4B49 X4749 X4548 X4447 X4345 X4343 X4441 X4540 X493E X493B XC936 X4A35 X4934 X4835 X4936 X> Xput XMetrics X/.notdef X[3 X18] Xput XCharStrings X/hyphen X<C342 X4341 X4B41 X4B42 X4342 X> Xput XMetrics X/hyphen X[-3 X14] Xput XCharStrings X/underscore X<C048 X4049 X5049 X5048 X4048 X> Xput XMetrics X/underscore X[0 X16] Xput XCharStrings X/backslash X<C43D X563D X5643 X> Xput XMetrics X/backslash X[-4 X26] Xput XCharStrings X/asciitilde X<C343 X4341 X443E X463D X483D X4A3E X4E41 X5042 X5242 X5441 X553F XC341 X443F X463E X483E X4A3F X4E42 X5043 X5243 X5442 X553F X553D X> Xput XMetrics X/asciitilde X[-3 X24] Xput END_OF_FILE if test 7989 -ne `wc -c <'postscript/fonts/Times/italic.a'`; then echo shar: \"'postscript/fonts/Times/italic.a'\" unpacked with wrong size! fi # end of 'postscript/fonts/Times/italic.a' fi if test -f 'postscript/fonts/Times/roman.a' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'postscript/fonts/Times/roman.a'\" else echo shar: Extracting \"'postscript/fonts/Times/roman.a'\" \(7887 characters\) sed "s/^X//" >'postscript/fonts/Times/roman.a' <<'END_OF_FILE' XCharStrings X/parenleft X<CB30 X4932 X4735 X4539 X443E X4442 X4547 X474B X494E X4B50 XC932 X4736 X4639 X453E X4542 X4647 X474A X494E X> Xput XMetrics X/parenleft X[9 X14] Xput XCharStrings X/parenright X<C330 X4532 X4735 X4939 X4A3E X4A42 X4947 X474B X454E X4350 XC532 X4736 X4839 X493E X4942 X4847 X474A X454E X> Xput XMetrics X/parenright X[9 X14] Xput XCharStrings X/bracketleft X<C430 X4450 XC530 X4550 XC430 X4B30 XC450 X4B50 X> Xput XMetrics X/bracketleft X[9 X14] Xput XCharStrings X/bracketright X<C930 X4950 XCA30 X4A50 XC330 X4A30 XC350 X4A50 X> Xput XMetrics X/bracketright X[9 X14] Xput XCharStrings X/braceleft X<C930 X4731 X4632 X4534 X4536 X4638 X4739 X483B X483D X463F XC731 X4633 X4635 X4737 X4838 X493A X493C X483E X4440 X4842 X4944 X4946 X4848 X4749 X464B X464D X474F XC641 X4843 X4845 X4747 X4648 X454A X454C X464E X474F X4950 X> Xput XMetrics X/braceleft X[9 X14] Xput XCharStrings X/braceright X<C530 X4731 X4832 X4934 X4936 X4838 X4739 X463B X463D X483F XC731 X4833 X4835 X4737 X4638 X453A X453C X463E X4A40 X4642 X4544 X4546 X4648 X4749 X484B X484D X474F XC841 X4643 X4645 X4747 X4848 X494A X494C X484E X474F X4550 X> Xput XMetrics X/braceright X[9 X14] Xput XCharStrings X/zero X<C934 X4635 X4438 X433D X4340 X4445 X4648 X4949 X4B49 X4E48 X5045 X5140 X513D X5038 X4E35 X4B34 X4934 XC934 X4735 X4636 X4538 X443D X4440 X4545 X4647 X4748 X4949 XCB49 X4D48 X4E47 X4F45 X5040 X503D X4F38 X4E36 X4D35 X4B34 X> Xput XMetrics X/zero X[2 X20] Xput XCharStrings X/one X<C638 X4837 X4B34 X4B49 XCA35 X4A49 XC649 X4F49 X> Xput XMetrics X/one X[2 X20] Xput XCharStrings X/two X<C438 X4539 X443A X4339 X4338 X4436 X4535 X4834 X4C34 X4F35 X5036 X5138 X513A X503C X4D3E X4840 X4641 X4443 X4346 X4349 XCC34 X4E35 X4F36 X5038 X503A X4F3C X4C3E X4840 XC347 X4446 X4646 X4B48 X4E48 X5047 X5146 XC646 X4B49 X4F49 X5048 X5146 X5144 X> Xput XMetrics X/two X[2 X20] Xput XCharStrings X/three X<C438 X4539 X443A X4339 X4338 X4436 X4535 X4834 X4C34 X4F35 X5037 X503A X4F3C X4C3D X493D XCC34 X4E35 X4F37 X4F3A X4E3C X4C3D XCC3D X4E3E X5040 X5142 X5145 X5047 X4F48 X4C49 X4849 X4548 X4447 X4345 X4344 X4443 X4544 X4445 XCF3F X5042 X5045 X4F47 X4E48 X4C49 X> Xput XMetrics X/three X[2 X20] Xput XCharStrings X/four X<CC36 X4C49 XCD34 X4D49 XCD34 X4243 X5243 XC949 X5049 X> Xput XMetrics X/four X[2 X20] Xput XCharStrings X/five X<C534 X433E XC33E X453C X483B X4B3B X4E3C X503E X5141 X5143 X5046 X4E48 X4B49 X4849 X4548 X4447 X4345 X4344 X4443 X4544 X4445 XCB3B X4D3C X4F3E X5041 X5043 X4F46 X4D48 X4B49 XC534 X4F34 XC535 X4A35 X4F34 X> Xput XMetrics X/five X[2 X20] Xput XCharStrings X/six X<CF37 X4E38 X4F39 X5038 X5037 X4F35 X4D34 X4A34 X4735 X4537 X4439 X433D X4343 X4446 X4648 X4949 X4B49 X4E48 X5046 X5143 X5142 X503F X4E3D X4B3C X4A3C X473D X453F X4442 XCA34 X4835 X4637 X4539 X443D X4443 X4546 X4748 X4949 XCB49 X4D48 X4F46 X5043 X5042 X4F3F X4D3D X4B3C X> Xput XMetrics X/six X[2 X20] Xput XCharStrings X/seven X<C334 X433A XC338 X4436 X4634 X4834 X4D37 X4F37 X5036 X5134 XC436 X4635 X4835 X4D37 XD134 X5137 X503A X4C3F X4B41 X4A44 X4A49 XD03A X4B3F X4A41 X4944 X4949 X> Xput XMetrics X/seven X[2 X20] Xput XCharStrings X/eight X<C834 X4535 X4437 X443A X453C X483D X4C3D X4F3C X503A X5037 X4F35 X4C34 X4834 XC834 X4635 X4537 X453A X463C X483D XCC3D X4E3C X4F3A X4F37 X4E35 X4C34 XC83D X453E X443F X4341 X4345 X4447 X4548 X4849 X4C49 X4F48 X5047 X5145 X5141 X503F X4F3E X4C3D XC83D X463E X453F X4441 X4445 X4547 X4648 X4849 XCC49 X4E48 X4F47 X5045 X5041 X4F3F X4E3E X4C3D X> Xput XMetrics X/eight X[2 X20] Xput XCharStrings X/nine X<D03B X4F3E X4D40 X4A41 X4941 X4640 X443E X433B X433A X4437 X4635 X4934 X4B34 X4E35 X5037 X513A X5140 X5044 X4F46 X4D48 X4A49 X4749 X4548 X4446 X4445 X4544 X4645 X4546 XC941 X4740 X453E X443B X443A X4537 X4735 X4934 XCB34 X4D35 X4F37 X503A X5040 X4F44 X4E46 X4C48 X4A49 X> Xput XMetrics X/nine X[2 X20] Xput XCharStrings X/period X<C547 X4448 X4549 X4648 X4547 X> Xput XMetrics X/period X[-4 X10] Xput XCharStrings X/comma X<C549 X4448 X4547 X4648 X464A X454C X444D X> Xput XMetrics X/comma X[-4 X10] Xput XCharStrings X/colon X<C53B X443C X453D X463C X453B XC547 X4448 X4549 X4648 X4547 X> Xput XMetrics X/colon X[0 X10] Xput XCharStrings X/semicolon X<C53B X443C X453D X463C X453B XC549 X4448 X4547 X4648 X464A X454C X444D X> Xput XMetrics X/semicolon X[0 X10] Xput XCharStrings X/exclam X<C534 X4436 X4542 X4636 X4534 XC536 X453C XC547 X4448 X4549 X4648 X4547 X> Xput XMetrics X/exclam X[7 X10] Xput XCharStrings X/question X<C438 X4539 X443A X4339 X4338 X4436 X4535 X4734 X4A34 X4D35 X4E36 X4F38 X4F3A X4E3C X4D3D X493F X4942 XCA34 X4C35 X4D36 X4E38 X4E3A X4D3C X4B3E XC947 X4848 X4949 X4A48 X4947 X> Xput XMetrics X/question X[3 X18] Xput XCharStrings X/quoteright X<C434 X433B XC534 X433B X> Xput XMetrics X/quoteright X[8 X8] Xput XCharStrings X/quotedbl X<C434 X433B XC534 X433B XCC34 X4B3B XCD34 X4B3B X> Xput XMetrics X/quotedbl X[4 X16] Xput XCharStrings X/ring X<C634 X4435 X4337 X4339 X443B X463C X483C X4A3B X4B39 X4B37 X4A35 X4834 X4634 X> Xput XMetrics X/ring X[5 X14] Xput XCharStrings X/asterisk X<C834 X4840 XC337 X4D3D XCD37 X433D X> Xput XMetrics X/asterisk X[4 X16] Xput XCharStrings X/slash X<D430 X4250 X> Xput XMetrics X/slash X[5 X22] Xput XCharStrings X/parenleft X<CB30 X4932 X4735 X4539 X443E X4442 X4547 X474B X494E X4B50 XC932 X4736 X4639 X453E X4542 X4647 X474A X494E X> Xput XMetrics X/parenleft X[9 X14] Xput XCharStrings X/parenright X<C330 X4532 X4735 X4939 X4A3E X4A42 X4947 X474B X454E X4350 XC532 X4736 X4839 X493E X4942 X4847 X474A X454E X> Xput XMetrics X/parenright X[9 X14] Xput XCharStrings X/bracketleft X<C430 X4450 XC530 X4550 XC430 X4B30 XC450 X4B50 X> Xput XMetrics X/bracketleft X[9 X14] Xput XCharStrings X/bracketright X<C930 X4950 XCA30 X4A50 XC330 X4A30 XC350 X4A50 X> Xput XMetrics X/bracketright X[9 X14] Xput XCharStrings X/braceleft X<C930 X4731 X4632 X4534 X4536 X4638 X4739 X483B X483D X463F XC731 X4633 X4635 X4737 X4838 X493A X493C X483E X4440 X4842 X4944 X4946 X4848 X4749 X464B X464D X474F XC641 X4843 X4845 X4747 X4648 X454A X454C X464E X474F X4950 X> Xput XMetrics X/braceleft X[9 X14] Xput XCharStrings X/braceright X<C530 X4731 X4832 X4934 X4936 X4838 X4739 X463B X463D X483F XC731 X4833 X4835 X4737 X4638 X453A X453C X463E X4A40 X4642 X4544 X4546 X4648 X4749 X484B X484D X474F XC841 X4643 X4645 X4747 X4848 X494A X494C X484E X474F X4550 X> Xput XMetrics X/braceright X[9 X14] Xput XCharStrings X/angleleft X<CA30 X4340 X4A50 X> Xput XMetrics X/angleleft X[9 X14] Xput XCharStrings X/angleright X<C430 X4B40 X4450 X> Xput XMetrics X/angleright X[9 X14] Xput XCharStrings X/bar X<C430 X4450 X> Xput XMetrics X/bar X[12 X8] Xput XCharStrings X/minus X<C440 X5640 X> Xput XMetrics X/minus X[-4 X26] Xput XCharStrings X/plus X<CD37 X4D49 XC440 X5640 X> Xput XMetrics X/plus X[-4 X26] Xput XCharStrings X/equal X<C43D X563D XC443 X5643 X> Xput XMetrics X/equal X[-4 X26] Xput XCharStrings X/less X<D437 X4440 X5449 X> Xput XMetrics X/less X[-3 X24] Xput XCharStrings X/greater X<C437 X5440 X4449 X> Xput XMetrics X/greater X[-3 X24] Xput XCharStrings X/asciicircum X<C342 X4B3D X5342 XC342 X4B3E X5342 X> Xput XMetrics X/asciicircum X[-3 X22] Xput XCharStrings X/quoteright X<C536 X4435 X4534 X4635 X4637 X4539 X443A X> Xput XMetrics X/quoteleft X[7 X10] Xput XCharStrings X/quoteleft X<C634 X4535 X4437 X4439 X453A X4639 X4538 X> Xput XMetrics X/quoteright X[7 X10] Xput XCharStrings X/percent X<D534 X4349 XC834 X4A36 X4A38 X493A X473B X453B X4339 X4337 X4435 X4634 X4834 X4A35 X4D36 X5036 X5335 X5534 XD142 X4F43 X4E45 X4E47 X5049 X5249 X5448 X5546 X5544 X5342 X5142 X> Xput XMetrics X/percent X[0 X24] Xput XCharStrings X/ampersand X<D53C X543D X553E X563D X563C X553B X543B X533C X523E X5043 X4E46 X4C48 X4A49 X4749 X4448 X4346 X4343 X4441 X4A3D X4C3B X4D39 X4D37 X4C35 X4A34 X4835 X4737 X4739 X483C X4A3F X4F46 X5148 X5449 X5549 X5648 X5647 XC749 X4548 X4446 X4443 X4541 X473F XC739 X483B X5046 X5248 X5449 X> Xput XMetrics X/ampersand X[0 X25] Xput XCharStrings X/at X<D23C X513A X4F39 X4C39 X4A3A X493B X483E X4841 X4943 X4B44 X4E44 X5043 X5141 XCC39 X4A3B X493E X4941 X4A43 X4B44 XD239 X5141 X5143 X5344 X5544 X5742 X583F X583D X573A X5638 X5436 X5235 X4F34 X4C34 X4935 X4736 X4538 X443A X433D X4340 X4443 X4545 X4747 X4948 X4C49 X4F49 X5248 X5447 X5546 XD339 X5241 X5243 X5344 X> Xput XMetrics X/at X[-1 X27] Xput XCharStrings X/dollar X<C830 X484D XCC30 X4C4D XD037 X4F38 X5039 X5138 X5137 X4F35 X4C34 X4834 X4535 X4337 X4339 X443B X453C X473D X4D3F X4F40 X5142 XC339 X453B X473C X4D3E X4F3F X5040 X5142 X5146 X4F48 X4C49 X4849 X4548 X4346 X4345 X4444 X4545 X4446 X> Xput XMetrics X/dollar X[6 X20] Xput XCharStrings X/space X() Xput XMetrics X/space X[0 X20] Xput XCharStrings X/.notdef X<CF44 X4F45 X4E47 X4D48 X4B49 X4749 X4548 X4447 X4345 X4343 X4441 X4540 X493E X493B XC936 X4A35 X4934 X4835 X4936 X> Xput XMetrics X/.notdef X[3 X18] Xput XCharStrings X/hyphen X<C342 X4341 X4B41 X4B42 X4342 X> Xput XMetrics X/hyphen X[-3 X14] Xput XCharStrings X/underscore X<C048 X4049 X5049 X5048 X4048 X> Xput XMetrics X/underscore X[0 X16] Xput XCharStrings X/backslash X<C43D X563D X5643 X> Xput XMetrics X/backslash X[-4 X26] Xput XCharStrings X/asciitilde X<C343 X4341 X443E X463D X483D X4A3E X4E41 X5042 X5242 X5441 X553F XC341 X443F X463E X483E X4A3F X4E42 X5043 X5243 X5442 X553F X553D X> Xput XMetrics X/asciitilde X[-3 X24] Xput END_OF_FILE if test 7887 -ne `wc -c <'postscript/fonts/Times/roman.a'`; then echo shar: \"'postscript/fonts/Times/roman.a'\" unpacked with wrong size! fi # end of 'postscript/fonts/Times/roman.a' fi if test -f 'postscript/fonts/times/greek.r' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'postscript/fonts/times/greek.r'\" else echo shar: Extracting \"'postscript/fonts/times/greek.r'\" \(7459 characters\) sed "s/^X//" >'postscript/fonts/times/greek.r' <<'END_OF_FILE' XCharStrings X/1127 X<C63D X443E X433F X4241 X4243 X4345 X4546 X4646 X4845 X4A43 X4C40 X4D3D XC63D X443F X4341 X4343 X4445 X4546 XC63D X483D X4A3E X4C45 X4D46 XC83D X493E X4B45 X4D46 X4E46 X> Xput XMetrics X/1127 X[-2 X16] Xput XCharStrings X/1128 X<C739 X453B X443D X4243 X404A XC63A X453C X4342 X414A XC739 X4939 X4B3A X4B3C X4A3E X473F XC939 X4A3A X4A3C X493E X473F XC73F X4940 X4A42 X4A44 X4945 X4746 X4646 X4445 X4342 XC73F X4840 X4942 X4944 X4746 X> Xput XMetrics X/1128 X[0 X13] Xput XCharStrings X/1129 X<C13F X433D X453D X473E X4841 X4846 X474A XC13F X433E X453E X473F X4841 XCC3D X4B40 X4846 X464A X> Xput XMetrics X/1129 X[-1 X14] Xput XCharStrings X/1130 X<C83D X463D X443E X433F X4241 X4243 X4345 X4546 X4746 X4945 X4A44 X4B42 X4B40 X4A3E X473C X463A X4639 X4738 X4938 X4A39 X4B3B XC63D X443F X4341 X4344 X4546 XC746 X4944 X4A42 X4A3F X483D XC63A X4739 X4939 X4B3B X> Xput XMetrics X/1130 X[1 X14] Xput XCharStrings X/1131 X<CA3E X483D X453D X433E X433F X4440 X4641 XC53D X443E X443F X4641 XC641 X4342 X4243 X4245 X4446 X4746 X4945 XC641 X4442 X4343 X4345 X4446 X> Xput XMetrics X/1131 X[-2 X12] Xput XCharStrings X/1132 X<C639 X453A X453B X473C X4A3C X4A3B X473C X443D X433E X4240 X4242 X4344 X4445 X4646 X4747 X4749 X464A X444A X4349 XC73C X453D X443E X4340 X4342 X4444 X4646 X> Xput XMetrics X/1132 X[1 X11] Xput XCharStrings X/1133 X<C140 X423E X433D X453D X463E X463F X4446 XC43D X453E X453F X4346 XC63F X473E X493D X4B3D X4D3E X4D40 X4A4A XCB3D X4C3E X4C40 X494A X> Xput XMetrics X/1133 X[-1 X16] Xput XCharStrings X/1134 X<C141 X423F X433E X453E X463F X4644 X4746 XC43E X453F X4543 X4645 X4746 X4846 X4A45 X4B44 X4C42 X4D3F X4D3C X4C3A X4B39 X4939 X483A X483C X493E X4C40 X4E41 XC846 X4A44 X4B42 X4C3F X4C3C X4B39 X> Xput XMetrics X/1134 X[-1 X16] Xput XCharStrings X/1135 X<C43D X4244 X4245 X4346 X4546 X4745 X4843 XC53D X4344 X4345 X4446 X> Xput XMetrics X/1135 X[-1 X9] Xput XCharStrings X/1136 X<C43D X4146 XC53D X4246 XCA3D X4B3E X4C3E X4B3D X493D X473F X4440 XC440 X4541 X4745 X4946 X4B45 X4C43 XC440 X4641 X4845 X4946 X> Xput XMetrics X/1136 X[-1 X14] Xput XCharStrings X/1137 X<C039 X4239 X443A X4B46 XC239 X433A X4A46 XC63E X4146 XC63E X4246 X> Xput XMetrics X/1137 X[1 X12] Xput XCharStrings X/1138 X<C43D X404A XC53D X414A XC343 X4345 X4446 X4646 X4845 X4944 XCB3D X4944 X4945 X4A46 X4C46 X4D45 X4E43 XCC3D X4A44 X4A45 X4B46 X> Xput XMetrics X/1138 X[0 X15] Xput XCharStrings X/1139 X<C43D X4346 XC53D X4443 X4346 XCC40 X4C3D X4D3D X4C40 X4A43 X4745 X4446 X4346 XC23D X453D X> Xput XMetrics X/1139 X[-2 X15] Xput XCharStrings X/1140 X<C539 X443A X443B X463C X493C XC73C X443D X433E X4340 X4541 X4841 XC73C X453D X443E X4440 X4541 XC641 X4342 X4243 X4245 X4446 X4647 X4748 X4749 X464A X444A XC641 X4442 X4343 X4345 X4446 X> Xput XMetrics X/1140 X[2 X11] Xput XCharStrings X/1141 X<C63D X443E X433F X4241 X4243 X4345 X4546 X4746 X4945 X4A44 X4B42 X4B40 X4A3E X483D X463D XC63D X443F X4341 X4344 X4546 XC746 X4944 X4A42 X4A3F X483D X> Xput XMetrics X/1141 X[-2 X13] Xput XCharStrings X/1142 X<C73E X4446 XC73E X4546 XCB3E X4A46 XCB3E X4B46 XC23F X443D X4F3D XC23F X443E X4F3E X> Xput XMetrics X/1142 X[-2 X17] Xput XCharStrings X/1143 X<C93D X473D X453E X443F X4341 X404A XC73D X453F X4441 X414A XC93D X4B3E X4C40 X4C42 X4B44 X4A45 X4846 X4646 X4445 X4343 XC93D X4B3F X4B42 X4A44 X4846 X> Xput XMetrics X/1143 X[0 X14] Xput XCharStrings X/1144 X<CE3D X463D X443E X433F X4241 X4243 X4345 X4546 X4746 X4945 X4A44 X4B42 X4B40 X4A3E X4E3E XC63D X443F X4341 X4344 X4546 XC746 X4944 X4A42 X4A3F X483D X> Xput XMetrics X/1144 X[-2 X16] Xput XCharStrings X/1145 X<C83E X4646 XC83E X4746 XC23F X443D X4D3D XC23F X443E X4D3E X> Xput XMetrics X/1145 X[-2 X15] Xput XCharStrings X/1146 X<C140 X423E X433D X453D X463E X4640 X4543 X4545 X4646 XC43D X453E X4540 X4443 X4445 X4646 X4746 X4945 X4B43 X4C40 X4C3D X4B3D X4C3E X> Xput XMetrics X/1146 X[-1 X14] Xput XCharStrings X/1147 X<C43E X433F X4241 X4243 X4345 X4546 X4746 X4A45 X4C43 X4D40 X4D3E X4C3D X4A3D X493E X4840 X4743 X444A XC243 X4344 X4545 X4745 X4A44 X4C42 X4D40 XCD3F X4C3E X4A3E X4840 XC743 X4646 X454A X> Xput XMetrics X/1147 X[-2 X15] Xput XCharStrings X/1148 X<C23D X433D X453E X4849 X494A XC33D X443E X4749 X494A X4A4A XCB3D X4940 X4347 X414A X> Xput XMetrics X/1148 X[-1 X13] Xput XCharStrings X/1149 X<CB39 X484A XCC39 X474A XC140 X423E X433D X453D X463E X4644 X4745 X4A45 X4C44 X4E42 XC43D X453E X4542 X4645 X4746 X4A46 X4C45 X4E42 X4F40 X503D X> Xput XMetrics X/1149 X[-1 X18] Xput XCharStrings X/1150 X<C43E X463E X463D X443E X433F X4241 X4243 X4345 X4446 X4646 X4745 X4843 X4940 XC243 X4445 X4645 X4843 XC840 X4845 X4946 X4B46 X4D44 X4E42 X4E40 X4D3E X4C3D X4C3E X4D3E XC843 X4945 X4B45 X4D44 X> Xput XMetrics X/1150 X[-2 X16] Xput XCharStrings X/1027 X<C739 X4246 XC73C X4B46 XC739 X4C46 XC442 X4942 XC046 X4546 XC946 X4E46 X> Xput XMetrics X/1027 X[0 X14] Xput XCharStrings X/1028 X<C439 X4446 XC539 X4546 XC239 X4939 X4C3A X4D3C X4C3E X493F XC939 X4B3A X4C3C X4B3E X493F XC53F X493F X4C40 X4D42 X4D43 X4C45 X4946 X4246 XC93F X4B40 X4C42 X4C43 X4B45 X4946 X> Xput XMetrics X/1028 X[-1 X16] Xput XCharStrings X/1029 X<C439 X4446 XC539 X4546 XC239 X4C39 X4C3D X4B39 XC246 X4746 X> Xput XMetrics X/1029 X[0 X13] Xput XCharStrings X/1030 X<C739 X4146 XC73B X4C46 XC739 X4D46 XC245 X4B45 XC146 X4D46 X> Xput XMetrics X/1030 X[0 X14] Xput XCharStrings X/1031 X<C439 X4446 XC539 X4546 XC93D X4941 XC239 X4C39 X4C3D X4B39 XC53F X493F XC246 X4C46 X4C42 X4B46 X> Xput XMetrics X/1031 X[-1 X15] Xput XCharStrings X/1032 X<CA39 X4246 XCB39 X4346 XC339 X423D X4239 X4B39 XC246 X4B46 X4B42 X4A46 X> Xput XMetrics X/1032 X[1 X13] Xput XCharStrings X/1033 X<C439 X4446 XC539 X4546 XCC39 X4C46 XCD39 X4D46 XC239 X4739 XCA39 X4F39 XC53F X4C3F XC246 X4746 XCA46 X4F46 X> Xput XMetrics X/1033 X[-1 X17] Xput XCharStrings X/1034 X<C639 X443A X433B X423E X4241 X4344 X4445 X4646 X4946 X4B45 X4C44 X4D41 X4D3E X4C3B X4B3A X4939 X4639 XC639 X443B X433E X4341 X4444 X4646 XC946 X4B44 X4C41 X4C3E X4B3B X4939 XC63D X4642 XC93D X4942 XC63F X493F XC640 X4940 X> Xput XMetrics X/1034 X[0 X15] Xput XCharStrings X/1035 X<C439 X4446 XC539 X4546 XC239 X4739 XC246 X4746 X> Xput XMetrics X/1035 X[3 X9] Xput XCharStrings X/1036 X<C439 X4446 XC539 X4546 XCD39 X4541 XC73F X4C46 XC83F X4D46 XC239 X4739 XCA39 X4F39 XC246 X4746 XCA46 X4F46 X> Xput XMetrics X/1036 X[-1 X16] Xput XCharStrings X/1037 X<C739 X4246 XC73C X4B46 XC739 X4C46 XC046 X4546 XC946 X4E46 X> Xput XMetrics X/1037 X[0 X14] Xput XCharStrings X/1038 X<C439 X4446 XC53C X4946 XC539 X4943 XCE39 X4946 XCE39 X4E46 XCF39 X4F46 XC239 X4539 XCE39 X5139 XC246 X4646 XCC46 X5146 X> Xput XMetrics X/1038 X[-2 X19] Xput XCharStrings X/1039 X<C439 X4446 XC53B X4C46 XC539 X4C44 XCC39 X4C46 XC239 X4539 XCA39 X4E39 XC246 X4646 X> Xput XMetrics X/1039 X[-1 X16] Xput XCharStrings X/1040 X<C338 X423B XCE38 X4D3B XC63E X4541 XCB3E X4A41 XC344 X4247 XCE44 X4D47 XC339 X4D39 XC33A X4D3A XC63F X4A3F XC640 X4A40 XC345 X4D45 XC346 X4D46 X> Xput XMetrics X/1040 X[0 X16] Xput XCharStrings X/1041 X<C639 X443A X433B X423E X4241 X4344 X4445 X4646 X4946 X4B45 X4C44 X4D41 X4D3E X4C3B X4B3A X4939 X4639 XC639 X443B X433E X4341 X4444 X4646 XC946 X4B44 X4C41 X4C3E X4B3B X4939 X> Xput XMetrics X/1041 X[0 X15] Xput XCharStrings X/1042 X<C439 X4446 XC539 X4546 XCC39 X4C46 XCD39 X4D46 XC239 X4F39 XC246 X4746 XCA46 X4F46 X> Xput XMetrics X/1042 X[-1 X17] Xput XCharStrings X/1043 X<C439 X4446 XC539 X4546 XC239 X4939 X4C3A X4D3C X4D3D X4C3F X4940 X4540 XC939 X4B3A X4C3C X4C3D X4B3F X4940 XC246 X4746 X> Xput XMetrics X/1043 X[-1 X15] Xput XCharStrings X/1044 X<C239 X473F XC339 X483F X4246 XC239 X4C39 X4D3D X4B39 XC345 X4C45 XC246 X4C46 X4D42 X4B46 X> Xput XMetrics X/1044 X[0 X16] Xput XCharStrings X/1045 X<C739 X4746 XC839 X4846 XC339 X423D X4239 X4D39 X4D3D X4C39 XC546 X4A46 X> Xput XMetrics X/1045 X[0 X15] Xput XCharStrings X/1046 X<C23D X433A X4439 X4539 X463A X473D X4746 XCD3D X4C3A X4B39 X4A39 X493A X483D X4846 XC23D X433B X443A X453A X463B X473D XCD3D X4C3B X4B3A X4A3A X493B X483D XC546 X4A46 X> Xput XMetrics X/1046 X[0 X15] Xput XCharStrings X/1047 X<C739 X4746 XC839 X4846 XC63C X433D X423F X4240 X4342 X4643 X4943 X4C42 X4D40 X4D3F X4C3D X493C X463C XC63C X443D X433F X4340 X4442 X4643 XC943 X4B42 X4C40 X4C3F X4B3D X493C XC539 X4A39 XC546 X4A46 X> Xput XMetrics X/1047 X[0 X15] Xput XCharStrings X/1048 X<C339 X4B46 XC439 X4C46 XCC39 X4346 XC139 X4639 XC939 X4E39 XC146 X4646 XC946 X4E46 X> Xput XMetrics X/1048 X[0 X15] Xput XCharStrings X/1049 X<C839 X4846 XC939 X4946 XC23E X433D X443D X4541 X4743 XCA43 X4C41 X4D3D X4E3D X4F3E XC33D X4440 X4542 X4743 X4A43 X4C42 X4D40 X4E3D XC639 X4B39 XC646 X4B46 X> Xput XMetrics X/1049 X[-1 X17] Xput XCharStrings X/1050 X<C244 X4346 X4646 X4240 X423D X433B X443A X4639 X4939 X4B3A X4C3B X4D3D X4D40 X4946 X4C46 X4D44 XC443 X4340 X433D X443B X4639 XC939 X4B3B X4C3D X4C40 X4B43 XC345 X4545 XCA45 X4C45 X> Xput XMetrics X/1050 X[0 X15] Xput END_OF_FILE if test 7459 -ne `wc -c <'postscript/fonts/times/greek.r'`; then echo shar: \"'postscript/fonts/times/greek.r'\" unpacked with wrong size! fi # end of 'postscript/fonts/times/greek.r' fi if test -f 'source/device.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'source/device.c'\" else echo shar: Extracting \"'source/device.c'\" \(7801 characters\) sed "s/^X//" >'source/device.c' <<'END_OF_FILE' X/* X * Copyright (C) Rutherford Appleton Laboratory 1987 X * X * This source may be copied, distributed, altered or used, but not sold for profit X * or incorporated into a product except under licence from the author. X * It is not in the public domain. X * This notice should remain in the source unaltered, and any changes to the source X * made by persons other than the author should be marked as such. X * X * Crispin Goswell @ Rutherford Appleton Laboratory caag@uk.ac.rl.vd X */ X#include "main.h" X#include "graphics.h" X Xstatic int NullDevice (); Xstatic int FrameDevice (); Xstatic int GrabBits (); X XColour Black = { 0.0, 0.0, 0.0 }, White = { 0.0, 0.0, 1.0 }; X Xstruct device *NewWindowDevice (), *NewBitmapDevice (), *NewCacheDevice (); X XInitDevices () X { X struct hardware *h; X DevicePoint extent; X X InstallOp ("framedevice", FrameDevice, 4, 0, 0, 0, Array, Integer, Integer, Array); X InstallOp ("nulldevice", NullDevice, 0, 0, 0, 0); X InstallOp ("grabbits", GrabBits, 4, 0, 0, 0, Float, Float, Float, Float); X X extent = HardwareExtent (h = InitHardware ()); X gstate->device = NULL; gstate->clipdevice = NULL; X SetDevice (LinkDevice (DeviceFrom (h, DeviceMatrix (extent.dx, extent.dy)))); X } X Xstatic int GrabBits (x, y, w, h) Object x, y, w, h; X { X HardPoint origin, corner, extent; X int width, height, size; X char *s; X struct hardware *dev; X X origin = ExtToInt (NewPoint (BodyReal (x), BodyReal (y))); X corner = ExtToInt (NewPoint (BodyReal (x) + BodyReal (w), BodyReal (y) + BodyReal (h))); X width = corner.hx - origin.hx; X height = corner.hy - origin.hy; X X fprintf (stderr, "width = %d, height = %d\n", width, height); X X extent = NewHardPoint ((float) width, (float) height); X X dev = NewBitmapHardware (width, height); X X BitBlt (gstate->device->dev, dev, X NewDevicePoint ((int) origin.hx, (int) origin.hy), X NewDevicePoint (0, 0), X NewDevicePoint ((int) extent.hx, (int) extent.hy), X ROP_SOURCE); X s = StringFromHardware (dev); X DestroyHardware (dev); X size = (width + 7) / 8 * height; X X Push (OpStack, MakeString (s, size)); X Free (s); X Push (OpStack, MakeInteger (width)); X Push (OpStack, MakeInteger (height)); X X return TRUE; X } X Xstatic int NullDevice () X { X SetDevice ( X NewDevice ( X NewClipPath (0.0, 0.0, 0.0, 0.0), X NewMatrix (1.0, 0.0, 0.0, 1.0, 0.0, 0.0), X (struct hardware *) NULL)); X return TRUE; X } X X/*ARGSUSED*/ Xstatic int FrameDevice (mat, width, height, proc) Object mat, width, height, proc; X { X Matrix m; X X if (lengthArray (mat) != 6 || !ExtractMatrix (&m, mat)) X return Error (PTypeCheck); X if (BodyInteger (width) < 0 || BodyInteger (height) < 0) X return Error (PRangeCheck); X SetDevice (NewWindowDevice (BodyInteger (width) * 8, BodyInteger (height), m)); X ErasePage (); X X return TRUE; X } X Xstruct device *DeviceFrom (h, m) struct hardware *h; Matrix m; X { X DevicePoint extent; X X extent = HardwareExtent (h); X return NewDevice ( X NewClipPath (0.0, (float) extent.dx, (float) extent.dy, 0.0), X m, X h); X } X Xstruct device *NewWindowDevice (width, height, m) int width, height; Matrix m; X { X return DeviceFrom (NewWindowHardware (width, height), m); X } X Xstruct device *NewBitmapDevice (width, height, m) int width, height; Matrix m; X { X return DeviceFrom (NewBitmapHardware (width, height), m); X } X Xstruct device *NewCacheDevice (m, width, height, swidth, sheight) Matrix m; int width, height, swidth, sheight; X { X return NewDevice ( X NewClipPath (0.0, (float) width, (float) height, 0.0), X NewMatrix (m.A, m.B, m.C, m.D, (float) swidth, (float) height - sheight), X NewBitmapHardware (width, height)); X } X XPath NewClipPath (left, right, top, bottom) float left, right, top, bottom; X { X Path p = NewPath (); X HardPoint cp; X int cp_def = gstate->cp_defined; X X cp = gstate->cp; X VOID MoveTo (p, NewHardPoint (left, bottom)); X VOID LineTo (p, NewHardPoint (right, bottom)); X VOID LineTo (p, NewHardPoint (right, top)); X VOID LineTo (p, NewHardPoint (left, top)); X ClosePath (p); X X gstate->cp = cp; gstate->cp_defined = cp_def; X X return p; X } X Xstruct device *NewDevice (clip, m, dev) Path clip; Matrix m; struct hardware *dev; X { X struct device *res = (struct device *) Malloc (sizeof (struct device)); X X res->link_count = 0; X res->default_clip = clip; X res->default_matrix = m; X res->dev = dev; X X return res; X } X XSetDevice (d) struct device *d; X { X UnlinkDevice (gstate->device); X gstate->device = LinkDevice (d); X gstate->CTM = d->default_matrix; X InitClip (); X } X Xint IsCache (d) struct device *d; X { X return !IsWindowHardware (d->dev); X } X Xstruct device *LinkDevice (d) struct device *d; X { X if (d) X ++d->link_count; X X return d; X } X XUnlinkDevice (d) struct device *d; X { X if (d == NULL) X return; X if (--d->link_count != 0) X return; X if (d->dev != NULL) X DestroyHardware (d->dev); X Free ((char *) d); X } X Xstruct device *UniqueDevice (d) struct device *d; X { X struct device *res; X DevicePoint ex; X X if (d && d->link_count == 1) X return d; X ex = HardwareExtent (gstate->device->dev); X res = LinkDevice (NewBitmapDevice (ex.dx, ex.dy, gstate->CTM)); X /*if (d) X { X BitBlt (d->dev, res->dev, NewDevicePoint (0, 0), NewDevicePoint (0, 0), ex, ROP_SOURCE); X UnlinkDevice (d); X } X else X */BitBlt (NULL, res->dev, NewDevicePoint (0, 0), NewDevicePoint (0, 0), ex, ROP_FALSE); X X return res; X } X XDevicePoint NewDevicePoint (x, y) int x, y; X { X DevicePoint res; X X res.dx = x; res.dy = y; X X return res; X } X XDevicePoint HardToDevice (p) HardPoint p; X { X return NewDevicePoint ((int) p.hx, (int) p.hy); X } X XDevicePaintLine (d, fromPoint, toPoint, colour) X struct device *d; X HardPoint fromPoint, toPoint; X Colour colour; X { X PaintLine (d->dev, HardToDevice (fromPoint), HardToDevice (toPoint), colour); X } X X/* Xvoid ColourLine (h, fromPoint, toPoint, rop, colour) X struct hardware *h; X DevicePoint fromPoint, toPoint; X int rop; X Colour colour; X { X int x1 = fromPoint.dx, y1 = fromPoint.dy, x2 = toPoint.dx, y2 = toPoint.dy; X int col = IsWindowHardware (h) ? HardColour (colour) : HardBlack; X X if (col == HardBlack) X { X ddbm = h->bm; X dd->d_line = rop_map [rop]; X line (x1, y1, LNMOVEABS); X line (x2, y2, LNDRAWABS); X } X else X { X box b; X X b = boxbuild (Min (x1, x2), Min (y1, y2), Max (x1, x2), Max (y1, y2)); X X NeedAux (h); X GraySync (h, col); X bmxcopy (h->bm, b, h->bm, b, WWXOR); X X ddbm = h->aux; X dd->d_line = WWOR; X line (x1, y1, LNMOVEABS); X line (x2, y2, LNDRAWABS); X X bmxcopy (h->aux, b, h->bm, b, WWAND | WWNOT); X bmxcopy (h->gray, b, h->aux, b, WWAND); X bmxcopy (h->aux, b, h->bm, b, rop_map [rop]); X X } X } X*/ X X/* Xvoid ColourBitBlt (from, to, fromPoint, toPoint, extent, rop, colour) X struct hardware *from, *to; X DevicePoint fromPoint, toPoint, extent; X int rop; X Colour colour; X { X box frombox, tobox; X int col = IsWindowHardware (to) ? HardColour (colour) : HardBlack; X int op = rop_map [rop]; X X X frombox = boxbuild (fromPoint.dx, fromPoint.dy, X fromPoint.dx + extent.dx - 1, fromPoint.dy + extent.dy - 1); X tobox = boxbuild (toPoint.dx, toPoint.dy, X toPoint.dx + extent.dx - 1, toPoint.dy + extent.dy - 1); X X if (to == NULL) X return; X X if (rop == ROP_FALSE) X bmxcopy (to->bm, tobox, to->bm, tobox, WWXOR); X else if (rop == ROP_TRUE) X if (col == HardBlack) X bmxcopy (to->bm, tobox, to->bm, tobox, WWXOR | WWNOT); X else X { X GraySync (to, col); X bmxcopy (to->gray, tobox, to->bm, tobox, WWCOPY); X } X else if (col == HardBlack) X bmxcopy (from->bm, frombox, to->bm, tobox, op); X else X { X GraySync (to, col); X NeedAux (to); X bmxcopy (to->gray, tobox, to->aux, tobox, WWCOPY); X bmxcopy (from->bm, frombox, to->aux, tobox, WWAND); X bmxcopy (to->aux, tobox, to->bm, tobox, op); X } X } X*/ END_OF_FILE if test 7801 -ne `wc -c <'source/device.c'`; then echo shar: \"'source/device.c'\" unpacked with wrong size! fi # end of 'source/device.c' fi echo shar: End of archive 5 \(of 18\). cp /dev/null ark5isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 18 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0