home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-04-10 | 22.0 KB | 1,570 lines |
- Newsgroups: comp.sources.unix
- From: fkk@stasys.sta.sub.org (Frank Kaefer)
- Subject: v26i145: banners - a collection of banner programs, V1.1, Part05/07
- Sender: unix-sources-moderator@vix.com
- Approved: paul@vix.com
-
- Submitted-By: fkk@stasys.sta.sub.org (Frank Kaefer)
- Posting-Number: Volume 26, Issue 145
- Archive-Name: banners-1.1/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 7)."
- # Contents: banner-05/cursive.c
- # Wrapped by vixie@gw.home.vix.com on Sun Apr 11 23:19:21 1993
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'banner-05/cursive.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'banner-05/cursive.c'\"
- else
- echo shar: Extracting \"'banner-05/cursive.c'\" \(19392 characters\)
- sed "s/^X//" >'banner-05/cursive.c' <<'END_OF_FILE'
- X/* CURSIVE SIGNATURE PROGRAM Version 0.10
- X * (c) 1985 - Jan Wolter
- X *
- X * Purpose: This program translates text into crude cursive script.
- X * It works on any terminal with a fairly normal character
- X * set (must have backslashes and underscores and suchlike).
- X * The font includes all upper and lower case letters, most
- X * punctuation, and a few symbols. No numbers are included
- X * (It's difficult to make a nice italicized set of numbers).
- X * Cursive was originally written to generate fancy signatures
- X * for electronic mail messages, but other uses may occur to
- X * you. The attractiveness of the font varies greatly with
- X * the display device.
- X *
- X * Usage: If no command line arguments are given, cursive reads the
- X * text to translate from standard input. Otherwise the args
- X * are translated (e.g. "cursive Jan Wolter" prints my name).
- X * Output is always to standard output. A couple command line
- X * arguments are recognized:
- X *
- X * -in Sets the amount of space to insert between letters.
- X * The default is "-i1". "-i0" gives interesting
- X * results.
- X * -tn Sets the length of the trailing line off the end
- X * of each word. The default is "-t1".
- X *
- X * One character in the text is treated in a special way:
- X *
- X * '_' Can be inserted in text to slightly lengthen the
- X * the spacing between two letters, or add a longer
- X * tail to the end of a word.
- X *
- X * Internals: Unfortunately, the program is a kludge and the font is
- X * somewhat difficult to edit. It should be easy to port
- X * though. Systems with short integers or unsigned characters
- X * should be no problem. You should probably run "xstr" on the
- X * font.c file, but if you haven't got "xstr", just compiling it
- X * the usual way works fine.
- X *
- X * Copyright: Both the cursive program and the font it generates are
- X * copyrighted by yours truly. However, both may be used
- X * and distributed freely. You even have my permission to
- X * sell it, or include in it a system that you sell. I only
- X * ask that my name be retained on this program, or any direct
- X * decendents of this program with approximately the same
- X * visibility as in this posting.
- X *
- X * Mail: I'm interested in any comments you have on this program.
- X * I can be mailed at "janc@crim.eecs.umich.edu". Better yet,
- X * if you are into teleconferencing, call M-Net at (313) 994-6333
- X * and type "newuser" at the "login:" prompt to give yourself an
- X * account. Send mail to janc, or join the "ugames" conference.
- X *
- X * Have fun,
- X * ___ _ __ _
- X * ( > ' ) / // _/_
- X * __/___. ____ / / / __|/ / _ __
- X * / / (_/|_/ / <__ (_(_/ (_) \_<__</_/ (__
- X * <_/
- X */
- X
- X#include <stdio.h>
- X
- X
- X/*
- X#include "cursive.h"
- X*/
- X
- X/*****************************************************************************
- X * "cursive.h" *
- X *****************************************************************************/
- X
- struct letter {
- X char *line[6]; /* What's on each of the six lines */
- X char spcs[6]; /* Number of leading spaces for each */
- X short tailin,tailout; /* Where the lines in and out go */
- X };
- X
- X/* Special Codes for Character Table */
- X
- X#define XX -1 /* Ignore character */
- X#define SP -2 /* Space */
- X#define ST -3 /* Extend trailer */
- X#define SA -4 /* Alternate font number */ /* Not used */
- X#define SN -5 /* Numbers */ /* Not used */
- X
- X#define CHARWIDTH 10
- X
- extern struct letter list[];
- extern short code1[], code2[];
- X
- char *buffer[6]; /* memory buffers to build up line in */
- int c[6]; /* current index in each of the buffer lines */
- int tail[6]; /* which buffer lines have tails in them */
- int lasttail; /* which line was the last letter's tail */
- int space; /* how much white space before the next letter */
- int interspace = 1; /* how much to spread adjacent letters out */
- int taillen = 1; /* how long the tails on ends of words should be */
- char firstletter; /* is this the first letter on the line? */
- char message[256] = ""; /* message to print */
- X
- X/*
- X * end of "cursive.h"
- X */
- X
- char *malloc();
- X
- main(argc,argv)
- int argc;
- char **argv;
- X{
- int i;
- char *s,*m;
- char ch;
- X
- X m = message;
- X for (i = 1; i < argc; i++)
- X {
- X if (*argv[i] == '-')
- X switch(ch = argv[i][1])
- X {
- X case 'i':
- X case 't':
- X s = argv[i]+2;
- X if (*s == '\000')
- X if (++i < argc)
- X s = argv[i];
- X if (*s < '0' || *s > '9')
- X {
- X printf("%s: Illegal value %s\n",
- X argv[0],s);
- X exit(1);
- X }
- X if (ch == 'i')
- X interspace = atoi(s);
- X else
- X taillen = atoi(s);
- X break;
- X default:
- X printf("usage: %s [-tn] [-in] message\n",
- X argv[0]);
- X exit(1);
- X }
- X else
- X {
- X if (m != message)
- X *(m++) = ' ';
- X for (s=argv[i]; *s != '\000'; s++)
- X *(m++) = *s;
- X }
- X }
- X /* Do the deed */
- X if (m != message)
- X {
- X /* Message from the arg list */
- X *(m++) = 0;
- X prline(message);
- X }
- X else
- X {
- X /* Message from standard input */
- X while (gets(message) != NULL)
- X prline(message);
- X }
- X}
- X
- X
- X/* Add the given letter to the end of the current line */
- X
- place(let)
- struct letter *let;
- X{
- int i,j,n;
- int col;
- int max = -10000;
- char pad;
- char *l;
- X
- X if (firstletter)
- X {
- X col = space; /* Leading spaces */
- X firstletter = 0;
- X }
- X else
- X {
- X /* Find the furthest left position we can place this letter */
- X for(i=0; i<6; i++)
- X {
- X if (let->line[i][0] != '\000' &&
- X (col = c[i] - let->spcs[i]) > max)
- X max = col;
- X }
- X
- X /* Insert some spaces between letters */
- X col = max + space + interspace;
- X }
- X
- X for(i=0; i<6; i++)
- X
- X /* If Nothing on this Line, Skip It */
- X if (let->line[i][0] != '\000')
- X {
- X /* Number of Spaces to Put on this Line? */
- X n = col - c[i] + let->spcs[i];
- X
- X /* Flyers off Ends of Letters */
- X if (tail[i])
- X for (j = 0;
- X j < 5 && n > space + 2; j++,n--)
- X buffer[i][c[i]++] = '_';
- X
- X /* Connecting Lines Between Letters */
- X pad = (lasttail == i && let->tailin == i) ? '_' : ' ';
- X
- X /* In the middle of the intersection of South and */
- X /* East University, someone is playing the piano. */
- X for ( ; n > 0; n--)
- X buffer[i][c[i]++] = pad;
- X
- X /* Copy in the letter text */
- X for (l = let->line[i]; *l != '\000'; l++)
- X buffer[i][c[i]++] = *l;
- X
- X tail[i] = (i == let->tailout);
- X }
- X
- X lasttail = let->tailout;
- X space = 0;
- X}
- X
- X/* Lengthen the last trailer by n */
- tailer(n)
- int n;
- X{
- int j;
- X if (lasttail >= 0)
- X for (j = 0; j < n; j++)
- X buffer[lasttail][c[lasttail]++] = '_';
- X}
- X
- X/* Handle a line */
- prline(s)
- char *s;
- X{
- int l,i;
- char *ch;
- short lcode;
- X
- X lasttail = -1;
- X firstletter = 1;
- X space = 0;
- X /* Get some memory to put the output into */
- X l = strlen(s) * (CHARWIDTH + interspace);
- X for (i=0;i<6;i++)
- X {
- X buffer[i] = malloc((unsigned)l);
- X tail[i] = c[i] = 0;
- X }
- X
- X /* do each letter */
- X for (ch=s; *ch != '\000'; ch++)
- X {
- X
- X *ch &= '\177';
- X /* Find the letter */
- X lcode = (lasttail != 2) ? code1[*ch] : code2[*ch];
- X if (lcode >= 0)
- X place(&list[lcode]);
- X else
- X /* Various Special characters */
- X switch(lcode)
- X {
- X case SP:
- X /* Insert white space before next letter */
- X tailer(taillen);
- X space += 3;
- X lasttail = -1;
- X break;
- X case ST:
- X /* Lengthen the last tail */
- X if (lasttail >= 0)
- X buffer[lasttail][c[lasttail]++] = '_';
- X break;
- X }
- X }
- X tailer(taillen);
- X
- X /* print the line and release the memory */
- X for (i=0;i<6;i++)
- X {
- X buffer[i][c[i]++] = '\n';
- X write(1,buffer[i],c[i]);
- X free(buffer[i]);
- X }
- X}
- X
- X
- X/*****************************************************************************
- X * "font.c" *
- X *****************************************************************************/
- X
- X/* CURSIVE FONT FILE
- X *
- X * This font is copyrighted by Jan Wolter. See notes in "cursive.c".
- X *
- X * Several of the letters are rather ugly, but the wonder is not how
- X * well it sings. A few uppercase letters are a bit too tall. The
- X * font has to some extent been chosen to make my name look good to me.
- X * Those of you with different names will have to take pot luck, or fix
- X * it to taste. Editing this file must be done with some care. The
- X * numbers on the defines must match the index numbers of the letter
- X * in the list[] structure. The six numbers after the character are how
- X * many blank spaces must be added to the beginning of each of the six
- X * scan lines to make them line up. The last two numbers are the scan
- X * line numbers in which the character is connected to the preceeding and
- X * succeeding characters. -1 means it isn't. There are two versions of
- X * each lower case letter, one with the line coming in on line 2, and one
- X * with the line coming in on line 3.
- X */
- X
- X/*
- X#include "cursive.h"
- X*/
- X
- struct letter list[] = {
- X
- X#define LA 0 /* a type 1 */
- X { {
- X "",
- X "",
- X "__.",
- X "(_/|",
- X "",
- X ""
- X },
- X {0,0,1,0,0,0},
- X 3,3
- X },
- X
- X#define LB 1 /* b type 1 */
- X { {
- X "",
- X "/",
- X "/_",
- X "/_)",
- X "",
- X ""
- X },
- X {0,2,1,0,0,0},
- X 3,2
- X },
- X
- X#define LC 2 /* c type 1 */
- X { {
- X "",
- X "",
- X "_.",
- X "(_",
- X "",
- X ""}
- X ,
- X {0,0,1,0,0,0},
- X 3,3
- X },
- X
- X#define LD 3 /* d type 1 */
- X { {
- X "",
- X "/",
- X "__/",
- X "(_/",
- X "",
- X ""
- X },
- X {0,4,1,0,0,0},
- X 3,3
- X },
- X
- X#define LE 4 /* e type 1 */
- X { {
- X "",
- X "",
- X "_",
- X "</",
- X "",
- X ""
- X },
- X {0,0,1,0,0,0},
- X 3,3
- X },
- X
- X#define LF 5 /* f type 1 */
- X { {
- X "",
- X "/)",
- X "// ",
- X "//",
- X "/>",
- X "</ "
- X },
- X {0,4,3,2,1,0},
- X 3,3
- X },
- X
- X#define LG 6 /* g type 1 */
- X { {
- X "",
- X "",
- X "_,",
- X "(_)",
- X "/|",
- X "|/"
- X },
- X {0,0,1,0,1,0},
- X 3,3
- X },
- X
- X#define LH 7 /* h type 1 */
- X { {
- X "",
- X "/",
- X "/_",
- X "/ /",
- X "",
- X ""
- X },
- X {0,2,1,0,0,0},
- X 3,3
- X },
- X
- X#define LI 8 /* i type 1 */
- X { {
- X "",
- X "",
- X "o",
- X "<",
- X "",
- X ""
- X },
- X {0,0,1,0,0,0},
- X 3,3
- X },
- X
- X#define LJ 9 /* j type 1 */
- X { {
- X "",
- X "",
- X "o",
- X "/",
- X "/",
- X "-'"
- X },
- X {0,0,4,3,2,0},
- X 3,3
- X },
- X
- X#define LK 10 /* k type 1 */
- X { {
- X "",
- X "/",
- X "/_ ",
- X "/ <",
- X "",
- X ""
- X },
- X {0,2,1,0,0,0},
- X 3,3
- X },
- X
- X#define LL 11 /* l type 1 */
- X { {
- X "_",
- X "//",
- X "//",
- X "</",
- X "",
- X ""
- X },
- X {3,2,1,0,0,0},
- X 3,3
- X },
- X
- X#define LM 12 /* m type 1 */
- X { {
- X "",
- X "",
- X "______",
- X "/ / / <",
- X "",
- X ""
- X },
- X {0,0,1,0,0,0},
- X 3,3
- X },
- X
- X#define LN 13 /* n type 1 */
- X { {
- X "",
- X "",
- X "____",
- X "/ / <",
- X "",
- X ""
- X },
- X {0,0,1,0,0,0},
- X 3,3
- X },
- X
- X#define LO 14 /* o type 1 */
- X { {
- X "",
- X "",
- X "_",
- X "(_)",
- X "",
- X ""
- X },
- X {0,0,1,0,0,0},
- X 3,2
- X },
- X
- X#define LP 15 /* p type 1 */
- X { {
- X "",
- X "",
- X "_",
- X "/_)",
- X "/",
- X "'"
- X },
- X {0,0,3,2,1,0},
- X 3,3
- X },
- X
- X#define LQ 16 /* q type 1 */
- X { {
- X "",
- X "",
- X "_,",
- X "(_)",
- X "/>",
- X "|/"
- X },
- X {0,0,1,0,1,0},
- X 3,3
- X },
- X
- X#define LR 17 /* r type 1 */
- X { {
- X "",
- X "",
- X "__",
- X "/ (",
- X "",
- X ""
- X },
- X {0,0,1,0,0,0},
- X 3,3
- X },
- X
- X#define LS 18 /* s type 1 */
- X { {
- X "",
- X "",
- X "_",
- X "/_)",
- X "",
- X ""
- X },
- X {0,0,1,0,0,0},
- X 3,3
- X },
- X
- X#define LT 19 /* t type 1 */
- X { {
- X "",
- X "_/_",
- X "/",
- X "<_",
- X "",
- X ""
- X },
- X {0,1,1,0,0,0},
- X 3,3
- X },
- X
- X#define LU 20 /* u type 1 */
- X { {
- X "",
- X "",
- X ". .",
- X "(_/",
- X "",
- X ""
- X },
- X {0,0,1,0,0,0},
- X 3,3
- X },
- X
- X#define LV 21 /* v type 1 */
- X { {
- X "",
- X "",
- X ", ",
- X "\\/",
- X "",
- X ""
- X },
- X {0,0,0,0,0,0},
- X 3,2
- X },
- X
- X#define LW 22 /* w type 1 */
- X { {
- X "",
- X "",
- X ", , ,",
- X "(_(_/",
- X "",
- X ""
- X },
- X {0,0,1,0,0,0},
- X 3,3
- X },
- X
- X#define LX 23 /* x type 1 */
- X { {
- X "",
- X "",
- X "_.,",
- X "/ /\\",
- X "",
- X ""
- X },
- X {0,0,1,0,0,0},
- X 3,3
- X },
- X
- X#define LY 24 /* y type 1 */
- X { {
- X "",
- X "",
- X "__ ,",
- X "/ (_/",
- X "/",
- X "'"
- X },
- X {0,0,1,0,3,2},
- X 3,3
- X },
- X
- X#define LZ 25 /* z type 1 */
- X { {
- X "",
- X "",
- X "__.",
- X "/ |",
- X "(|",
- X ""
- X },
- X {0,0,1,0,2,0},
- X 3,3
- X },
- X
- X#define NA 26 /* a type 2 */
- X { {
- X "",
- X "",
- X "__.",
- X "(_/|",
- X "",
- X ""
- X },
- X {0,0,1,0,0,0},
- X 2,3
- X },
- X
- X#define NB 27 /* b type 2 */
- X { {
- X "",
- X "/",
- X "/_",
- X "/_)",
- X "",
- X ""
- X },
- X {0,2,1,0,0,0},
- X 2,2
- X },
- X
- X#define NC 28 /* c type 2 */
- X { {
- X "",
- X "",
- X "__.",
- X "(_",
- X "",
- X ""
- X },
- X {0,0,0,0,0,0},
- X 2,3
- X },
- X
- X#define ND 29 /* d type 2 */
- X { {
- X "",
- X "/",
- X "___/",
- X "(_/",
- X "",
- X ""
- X },
- X {0,4,0,0,0,0},
- X 2,3
- X },
- X
- X#define NE 30 /* e type 2 */
- X { {
- X "",
- X "",
- X "/>",
- X "(_",
- X "",
- X ""
- X },
- X {0,0,1,0,0,0},
- X 2,3
- X },
- X
- X#define NF 31 /* f type 2 */
- X { {
- X "",
- X "/)",
- X "//",
- X "/_",
- X "/>",
- X "</"
- X },
- X {0,4,3,2,1,0},
- X 2,3
- X },
- X
- X#define NG 32 /* g type 2 */
- X { {
- X "",
- X "",
- X "__,",
- X "(_)",
- X "/|",
- X "|/"
- X },
- X {0,0,0,0,1,0},
- X 2,3
- X },
- X
- X#define NH 33 /* h type 2 */
- X { {
- X "",
- X "/",
- X "/_",
- X "/ /",
- X "",
- X ""
- X },
- X {0,2,1,0,0,0},
- X 2,3
- X },
- X
- X#define NI 34 /* i type 2 */
- X { {
- X "",
- X "",
- X "o",
- X "<_",
- X "",
- X ""
- X },
- X {0,0,1,0,0,0},
- X 2,3
- X },
- X
- X#define NJ 35 /* j type 2 */
- X { {
- X "",
- X "",
- X "_o",
- X "/_",
- X "/",
- X "-'"
- X },
- X {0,0,3,3,2,0},
- X 2,3
- X },
- X
- X#define NK 36 /* k type 2 */
- X { {
- X "",
- X "/",
- X "/_",
- X "/ <",
- X "",
- X ""
- X },
- X {0,2,1,0,0,0},
- X 2,3
- X },
- X
- X#define NL 37 /* l type 2 */
- X { {
- X "_",
- X "//",
- X "|/",
- X "\\",
- X "",
- X ""
- X },
- X {2,1,0,1,0,0},
- X 2,3
- X },
- X
- X#define NM 38 /* m type 2 */
- X { {
- X "",
- X "",
- X "_______",
- X "/ / / <",
- X "",
- X ""
- X },
- X {0,0,0,0,0,0},
- X 2,3
- X },
- X
- X#define NN 39 /* n type 2 */
- X { {
- X "",
- X "",
- X "_____",
- X "/ / <",
- X "",
- X ""
- X },
- X {0,0,0,0,0,0},
- X 2,3
- X },
- X
- X#define NO 40 /* o type 2 */
- X { {
- X "",
- X "",
- X "___",
- X "(_)",
- X "",
- X ""
- X },
- X {0,0,0,0,0,0},
- X 2,2
- X },
- X
- X#define NP 41 /* p type 2 */
- X { {
- X "",
- X "",
- X "__",
- X "/_)",
- X "/",
- X "'"
- X },
- X {0,0,2,2,1,0},
- X 2,3
- X },
- X
- X#define NQ 42 /* q type 2 */
- X { {
- X "",
- X "",
- X "__,",
- X "(_)",
- X "/>",
- X "|/"
- X },
- X {0,0,0,0,1,0},
- X 2,3
- X },
- X
- X#define NR 43 /* r type 2 */
- X { {
- X "",
- X "",
- X ",_",
- X "(",
- X "",
- X ""
- X },
- X {0,0,0,1,0,0},
- X 2,3
- X },
- X
- X#define NS 44 /* s type 2 */
- X { {
- X "",
- X "",
- X "___ ",
- X "\\_)_",
- X "",
- X ""
- X },
- X {0,0,0,1,0,0},
- X 2,3
- X },
- X
- X#define NT 45 /* t type 2 */
- X { {
- X "",
- X "_/_",
- X "_/",
- X "(_",
- X "",
- X ""
- X },
- X {0,1,0,0,0,0},
- X 2,3
- X },
- X
- X#define NU 46 /* u type 2 */
- X { {
- X "",
- X "",
- X "_. .",
- X "(_/",
- X "",
- X ""
- X },
- X {0,0,0,0,0,0},
- X 2,3
- X },
- X
- X#define NV 47 /* v type 2 */
- X { {
- X "",
- X "",
- X " .",
- X "\\/",
- X "",
- X ""
- X },
- X {0,0,0,0,0,0},
- X 2,3
- X },
- X
- X#define NW 48 /* w type 2 */
- X { {
- X "",
- X "",
- X "_, , ,",
- X "(_(_/",
- X "",
- X ""
- X },
- X {0,0,0,0,0,0},
- X 2,3
- X },
- X
- X#define NX 49 /* x type 2 */
- X { {
- X "",
- X "",
- X "_.,",
- X "/\\",
- X "",
- X ""
- X },
- X {0,0,0,1,0,0},
- X 2,3
- X },
- X
- X#define NY 50 /* y type 2 */
- X { {
- X "",
- X "",
- X "_ ,",
- X "(_/__",
- X "/",
- X "'"
- X },
- X {0,0,0,0,1,0},
- X 2,3
- X },
- X
- X#define NZ 51 /* z type 2 */
- X { {
- X "",
- X "",
- X "__.",
- X "|",
- X "(|",
- X ""
- X },
- X {0,0,0,2,1,0},
- X 2,3
- X },
- X
- X#define UA 52 /* A */
- X { {
- X "__",
- X "/ )",
- X "/--/",
- X "/ (",
- X "",
- X ""
- X },
- X {3,2,1,0,0,0},
- X 3,3
- X },
- X
- X#define UB 53 /* B */
- X { {
- X "__",
- X "/ )",
- X "/--<",
- X "/___/",
- X "",
- X ""
- X },
- X {3,2,1,0,0,0},
- X 3,3
- X },
- X
- X#define UC 54 /* C */
- X { {
- X "__",
- X "/ )",
- X "/",
- X "(__/",
- X "",
- X ""
- X },
- X {3,2,1,0,0,0},
- X -1,-1
- X },
- X
- X#define UD 55 /* D */
- X { {
- X "__",
- X "/ )",
- X "/ /",
- X "/__/",
- X "",
- X ""
- X },
- X {3,2,1,0,0,0},
- X 3,3
- X },
- X
- X#define UE 56 /* E */
- X { {
- X "__",
- X "/ `",
- X "/--",
- X "(___,",
- X "",
- X ""
- X },
- X {3,2,1,0,0,0},
- X -1,-1
- X },
- X
- X#define UF 57 /* F */
- X { {
- X "_____",
- X " / '",
- X ",-/-,",
- X "(_/",
- X "",
- X ""
- X },
- X {3,3,1,0,0,0},
- X -1,-1
- X },
- X
- X#define UG 58 /* G */
- X { {
- X "() ,",
- X "/`-'|",
- X "/ /",
- X "/__-<",
- X "",
- X ""
- X },
- X {2,2,1,0,0,0},
- X -1,3
- X },
- X
- X#define UH 59 /* H */
- X { {
- X "_ ,",
- X "' ) /",
- X "/--/",
- X "/ (",
- X "",
- X ""
- X },
- X {1,0,1,0,0,0},
- X -1,3
- X },
- X
- X#define UI 60 /* I */
- X { {
- X "_",
- X "| )",
- X ",---|/",
- X "\\_/ \\",
- X "",
- X ""
- X },
- X {5,4,0,1,0,0},
- X -1,3
- X },
- X
- X#define UJ 61 /* J */
- X { {
- X "___",
- X "( >",
- X "__/",
- X "/ /",
- X "<_/",
- X ""
- X },
- X {2,1,2,1,0,0},
- X -1,2
- X },
- X
- X#define UK 62 /* K */
- X { {
- X "_ ,",
- X "' ) /",
- X "/-<",
- X "/ )",
- X "",
- X ""
- X },
- X {1,0,1,0,0,0},
- X -1,-1
- X },
- X
- X#define UL 63 /* L */
- X { {
- X "_",
- X "_//",
- X "/",
- X "/___",
- X "",
- X ""
- X },
- X {3,1,1,0,0,0},
- X -1,-1
- X },
- X
- X#define UM 64 /* M */
- X { {
- X "_ _ _",
- X "' ) ) )",
- X "/ / /",
- X "/ ' (",
- X "",
- X ""
- X },
- X {1,0,1,0,0,0},
- X -1,3
- X },
- X
- X#define UN 65 /* N */
- X { {
- X "_ __",
- X "' ) )",
- X "/ /",
- X "/ (",
- X "",
- X ""
- X },
- X {1,0,1,0,0,0},
- X -1,3
- X },
- X
- X#define UO 66 /* O */
- X { {
- X "__",
- X "/ ')",
- X "/ /",
- X "(__/",
- X "",
- X ""
- X },
- X {3,2,1,0,0,0},
- X -1,-1
- X },
- X
- X#define UP 67 /* P */
- X { {
- X "_ __",
- X "' ) )",
- X "/--'",
- X "/",
- X "",
- X ""
- X },
- X {1,0,1,0,0,0},
- X -1,-1
- X },
- X
- X#define UQ 68 /* Q */
- X { {
- X "__",
- X "/ )",
- X "/ /",
- X "(_\\/",
- X "`",
- X ""
- X },
- X {3,2,1,0,3,0},
- X -1,-1
- X },
- X
- X#define UR 69 /* R */
- X { {
- X "_ __",
- X "' ) )",
- X "/--'",
- X "/ \\",
- X "",
- X ""
- X },
- X {1,0,1,0,0,0},
- X -1,3
- X },
- X
- X#define US 70 /* S */
- X { {
- X "()",
- X "/\\",
- X "/ )",
- X "/__/_",
- X "",
- X ""
- X },
- X {2,2,1,0,0,0},
- X -1,3
- X },
- X
- X#define UT 71 /* T */
- X { {
- X "______",
- X "/ ",
- X "--/",
- X "(_/",
- X "",
- X ""
- X },
- X {2,4,1,0,0,0},
- X -1,-1
- X },
- X
- X#define UU 72 /* U */
- X { {
- X "_ _",
- X "' ) /",
- X "/ /",
- X "(__/",
- X "",
- X ""
- X },
- X {1,0,1,0,0,0},
- X -1,0
- X },
- X
- X#define UV 73 /* V */
- X { {
- X "_ ",
- X "' ) /",
- X "( /",
- X "\\/",
- X "",
- X ""
- X },
- X {1,0,1,2,0,0},
- X -1,0
- X },
- X
- X#define UW 74 /* W */
- X { {
- X "_ ",
- X "' ) /",
- X "/ / /",
- X "(_(_/",
- X "",
- X ""
- X },
- X {1,0,1,0,0,0},
- X -1,0
- X },
- X
- X#define UX 75 /* X */
- X { {
- X "_ ,",
- X "' \\ /",
- X "X",
- X "/ \\",
- X "",
- X ""
- X },
- X {1,0,3,2,0,0},
- X -1,3
- X },
- X
- X#define UY 76 /* Y */
- X { {
- X "_ ,",
- X "' ) /",
- X "/ /",
- X "(__/",
- X "//",
- X "(/"
- X },
- X {1,0,1,0,1,0},
- X -1,3
- X },
- X
- X#define UZ 77 /* Z */
- X { {
- X "___",
- X "/",
- X "/",
- X "/__",
- X "",
- X ""
- X },
- X {0,2,1,0,0,0},
- X -1,-1
- X },
- X
- X#define PE 78 /* ! */
- X { {
- X "/",
- X "/",
- X "'",
- X "o",
- X "",
- X ""
- X },
- X {3,2,1,0,0,0},
- X -1,-1
- X },
- X
- X#define PU 79 /* " */
- X { {
- X "o o",
- X "' '",
- X "",
- X "",
- X "",
- X ""
- X },
- X {0,0,0,0,0,0},
- X -1,-1
- X },
- X
- X#define PX 80 /* # */
- X { {
- X "/ /",
- X "-/-/-",
- X "-/-/-",
- X "/ /",
- X "",
- X ""
- X },
- X {3,1,0,0,0,0},
- X -1,-1
- X },
- X
- X#define PK 81 /* $ */
- X { {
- X ",-/-",
- X "(_/",
- X "/ )",
- X "-/-'",
- X "",
- X ""
- X },
- X {2,1,2,0,0,0},
- X -1,-1
- X },
- X
- X#define PF 82 /* ' */
- X { {
- X "o",
- X "'",
- X "",
- X "",
- X "",
- X ""
- X },
- X {0,0,0,0,0,0},
- X -1,-1
- X },
- X
- X#define PC 83 /* , */
- X { {
- X "",
- X "",
- X "",
- X "o",
- X "'",
- X ""
- X },
- X {0,0,0,0,0,0},
- X -1,-1
- X },
- X
- X#define PM 84 /* - */
- X { {
- X "",
- X "",
- X "---",
- X "",
- X "",
- X ""
- X },
- X {0,0,0,0,0,0},
- X -1,-1
- X },
- X
- X#define PP 85 /* . */
- X { {
- X "",
- X "",
- X "",
- X "o",
- X "",
- X ""
- X },
- X {0,0,0,0,0,0},
- X -1,-1
- X },
- X
- X#define PD 86 /* : */
- X { {
- X "",
- X "o",
- X "",
- X "o",
- X "",
- X ""
- X },
- X {0,2,0,0,0,0},
- X -1,-1
- X },
- X
- X#define PS 87 /* ; */
- X { {
- X "",
- X "o",
- X "",
- X "o",
- X "'",
- X ""
- X },
- X {0,2,0,0,0,0},
- X -1,-1
- X },
- X
- X#define PQ 88 /* ? */
- X { {
- X "__",
- X "__)",
- X "/",
- X "o",
- X "",
- X ""
- X },
- X {2,2,1,0,0,0},
- X -1,-1
- X },
- X
- X#define PB 89 /* ` */
- X { {
- X "o",
- X "`",
- X "",
- X "",
- X "",
- X ""
- X },
- X {0,0,0,0,0,0},
- X -1,-1
- X }
- X };
- X
- short code1[] = {
- X /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
- X XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX,
- X XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX,
- X SP, PE, PU, PX, PK, XX, XX, PF, XX, XX, XX, XX, PC, PM, PP, XX,
- X SN, SN, SN, SN, SN, SN, SN, SN, SN, SN, PD, PS, XX, XX, XX, PQ,
- X XX, UA, UB, UC, UD, UE, UF, UG, UH, UI, UJ, UK, UL, UM, UN, UO,
- X UP, UQ, UR, US, UT, UU, UV, UW, UX, UY, UZ, XX, XX, XX, XX, ST,
- X PB, LA, LB, LC, LD, LE, LF, LG, LH, LI, LJ, LK, LL, LM, LN, LO,
- X LP, LQ, LR, LS, LT, LU, LV, LW, LX, LY, LZ, XX, XX, XX, XX, XX };
- X
- short code2[] = {
- X /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */
- X XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX,
- X XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX,
- X SP, PE, PU, PX, PK, XX, XX, PF, XX, XX, XX, XX, PC, PM, PP, XX,
- X SN, SN, SN, SN, SN, SN, SN, SN, SN, SN, PD, PS, XX, XX, XX, PQ,
- X XX, UA, UB, UC, UD, UE, UF, UG, UH, UI, UJ, UK, UL, UM, UN, UO,
- X UP, UQ, UR, US, UT, UU, UV, UW, UX, UY, UZ, XX, XX, XX, XX, ST,
- X PB, NA, NB, NC, ND, NE, NF, NG, NH, NI, NJ, NK, NL, NM, NN, NO,
- X NP, NQ, NR, NS, NT, NU, NV, NW, NX, NY, NZ, XX, XX, XX, XX, XX };
- X/*
- X * end of "font.c"
- X */
- END_OF_FILE
- if test 19392 -ne `wc -c <'banner-05/cursive.c'`; then
- echo shar: \"'banner-05/cursive.c'\" unpacked with wrong size!
- fi
- # end of 'banner-05/cursive.c'
- fi
- echo shar: End of archive 5 \(of 7\).
- cp /dev/null ark5isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 7 archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-