Amiga-Request@cs.odu.edu (Amiga Sources/Binaries Moderator) (01/15/90)
Submitted-by: Anthony M. Richardson <amr@dukee.egr.duke.edu>
Posting-number: Volume 90, Issue 007
Archive-name: applications/plplot-2.6/part06
#! /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 6 (of 12)."
# Contents: Amiga/Amiga.c drivers/postscript.c fonts/plstnd.fnt.uu
# fonts/plxtnd.idx.uu unix/postscript.c
# Wrapped by tadguy@xanth on Sun Jan 14 18:11:37 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'Amiga/Amiga.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Amiga/Amiga.c'\"
else
echo shar: Extracting \"'Amiga/Amiga.c'\" \(6991 characters\)
sed "s/^X//" >'Amiga/Amiga.c' <<'END_OF_FILE'
X /* Amiga PLPLOT window routines. */
X
X#include "plplot.h"
X#include "plamiga.h"
X#include <stdio.h>
X#ifdef AZTEC_C
X /* Psuedo-ANSI compatibility */
X #define remove(name) unlink(name)
X /* Lattice defines these for you */
X struct IntuitionBase *IntuitionBase;
X struct GfxBase *GfxBase;
X#endif
X
XPLINT XOffset, YOffset, PLWidth, PLHeight;
XPLINT MaxPLWidth, MaxPLHeight;
XPLINT InitPLWidth, InitPLHeight;
Xextern PLINT MaxColors;
X
XFILE *PlotFile;
Xshort fbuffer;
Xstatic PLINT CurColor;
X
Xvoid amisetup(xmm, ymm, xpg, ypg)
XPLINT xpg, ypg;
XPLFLT xmm, ymm;
X{
X}
X
Xvoid amiselect(ori, file)
XPLINT ori;
Xchar *file;
X{
X}
X
X/* amiini is the PLPLOT window initialization routine. It opens the
X necessary libraries and the window. */
Xvoid amiinit()
X{
X PLFLT Initdpmx, Initdpmy;
X
X /* Scan defaults file */
X GetPLDefs();
X /* Open the required libraries. */
X OpenLibs();
X /* Open window for graphics */
X OpenPLWind();
X /* Set up virtual screen width and height */
X /* Virtual screen is 25 times the actual one. */
X MaxPLWidth = PLScreen->Width - PLWindow->BorderLeft - PLWindow->BorderRight - 16;
X MaxPLHeight = PLScreen->Height - PLWindow->BorderTop - PLWindow->BorderBottom - 16;
X InitPLWidth = MaxPLWidth*25;
X InitPLHeight = MaxPLHeight*25;
X Initdpmx = GfxBase->NormalDPMX;
X Initdpmy = GfxBase->NormalDPMY;
X if(PLScreen->ViewPort.Modes & HIRES)
X Initdpmx *= 2.;
X if(PLScreen->ViewPort.Modes & LACE)
X Initdpmy *= 2.;
X setpxl((PLFLT)(Initdpmx/40.),(PLFLT)(Initdpmy/40.));
X setphy(0, (InitPLWidth-1), 0, (InitPLHeight-1));
X scol(1);
X swid(1);
X smod(1);
X
X SetAPen(PLWRPort,1);
X SetDrMd(PLWRPort,JAM1);
X setlimits();
X}
X
Xvoid setlimits()
X{
X XOffset = PLWindow->BorderLeft+8;
X YOffset = PLWindow->BorderTop+8;
X PLWidth = PLWindow->Width - XOffset - PLWindow->BorderRight - 8;
X PLHeight = PLWindow->Height - YOffset - PLWindow->BorderBottom - 8;
X if(PLCurPrefs.WinType & PLASP) {
X if(PLWidth*MaxPLHeight > PLHeight*MaxPLWidth) {
X PLWidth = (MaxPLWidth*PLHeight)/MaxPLHeight;
X XOffset += (PLWindow->Width - PLWidth - PLWindow->BorderLeft -
X PLWindow->BorderRight)/2;
X }
X else {
X PLHeight = (MaxPLHeight*PLWidth)/MaxPLWidth;
X YOffset += (PLWindow->Height - PLHeight - PLWindow->BorderTop -
X PLWindow->BorderBottom)/2;
X }
X }
X}
X
Xvoid amitidy()
X{
X void beepw();
X
X beepw();
X ClosePLWind();
X CloseLibs();
X if(fbuffer) {
X fclose(PlotFile);
X remove(PLOTBFFR);
X }
X}
X
Xvoid OpenLibs()
X{
X IntuitionBase = (struct IntuitionBase *)OpenLibrary("intuition.library",0L);
X if( IntuitionBase == NULL ) {
X puts("\nError opening Intuition library.");
X goto IntError;
X }
X
X GfxBase = (struct GfxBase *)OpenLibrary("graphics.library",0L);
X if( GfxBase == NULL ) {
X puts("\nError opening Graphics library.");
X goto GfxError;
X }
X
X return;
X
XGfxError:
X CloseLibrary((struct Library *)IntuitionBase);
XIntError:
X pl_exit();
X}
X
Xvoid CloseLibs()
X{
X CloseLibrary((struct Library *)GfxBase);
X CloseLibrary((struct Library *)IntuitionBase);
X}
X
Xvoid amitext()
X{
X}
X
Xvoid amigraph()
X{
X}
X
Xvoid amiclear()
X{
X void beepw(), setpen();
X
X beepw();
X setpen(0);
X RectFill(PLWRPort,XOffset,YOffset,PLWidth+XOffset,PLHeight+YOffset);
X setpen(CurColor);
X if(fbuffer) {
X fclose(PlotFile);
X remove(PLOTBFFR);
X }
X}
X
Xstatic PLINT xold, yold;
X
Xvoid amipage()
X{
X fbuffer = 0;
X if(PLCurPrefs.WinType & PLBUFF) {
X PlotFile = fopen(PLOTBFFR,"w+");
X if(PlotFile == NULL) {
X fprintf(stderr,"\nError opening plot data storage file.\n");
X ClosePLWind();
X CloseLibs();
X exit(1);
X }
X fbuffer = 1;
X }
X xold = -100000; yold = -100000;
X}
X
X
Xvoid amiline(x1, y1, x2, y2)
XPLINT x1, y1, x2, y2;
X{
X short comm, xshrt, yshrt;
X
X /* Check for intuition messages */
X procmess();
X if(x1 == xold && y1 == yold) {
X comm = PEND;
X xshrt = x2;
X yshrt = y2;
X if(fbuffer) {
X (void)fwrite((char *)&comm,sizeof(short),1,PlotFile);
X (void)fwrite((char *)&xshrt,sizeof(short),1,PlotFile);
X (void)fwrite((char *)&yshrt,sizeof(short),1,PlotFile);
X }
X PLDraw((PLWidth*x2)/InitPLWidth,(PLHeight*y2)/InitPLHeight);
X }
X else {
X comm = PENU;
X xshrt = x1;
X yshrt = y1;
X if(fbuffer) {
X (void)fwrite((char *)&comm,sizeof(short),1,PlotFile);
X (void)fwrite((char *)&xshrt,sizeof(short),1,PlotFile);
X (void)fwrite((char *)&yshrt,sizeof(short),1,PlotFile);
X }
X comm = PEND;
X xshrt = x2;
X yshrt = y2;
X if(fbuffer) {
X (void)fwrite((char *)&comm,sizeof(short),1,PlotFile);
X (void)fwrite((char *)&xshrt,sizeof(short),1,PlotFile);
X (void)fwrite((char *)&yshrt,sizeof(short),1,PlotFile);
X }
X PLMove((PLWidth*x1)/InitPLWidth,(PLHeight*y1)/InitPLHeight);
X PLDraw((PLWidth*x2)/InitPLWidth,(PLHeight*y2)/InitPLHeight);
X }
X xold = x2;
X yold = y2;
X}
X
Xvoid PLMove(x, y)
XPLINT x, y;
X{
X PLINT xsc, ysc;
X
X xsc = XOffset + x;
X ysc = YOffset + PLHeight - y;
X Move(PLWRPort,xsc,ysc);
X}
X
Xvoid PLDraw(x, y)
XPLINT x, y;
X{
X PLINT xsc, ysc;
X
X xsc = XOffset + x;
X ysc = YOffset + PLHeight - y;
X Draw(PLWRPort,xsc,ysc);
X}
X
Xvoid remakeplot()
X{
X long cxy, x1, y1;
X long x, y;
X void setpen();
X
X setpen(0);
X RectFill(PLWRPort,PLWindow->BorderLeft,PLWindow->BorderTop,
X PLWindow->Width-PLWindow->BorderRight,
X PLWindow->Height-PLWindow->BorderBottom);
X
X setpen(1);
X
X if(fbuffer == 0)
X return;
X prepupdate();
X
X while(!getpoint(&cxy, &x1, &y1)) {
X if(cxy == PENU) {
X x = ((long)PLWidth*(long)x1)/InitPLWidth;
X y = ((long)PLHeight*(long)y1)/InitPLHeight;
X PLMove((PLINT)x, (PLINT)y);
X }
X else if(cxy == PEND) {
X x = ((long)PLWidth*(long)x1)/InitPLWidth;
X y = ((long)PLHeight*(long)y1)/InitPLHeight;
X PLDraw((PLINT)x, (PLINT)y);
X }
X else if(cxy == SPEN) {
X CurColor = x1;
X if(x1 >= MaxColors)
X CurColor = 1;
X setpen((PLINT)CurColor);
X }
X }
X
X finiupdate();
X DisplayBeep(PLScreen);
X}
X
Xvoid amiwidth(width)
XPLINT width;
X{
X short shwid, comm;
X
X if(width>=1 && width <=3) {
X comm = PWID;
X shwid = width;
X if(fbuffer) {
X fwrite((char *)&comm,sizeof(short),1,PlotFile);
X fwrite((char *)&shwid,sizeof(short),1,PlotFile);
X }
X }
X}
X
Xvoid amicolor(color)
XPLINT color;
X{
X short shcol, comm;
X void setpen();
X
X if(color >= 0 && color < 16) {
X shcol = color;
X comm = SPEN;
X if(fbuffer) {
X fwrite((char *)&comm,sizeof(short),1,PlotFile);
X fwrite((char *)&shcol,sizeof(short),1,PlotFile);
X }
X if(color >= MaxColors)
X color = 1;
X CurColor = color;
X setpen(color);
X }
X}
X
Xstatic void setpen(color)
XPLINT color;
X{
X SetAPen(PLWRPort,color);
X}
X
Xstatic void beepw()
X{
X DisplayBeep(PLScreen);
X eventwait();
X}
END_OF_FILE
if test 6991 -ne `wc -c <'Amiga/Amiga.c'`; then
echo shar: \"'Amiga/Amiga.c'\" unpacked with wrong size!
fi
# end of 'Amiga/Amiga.c'
fi
if test -f 'drivers/postscript.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'drivers/postscript.c'\"
else
echo shar: Extracting \"'drivers/postscript.c'\" \(9517 characters\)
sed "s/^X//" >'drivers/postscript.c' <<'END_OF_FILE'
X/* This file contains the PostScript device dependent subroutines for */
X/* use with plplot. */
X
X#include "plplot.h"
X#include <stdio.h>
X
X#define LINELENGTH 70
X#define COPIES 1
X#define XSIZE 540
X#define YSIZE 720
X#define XPSSIZE 3000
X#define YPSSIZE 2250
X#define XOFFSET 576
X#define YOFFSET 36
X#define XSCALE 100
X#define YSCALE 100
X#define LINESCALE 100
X#define ANGLE 90
X#define PSX XPSSIZE-1
X#define PSY YPSSIZE-1
X
Xchar *getdate();
Xstatic int numpages = 0;
Xstatic int linepos = 0;
X
Xstatic FILE *OutFile;
Xstatic PLINT orient;
Xstatic PLINT select=0;
Xstatic char FileName[80];
X
Xvoid pssetup(xdpi, ydpi, xwid, ywid)
XPLINT xwid, ywid;
XPLFLT xdpi, ydpi;
X{
X}
X
Xvoid psselect(ori, name)
XPLINT ori;
Xchar *name;
X{
X orient = ori;
X strncpy(FileName,name,sizeof(FileName)-1);
X FileName[sizeof(FileName)-1] = '\0';
X select = 1;
X}
X
X
X/* Open file. Set up for graphics. */
Xvoid psinit()
X{
X char line[80];
X
X if(!select) {
X printf("Landscape or portrait orientation? (0 or 1) ");
X fgets(line,sizeof(line),stdin);
X if(sscanf(line,"%d",&orient) != 1)
X orient = 0;
X }
X
X /* setpxl() sets the dots/mm in the x and y directions */
X setpxl((PLFLT)11.81,(PLFLT)11.81); /* 300 dpi */
X
X /* setphy() sets the device coordinates. These are integer */
X /* values. Set up for landscape orientation (long axis of page in the */
X /* x direction). Origin is in the lower left hand corner. */
X if(!orient)
X setphy(0,PSX,0,PSY);
X else
X setphy(0,PSY,0,PSX);
X
X /* Set default pen color using scol(color). */
X /* Any default pen color can be used but a black pen is probably best. */
X scol(1);
X
X /* Set default pen width using swid(width) */
X swid(1);
X
X /* Set device interaction mode using smod(mode). Set mode to 0 for */
X /* a noninteractive device, Unless you are writing your */
X /* own Amiga screen driver mode should be 0. */
X smod(0);
X
X /* Well that's all the information plplot needs. Let's prompt for a */
X /* graphics file name. */
X for(;;) {
X if(!select) {
X printf("Enter PostScript graphics file name. ");
X fgets(line,sizeof(line),stdin);
X if(sscanf(line,"%s",FileName)!=1)
X continue;
X }
X
X if (!(OutFile = fopen(FileName,"w"))) {
X fprintf(stderr,"Can't open %s.\n",FileName);
X select = 0;
X }
X else
X break;
X }
X select = 0;
X
X /* Header comments into PostScript file */
X
X fprintf(OutFile,"%%!PS-Adobe-2.0 EPSF-2.0\n");
X fprintf(OutFile,"%%%%BoundingBox: 36 36 540 720\n");
X fprintf(OutFile,"%%%%Title: %s\n", FileName);
X fprintf(OutFile,"%%%%Creator: PLPLOT Version 2.0\n");
X fprintf(OutFile,"%%%%CreationDate: %s\n", getdate());
X fprintf(OutFile,"%%%%Pages: (atend)\n");
X fprintf(OutFile,"%%%%EndComments\n\n");
X
X /* Definitions */
X
X fprintf(OutFile, "/PSSave save def\n"); /* save VM state */
X fprintf(OutFile, "/PSDict 200 dict def\n"); /* define a dictionary */
X fprintf(OutFile, "PSDict begin\n"); /* start using it */
X fprintf(OutFile, "/@restore /restore load def\n");
X fprintf(OutFile, "/restore\n");
X fprintf(OutFile, " {vmstatus pop\n");
X fprintf(OutFile, " dup @VMused lt {pop @VMused} if\n");
X fprintf(OutFile, " exch pop exch @restore /@VMused exch def\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/@pri\n");
X fprintf(OutFile, " {\n");
X fprintf(OutFile, " ( ) print\n");
X fprintf(OutFile, " ( ) cvs print\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/@copies\n"); /* n @copies - */
X fprintf(OutFile, " {\n");
X fprintf(OutFile, " /#copies exch def\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/@start\n"); /* - @start - -- start everything */
X fprintf(OutFile, " {\n");
X fprintf(OutFile, " vmstatus pop /@VMused exch def pop\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/@end\n"); /* - @end - -- finished */
X fprintf(OutFile, " {(VM Used: ) print @VMused @pri\n");
X fprintf(OutFile, " (. Unused: ) print vmstatus @VMused sub @pri pop pop\n");
X fprintf(OutFile, " (\\n) print flush\n");
X fprintf(OutFile, " end\n");
X fprintf(OutFile, " PSSave restore\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/bop\n"); /* bop - -- begin a new page */
X fprintf(OutFile, " {\n");
X fprintf(OutFile, " /SaveImage save def\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/eop\n"); /* - eop - -- end a page */
X fprintf(OutFile, " {\n");
X fprintf(OutFile, " showpage\n");
X fprintf(OutFile, " SaveImage restore\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/@line\n"); /* set line parameters */
X fprintf(OutFile, " {0 setlinecap\n");
X fprintf(OutFile, " 0 setlinejoin\n");
X fprintf(OutFile, " 1 setmiterlimit\n");
X fprintf(OutFile, " } def\n");
X /* d @hsize - horizontal clipping dimension */
X fprintf(OutFile, "/@hsize {/hs exch def} def\n");
X fprintf(OutFile, "/@vsize {/vs exch def} def\n");
X /* d @hoffset - shift for the plots */
X fprintf(OutFile, "/@hoffset {/ho exch def} def\n");
X fprintf(OutFile, "/@voffset {/vo exch def} def\n");
X /* s @hscale - scale factors */
X fprintf(OutFile, "/@hscale {100 div /hsc exch def} def\n");
X fprintf(OutFile, "/@vscale {100 div /vsc exch def} def\n");
X /* s @lscale - linewidth scale factor */
X fprintf(OutFile, "/@lscale {100 div /lin exch def} def\n");
X /* a @angle - rotation angle */
X fprintf(OutFile, "/@angle {/ang exch def} def\n");
X fprintf(OutFile, "/@SetPlot\n"); /* setup user specified offsets, */
X fprintf(OutFile, " {\n"); /* scales, sizes for clipping */
X fprintf(OutFile, " ho vo translate\n");
X fprintf(OutFile, " XScale YScale scale\n");
X fprintf(OutFile, " ang rotate\n");
X fprintf(OutFile, " lin lw mul setlinewidth\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/XScale\n"); /* setup x scale */
X fprintf(OutFile, " {hsc hs mul %d div} def\n", YPSSIZE);
X fprintf(OutFile, "/YScale\n"); /* setup y scale */
X fprintf(OutFile, " {vsc vs mul %d div} def\n", XPSSIZE);
X fprintf(OutFile, "/lw 3 def\n"); /* default line width */
X fprintf(OutFile, "/M {moveto} def\n");
X fprintf(OutFile, "/D {lineto} def\n");
X fprintf(OutFile, "/S {stroke} def\n");
X fprintf(OutFile, "/Z {stroke newpath} def\n");
X fprintf(OutFile, "end\n\n"); /* end of dictionary definition */
X
X /* Set up the plots */
X
X fprintf(OutFile, "PSDict begin\n");
X fprintf(OutFile, "@start\n");
X fprintf(OutFile, "%d @copies\n", COPIES);
X fprintf(OutFile, "@line\n");
X fprintf(OutFile, "%d @hsize\n", XSIZE);
X fprintf(OutFile, "%d @vsize\n", YSIZE);
X fprintf(OutFile, "%d @hoffset\n", XOFFSET);
X fprintf(OutFile, "%d @voffset\n", YOFFSET);
X fprintf(OutFile, "%d @hscale\n", XSCALE);
X fprintf(OutFile, "%d @vscale\n", YSCALE);
X fprintf(OutFile, "%d @lscale\n", LINESCALE);
X fprintf(OutFile, "%d @angle\n", ANGLE);
X fprintf(OutFile, "@SetPlot\n\n");
X fprintf(OutFile, "bop\n");
X fprintf(OutFile, "%%%%Page: %d %d\n", numpages+1, numpages+1);
X}
X
X/* Sets the printer to text mode */
Xvoid pstext()
X{
X}
X
X/* Sets the printer to graphics mode */
Xvoid psgraph()
X{
X}
X
X/* Form feed */
Xvoid psclear()
X{
X fprintf(OutFile," S\neop\nbop\n");
X}
X
Xstatic PLINT xlast, ylast;
X
Xvoid pspage()
X{
X numpages++;
X fprintf(OutFile, "%%%%Page: %d %d\n", numpages+1, numpages+1);
X linepos = 0;
X xlast = -100000; ylast = -100000;
X}
X
X/* May put something here someday */
Xvoid pscolor(colour)
Xint colour;
X{
X}
X
X/* I don't know what to put here - Tony */
Xvoid pswidth()
X{
X}
X
Xvoid psline(x1,y1,x2,y2)
XPLINT x1,y1,x2,y2;
X{
X if (linepos + 21 > LINELENGTH) {
X putc('\n', OutFile);
X linepos = 0;
X } else
X putc(' ', OutFile);
X
X if(!orient) {
X if(x1 == xlast && y1 == ylast)
X fprintf(OutFile, "%ld %ld D", x2, y2);
X else
X fprintf(OutFile, "Z %ld %ld M %ld %ld D", x1, y1, x2, y2);
X }
X else {
X if(x1 == xlast && y1 == ylast)
X fprintf(OutFile, "%ld %ld D", PSX-y2, x2);
X else
X fprintf(OutFile, "Z %ld %ld M %ld %ld D", PSX-y1,x1,PSX-y2,x2);
X }
X
X xlast = x2;
X ylast = y2;
X linepos += 21;
X}
X
X/* Close graphics file */
Xvoid pstidy()
X{
X fprintf(OutFile," S\neop\n");
X numpages++;
X fprintf(OutFile, "@end\n\n");
X fprintf(OutFile, "%%%%Trailer\n");
X fprintf(OutFile, "%%%%Pages: %d\n", numpages);
X fclose(OutFile);
X numpages = 0;
X linepos = 0;
X}
X
X/* Get the date and time */
Xstatic char *getdate()
X{
X int len;
X long t, time();
X char *p, *ctime();
X
X t = time((long *) 0);
X p = ctime(&t);
X len = strlen(p);
X *(p + len - 1) = '\0'; /* zap the newline character */
X return p;
X}
END_OF_FILE
if test 9517 -ne `wc -c <'drivers/postscript.c'`; then
echo shar: \"'drivers/postscript.c'\" unpacked with wrong size!
fi
# end of 'drivers/postscript.c'
fi
if test -f 'fonts/plstnd.fnt.uu' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'fonts/plstnd.fnt.uu'\"
else
echo shar: Extracting \"'fonts/plstnd.fnt.uu'\" \(8058 characters\)
sed "s/^X//" >'fonts/plstnd.fnt.uu' <<'END_OF_FILE'
Xbegin 644 plstnd.fnt
XM"R_W#/<)``SX]T````P(]T``^_X%_D!`]PSU"OD,^?=``/D,`@P%"P8*!P@'_
XM!@8$!0,"`D``^0("`@4!!@`'_@?[!OD%^`+W^?=`0/<,]@L(!P<)!0L##/\,@
XM_0O["?H'^03Y__K\^_K]^/_W`_<%^`?Z"/Q`0/<,]0KY#/GW0`#Y#``,`PL%O
XM"08'!P0'_P;\!?H#^`#W^?=`0/<,]@GZ#/KW0`#Z#`<,0`#Z`@("0`#Z]P?W+
XM0$#W#/8(^@SZ]T``^@P'#$``^@("`D!`]PSV"P@'!PD%"P,,_PS]"_L)^@?YD
XM!/G_^OS[^OWX__<#]P7X!_H(_`C_0``#_PC_0$#W#/4+^0SY]T``!PP']T``G
XM^0('`D!`]PS\!``,`/=`0/<,^`@$#`3\`_D"^`#W_O?\^/OY^OSZ_D!`]PSU-
XM"OD,^?=```<,^?Y``/X#!_=`0/<,]@?Z#/KW0`#Z]P;W0$#W#/0,^`SX]T``C
XM^`P`]T``"`P`]T``"`P(]T!`]PSU"_D,^?=``/D,!_=```<,!_=`0/<,]0O^F
XM#/P+^@GY!_@$^/_Y_/KZ_/C^]P+W!/@&^@?\"/\(!`<'!@D$"P(,_@Q`0/<,M
XM]0KY#/GW0`#Y#`(,!0L&"@<(!P4&`P4"`@'Y`4!`]PSU"_X,_`OZ"?D'^`3X:
XM__G\^OK\^/[W`O<$^`;Z!_P(_P@$!P<&"00+`@S^#$```?L']4!`]PSU"OD,?
XM^?=``/D,`@P%"P8*!P@'!@8$!0,"`OD"0````@?W0$#W#/8*!PD%"P(,_@S[&
XM"_D)^0?Z!?L$_0,#`04`!O\'_0?Z!?@"]_[W^_CY^D!`]PSX"``,`/=``/D,Z
XM!PQ`0/<,]0OY#/G]^OK\^/_W`?<$^`;Z!_T'#$!`]PSW"?@,`/=```@,`/=`#
XM0/<,]`SV#/OW0```#/OW0```#`7W0``*#`7W0$#W#/8*^0P']T``!PSY]T!`8
XM]PSW"?@,``(`]T``"`P``D!`]PSV"@<,^?=``/D,!PQ``/GW!_=`0/<,]PD`E
XM#/CW0```#`CW0`#[_@7^0$#W#/4*^0SY]T``^0P"#`4+!@H'"`<&!@0%`P(">
XM0`#Y`@("!0$&``?^!_L&^07X`O?Y]T!`]PSV!_H,^O=``/H,!@Q`0/<,]PD`)
XM#/CW0```#`CW0`#X]PCW0$#W#/8)^@SZ]T``^@P'#$``^@("`D``^O<']T!`U
XM]PSV"@<,^?=``/D,!PQ``/GW!_=`0/<,]0OY#/GW0``'#`?W0`#Y`@<"0$#W0
XM#/4+_@S\"_H)^0?X!/C_^?SZ^OSX_O<"]P3X!OH'_`C_"`0'!P8)!`L"#/X,T
XM0`#]`@,"0$#W#/P$``P`]T!`]PSU"OD,^?=```<,^?Y``/X#!_=`0/<,]PD`-
XM#/CW0```#`CW0$#W#/0,^`SX]T``^`P`]T``"`P`]T``"`P(]T!`]PSU"_D,=
XM^?=``/D,!_=```<,!_=`0/<,]PGY#`<,0`#]`@,"0`#Y]P?W0$#W#/4+_@S\:
XM"_H)^0?X!/C_^?SZ^OSX_O<"]P3X!OH'_`C_"`0'!P8)!`L"#/X,0$#W#/4+E
XM^0SY]T``!PP']T``^0P'#$!`]PSU"OD,^?=``/D,`@P%"P8*!P@'!08#!0("U
XM`?D!0$#W#/<)^0P``OGW0`#Y#`<,0`#Y]P?W0$#W#/@(``P`]T``^0P'#$!`9
XM]PSW"?D'^0GZ"_L,_0S^"_\)``4`]T``!P<'"08+!0P##`(+`0D`!4!`]PSV+
XM"@`,`/=``/X'^P;Z!?D#^0#Z_OO]_OP"_`7]!OX'``<#!@4%!@('_@=`0/<,M
XM]@KY#`?W0`#Y]P<,0$#W#/4+``P`]T``]P;X!OD%^@'[__S^__T!_03^!?\&Z
XM`0<%"`8)!D!`]PSV"OGW_??Z_OD"^0;Z"?P+_PP!#`0+!@D'!@<"!OX#]P?W5
XM0$#W#/<*!@4&]T``!@($!`(%_P7]!/L"^O_Z_?OZ_?C_]P+W!/@&^D!`]PSVC
XM"?H,^O=``/H"_`3^!0$%`P0%`@;_!OT%^@/X`??^]_SX^OI`0/<,]PD&`@0$]
XM`@7_!?T$^P+Z__K]^_K]^/_W`O<$^`;Z0$#W#/<*!@P&]T``!@($!`(%_P7]Y
XM!/L"^O_Z_?OZ_?C_]P+W!/@&^D!`]PSW"?K_!O\&`04#!`0"!?\%_03[`OK_@
XM^OW[^OWX__<"]P3X!OI`0/<,^P<%#`,,`0L`"`#W0`#]!00%0$#W#/<*!@4&<
XM]07R!/$"\/_P_?%```8"!`0"!?\%_03[`OK_^OW[^OWX__<"]P3X!OI`0/<,1
XM]PK[#/OW0`#[`?X$``4#!04$!@$&]T!`]PS\!/\,``L!#``-_PQ````%`/=`,
XM0/<,^P4`#`$+`@P!#0`,0``!!0'T`/'^\/SP0$#W#/<(^PS[]T``!07[^T``$
XM__\&]T!`]PS\!``,`/=`0/<,\0_U!?7W0`#U`?@$^@7]!?\$``$`]T````$#<
XM!`4%"`4*!`L!"_=`0/<,]PK[!?OW0`#[`?X$``4#!04$!@$&]T!`]PSW"O\%-
XM_03[`OK_^OW[^OWX__<"]P3X!OH'_0?_!@($!`(%_P5`0/<,]@GZ!?KP0`#Z-
XM`OP$_@4!!0,$!0(&_P;]!?H#^`'W_O?\^/KZ0$#W#/<*!@4&\$``!@($!`(%,
XM_P7]!/L"^O_Z_?OZ_?C_]P+W!/@&^D!`]PSY!OT%_?=``/W__@(`!`(%!05`0
XM0/<,^`D&`@4$`@7_!?P$^P+\`/[_`_X%_0;[!OH%^`+W__?\^/OZ0$#W#/L'T
XM``P`^P'X`_<%]T``_04$!4!`]PSW"OL%^_O\^/[W`?<#^`;[0``&!0;W0$#W7
XM#/@(^@4`]T``!@4`]T!`]PSU"_@%_/=````%_/=````%!/=```@%!/=`0/<,Z
XM^`G[!0;W0``&!?OW0$#W#/@(^@4`]T``!@4`]_[S_/'Z\/GP0$#W#/@)!@7[Q
XM]T``^P4&!4``^_<&]T!`]PSV"_\%_03[`OH`^?WY^OKX_/?^]P#X`_L%_@<"V
XM"`5``/\%`04"!`,"!?H&^`?W"/=`0/<,]PH##`$+_PG]!?P"^_[Z^/GP0``#:
XM#`4,!PH'!P8%!00#`P`#0````P("!``%_@7[!/D#^`'W__?]^/SY^_Q`0/<,Q
XM]PKX`OH$_`7]!?\$``,!``'\`/=```@%!P(&``#W_O/]\$!`]PSW"0(%_P7]S
XM!/L"^O_Z_/OY_/C^]P#W`O@$^@7]!0`$`P(%``?_"?\+``P"#`0+!@E`0/<,E
XM^`<"#``+_PK_"0`(`P<&!T``!@<"!?\#_`#[_?O[_/G^]P'U`O,"\0'P__#^N
XM\D!`]PSV"O<!^`/Z!?P%_03]`OS^^O=``/S^_@(`!`(%!`4&`P8`!?L"\$!`B
XM]PSZ!0`%_O[]^OWX_O<`]P+Y`_M`0/<,]PG]!?GW0``'!`8%!04#!/\`_?_\G
XM_T``_/_^_O_]`?@"]P/W!/A`0/<,^`CY#/L,_0O^"@;W0```!?KW0$#W#/8+P
XM_07W\$``_`'[_/OY_??_]P'X`_H%_D``!P4%_@3Z!/@%]P?W"?D*^T!`]PSWX
XM"?H%_07\__OZ^O=```<%!@(%``/]`/K]^/KW0$#W#/@(`@P`"_\*_PD`"`,'C
XM!@=```,'``;^!?T#_0'__P+^!/Y```+^_OW\_/OZ^_C]]@'T`O,"\0#P_O!`G
XM0/<,^`D`!?X$_`+[__O\_/G]^/_W`?<#^`7Z!OT&``4#!`0"!0`%0$#W#/4+T
XM_@7Z]T```P4$_P7Z!O=``/<"^03\!0D%0$#W#/<)^__[_/SY_?C_]P'W`_@%,
XM^@;]!@`%`P0$`@4`!?X$_`+[__?P0$#W#/<+"07_!?T$^P+Z__K\^_G\^/[WA
XM`/<"^`3Z!?T%``0#`P0!!4!`]PSV"@$%_O=``/@"^@3]!0@%0$#W#/8*]P'X"
XM`_H%_`7]!/T"^_S[^?WW__<"^`3Z!OX'`@<%0$#W#/<)^07[!?T#`_(%\`?P+
XM0``(!0<#!0#[]?GR^/!`0/<,]`L$#/SP0`#U`?8#^`7Z!?L$^P+Z_?KZ^_C]?
XM]__W`O@$^@;]"`()!4!`]PST"_P%^@3X`??^]_OX^/GW^_?]^/_[0```___[;
XM`/@!]P/W!?@'^PC^"`$'!`8%0$#W#/@(!00#!0`%_@3\`OO_^_S\^?WX__<"Z
XM]P3X0`#[_@/^0$#W#/@)`@P`"_X(_0;\`_O^^_K\^/WW__<!^`/[!/T%``8%F
XM!@D%"P0,`@Q``/P"!0)`0/<,]@H$#/SP0`#_!?P$^@+Y__G\^OK\^/_W`?<$(
XM^`;Z!_T'``8"!`0!!?\%0$#W#/@(0`!`0/<,]@K_#/P+^@CY`_D`^OO\^/_W+
XM`?<$^`;[!P`'`P8(!`L!#/\,0$#W#/8*_`C^"0$,`?=`0/<,]@KZ!_H(^PK\5
XM"_X,`@P$"P4*!@@&!@4$`P'Y]P?W0$#W#/8*^PP&#``$`P0%`P8"!_\'_0;Z7
XM!/@!]_[W^_CZ^?G[0$#W#/8*`PSY_@C^0``##`/W0$#W#/8*!0S[#/H#^P3^P
XM!0$%!`0&`@?_!_T&^@3X`??^]_OX^OGY^T!`]PSV"@8)!0L"#``,_0O["/H#L
XM^O[[^OWX`/<!]P3X!OH'_0?^!@$$`P$$``3]`_L!^OY`0/<,]@H'#/WW0`#YD
XM#`<,0$#W#/8*_@S["_H)^@?[!?T$`0,$`@8`!_X'^P;Y!?@"]_[W^_CZ^?G[2
XM^?[Z`/P"_P,#!`4%!@<&"04+`@S^#$!`]PSV"@8%!0(#``#____\`/H"^07Y*
XM!OH)_`O_#``,`PL%"08%!@`%^P/X`/?^]_OX^OI`0/<,^P4`^?_X`/<!^`#Y^
XM0$#W#/L%`?@`]__X`/D!^`'V`/3_\T!`]PS[!0`%_P0``P$$``5```#Y__@`!
XM]P'X`/E`0/<,^P4`!?\$``,!!``%0``!^`#W__@`^0'X`?8`]/_S0$#W#/L%Z
XM``P`_D```/G_^`#W`?@`^4!`]PSW"?H'^@C["OP+_@P"#`0+!0H&"`8&!00$2
XM`P`!`/Y```#Y__@`]P'X`/E`0/<,_`0`#``%0$#W#/@(_`S\!4``!`P$!4!`4
XM]PSY!_\,_0O\"?P'_07_!`$$`P4$!P0)`PL!#/\,0$#W#/8*_A#^\T```A`"$
XM\T``!PD%"P(,_@S["_D)^0?Z!?L$_0,#`04`!O\'_0?Z!?@"]_[W^_CY^D!`5
XM]PSU"PD0]_!`0/<,^0<$$`(.``O^!_T"_?[^^0#U`O($\$!`]PSY!_P0_@X`C
XM"P('`P(#_@+Y`/7^\OSP0$#W#/P$`!``\$!`]PSS#?<`"0!`0/<,\PT`"0#WO
XM0`#W``D`0$#W#/,-]P,)`T``]_T)_4!`]PSX"``&`/I``/L#!?U```4#^_U`&
XM0/<,^P4``?\``/\!```!0$#W#/8+`1#Z\$``!Q``\$``^@,(`T``^?T'_4!`,
XM]PSS#0H#"@0)!0@%!P0&`@3]`OH`^/[W^O?X^/?Y]OOV_??_^`#_!``%`0<!J
XM"0`+_@S\"_L)^P?\!/X!`_H%^`?W"?<*^`KY0$#W#/4+]PGX!_D#^?WX^??WZ
XM0``)"0@'!P,'_0CY"?=``/<)^0C]!P,'!P@)"4``]_?Y^/WY`_D'^`GW0$#WG
XM#/D'_P?\!OH$^0'Y__K\_/K_^0'Y!/H&_`?_!P$&!`0&`0?_!T!`]PSZ!OH&5
XM^OH&^@8&^@9`0/<,^0<`"/G\!_P`"$!`]PSZ!@`*^@``]@8```I`0/<,^`@`;
XM"?X#^`/]__OY`/T%^0/_"`,"`P`)0$#W#/D'``<`^4``^0`'`$!`]PS[!?L%1
XM!?M```4%^_M`0/<,^P4`!@#Z0`#[`P7]0``%`_O]0$#W#/P$_P3]`_P!_/_]^
XM_?_\`?P#_03_!`$#`P$$_P1``/T!_?]``/X"_OY``/\#__U````#`/U```$##
XM`?U```("`OY```,!`_]`0/<,_`3\!/S\!/P$!/P$0`#]`_W]0`#^`_[]0`#_`
XM`__]0````P#]0``!`P']0``"`P+]0``#`P/]0$#W#/H&``;\^P8"^@($^P`&4
XM0``````&0````/H"0````/S[0`````3[0`````8"0$#W#/H&_@;^`OH"^O[^Y
XM_O[Z`OH"_@;^!@("`@(&_@9`0/<,^0<`"/G\!_P`"$```/@'!/D$`/A`0/<,4
XM_P$``?\``/\!```!0$#W#/X"_P+^`?[___X!_@+_`@$!`O\"0$#W#/P$_P3](
XM`_P!_/_]_?_\`?P#_03_!`$#`P$$_P1`0/<,^P7_!?T$_`/[`?O__/W]_/_[L
XM`?L#_`3]!?\%`00#`P0!!?\%0$#W#/D'_P?\!OH$^0'Y__K\_/K_^0'Y!/H&[
XM_`?_!P$&!`0&`0?_!T!`]PSU"_X+^PKX"/8%]0+U_O;[^/C[]O[U`O4%]@CX9
XM"OL+_@L""@4("`4*`@O^"T!`]PSO$?X1^A#X#_4-\POQ"/`&[P+O_O#Z\?CS5
XM]?7S^/'Z\/[O`N\&\`CQ"_,-]0_X$/H1_A$"$`8/"`T+"PT(#P80`A'^$4!`<
XM]PSJ%OX6^17U$_(1[P[M"^L'Z@+J_NOY[?7O\O+O]>WYZ_[J`NH'ZPOM#N\1%
XM\A/U%?D6_A8"%0<3"Q$.#A$+$P<5`A;^%D!`]PS7*?TI]RCS)^XEZ2+E'^$;2
XMWA?;$MD-V`G7`]?]V/?9\]ONWNGAY>7AZ=[NV_/9]]C]UP/7"=@-V1+;%]X;K
XMX1_E(NDE[B?S*/<I_2D#*`DG#242(A<?&QL?%R(2)0TG"2@#*?TI0$#W#/D'!
XM_1#]\$``_A#^\$``_1`$$$``_?`$\$!`]PSY!P(0`O!```,0`_!``/P0`Q!`D
XM`/SP`_!`0/<,^`<"$/\-_@K^"/\%`0,!`OT``?X!_?_[_OC^]O_S`O!````.H
XM_PO_!P`$0```_/_Y__4`\D!`]PSY"/X0`0T""@((`07_`_\"`P#__O_]`?L"G
XM^`+V`?/^\$````X!"P$'``1```#\`?D!]0#R0$#W#/0,"`GX``CW0$#W#/0,D
XM^`D(`/CW0$#W#/0,]_WW__@"^@/\`_X"`O\$_@;^"/\)`4``]__X`?H"_`+^:
XM`0+^!/T&_0C^"0$)`T!`]PSZ!OX,`P9``/X,_0L#!D!`]PSS#08""0`&_D``J
XM`P4(``/[0`#W``@`0$#W#/@(_@8`"0(&0`#[`P`(!0-````(`/=`0/<,\PWZO
XM`O<`^OY``/T%^`#]^T``^``)`$!`]PSX"/[Z`/<"^D``^_T`^`7]0```"0#X%
XM0$#W#/0,"0SW]T``_`S^"OX(_0;[!?D%]P?W"?@+^@S\#/X+`0H$"@<+"0Q`U
XM``7^`_T"^P+Y!/<&]PCX"?H)_`?^!?Y`0/<,\PX%!`0&`@?_!_T&_`7[`OO_D
XM_/W^_`'\`_T$_T``_P?]!?P"_/_]_?[\0``%!P3_!/T&_`C\"OX+`0L#"@8)Y
XM"`<*!0L"#/\,_`OZ"O@(]P;V`_8`]_WX^_KY_/C_]P+W!?@'^0CZ0``&!P7_&
XM!?T&_$!`]PSS#O\,_`OY"?<&]@/V`/?]^?K\^/_W`O<%^`CZ"OT+``L#"@8()
XM"04+`@S_#$````/_`O\!```!``(!`@(!`P`#0````@`!`0$!`@`"0$#W#/(.2
XM_@S["_@)]@;U`_7_]OSX^?OW_O8"]@7W"/D*_`O_"P,*!@@)!0L"#/X,0```>
X+#`#V0`#U`0L!0$#_#
X``
Xend
Xsize 5726
END_OF_FILE
if test 8058 -ne `wc -c <'fonts/plstnd.fnt.uu'`; then
echo shar: \"'fonts/plstnd.fnt.uu'\" unpacked with wrong size!
fi
# end of 'fonts/plstnd.fnt.uu'
fi
if test -f 'fonts/plxtnd.idx.uu' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'fonts/plxtnd.idx.uu'\"
else
echo shar: Extracting \"'fonts/plxtnd.idx.uu'\" \(8444 characters\)
sed "s/^X//" >'fonts/plxtnd.idx.uu' <<'END_OF_FILE'
Xbegin 644 plxtnd.idx
XM"[@``0`,`!X`*P`Y`$<`4@!C`&X`<P!\`(<`CP"=`*@`N`#$`-<`Y@#U`/T!R
XM"`$0`1X!)@$O`3H!10%7`5\!:@%X`8,!C@&D`:D!M`&\`<H!U0'C`?,!_@(*$
XM`A8"'@(O`CX"1@)4````````````````````````````````````````````'
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM``````````````````````````````````````````````)C`F<":P)O`GT"M
XM@P*.`I\"J`*X`L@"T`+E`O4"_0,&`Q0#(P,Q`T0#20-1`UT#;P-T`WT#A@.+2
XM`Y`#F`.@`Z@#LP.[`\0#S0/6`^0#^P01```$*`0V!%@```1=````````````]
XM``1E```$DP``!+$```2[```$PP``!.($YP``!.\%(057!8H%S`8;!GH&TP<A#
XM!VL'AP?`!^D()@A6"&0```AX")$(J@B\",X```C@````````````````````\
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM````````````````".L(]@D0"24)-PE%"5`):0ET"7D)A@F1"9D)IPFR"<H)B
XMV@GU"@@*'PHG"C0*/`I*"E(*6PIF"G$*BPJ3"IX*K`JW"L(*W0KB"NT*]0L#\
XM"PX+&0LQ"SP+3`M8"V`+=0N,"Y0+J`N["]$+_`P6##L,60QW#)8,O@S9#/0-F
XM'0T\#6L-C0VL#<T-[PX7#C4.4`YS#I4.L`[6#OX````````````````/*```6
XM```````````````````````````````````````````/,P]'#UL/;`^`#Y0/^
XMGP^X#\4/T`_>#^D/[A`#$!`0)!`X$$P05Q!K$'80@Q"+$)D0H1"M$+@0TA#S@
XM$081(!$U$4X18Q&`$8L1H!&K$<(1TA'Q$@42%!(I$CT21Q)9$G`2@!*6$J\2-
XMQQ+@$O`3"A,=$S<351-T$X83G!._$],3]A0/%"@40A1?%'`4@A24%*D4O!37L
XM%.T5!A4?`````````````!4W%5,5915^%94````````````````````````50
XMIQ6K%:\5LQ7'%<X5WQ7Q%?H6#A8H%C`64!9J%G(6?1:+%IP6IQ:^%L,6RQ;;S
XM%O@6_1<*%Q<7'!<A%RD7,1<Y%T073!=6%V`7:Q=Y%YX``!>\%\07S!?2%^88K
XM"1@E&#L8;1BF````````&-\8\QD%&1`9+AE*&5H99AES&8(9CQF8&:`9J1FR'
XM&<D9X!H!&AD`````````````````````````````````````````````````I
XM```````````````````````:.1H^&D,:2!I-&E(:5QI<&F$:9AIK&G`:=1IZ1
XM&G\:B1J3&IT:IQJR&KT:R!K3&MH:X1KH&N\;"!LA&SH;4QMJ&W\;FQNH&[,;P
XMNAO"&\T`````````````&]@;[!OT&_L<`QP1'!D<(0`````<+!Q1'&X<@1R4H
XM'*<<NAS2`````!S?'.X<^QT+'1\=-AU#'5,==1V!':4=YQY''G$>DP``````%
XM`````````````````````````````````````````````````````````!ZD"
XM'JP>NB(GLBC"*F<
XM(KTBTR+E(ODC*",X(TDC82-S(Y`CRB/8(_4D!B0F)#TD8R21)*@DQR3=).\E6
XM$B5$)5LEAB6S)<<E\B86)C8F3B9D)I`FK2:[)M(F[R;_)Q\G-B=B)W\GOB?J[
XM*`\H(2@\*$TH9RA^*)0HI@``````````````````````````````````````8
XM```````````````````````HUBC_*2(I0"EF*8<IGRG=*?LJ#RHJ*D<J52J#T
XM*J$JQRKM*Q`K*2M+*UTK>RN,*Z8KO2O5*^<L$2Q,+&HLF"RZ+-LL_2TK+3PM;
XM6RUT+9(MK"W;+?TN%2XV+ELN;2Z.+K4NSB[R+R`O22]O+XHOMB_2+_<P)#!%_
XM,&$P@S"G,+LP\3$8,3HQ9C&),:4QPS'7,?XR&C)%,G$RG#*],NHS#3,R,VHSA
XMI```,[(SS3/Z-"8`````-$,T<C2Y-.\U)S5_-=DU[S7S-?<U^S8E-C(V83:2E
XM-J$VRC;\-QTW7C>0-Y@WHC>P-\`WT3?S-_LX"3@9."0X*3@_.%4X8SAQ.(TXW
XMJ3BO.+4XNCC".,<XSSC:..4X[3CU.08Y#CD9.20Y*CDP.3PY2#E?.7DY@SF,R
XM.94YJ3FS.;TYQSG1.=TY[#G[.@HZ&3HK.C@Z13I2.E\ZC3J>.JHZS#L`.QP[S
XM/CMQ.ZL[USOE/!4\-3QO```\?3RE/-0\\3T//3`]3CUN/9P]PSWD/?X^&SXIJ
XM/EL^C3Z</JL^N@``/LD^\S\H/T@_>C^L/]Y`"4`I0$Q`;T"5``````````!`(
XMQT#50.E`_4$C04E!;4&!095!L$'$0=A""T(G0G]"Z```````````````````F
XM`````````````````````````````````````````````````````````````
XM````````````0PA#%D,J0SY#8$.&0ZI#OD/20^U$`4051#M$5T2O10H`````K
XM``````````````````````````````````````````!%845X19%%KT7-1=U%F
XM[4851CU&7T:!1I$`````````````````````````````````````````````.
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````$;,1N)'$$<X1UI'=T>.1[Q'U$?>1_1(#$@<2#A(3DAX2)5(QTCKO
XM21A)*4E#25-);TF!290`````````````````````````````````````````:
XM``````````````````````!)JDG22AI*14IR2J5*U4L,2T5+:$N,2\E+\TPF`
XM3$Y,<DRI3-9-&4T_36=-D$VV3>%.%TY#````````````````````````````9
XM````````````````````````````````````3G%.ETZ]3M]/!4\K3T5/=T^2E
XM3ZQ/QD_>3^A0%%`O4%50>U"A4+A0[%#^41E1*5%%45=1:@``````````````G
XM`````````````````````````````````````````````````%&`4:-1O%'4W
XM4?=2$%(M4E52=5**4J12Q5+84P=3*5-(4VA3C5.G4[]3U5/R5`M4,51=5'\`7
XM````````````````````````````````````````````````````5*=4JU2O]
XM5+-4WU3M51%50U5758Y5SE7<5B)68E9T5HY6L%;:5O17,%=*5V17K5?B5^Q8U
XM!E@@6$E84UAE6'=8A%B<````````````````````````````````````````F
XM`````%B\6,!8Q%C(6/19!5DQ6659<5F:6<I9ZEHK6EM:8UIM6GI:BEJ=6L%:?
XMRUK56PY;.5L^6U1;:EMU6WI;@EN*6Y);H```````````````````````````3
XM`````````````````````````````%NP6\1;Y5P47"1<15Q=7*9<U5SR71E=(
XM1EUA78%=GEW,7>->`EXD7C9>4%Z"7IE>ME[47O1?&E\[7V9?A5^N7^L`````L
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM````````````````````````````````````````````````````````8!I@:
XM0V!U8)Q@K&#$8.5A(F%.86MADF&Z8=)A\F(/8C5B3&)R8I!BHF*Z8O!C!V,@V
XM8SYC7F.`8YUCQ&/?9`-D.```````````````````````````````````````Q
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
X1`````````````````````````
X``
Xend
Xsize 6002
END_OF_FILE
if test 8444 -ne `wc -c <'fonts/plxtnd.idx.uu'`; then
echo shar: \"'fonts/plxtnd.idx.uu'\" unpacked with wrong size!
fi
# end of 'fonts/plxtnd.idx.uu'
fi
if test -f 'unix/postscript.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'unix/postscript.c'\"
else
echo shar: Extracting \"'unix/postscript.c'\" \(9503 characters\)
sed "s/^X//" >'unix/postscript.c' <<'END_OF_FILE'
X/* This file contains the PostScript device dependent subroutines for */
X/* use with plplot. */
X
X#include "plplot.h"
X#include <stdio.h>
X
X#define LINELENGTH 70
X#define COPIES 1
X#define XSIZE 540
X#define YSIZE 720
X#define XPSSIZE 3000
X#define YPSSIZE 2250
X#define XOFFSET 576
X#define YOFFSET 36
X#define XSCALE 100
X#define YSCALE 100
X#define LINESCALE 100
X#define ANGLE 90
X#define PSX XPSSIZE-1
X#define PSY YPSSIZE-1
X
Xchar *getdate();
Xstatic int numpages = 0;
Xstatic int linepos = 0;
X
Xstatic FILE *OutFile;
Xstatic PLINT orient;
Xstatic PLINT select=0;
Xstatic char FileName[80];
X
Xvoid pssetup(xdpi, ydpi, xwid, ywid)
XPLINT xwid, ywid;
XPLFLT xdpi, ydpi;
X{
X}
X
Xvoid psselect(ori, name)
XPLINT ori;
Xchar *name;
X{
X orient = ori;
X strncpy(FileName,name,sizeof(FileName)-1);
X FileName[sizeof(FileName)-1] = '\0';
X select = 1;
X}
X
X
X/* Open file. Set up for graphics. */
Xvoid psinit()
X{
X char line[80];
X
X if(!select) {
X printf("Landscape or portrait orientation? (0 or 1) ");
X fgets(line,sizeof(line),stdin);
X if(sscanf(line,"%d",&orient) != 1)
X orient = 0;
X }
X
X /* setpxl() sets the dots/mm in the x and y directions */
X setpxl(11.81,11.81); /* 300 dpi */
X
X /* setphy() sets the device coordinates. These are integer */
X /* values. Set up for landscape orientation (long axis of page in the */
X /* x direction). Origin is in the lower left hand corner. */
X if(!orient)
X setphy(0,PSX,0,PSY);
X else
X setphy(0,PSY,0,PSX);
X
X /* Set default pen color using scol(color). */
X /* Any default pen color can be used but a black pen is probably best. */
X scol(1);
X
X /* Set default pen width using swid(width) */
X swid(1);
X
X /* Set device interaction mode using smod(mode). Set mode to 0 for */
X /* a noninteractive device, Unless you are writing your */
X /* own Amiga screen driver mode should be 0. */
X smod(0);
X
X /* Well that's all the information plplot needs. Let's prompt for a */
X /* graphics file name. */
X for(;;) {
X if(!select) {
X printf("Enter PostScript graphics file name. ");
X fgets(line,sizeof(line),stdin);
X if(sscanf(line,"%s",FileName)!=1)
X continue;
X }
X
X if (!(OutFile = fopen(FileName,"w"))) {
X fprintf(stderr,"Can't open %s.\n",FileName);
X select = 0;
X }
X else
X break;
X }
X select = 0;
X
X /* Header comments into PostScript file */
X
X fprintf(OutFile,"%%!PS-Adobe-2.0 EPSF-2.0\n");
X fprintf(OutFile,"%%%%BoundingBox: 36 36 540 720\n");
X fprintf(OutFile,"%%%%Title: %s\n", FileName);
X fprintf(OutFile,"%%%%Creator: PLPLOT Version 2.0\n");
X fprintf(OutFile,"%%%%CreationDate: %s\n", getdate());
X fprintf(OutFile,"%%%%Pages: (atend)\n");
X fprintf(OutFile,"%%%%EndComments\n\n");
X
X /* Definitions */
X
X fprintf(OutFile, "/PSSave save def\n"); /* save VM state */
X fprintf(OutFile, "/PSDict 200 dict def\n"); /* define a dictionary */
X fprintf(OutFile, "PSDict begin\n"); /* start using it */
X fprintf(OutFile, "/@restore /restore load def\n");
X fprintf(OutFile, "/restore\n");
X fprintf(OutFile, " {vmstatus pop\n");
X fprintf(OutFile, " dup @VMused lt {pop @VMused} if\n");
X fprintf(OutFile, " exch pop exch @restore /@VMused exch def\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/@pri\n");
X fprintf(OutFile, " {\n");
X fprintf(OutFile, " ( ) print\n");
X fprintf(OutFile, " ( ) cvs print\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/@copies\n"); /* n @copies - */
X fprintf(OutFile, " {\n");
X fprintf(OutFile, " /#copies exch def\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/@start\n"); /* - @start - -- start everything */
X fprintf(OutFile, " {\n");
X fprintf(OutFile, " vmstatus pop /@VMused exch def pop\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/@end\n"); /* - @end - -- finished */
X fprintf(OutFile, " {(VM Used: ) print @VMused @pri\n");
X fprintf(OutFile, " (. Unused: ) print vmstatus @VMused sub @pri pop pop\n");
X fprintf(OutFile, " (\\n) print flush\n");
X fprintf(OutFile, " end\n");
X fprintf(OutFile, " PSSave restore\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/bop\n"); /* bop - -- begin a new page */
X fprintf(OutFile, " {\n");
X fprintf(OutFile, " /SaveImage save def\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/eop\n"); /* - eop - -- end a page */
X fprintf(OutFile, " {\n");
X fprintf(OutFile, " showpage\n");
X fprintf(OutFile, " SaveImage restore\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/@line\n"); /* set line parameters */
X fprintf(OutFile, " {0 setlinecap\n");
X fprintf(OutFile, " 0 setlinejoin\n");
X fprintf(OutFile, " 1 setmiterlimit\n");
X fprintf(OutFile, " } def\n");
X /* d @hsize - horizontal clipping dimension */
X fprintf(OutFile, "/@hsize {/hs exch def} def\n");
X fprintf(OutFile, "/@vsize {/vs exch def} def\n");
X /* d @hoffset - shift for the plots */
X fprintf(OutFile, "/@hoffset {/ho exch def} def\n");
X fprintf(OutFile, "/@voffset {/vo exch def} def\n");
X /* s @hscale - scale factors */
X fprintf(OutFile, "/@hscale {100 div /hsc exch def} def\n");
X fprintf(OutFile, "/@vscale {100 div /vsc exch def} def\n");
X /* s @lscale - linewidth scale factor */
X fprintf(OutFile, "/@lscale {100 div /lin exch def} def\n");
X /* a @angle - rotation angle */
X fprintf(OutFile, "/@angle {/ang exch def} def\n");
X fprintf(OutFile, "/@SetPlot\n"); /* setup user specified offsets, */
X fprintf(OutFile, " {\n"); /* scales, sizes for clipping */
X fprintf(OutFile, " ho vo translate\n");
X fprintf(OutFile, " XScale YScale scale\n");
X fprintf(OutFile, " ang rotate\n");
X fprintf(OutFile, " lin lw mul setlinewidth\n");
X fprintf(OutFile, " } def\n");
X fprintf(OutFile, "/XScale\n"); /* setup x scale */
X fprintf(OutFile, " {hsc hs mul %d div} def\n", YPSSIZE);
X fprintf(OutFile, "/YScale\n"); /* setup y scale */
X fprintf(OutFile, " {vsc vs mul %d div} def\n", XPSSIZE);
X fprintf(OutFile, "/lw 3 def\n"); /* default line width */
X fprintf(OutFile, "/M {moveto} def\n");
X fprintf(OutFile, "/D {lineto} def\n");
X fprintf(OutFile, "/S {stroke} def\n");
X fprintf(OutFile, "/Z {stroke newpath} def\n");
X fprintf(OutFile, "end\n\n"); /* end of dictionary definition */
X
X /* Set up the plots */
X
X fprintf(OutFile, "PSDict begin\n");
X fprintf(OutFile, "@start\n");
X fprintf(OutFile, "%d @copies\n", COPIES);
X fprintf(OutFile, "@line\n");
X fprintf(OutFile, "%d @hsize\n", XSIZE);
X fprintf(OutFile, "%d @vsize\n", YSIZE);
X fprintf(OutFile, "%d @hoffset\n", XOFFSET);
X fprintf(OutFile, "%d @voffset\n", YOFFSET);
X fprintf(OutFile, "%d @hscale\n", XSCALE);
X fprintf(OutFile, "%d @vscale\n", YSCALE);
X fprintf(OutFile, "%d @lscale\n", LINESCALE);
X fprintf(OutFile, "%d @angle\n", ANGLE);
X fprintf(OutFile, "@SetPlot\n\n");
X fprintf(OutFile, "bop\n");
X fprintf(OutFile, "%%%%Page: %d %d\n", numpages+1, numpages+1);
X}
X
X/* Sets the printer to text mode */
Xvoid pstext()
X{
X}
X
X/* Sets the printer to graphics mode */
Xvoid psgraph()
X{
X}
X
X/* Form feed */
Xvoid psclear()
X{
X fprintf(OutFile," S\neop\nbop\n");
X}
X
Xstatic PLINT xlast, ylast;
X
Xvoid pspage()
X{
X numpages++;
X fprintf(OutFile, "%%%%Page: %d %d\n", numpages+1, numpages+1);
X linepos = 0;
X xlast = -100000; ylast = -100000;
X}
X
X/* May put something here someday */
Xvoid pscolor(colour)
Xint colour;
X{
X}
X
X/* I don't know what to put here - Tony */
Xvoid pswidth()
X{
X}
X
Xvoid psline(x1,y1,x2,y2)
XPLINT x1,y1,x2,y2;
X{
X if (linepos + 21 > LINELENGTH) {
X putc('\n', OutFile);
X linepos = 0;
X } else
X putc(' ', OutFile);
X
X if(!orient) {
X if(x1 == xlast && y1 == ylast)
X fprintf(OutFile, "%ld %ld D", x2, y2);
X else
X fprintf(OutFile, "Z %ld %ld M %ld %ld D", x1, y1, x2, y2);
X }
X else {
X if(x1 == xlast && y1 == ylast)
X fprintf(OutFile, "%ld %ld D", PSX-y2, x2);
X else
X fprintf(OutFile, "Z %ld %ld M %ld %ld D", PSX-y1,x1,PSX-y2,x2);
X }
X
X xlast = x2;
X ylast = y2;
X linepos += 21;
X}
X
X/* Close graphics file */
Xvoid pstidy()
X{
X fprintf(OutFile," S\neop\n");
X numpages++;
X fprintf(OutFile, "@end\n\n");
X fprintf(OutFile, "%%%%Trailer\n");
X fprintf(OutFile, "%%%%Pages: %d\n", numpages);
X fclose(OutFile);
X numpages = 0;
X linepos = 0;
X}
X
X/* Get the date and time */
Xstatic char *getdate()
X{
X int len;
X long t, time();
X char *p, *ctime();
X
X t = time((long *) 0);
X p = ctime(&t);
X len = strlen(p);
X *(p + len - 1) = '\0'; /* zap the newline character */
X return p;
X}
END_OF_FILE
if test 9503 -ne `wc -c <'unix/postscript.c'`; then
echo shar: \"'unix/postscript.c'\" unpacked with wrong size!
fi
# end of 'unix/postscript.c'
fi
echo shar: End of archive 6 \(of 12\).
cp /dev/null ark6isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 12 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
--
Submissions to comp.sources.amiga and comp.binaries.amiga should be sent to:
amiga@cs.odu.edu
or amiga@xanth.cs.odu.edu ( obsolescent mailers may need this address )
or ...!uunet!xanth!amiga ( very obsolescent mailers need this address )
Comments, questions, and suggestions s should be addressed to ``amiga-request''
(only use ``amiga'' for submissions) at the above addresses.