tkacik@kyzyl.mi.org (Tom Tkacik) (06/22/91)
Submitted-by: tkacik@kyzyl.mi.org (Tom Tkacik) Posting-number: Volume 1, Issue 33 Archive-name: epx/part01 I've had requests for this. I last posted it before there were any archives. This is epx, my 5 year old epson filter for nroff. This is only for those of you who are still using the 2.0, 3.0, or 3.5 Utilities. Nroff changed with 3.51, and now includes most of what epx does (though I do not think all). This program will let you make the most of nroff, and eqn using your Epson printer. It does italic, bold, and underlining. It will print all of the greek and special characters, (assuming that your printer has downloadable characters). If all works right, you should see nroff format equations like you've never seen before. (Ok, it's not troff, and it's not a laser printer, but the price is right.) The driver table is a compiled table, and is included. The C code is also included so you can see what it looks like. See the README file for a note on getting the software to modify it. Tom Tkacik tkacik@kyzyl.mi.org #--------------------------------CUT HERE------------------------------------- #! /bin/sh # # This is a shell archive. Save this into a file, edit it # and delete all lines above this comment. Then give this # file to sh by executing the command "sh file". The files # will be extracted into the current directory owned by # you with default permissions. # # The files contained herein are: # # -rw-r--r-- 1 tkacik users 1608 Jun 18 18:51 README # -rw-r--r-- 1 tkacik users 418 Jun 18 18:58 Makefile # -rw-r--r-- 1 tkacik users 1615 Jun 18 18:54 epx.1 # -rw-r--r-- 1 tkacik users 9533 Jul 19 1988 epx.c # -rw-r--r-- 1 tkacik users 4004 Jul 19 1988 draft.c # -rw-r--r-- 1 tkacik users 8505 Jul 19 1988 nlq.c # -rw-r--r-- 1 tkacik users 7947 Feb 21 1987 tabepson.c # -rw-r--r-- 1 tkacik users 2415 Jun 18 18:57 tabepson.uu # -rw-r--r-- 1 tkacik users 2621 Feb 21 1987 special # echo 'x - README' if test -f README; then echo 'shar: not overwriting README'; else sed 's/^X//' << '________This_Is_The_END________' > README XI wrote this back in 1985, to allow me to use the full capabilities Xof nroff with my printer, (an epson compatible). X XThis is an nroff driver table for epson fx-80 compatible dot matrix Xprinters, and a filter program, called epx. Epx will use italic, bold, Xand underlined fonts, and will download all of the special characters Xavailable to nroff, including all of the greek characters. X XThis program and filter are only useful if you are still using the Xnroff that came with versions 2.0, 3.0 or 3.5 of the Utilities. XThe new version of nroff has most of what you get using this filter. X(I have not upgraded nroff because I think that it would be a step Xbackward. I do not think the new nroff has all of the these features, Xnamely downloadable greek and special characters.) X XI have a Canon printer, that claims to be Epson compatible, but you Xnever know. There may be a bug lurcking in here somewhere. XThe special characters may not be an exact match on your printer. X XThe driver table is provided in both as C code, and as a compiled versions. XIt was made using the nroff driver table generator by Bruce Townsend. XYou can grab the nroff driver table package from the cis-osu archives. XLook for the file pub/comp.sources.unix/Volume13/nroff-driver.Z. X XThe compiled version of the driver table is provided, uuencoded, so Xyou do not have to build it if you do not wish to. You should not Xneed that package to install and use this program. X XAs always, any bug reports or praise should be directed to me. X(But note that it has been a long time since I worked on this code.) X XTom Tkacik Xtkacik@kyzyl.mi.org ________This_Is_The_END________ if test `wc -c < README` -ne 1608; then echo 'shar: README was damaged during transit (should have been 1608 bytes)' fi fi ; : end of overwriting check echo 'x - Makefile' if test -f Makefile; then echo 'shar: not overwriting Makefile'; else sed 's/^X//' << '________This_Is_The_END________' > Makefile XCFLAGS = -O XLDFLAGS = -s XCC = cc X Xall: epx tabepson X Xepx: epx.o nlq.o draft.o X $(CC) $(LDFLAGS) epx.o nlq.o draft.o -o epx X Xtabepson: tabepson.uu X uudecode tabepson.uu X Xinstall: epx tabepson X cp tabepson /usr/lib/term X cp epx /usr/local/bin/epx X cp epx.1 /usr/man/man1 X X# this is the way epx should typically be used Xtest: X neqn special | nroff -Tepson | col -fx | epx | lp -dEpson_R X Xlint: X lint epx.c nlq.c draft.c X ________This_Is_The_END________ if test `wc -c < Makefile` -ne 418; then echo 'shar: Makefile was damaged during transit (should have been 418 bytes)' fi fi ; : end of overwriting check echo 'x - epx.1' if test -f epx.1; then echo 'shar: not overwriting epx.1'; else sed 's/^X//' << '________This_Is_The_END________' > epx.1 X.TH EPX l X.SH NAME Xepx \- nroff postprocessor for epson printers X.SH SYNOPSIS X\fBepx\fP [ -\fBi\fP ] [ -\fBn\fP ] X.SH DESCRIPTION X.I Epx Xis a postprocessor for X.IR nroff (1) Xwhich generates printer codes for Epson compatible printers. XUsage is almost always: X.sp X.in +0.5i Xnroff -Tepson files | col -fx | epx | lp -dEpson_R X.sp X.in Xor equivalent. X.I Epx Xreads from X.IR stdin Xand writes to X.IR stdout . XIt supports the built-in bold and italic fonts, half-line spacings Xfor super, and subscripts, and all of the greek and special characters. X.sp XIt has been written to be compatible with X.IR col (1) Xusing the X.RB - x , Xand X.RB - f Xoptions. XOutput must be sent to the print spooler in raw mode, Xusing X.B lp -dEpson_R. X.I Epx Xrequires that the nroff driver table X.RB /usr/lib/term/ tabepson Xexist and be used with X.I nroff. X.sp XNormally X.I epx Xunderlines words that would be italicized in X.IR troff (1). XThe X.RB - i Xoption causes the printer to use true X.IR italics , X(if possible). XIf the printer is not capable of printing in X.I italics Xthe text will \fBnot\fP be underlined. XThe X.RB - n Xoption puts the printer in Near Letter Quality mode. XNo X.I italics Xare possible in NLQ mode, so when the X.RB - n Xoption is used, italics are turned off, and any italic characters will Xbe underlined. X.SH SEE ALSO Xnroff(1), col(1), lp(1), term(7). X.SH AUTHOR XThomas E. Tkacik X.br Xtkacik@kyzyl.mi.org X.SH BUGS XThe greek and special character sets were designed using a Canon printer. XThese characters may or may not look right, depending on the actual Xprinter used. XPerhaps, italics and NLQ mode should not be mutually exclusive. ________This_Is_The_END________ if test `wc -c < epx.1` -ne 1615; then echo 'shar: epx.1 was damaged during transit (should have been 1615 bytes)' fi fi ; : end of overwriting check echo 'x - epx.c' if test -f epx.c; then echo 'shar: not overwriting epx.c'; else sed 's/^X//' << '________This_Is_The_END________' > epx.c X/* epx - take the output of 'nroff -Tepson | col -xf' */ X/* and generate output for an epson printer */ X/* */ X/* Author: Thomas E. Tkacik uvaee!tet */ X/* */ X/* To be modified or given away freely */ X/* */ X#include <stdio.h> X#define NORMAL 0 X#define BOLD 1 X#define UNDER 2 /* underscore - italic */ X#define ITALIC 4 X#define SPEC 8 /* special characters - greek */ X#define NUMSPEC 60 /* number of defined special characters */ X#define FIRST '@' /* first special character is defined as FIRST */ X#define NO 0 X#define YES 1 X Xint cur; /* current character */ Xint ctype; Xint italics = NO; /* use italics instead of underline */ Xint nlqmode = NO; /* print in Near Letter Quality mode */ Xint copy=0; /* no special characters yet */ Xint cmark[NUMSPEC]; Xextern char special[NUMSPEC][12]; /* character definitions */ Xextern char nlq[NUMSPEC][48]; /* nlq character definitions */ X Xmain(argc,argv) Xint argc; Xchar *argv[]; X{ X int c; X int i,x; X void putch(),putstr(),inspec(),outspec(),donormal(); X void tobold(),frbold(),tounder(),frunder(),toitalic(),fritalic(); X void tonlq(),frnlq(),halfline(),backhalf(),backfull(); X X /* cannot use both NLQ and italics at the same time */ X nlqmode = NO; X italics = NO; X X for(x=0;x<argc;x++) X if(argv[x][0] = '-') X switch(argv[x][1]) { X case 'i': italics = YES; X break; X case 'n': nlqmode = YES; X tonlq(); /* put printer in NLQ mode */ X break; X } X X /* remove this statement if your printer can print italics in NLQ */ X if(nlqmode==YES) italics = NO; X X for(i=0;i<NUMSPEC;i++) cmark[i]=0; /* initialize special characters */ X cur = 0; /* no current character */ X ctype = NORMAL; /* normal character */ X while((c=getchar()) != EOF) { X switch (c) { X default: /* normal or special characters being printed */ X donormal(); X cur = c; X break; X case '\016': /* special character set */ X inspec(); X break; X case '\017': /* normal character set */ X outspec(); X break; X case '\033': /* escape character */ X if(cur) X putch(cur); X cur = 0; X if((c=getchar())==EOF) break; /* reached the end of file */ X switch(c) { X case '7': X backfull(); /* reverse full line feed */ X break; X case '8': X backhalf(); /* reverse half line feed */ X break; X case '9': X halfline(); /* forward half line feed */ X break; X default: X putch('\033'); /* output escape character */ X putch(c); X break; X } X break; X case '\b': /* a backspace - see if we must change print mode */ X while(((c=getchar())=='\016') || (c=='\017')) X if(c=='\016') X inspec(); X else X outspec(); X if(c==EOF) break; /* reached end of the file */ X if((cur==0) && (c!=0)) { /* just do the overstrike */ X (void)putchar('\b'); X (void)ungetc(c,stdin); /* check the character next time around */ X } X else if((cur=='_') && (c!='_')) { /**** ITALIC MODE ****/ X switch(ctype) { X case BOLD: X case (BOLD | SPEC): X frbold(); X ctype &= ~BOLD; X toitalic(); X ctype |= ITALIC; X break; X case UNDER: X case (UNDER | SPEC): X frunder(); X ctype &= ~UNDER; X toitalic(); X ctype |= ITALIC; X break; X case NORMAL: X case SPEC: X toitalic(); X ctype |= ITALIC; X break; X default: /* ITALIC or (ITALIC | SPEC) */ X break; X } X putch(c); X cur = 0; /* have output the current character */ X } X else if((cur!='_') && (c=='_')) { /**** UNDERSCORE MODE ****/ X /* do not print in underscore mode */ X /* because '_' and underscore are not the same thing */ X putch(cur); X putch('\b'); X putch('_'); X cur = 0; /* have output the current character */ X } X else if(cur==c) { /**** BOLD MODE ****/ X switch(ctype) { X case UNDER: X case (UNDER | SPEC): X frunder(); X ctype &= ~UNDER; X tobold(); X ctype |= BOLD; X break; X case ITALIC: X case (ITALIC | SPEC): X fritalic(); X ctype &= ~ITALIC; X tobold(); X ctype |= BOLD; X break; X case NORMAL: X case SPEC: X tobold(); X ctype |= BOLD; X break; X default: X break; X } X putch(cur); X /* find the beginning of the next character */ X while((c=getchar())=='\b') { X c=getchar(); X if(cur != c) { X putch('\b'); /* a different character - print it */ X (void)ungetc(c,stdin); /* check character next time around */ X cur = 0; X break; X } X } X if(cur) { X (void)ungetc(c,stdin); /* check character next time around */ X cur = 0; X } X } X else { /* simple overstrike - do not change mode */ X if(cur) putch(cur); X cur = 0; X (void)putchar('\b'); X (void)ungetc(c,stdin); /* check character next time around */ X } X break; X } X } X if(cur!=0) putch(cur); /* print the last character */ X if(nlqmode==YES) frnlq(); X} X X/* put printer into alternate character set - user defined characters */ Xvoid tospec() X{ X void putstr(); X putstr("\033%"); X (void)putchar(1); X (void)putchar(0); X} X X/* the next characters are normal characters */ Xvoid frspec() X{ X void putstr(); X putstr("\033%"); X (void)putchar(0); X (void)putchar(0); X} X X/* print next characters in bold */ Xvoid tobold() X{ X void putstr(); X putstr("\033E"); X} X X/* do not print next characters in bold */ Xvoid frbold() X{ X void putstr(); X putstr("\033F"); X} X X/* print the next characters in italic */ Xvoid toitalic() X{ X void putstr(),tounder(); X if(italics == YES) X putstr("\0334"); /* italicize next chatacters */ X else X tounder(); /* underline next characters */ X} X X/* do not print the next characters in italic */ Xvoid fritalic() X{ X void putstr(),frunder(); X if(italics == YES) X putstr("\0335"); X else X frunder(); X} X X/* underline the next characters */ Xvoid tounder() X{ X void putstr(); X putstr("\033-1"); X} X X/* do not underline the next characters */ Xvoid frunder() X{ X void putstr(); X putstr("\033-0"); X} X X/* put the printer in NLQ mode - this command may vary depending on printer */ Xvoid tonlq() X{ X void putstr(); X putstr("\033("); X} X X/* restore printer mode */ Xvoid frnlq() X{ X void putstr(); X putstr("\033@"); X} X X/* cause the printer to generate a half linefeed */ Xvoid halfline() X{ X void putstr(); X putstr("\033J\022"); X} X X/* cause the printer to back up a half line spacing */ Xvoid backhalf() X{ X void putstr(); X putstr("\033j\022"); X} X X/* cause the printer to back up a full line spacing */ Xvoid backfull() X{ X void putstr(); X putstr("\033j\044"); X} X X/* download a special character before printing it */ Xvoid download(c) Xchar c; X{ X int i,j; X void putstr(),frspec(),tospec(); X j = c - FIRST; X putstr("\033&"); X (void)putchar(0); X (void)putchar(c); X (void)putchar(c); X if(nlqmode==YES) { X for(i=0;i<48;i++) X (void)putchar(nlq[j][i]); X } else { X for(i=0;i<12;i++) X (void)putchar(special[j][i]); X } X} X Xvoid putstr(s) Xchar *s; X{ X while(*s!=0) X (void)putchar(*s++); X} X X/* check if the character to be printed is a special character */ X/* if it is and it has not been loaded into the printer then do it first */ Xvoid putch(c) Xchar c; X{ X int j; X void download(); X j = c-FIRST; /* index of special character */ X /* check if we are in SPEC mode and the special character is defined */ X if(((ctype & SPEC) == SPEC) && (j>=0) && (j<NUMSPEC) && (cmark[j]==0)) { X if((copy==0)&&(nlqmode==NO)) { /* copy the PGC ROM to RAM */ X (void)putchar('\033'); X (void)putchar(':'); X (void)putchar(0); X (void)putchar(0); X (void)putchar(0); X copy = 1; X } X X download(c); X cmark[j] = 1; X } X if(c!=0) { X if((ctype & BOLD)&&(nlqmode==YES)) { X (void)putchar(c); X (void)putchar('\b'); X (void)putchar(c); X } else X (void)putchar(c); X } X} X X/* output the current character as a normal character */ X/* then change to the special characters */ Xvoid inspec() X{ X void tospec(); X if(cur!=0) putch(cur); /* output the current character first */ X tospec(); X ctype |= SPEC; X cur = 0; X} X X/* output the current character as a special character */ X/* then change to normal character output */ Xvoid outspec() X{ X void frspec(); X if(cur!=0) putch(cur); /* output the current character first */ X frspec(); X ctype &= ~SPEC; X cur = 0; X} X X/* force the printer to print normal characters */ X/* then output the current character */ Xvoid donormal() X{ X if(cur!=0) { X switch(ctype) { /* if not in normal mode - then enter normal mode */ X case BOLD: X case (BOLD | SPEC): X frbold(); X ctype &= ~BOLD; X break; X case UNDER: X case (UNDER | SPEC): X frunder(); X ctype &= ~UNDER; X break; X case ITALIC: X case (ITALIC | SPEC): X fritalic(); X ctype &= ~ITALIC; X break; X case SPEC: /* if special or normal mode, then do not change */ X case NORMAL: X default: X break; X } X putch(cur); /* output the current character */ X } X} ________This_Is_The_END________ if test `wc -c < epx.c` -ne 9533; then echo 'shar: epx.c was damaged during transit (should have been 9533 bytes)' fi fi ; : end of overwriting check echo 'x - draft.c' if test -f draft.c; then echo 'shar: not overwriting draft.c'; else sed 's/^X//' << '________This_Is_The_END________' > draft.c X/* draft mode special character definitions for epx */ X/* */ X/* Author: Thomas E. Tkacik uvaee!tet */ X/* */ X/* To be modified or given away freely */ X/* */ X#define NUMSPEC 60 /* number of defined special characters */ X X/* first byte - attribute data */ X/* last bytes - character data */ Xchar special[NUMSPEC][12] = { X {139,32,28,2,0,4,0,8,0,48,0,0}, /* nu */ X {139,28,0,34,0,34,24,4,8,50,0,0}, /* alpha */ X {139,1,126,0,148,2,144,2,108,0,0,0}, /* beta */ X {139,28,32,2,0,12,0,2,32,28,0,0}, /* omega */ X {139,12,66,16,162,0,146,0,76,0,0,0}, /* delta */ X {139,6,24,96,128,0,128,96,24,6,0,0}, /* LAMBDA */ X {139,16,0,40,130,124,130,40,0,16,0,0}, /* PHI */ X {139,254,0,128,0,128,0,128,0,192,0,0}, /* GAMMA */ X {139,64,48,8,2,252,2,8,48,64,0,0}, /* PSI */ X {139,16,0,32,0,34,28,32,0,32,0,0}, /* tau */ X {139,32,0,62,0,32,0,62,0,32,0,0}, /* pi */ X {11,1,30,32,0,72,0,72,0,48,0,0}, /* rho */ X {139,130,0,68,40,16,8,4,0,2,0,0}, /* lambda */ X {139,1,62,0,2,0,2,0,60,2,0,0}, /* mu */ X {139,32,30,0,32,0,32,0,30,1,0,0}, /* eta */ X {139,56,68,0,146,0,146,0,68,56,0,0}, /* THETA */ X {139,128,126,128,0,128,0,128,126,128,0,0}, /* PI */ X {139,0,24,165,0,69,0,130,0,0,0,0}, /* zeta */ X {139,130,68,170,0,146,0,130,0,130,0,0}, /* SIGMA */ X {139,28,0,42,0,42,0,34,0,0,0,0}, /* epsilon - member */ X {139,0,56,68,146,0,146,68,56,0,0,0}, /* theta */ X {139,8,0,20,1,62,64,20,0,8,0,0}, /* phi */ X {11,64,56,4,0,255,0,4,24,96,0,0}, /* psi */ X {139,6,24,34,64,130,64,34,24,6,0,0}, /* DELTA */ X {139,0,8,181,64,21,64,2,64,0,0,0}, /* xi */ X {139,28,0,34,0,34,0,60,0,32,0,0}, /* sigma */ X {139,50,72,6,128,0,128,6,72,50,0,0}, /* OMEGA */ X {139,32,16,40,4,34,4,40,16,32,0,0}, /* del - gradient */ X {11,128,0,65,2,52,8,16,32,64,0,0}, /* gamma */ X {139,14,81,0,81,8,33,30,0,0,0,0}, /* partial */ X {139,1,0,1,126,128,0,128,0,0,0,0}, /* infinity */ X {139,8,0,8,0,8,0,12,0,0,0,0}, /* not */ X {139,130,0,146,0,146,0,146,0,130,0,0}, /* XI */ X {139,8,0,14,1,2,4,8,16,32,64,128}, /* square root */ X {139,128,0,128,0,128,0,128,0,128,0,128}, /* root en */ X {139,62,65,8,85,0,85,0,65,62,0,0}, /* copy right */ X {139,28,0,34,0,28,0,34,0,28,0,0}, /* infinity */ X {139,28,0,62,0,62,0,62,0,28,0,0}, /* bullet */ X {139,0,0,64,160,0,160,64,0,0,0,0}, /* degree */ X {139,16,0,32,0,127,0,32,0,16,0,0}, /* up arrow */ X {139,4,0,2,0,127,0,2,0,4,0,0}, /* down arrow */ X {139,0,0,0,0,63,64,128,0,128,0,0}, /* left top */ X {139,0,0,0,0,252,2,1,0,1,0,0}, /* left bottom */ X {139,128,0,128,64,63,0,0,0,0,0,0}, /* right top */ X {139,1,0,1,2,252,0,0,0,0,0,0}, /* right bottom */ X {139,0,8,0,20,227,0,0,0,0,0,0}, /* left center */ X {139,0,0,0,0,227,20,0,8,0,0,0}, /* right center */ X {139,0,0,0,0,255,0,0,0,0,0,0}, /* bold verticle */ X {139,0,0,0,0,255,0,1,0,1,0,0}, /* left floor */ X {139,1,0,1,0,255,0,0,0,0,0,0}, /* right floor */ X {139,0,0,0,0,255,0,128,0,128,0,0}, /* left ceiling */ X {139,128,0,128,0,255,0,0,0,0,0,0}, /* right ceiling */ X {139,62,0,34,0,34,0,34,0,62,0,0}, /* square */ X {139,62,65,0,93,0,81,0,65,62,0,0}, /* registered */ X {139,12,18,0,18,0,12,0,18,0,18,0}, /* proportional to */ X {139,0,0,9,52,65,22,72,0,0,0,0}, /* section */ X {139,126,0,128,0,128,0,128,0,126,0,0}, /* intersection */ X {139,34,0,34,0,34,0,34,0,34,0,28}, /* superset of */ X {139,28,0,34,0,34,0,34,0,34,0,34}, /* subset of */ X {139,56,0,68,0,68,0,68,0,56,0,0} /* circle */ X}; ________This_Is_The_END________ if test `wc -c < draft.c` -ne 4004; then echo 'shar: draft.c was damaged during transit (should have been 4004 bytes)' fi fi ; : end of overwriting check echo 'x - nlq.c' if test -f nlq.c; then echo 'shar: not overwriting nlq.c'; else sed 's/^X//' << '________This_Is_The_END________' > nlq.c X/* nlq node special character definitions for epx */ X/* */ X/* Author: Thomas E. Tkacik uvaee!tet */ X/* */ X/* To be modified or given away freely */ X/* */ X#define NUMSPEC 60 /* number of defined special characters */ X X/* first two bytes - attribute data */ X/* last 46 bytes - character data */ Xchar nlq[NUMSPEC][48] = { X {128,23,0,0,0,0,0,0,0,0,0,0,0,0,4,28,0,224,7,4,0,8,0,0,0,8,0,16,0,0, X 0,16,0,32,0,64,7,128,0,0,0,0,0,0,0,0,0,0}, /* nu */ X {128,23,0,0,0,0,0,224,1,16,0,8,2,0,0,8,4,4,0,0,4,4,0,0,4,4,0,8,2,0, X 1,136,0,80,0,32,1,208,2,8,4,4,0,0,0,4,0,0}, /* alpha */ X {128,23,0,0,0,0,0,0,0,7,0,56,1,192,14,0,16,0,33,8,0,0,33,4,0,0,33,4,0,0, X 33,4,0,128,18,8,12,128,0,112,0,0,0,0,0,0,0,0}, /* beta */ X {128,23,0,0,0,0,0,224,1,16,2,8,0,4,4,0,0,4,0,8,0,16,0,224,0,16,0,8,0,4, X 4,0,0,4,2,8,1,16,0,224,0,0,0,0,0,0,0,0}, /* omega */ X {128,23,0,0,0,0,0,0,0,0,0,96,0,144,1,8,0,0,26,8,4,4,34,0,4,4,32,0,4,4, X 34,8,0,0,18,8,1,16,0,224,0,0,0,0,0,0,0,0}, /* delta */ X {128,23,0,0,0,0,0,4,0,0,0,12,0,48,0,68,1,128,2,0,12,0,16,0,32,0,16,0, X 12,0,2,0,1,128,0,68,0,48,0,12,0,0,0,4,0,0,0,0},/* LAMBDA */ X {128,23,0,0,0,0,1,128,2,64,4,32,0,0,4,32,8,16,32,4,8,16,32,4,31,248, X 32,4,8,16,32,4,8,16,4,32,0,0,4,32,2,64,1,128,0,0,0,0}, /* PHI */ X {128,23,0,0,0,0,0,0,32,4,0,0,32,4,31,248,32,4,0,0,32,4,0,0,32,0,0,0, X 32,0,0,0,32,0,0,0,32,0,0,0,56,0,0,0,0,0,0,0}, /* GAMMA */ X {128,23,0,0,0,0,16,0,0,0,16,0,8,0,7,192,0,32,32,20,0,0,32,20,31,232, X 32,20,0,0,32,20,0,32,7,192,8,0,16,0,0,0,16,0,0,0,0,0},/* PSI */ X {128,23,0,0,0,0,0,0,0,0,0,0,2,0,4,0,0,0,4,0,0,12,4,112,3,128,4,0,0,0, X 4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0}, /* tau */ X {128,23,0,0,0,0,0,0,0,0,2,0,4,0,0,12,4,112,3,128,4,0,0,0,4,0,0,0,4,0, X 0,0,4,12,0,112,7,128,0,0,4,0,0,0,0,0,0,0}, /* pi */ X {128,23,0,0,0,0,0,0,0,0,0,7,0,24,0,96,0,128,1,8,0,0,2,4,0,0,2,4,0,0, X 2,4,0,0,1,8,0,144,0,96,0,0,0,0,0,0,0,0}, /* rho */ X {128,23,0,0,0,0,0,0,0,0,0,0,32,4,0,0,32,8,16,16,8,32,4,64,2,128,1,0, X 0,128,0,64,0,32,0,16,0,8,0,4,0,0,0,4,0,0,0,0}, /* lambda */ X {128,23,0,0,0,0,0,0,0,0,0,1,7,254,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0, X 0,8,0,0,7,248,0,4,0,0,0,0,0,0,0,0}, /* mu */ X {128,23,0,0,0,0,0,0,4,0,0,0,4,0,3,252,0,0,1,0,0,0,2,0,0,0,4,0,0,0,4,0, X 0,0,4,0,2,0,1,252,0,3,0,0,0,0,0,0}, /* eta */ X {128,23,0,0,0,0,1,128,6,96,8,16,0,0,17,8,0,0,33,4,0,0,33,4,0,0,33,4,0,0, X 33,4,0,0,17,8,0,0,8,16,6,96,1,128,0,0,0,0}, /* THETA */ X {128,23,0,0,0,0,32,4,0,0,32,4,31,248,32,4,0,0,32,4,0,0,32,0,0,0,32,0, X 0,0,32,4,0,0,32,4,31,248,32,4,0,0,32,4,0,0,0,0},/* PI */ X {128,23,0,0,0,0,0,0,0,0,0,0,0,0,0,224,1,16,34,8,20,0,0,5,24,0,0,5,16,0, X 0,5,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, /* zeta */ X {128,23,0,0,0,0,32,4,0,0,48,12,0,0,40,20,0,0,36,36,0,0,34,68,0,0,33,132, X 0,0,32,4,0,0,32,4,0,0,32,4,16,8,8,16,0,0,0,0}, /* SIGMA */ X {128,23,0,0,0,0,0,0,0,0,0,224,1,16,2,72,0,0,2,72,4,4,0,64,4,4,0,64,4,4, X 0,64,4,4,0,0,2,8,0,0,0,0,0,0,0,0,0,0}, /* epsilon */ X {128,23,0,0,0,0,0,0,0,0,1,128,6,96,9,16,0,0,17,8,0,0,33,4,0,0,33,4,0,0, X 17,8,0,0,9,16,6,96,1,128,0,0,0,0,0,0,0,0}, /* theta */ X {128,23,0,0,0,0,0,0,0,96,0,144,1,8,0,0,1,8,2,4,0,3,2,28,0,224,3,4,12,0, X 2,4,1,8,0,0,1,8,0,144,0,96,0,0,0,0,0,0}, /* phi */ X {128,23,0,0,0,0,0,0,2,0,1,240,0,8,0,4,0,3,0,28,0,224,3,4,12,0,0,4,0,8, X 0,48,0,192,1,0,0,0,2,0,0,0,0,0,0,0,0,0}, /* psi */ X {128,23,0,0,0,0,0,0,0,4,0,8,0,52,0,64,1,132,2,0,12,4,16,0,32,4,16,0, X 12,4,2,0,1,132,0,64,0,48,0,8,0,4,0,0,0,0,0,0}, /* DELTA */ X {128,23,0,0,0,0,0,0,0,0,0,0,0,48,0,72,6,0,9,133,32,0,16,133,0,0,16,133, X 0,2,16,128,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0}, /* xi */ X {128,23,0,0,0,0,0,0,0,224,1,16,2,8,0,0,2,8,4,4,0,0,4,4,0,0,4,4,0,0,4,4, X 2,8,4,0,2,8,5,16,0,224,4,0,0,0,0,0}, /* sigma */ X {128,23,0,0,0,0,0,0,7,8,8,132,0,64,16,36,0,16,32,12,0,0,32,0,0,0,32,0, X 0,0,32,12,0,16,16,36,0,64,8,132,7,8,0,0,0,0,0,0},/* OMEGA */ X {128,23,0,0,0,0,0,0,4,0,2,0,5,0,0,128,4,64,0,32,4,16,0,8,4,4,0,8, X 4,16,0,32,4,64,0,128,5,0,2,0,4,0,0,0,0,0,0,0}, /* del - gradient */ X {128,23,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,2,1,1,2,0,132,0,104,0,16,0,32, X 0,64,0,128,1,0,6,0,0,0,0,0,0,0,0,0,0,0}, /* gamma */ X {128,23,0,0,0,0,0,0,0,0,0,240,1,8,0,0,1,8,18,4,0,0,34,4,0,0,34,4, X 17,8,0,0,16,136,8,16,7,224,0,0,0,0,0,0,0,0,0,0},/* partial */ X {128,23,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,4,0,2,0,1,56,0,71,1,128,226,0,28, X 128,0,64,0,32,0,64,0,0,0,0,0,0,0,0,0,0,0}, /* integral */ X {128,23,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0, X 1,0,0,0,1,0,0,0,1,224,0,0,0,0,0,0,0,0}, /* not */ X {128,23,0,0,0,0,0,4,0,8,8,16,16,136,33,0,18,8,1,0,16,8,1,0,16,8,1,0, X 16,8,1,0,16,136,1,4,18,8,8,16,16,0,32,0,0,0,0,0},/* XI */ X {128,23,1,0,0,0,1,0,0,0,1,128,0,112,0,14,0,1,0,2,0,4,0,8,0,16,0,32,0,64, X 0,128,1,0,2,0,4,0,8,0,16,0,32,0,64,0,128,0}, /* square root */ X {128,23,128,0,0,0,128,0,0,0,128,0,0,0,128,0,0,0,128,0,0,0,128,0,0,0, X 128,0,0,0,128,0,0,0,128,0,0,0,128,0,0,0,128,0,0,0,128,0},/* root en */ X {128,23,0,0,0,0,0,0,1,192,2,32,4,16,0,0,4,144,9,72,2,32,8,8,2,32,8,8, X 2,32,8,8,4,16,0,0,4,16,2,32,1,192,0,0,0,0,0,0},/* copyright */ X {128,23,0,0,0,0,1,128,2,64,0,0,4,32,0,0,4,32,0,0,2,64,0,0,1,128,0,0, X 2,64,0,0,4,32,0,0,4,32,0,0,2,64,1,128,0,0,0,0},/* infinity */ X {128,23,0,0,0,0,0,0,1,192,2,32,5,208,2,32,5,208,10,40,5,208,10,40,5,208, X 10,40,5,208,10,40,5,208,2,32,5,208,2,32,1,192,0,0,0,0,0,0},/* bullet*/ X {128,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,136,0,0,0,136,0,0,0, X 136,0,0,0,136,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0},/* degree */ X {128,23,0,0,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,63,252,0,0, X 16,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0}, /* up arrow */ X {128,23,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,16,0,0,0,8,0,0,63,252,0,0, X 0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0}, /* down arrow */ X {128,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,255,32,0,64,0, X 0,0,128,0,0,0,128,0,0,0,128,0,0,0,0,0,0,0}, /* left top */ X {128,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,248,0,4,0,2, X 0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0}, /* left bottom */ X {128,23,0,0,0,0,0,0,128,0,0,0,128,0,0,0,128,0,0,0,64,0,32,0,31,255,0,0, X 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, /* right top */ X {128,23,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,4,255,248,0,0, X 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, /* right bottom */ X {128,23,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,128,4,64,248,63,0,0, X 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, /* left center */ X {128,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,63,4,64, X 2,128,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0}, /* right center */ X {128,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0, X 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, /* bold verticle */ X {128,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0, X 0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0}, /* left floor */ X {128,23,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,255,255,0,0, X 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, /* right floor */ X {128,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,128,0, X 0,0,128,0,0,0,128,0,0,0,128,0,0,0,0,0,0,0}, /* left ceiling */ X {128,23,0,0,0,0,0,0,128,0,0,0,128,0,0,0,128,0,0,0,128,0,0,0,255,255, X 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, /* right ceiling */ X {128,23,0,0,0,0,0,0,7,252,0,0,4,4,0,0,4,4,0,0,4,4,0,0,4,4,0,0, X 4,4,0,0,4,4,0,0,4,4,0,0,7,252,0,0,0,0,0,0}, /* square */ X {128,23,0,0,0,0,0,0,1,192,2,32,4,16,0,0,4,16,10,8,1,224,8,8,2,0,8,8, X 2,0,9,8,4,16,0,0,4,16,2,32,1,192,0,0,0,0,0,0}, /* registered */ X {128,23,0,0,0,0,1,128,2,64,0,0,4,32,0,0,4,32,0,0,2,64,0,0,1,128,0,0, X 2,64,0,0,4,32,0,0,4,32,0,0,4,32,0,0,0,0,0,0}, /* proportional to */ X {128,23,0,0,0,0,0,0,0,0,0,0,35,4,84,2,0,128,136,1,0,64,132,1,0,32,130,1, X 0,16,129,1,0,8,64,130,32,20,0,96,0,0,0,0,0,0,0,0},/* section */ X {128,23,0,0,0,0,0,0,0,0,0,0,15,252,16,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0, X 32,0,0,0,16,0,15,252,0,0,0,0,0,0,0,0,0,0}, /* intersection */ X {128,23,0,0,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4, X 0,0,2,4,0,0,2,4,0,0,2,4,1,8,0,0,1,8,0,240}, /* superset of */ X {128,23,0,240,1,8,0,0,1,8,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4, X 0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,0,0}, /* subset of */ X {128,23,0,0,0,0,0,0,1,192,2,32,4,16,0,0,4,16,8,8,0,0,8,8,0,0,8,8, X 0,0,8,8,4,16,0,0,4,16,2,32,1,192,0,0,0,0,0,0}, /* circle */ X}; ________This_Is_The_END________ if test `wc -c < nlq.c` -ne 8505; then echo 'shar: nlq.c was damaged during transit (should have been 8505 bytes)' fi fi ; : end of overwriting check echo 'x - tabepson.c' if test -f tabepson.c; then echo 'shar: not overwriting tabepson.c'; else sed 's/^X//' << '________This_Is_The_END________' > tabepson.c X#ifndef INCH X#define INCH 240 X#endif X Xstruct t { X int bset; X int breset; X int Hor; X int Vert; X int Newline; X int Char; X int Em; X int Halfline; X int Adj; X char *twinit; X char *twrest; X char *twnl; X char *hlr; X char *hlf; X char *flr; X char *bdon; X char *bdoff; X char *iton; X char *itoff; X char *ploton; X char *plotoff; X char *up; X char *down; X char *right; X char *left; X char *codetab[256-32]; X char *zzz; X } t = { X/*bset */ 00, X/*breset */ 00, X/*Hor */ INCH/10, X/*Vert */ INCH/12, X/*Newline */ INCH/6, X/*Char */ INCH/10, X/*Em */ INCH/10, X/*Halfline*/ INCH/12, X/*Adj */ INCH/10, X/*twinit */ "", X/*twrest */ "", X/*twnl */ "\n", X/*hlr */ "\0338", X/*hlf */ "\0339", X/*flr */ "\0337", X/*bdon */ "", X/*bdoff */ "", X/*iton */ "", X/*itoff */ "", X/*ploton */ "", X/*plotoff */ "", X/*up */ "", X/*down */ "", X/*right */ "", X/*left */ "", X/* space */ "\001 ", X/* ! */ "\001!", X/* " */ "\001\"", X/* # */ "\001#", X/* $ */ "\001$", X/* % */ "\001%", X/* & */ "\001&", X/* ' close */ "\001'", X/* ( */ "\001(", X/* ) */ "\001)", X/* * */ "\001*", X/* + */ "\001+", X/* , */ "\001,", X/* - hyphen */ "\001-", X/* . */ "\001.", X/* / */ "\001/", X/* 0 */ "\2010", X/* 1 */ "\2011", X/* 2 */ "\2012", X/* 3 */ "\2013", X/* 4 */ "\2014", X/* 5 */ "\2015", X/* 6 */ "\2016", X/* 7 */ "\2017", X/* 8 */ "\2018", X/* 9 */ "\2019", X/* : */ "\001:", X/* ; */ "\001;", X/* < */ "\001<", X/* = */ "\001=", X/* > */ "\001>", X/* ? */ "\001?", X/* @ */ "\001@", X/* A */ "\201A", X/* B */ "\201B", X/* C */ "\201C", X/* D */ "\201D", X/* E */ "\201E", X/* F */ "\201F", X/* G */ "\201G", X/* H */ "\201H", X/* I */ "\201I", X/* J */ "\201J", X/* K */ "\201K", X/* L */ "\201L", X/* M */ "\201M", X/* N */ "\201N", X/* O */ "\201O", X/* P */ "\201P", X/* Q */ "\201Q", X/* R */ "\201R", X/* S */ "\201S", X/* T */ "\201T", X/* U */ "\201U", X/* V */ "\201V", X/* W */ "\201W", X/* X */ "\201X", X/* Y */ "\201Y", X/* Z */ "\201Z", X/* [ */ "\001[", X/* \ */ "\001\\", X/* ] */ "\001]", X/* ^ */ "\001^", X/* _ dash */ "\001_", X/* ` open */ "\001`", X/* a */ "\201a", X/* b */ "\201b", X/* c */ "\201c", X/* d */ "\201d", X/* e */ "\201e", X/* f */ "\201f", X/* g */ "\201g", X/* h */ "\201h", X/* i */ "\201i", X/* j */ "\201j", X/* k */ "\201k", X/* l */ "\201l", X/* m */ "\201m", X/* n */ "\201n", X/* o */ "\201o", X/* p */ "\201p", X/* q */ "\201q", X/* r */ "\201r", X/* s */ "\201s", X/* t */ "\201t", X/* u */ "\201u", X/* v */ "\201v", X/* w */ "\201w", X/* x */ "\201x", X/* y */ "\201y", X/* z */ "\201z", X/* { */ "\001{", X/* | */ "\001|", X/* } */ "\001}", X/* ~ */ "\001~", X/* narrow sp */ "\000\0", X/* hyphen */ "\001-", X/* bullet */ "\001\016e\017", X/* square */ "\001\016t\017", X/* 3/4 em */ "\001-", X/* rule */ "\001_", X/* 1/4 */ "\0031/4", X/* 1/2 */ "\0031/2", X/* 3/4 */ "\0033/4", X/* minus */ "\001-", X/* fi */ "\202fi", X/* fl */ "\202fl", X/* ff */ "\202ff", X/* ffi */ "\203ffi", X/* ffl */ "\203ffl", X/* degree */ "\001\016f\017", X/* dagger */ "\001|\b-", X/* section */ "\001\016w\017", X/* foot mark */ "\001'", X/* acute accent */ "\001'", X/* grave accent */ "\001`", X/* underrule */ "\001_", X/* slash (longer) */ "\001/", X/* half narrow space */ "\000\0", X/* unpaddable space */ "\001 ", X/* alpha */ "\201\016A\017", X/* beta */ "\201\016B\017", X/* gamma */ "\201\016\\\017", X/* delta */ "\201\016D\017", X/* epsilon */ "\201\016S\017", X/* zeta */ "\201\016Q\017", X/* eta */ "\201\016N\017", X/* theta */ "\201\016T\017", X/* iota */ "\201i", X/* kappa */ "\201k", X/* lambda */ "\201\016L\017", X/* mu */ "\201\016M\017", X/* nu */ "\201\016@\017", X/* xi */ "\201\016X\017", X/* omicron */ "\201o", X/* pi */ "\201\016J\017", X/* rho */ "\201\016K\017", X/* sigma */ "\201\016Y\017", X/* tau */ "\201\016I\017", X/* upsilon */ "\201v", X/* phi */ "\201\016U\017", X/* chi */ "\201x", X/* psi */ "\201\016V\017", X/* omega */ "\201\016C\017", X/* Gamma */ "\201\016G\017", X/* Delta */ "\201\016W\017", X/* Theta */ "\201\016O\017", X/* Lambda */ "\201\016E\017", X/* Xi */ "\201\016`\017", X/* Pi */ "\201\016P\017", X/* Sigma */ "\201\016R\017", X/* Tau */ "\201T", X/* Upsilon */ "\201Y", X/* Phi */ "\201\016F\017", X/* Psi */ "\201\016H\017", X/* Omega */ "\201\016Z\017", X/* square root */ "\001\016a\017", X/* terminal sigma */ "\201\016Y\017", X/* root en */ "\001\016b\017", X/* >= */ "\001>\b_", X/* <= */ "\001<\b_", X/* identically equal */ "\001=\b_", X/* equation minus */ "\001-", X/* approx = */ "\001=\b~", X/* approximates */ "\001~", X/* not equal */ "\001=\b/", X/* right arrow */ "\002->", X/* left arrow */ "\002<-", X/* up arrow */ "\001\016g\017", X/* down arrow */ "\001\016h\017", X/* eqn equals */ "\001=", X/* multiply */ "\001x", X/* divide */ "\001/", X/* plus-minus */ "\001+\b_", X/* cup-union */ "\001U", X/* cap-intersection */ "\001\016x\017", X/* subset of */ "\001\016z\017", X/* superset of */ "\001\016y\017", X/* improper subset */ "\001\016z\017\b_", X/* improper superset */ "\001\016y\017\b_", X/* infinity */ "\001\016d\017", X/* pt deriv */ "\001\016]\017", X/* gradient */ "\001\016[\017", X/* not */ "\001\016_\017", X/* integral */ "\001\016^\017", X/* proportional to */ "\001\016v\017", X/* empty set */ "\001\016{\017\b/", X/* member of */ "\001\016S\017", X/* equation plus */ "\001+", X/* registered */ "\001\016u\017", X/* copyright */ "\001\016c\017", X/* box rule */ "\001\016o\017", X/* cent sign */ "\001c\b/", X/* dbl dagger */ "\001|\b=", X/* right hand */ "\002=>", X/* left hand */ "\002<=", X/* math * */ "\001*", X/* bell system sign */ "\000\0", X/* or (was star) */ "\001|", X/* circle */ "\001\016{\017", X/* left top of big curly */ "\001\016i\017", X/* left bottom of big curly */ "\001\016j\017", X/* right top of big curly */ "\001\016k\017", X/* right bottom of big curly */ "\001\016l\017", X/* left center of big curly */ "\001\016m\017", X/* right center of big curly */ "\001\016n\017", X/* bold vertical rule */ "\001\016o\017", X/* left bottom of big bracket */ "\001\016p\017", X/* right bottom of big bracket */ "\001\016q\017", X/* left top of big bracket */ "\001\016r\017", X/* right top of big bracket */ "\001\016s\017", X}; ________This_Is_The_END________ if test `wc -c < tabepson.c` -ne 7947; then echo 'shar: tabepson.c was damaged during transit (should have been 7947 bytes)' fi fi ; : end of overwriting check echo 'x - tabepson.uu' if test -f tabepson.uu; then echo 'shar: not overwriting tabepson.uu'; else sed 's/^X//' << '________This_Is_The_END________' > tabepson.uu Xbegin 644 tabepson XM "V0 & !0 H & !@ 4 & $ XM ! ( % " $ ! 0 $ ! 0 XM $ ! 0 $ $Y "P X 1 % !< : ! XM, !T @ "E G4 C !^P "8 (C *0 "P O XM ,@ #4 X .P #X !! 1 $< !* 30 AT XM !0 4P %8 !9 7 %\ !B 90 &@ !K ;@ XM '$ !T =P 'H !] @ (, "& B0 (P "/ ! XMR )( "5 F )L '+ G@ *$ "D IP *H $V XM !,P *T "P LP +8 "Y O +\ #" !9 ,4 XM %G R ,L #. !?@ -$ #4 UP -H #= X XM 9 #C !F .8 #I [ I< #O " P M8 '[ XM\@ /< '[ !-@ /P $! !!@ ?L $+ !#P 1, $7 XM !' 2$ $F !*P 3 $P !,P 38 (C "U@ 3D XM $\ !00 48 %+ !4 54 %: !7P 60 %G !:@ XM 6\ %T !>0 7X &! !A@ >( &+ !D 9, &8 ! XMFP : &E !J@ :\ &T !N0 ;X '# !R <L '. XM !TP =@ '= !X@ >< 'L !\0 ?8 '[ !_@ @, XM (& ""P @\ (3 "& AT (@ "(P B8 (K "+@ XM C, (X "/0 D0 )+ "4 E4 ): "7P F0 )I " XM< G4 )X "?0 KT *" "AP HP *0 "E M8 *7 XM "F@ I\ *D "J0 JX *S "N KT +" "QP LP XM +1 "U@ M8 +6 "U@ M8 +6 "U@ M8 +6 "U@ XM M8 +6 "U@ * !LX !LY !LW $A $B $C $D $E $F $H XM $I $L $N ($P ($Q ($R ($S ($T ($U ($V ($W ($X ($Y $Z $[ XM $\ $^ $_ % (%! (%" (%# (%$ (%% (%& (%' (%( (%) (%* (%+ XM (%, (%- (%. (%/ (%0 (%1 (%2 (%3 (%5 (%6 (%7 (%8 (%: %; %< XM %= %> (%A (%B (%C (%D (%E (%F (%G (%H (%J (%L (%M (%N (%P XM (%Q (%R (%S (%T (%U (%W (%Y (%Z %[ %] $.90\ 0YT#P #,2\T XM ,Q+S( S,O- ""9FD @F9L ()F9@"#9F9I (-F9FP 0YF#P !? @M $. XM=P\ 2< 6 5\ 2 @0Y!#P"!#D(/ ($.7 \ @0Y$#P"!#E,/ ($.40\ XM@0Y.#P"!#E0/ (%I (%K ($.3 \ @0Y-#P"!#D / ($.6 \ @6\ @0Y*#P"! XM#DL/ ($.20\ @78 @0Y5#P"!> "!#E8/ ($.0P\ @0Y'#P"!#E</ ($.3P\ XM@0Y%#P"!#F / ($.4 \ @0Y2#P"!5 "!60"!#D8/ ($.2 \ @0Y:#P !#F$/ XM ($.60\ 0YB#P !/@A? $\"%\ 3T(7P !+0 !/0A^ %^ $]""\ BT^ XM (\+0 !#F</ $.: \ 3T 7@ 2\ 2L(7P !50 !#G@/ $.>@\ 0YY XM#P !#GH/"%\ 0YY#PA? $.9 \ 0Y=#P !#EL/ $.7P\ 0Y>#P !#G8/ XM $.>P\(+P !#E,/ $K $.=0\ 0YC#P !8P@O %\"#T CT^ (\/0 ! XM*@ !? !#GL/ $.:0\ 0YJ#P !#FL/ $.; \ 0YM#P !#FX/ $.;P\ X7 0YP#P !#G$/ $.<@\ 0YS#P / X Xend ________This_Is_The_END________ if test `wc -c < tabepson.uu` -ne 2415; then echo 'shar: tabepson.uu was damaged during transit (should have been 2415 bytes)' fi fi ; : end of overwriting check echo 'x - special' if test -f special; then echo 'shar: not overwriting special'; else sed 's/^X//' << '________This_Is_The_END________' > special XThis is a test of the special character set. X.sp X.nf X.ta 2i 4i 6i XALPHA \(*A alpha \(*a BETA \(*B beta \(*b XGAMMA \(*G gamma \(*g DELTA \(*D delta \(*d XEPSILON \(*E epsilon \(*e ZETA \(*Z zeta \(*z XETA \(*Y eta \(*y THETA \(*H theta \(*h XIOTA \(*I iota \(*i KAPPA \(*K kappa \(*k XLAMBDA \(*L lambda \(*l MU \(*M mu \(*m XNU \(*N nu \(*n XI \(*C xi \(*c XOMICRON \(*O omicron \(*o PI \(*P pi \(*p XRHO \(*R rho \(*r SIGMA \(*S sigma \(*s XTAU \(*T tau \(*t UPSILON \(*U upsilon \(*u XPHI \(*F phi \(*f CHI \(*X chi \(*x XPSI \(*Q psi \(*q OMEGA \(*W omega \(*w X1/4 \(14 1/2 \(12 3/4 \(34 degree \(de Xdagger \(dg double dagger \(dd footmark \(fm cent sign \(ct Xregistered \(rg copyright \(co math + \(pl math - \(mi Xmath = \(eq math * \(** section \(sc underrule \(ul Xacute accent \(aa grave accent \(ga backslash \(sl square root \(sr Xroot en extender \(rn plus minus \(+- >= \(>= <= \(<= Xidentically = \(== approx. = \(~= approximates \(ap not equal \(!= Xright arrow \(-> left arrow \(<- up arrow \(ua down arrow \(da Xmultiply \(mu divide \(di union \(cu intersection \(ca Xsubset of \(sb superset of \(sp improper subset \(ib improper superset \(ip Xinfinity \(if partial \(pd gradient \(gr not \(no Xintegral \(is proportional to \(pt empty set \(es member of \(mo Xbox verticle rule \(br Bell System Logo \(bs right hand \(rh left hand \(lh Xor \(or circle \(ci left to curly \(lt left bottom \(lb Xright top curly \(rt right bottom \(rb left center curly \(lk right center \(rk Xleft floor \(lf right floor \(rf left ceiling \(lc right ceiling \(rc Xbold verticle \(bv bullet \(bu square \(sq X.sp 2 X.ft B XGreek Characters X.ft P X\(*a\(*b\(*g\(*d\(*e\(*z\(*y\(*h\(*i\(*k\(*l\(*m\(*n\(*c\(*o\(*p\(*r\(*s\(*t\(*u\(*f\(*x\(*q\(*w X\(*A\(*B\(*G\(*D\(*E\(*Z\(*Y\(*H\(*I\(*K\(*L\(*M\(*N\(*C\(*O\(*P\(*R\(*S\(*T\(*U\(*F\(*X\(*Q\(*W X.sp 2 X.in 1i X.ft B XA Big Equation - \fIFrom the EQN User's Guide\fP X.ft R X.sp X.EQ XG(z)~mark =~ e sup { ln ~ G(z) } X~=~ exp left [ Xsum from k>=1 {S sub k z sup k} over k right ] X~=~ prod from k>=1 e sup { S sub k z sup k /k} X.EN X.sp 2 X.EQ Xlineup =~ left ( 1 + S sub 1 z + X{ S sub 1 sup 2 z sup 2 } over 2! + "..." right ) Xleft ( 1 + {S sub 2 z sup 2 } over 2 X+ { S sub 2 sup 2 z sup 4 } over { 2 sup 2 ~ 2! } X+ "..." right ) "..." X.EN X.sp X.EQ Xlineup =~ sum from m>=0 left { Xsum from Xpile { k sub 1 ,k sub 2 ",...," k sub m >=0 Xabove Xk sub 1 +2k sub 2 ",...," +mk sub m = m } X{S sub 1 sup {k sub 1} } over {1 sup k sub 1 k sub 1 ! } ~ X{S sub 2 sup {k sub 2} } over {2 sup k sub 2 k sub 2 ! } ~ X"..." X{S sub m sup {k sub m} } over {m sup k sub m k sub m ! } ~ Xright } z sup m X.EN X ________This_Is_The_END________ if test `wc -c < special` -ne 2621; then echo 'shar: special was damaged during transit (should have been 2621 bytes)' fi fi ; : end of overwriting check exit 0 -- Tom Tkacik | tkacik@kyzyl.mi.org | To rent this space, call 1-800-555-QUIP. tkacik@hobbes.cs.gmr.com | -- David H. Brierley Home: dave@galaxia.newport.ri.us; Work: dhb@quahog.ssd.ray.com Send comp.sources.3b1 submissions to comp-sources-3b1@galaxia.newport.ri.us %% Can I be excused, my brain is full. **