home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
unix
/
volume26
/
banners
/
part02
< prev
next >
Wrap
Text File
|
1993-04-07
|
101KB
|
4,436 lines
Newsgroups: comp.sources.unix
From: fkk@stasys.sta.sub.org (Frank Kaefer)
Subject: v26i110: banners - a collection of banner programs, Part02/05
Sender: unix-sources-moderator@vix.com
Approved: paul@vix.com
Submitted-By: fkk@stasys.sta.sub.org (Frank Kaefer)
Posting-Number: Volume 26, Issue 110
Archive-Name: banners/part02
#! /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 2 (of 5)."
# Contents: banner-1/font.c banner-11/MB_Font.uu banner-5/block.c
# banner-5/sban.c banner-8/banner.c banner-8/banner.c-org
# cursive-1/cursive.c cursive-1/font.c cursive-2/cursive.c
# gothic/gothic.c
# Wrapped by vixie@gw.home.vix.com on Thu Apr 8 12:26:13 1993
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'banner-1/font.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'banner-1/font.c'\"
else
echo shar: Extracting \"'banner-1/font.c'\" \(8960 characters\)
sed "s/^X//" >'banner-1/font.c' <<'END_OF_FILE'
unsigned char charset[] = {
X 0, 0, 0, 0, 0, 0, 0, 0,
X 126, 129, 165, 129, 189, 153, 129, 126,
X 126, 255, 219, 255, 195, 231, 255, 126,
X 108, 254, 254, 254, 124, 56, 16, 0,
X 16, 56, 124, 254, 124, 56, 16, 0,
X 56, 124, 56, 254, 254, 124, 56, 124,
X 16, 16, 56, 124, 254, 124, 56, 124,
X 0, 0, 24, 60, 60, 24, 0, 0,
X 255, 255, 231, 195, 195, 231, 255, 255,
X 0, 60, 102, 66, 66, 102, 60, 0,
X 255, 195, 153, 189, 189, 153, 195, 255,
X 15, 7, 15, 125, 204, 204, 204, 120,
X 60, 102, 102, 102, 60, 24, 126, 24,
X 63, 51, 63, 48, 48, 112, 240, 224,
X 127, 99, 127, 99, 99, 103, 230, 192,
X 153, 90, 60, 231, 231, 60, 90, 153,
X 128, 224, 248, 254, 248, 224, 128, 0,
X 2, 14, 62, 254, 62, 14, 2, 0,
X 24, 60, 126, 24, 24, 126, 60, 24,
X 102, 102, 102, 102, 102, 0, 102, 0,
X 127, 219, 219, 123, 27, 27, 27, 0,
X 62, 99, 56, 108, 108, 56, 204, 120,
X 0, 0, 0, 0, 126, 126, 126, 0,
X 24, 60, 126, 24, 126, 60, 24, 255,
X 24, 60, 126, 24, 24, 24, 24, 0,
X 24, 24, 24, 24, 126, 60, 24, 0,
X 0, 24, 12, 254, 12, 24, 0, 0,
X 0, 48, 96, 254, 96, 48, 0, 0,
X 0, 0, 192, 192, 192, 254, 0, 0,
X 0, 36, 102, 255, 102, 36, 0, 0,
X 0, 24, 60, 126, 255, 255, 0, 0,
X 0, 255, 255, 126, 60, 24, 0, 0,
X 0, 0, 0, 0, 0, 0, 0, 0,
X 48, 120, 120, 48, 48, 0, 48, 0,
X 108, 108, 108, 0, 0, 0, 0, 0,
X 108, 108, 254, 108, 254, 108, 108, 0,
X 48, 124, 192, 120, 12, 248, 48, 0,
X 0, 198, 204, 24, 48, 102, 198, 0,
X 56, 108, 56, 118, 220, 204, 118, 0,
X 96, 96, 192, 0, 0, 0, 0, 0,
X 24, 48, 96, 96, 96, 48, 24, 0,
X 96, 48, 24, 24, 24, 48, 96, 0,
X 0, 102, 60, 255, 60, 102, 0, 0,
X 0, 48, 48, 252, 48, 48, 0, 0,
X 0, 0, 0, 0, 0, 48, 48, 96,
X 0, 0, 0, 252, 0, 0, 0, 0,
X 0, 0, 0, 0, 0, 48, 48, 0,
X 6, 12, 24, 48, 96, 192, 128, 0,
X 124, 198, 206, 222, 246, 230, 124, 0,
X 48, 112, 48, 48, 48, 48, 252, 0,
X 120, 204, 12, 56, 96, 204, 252, 0,
X 120, 204, 12, 56, 12, 204, 120, 0,
X 28, 60, 108, 204, 254, 12, 30, 0,
X 252, 192, 248, 12, 12, 204, 120, 0,
X 56, 96, 192, 248, 204, 204, 120, 0,
X 252, 204, 12, 24, 48, 48, 48, 0,
X 120, 204, 204, 120, 204, 204, 120, 0,
X 120, 204, 204, 124, 12, 24, 112, 0,
X 0, 48, 48, 0, 0, 48, 48, 0,
X 0, 48, 48, 0, 0, 48, 48, 96,
X 24, 48, 96, 192, 96, 48, 24, 0,
X 0, 0, 252, 0, 0, 252, 0, 0,
X 96, 48, 24, 12, 24, 48, 96, 0,
X 120, 204, 12, 24, 48, 0, 48, 0,
X 124, 198, 222, 222, 222, 192, 120, 0,
X 48, 120, 204, 204, 252, 204, 204, 0,
X 252, 102, 102, 124, 102, 102, 252, 0,
X 60, 102, 192, 192, 192, 102, 60, 0,
X 248, 108, 102, 102, 102, 108, 248, 0,
X 254, 98, 104, 120, 104, 98, 254, 0,
X 254, 98, 104, 120, 104, 96, 240, 0,
X 60, 102, 192, 192, 206, 102, 62, 0,
X 204, 204, 204, 252, 204, 204, 204, 0,
X 120, 48, 48, 48, 48, 48, 120, 0,
X 30, 12, 12, 12, 204, 204, 120, 0,
X 230, 102, 108, 120, 108, 102, 230, 0,
X 240, 96, 96, 96, 98, 102, 254, 0,
X 198, 238, 254, 254, 214, 198, 198, 0,
X 198, 230, 246, 222, 206, 198, 198, 0,
X 56, 108, 198, 198, 198, 108, 56, 0,
X 252, 102, 102, 124, 96, 96, 240, 0,
X 120, 204, 204, 204, 220, 120, 28, 0,
X 252, 102, 102, 124, 108, 102, 230, 0,
X 120, 204, 224, 112, 28, 204, 120, 0,
X 252, 180, 48, 48, 48, 48, 120, 0,
X 204, 204, 204, 204, 204, 204, 252, 0,
X 204, 204, 204, 204, 204, 120, 48, 0,
X 198, 198, 198, 214, 254, 238, 198, 0,
X 198, 198, 108, 56, 56, 108, 198, 0,
X 204, 204, 204, 120, 48, 48, 120, 0,
X 254, 198, 140, 24, 50, 102, 254, 0,
X 120, 96, 96, 96, 96, 96, 120, 0,
X 192, 96, 48, 24, 12, 6, 2, 0,
X 120, 24, 24, 24, 24, 24, 120, 0,
X 16, 56, 108, 198, 0, 0, 0, 0,
X 0, 0, 0, 0, 0, 0, 0, 255,
X 48, 48, 24, 0, 0, 0, 0, 0,
X 0, 0, 120, 12, 124, 204, 118, 0,
X 224, 96, 96, 124, 102, 102, 220, 0,
X 0, 0, 120, 204, 192, 204, 120, 0,
X 28, 12, 12, 124, 204, 204, 118, 0,
X 0, 0, 120, 204, 252, 192, 120, 0,
X 56, 108, 96, 240, 96, 96, 240, 0,
X 0, 0, 118, 204, 204, 124, 12, 248,
X 224, 96, 108, 118, 102, 102, 230, 0,
X 48, 0, 112, 48, 48, 48, 120, 0,
X 12, 0, 12, 12, 12, 204, 204, 120,
X 224, 96, 102, 108, 120, 108, 230, 0,
X 112, 48, 48, 48, 48, 48, 120, 0,
X 0, 0, 204, 254, 254, 214, 198, 0,
X 0, 0, 248, 204, 204, 204, 204, 0,
X 0, 0, 120, 204, 204, 204, 120, 0,
X 0, 0, 220, 102, 102, 124, 96, 240,
X 0, 0, 118, 204, 204, 124, 12, 30,
X 0, 0, 220, 118, 102, 96, 240, 0,
X 0, 0, 124, 192, 120, 12, 248, 0,
X 16, 48, 124, 48, 48, 52, 24, 0,
X 0, 0, 204, 204, 204, 204, 118, 0,
X 0, 0, 204, 204, 204, 120, 48, 0,
X 0, 0, 198, 214, 254, 254, 108, 0,
X 0, 0, 198, 108, 56, 108, 198, 0,
X 0, 0, 204, 204, 204, 124, 12, 248,
X 0, 0, 252, 152, 48, 100, 252, 0,
X 28, 48, 48, 224, 48, 48, 28, 0,
X 24, 24, 24, 0, 24, 24, 24, 0,
X 224, 48, 48, 28, 48, 48, 224, 0,
X 118, 220, 0, 0, 0, 0, 0, 0,
X 0, 16, 56, 108, 198, 198, 254, 0,
X 120, 204, 192, 204, 120, 24, 12, 120,
X 0, 204, 0, 204, 204, 204, 126, 0,
X 28, 0, 120, 204, 252, 192, 120, 0,
X 126, 195, 60, 6, 62, 102, 63, 0,
X 204, 0, 120, 12, 124, 204, 126, 0,
X 224, 0, 120, 12, 124, 204, 126, 0,
X 48, 48, 120, 12, 124, 204, 126, 0,
X 0, 0, 120, 192, 192, 120, 12, 56,
X 126, 195, 60, 102, 126, 96, 60, 0,
X 204, 0, 120, 204, 252, 192, 120, 0,
X 224, 0, 120, 204, 252, 192, 120, 0,
X 204, 0, 112, 48, 48, 48, 120, 0,
X 124, 198, 56, 24, 24, 24, 60, 0,
X 224, 0, 112, 48, 48, 48, 120, 0,
X 198, 56, 108, 198, 254, 198, 198, 0,
X 48, 48, 0, 120, 204, 252, 204, 0,
X 28, 0, 252, 96, 120, 96, 252, 0,
X 0, 0, 127, 12, 127, 204, 127, 0,
X 62, 108, 204, 254, 204, 204, 206, 0,
X 120, 204, 0, 120, 204, 204, 120, 0,
X 0, 204, 0, 120, 204, 204, 120, 0,
X 0, 224, 0, 120, 204, 204, 120, 0,
X 120, 204, 0, 204, 204, 204, 126, 0,
X 0, 224, 0, 204, 204, 204, 126, 0,
X 0, 204, 0, 204, 204, 124, 12, 248,
X 195, 24, 60, 102, 102, 60, 24, 0,
X 204, 0, 204, 204, 204, 204, 120, 0,
X 24, 24, 126, 192, 192, 126, 24, 24,
X 56, 108, 100, 240, 96, 230, 252, 0,
X 204, 204, 120, 252, 48, 252, 48, 48,
X 248, 204, 204, 250, 198, 207, 198, 199,
X 14, 27, 24, 60, 24, 24, 216, 112,
X 28, 0, 120, 12, 124, 204, 126, 0,
X 56, 0, 112, 48, 48, 48, 120, 0,
X 0, 28, 0, 120, 204, 204, 120, 0,
X 0, 28, 0, 204, 204, 204, 126, 0,
X 0, 248, 0, 248, 204, 204, 204, 0,
X 252, 0, 204, 236, 252, 220, 204, 0,
X 60, 108, 108, 62, 0, 126, 0, 0,
X 56, 108, 108, 56, 0, 124, 0, 0,
X 48, 0, 48, 96, 192, 204, 120, 0,
X 0, 0, 0, 252, 192, 192, 0, 0,
X 0, 0, 0, 252, 12, 12, 0, 0,
X 195, 198, 204, 222, 51, 102, 204, 15,
X 195, 198, 204, 219, 55, 111, 207, 3,
X 24, 24, 0, 24, 24, 24, 24, 0,
X 0, 51, 102, 204, 102, 51, 0, 0,
X 0, 204, 102, 51, 102, 204, 0, 0,
X 34, 136, 34, 136, 34, 136, 34, 136,
X 85, 170, 85, 170, 85, 170, 85, 170,
X 219, 119, 219, 238, 219, 119, 219, 238,
X 24, 24, 24, 24, 24, 24, 24, 24,
X 24, 24, 24, 24, 248, 24, 24, 24,
X 24, 24, 248, 24, 248, 24, 24, 24,
X 54, 54, 54, 54, 246, 54, 54, 54,
X 0, 0, 0, 0, 254, 54, 54, 54,
X 0, 0, 248, 24, 248, 24, 24, 24,
X 54, 54, 246, 6, 246, 54, 54, 54,
X 54, 54, 54, 54, 54, 54, 54, 54,
X 0, 0, 254, 6, 246, 54, 54, 54,
X 54, 54, 246, 6, 254, 0, 0, 0,
X 54, 54, 54, 54, 254, 0, 0, 0,
X 24, 24, 248, 24, 248, 0, 0, 0,
X 0, 0, 0, 0, 248, 24, 24, 24,
X 24, 24, 24, 24, 31, 0, 0, 0,
X 24, 24, 24, 24, 255, 0, 0, 0,
X 0, 0, 0, 0, 255, 24, 24, 24,
X 24, 24, 24, 24, 31, 24, 24, 24,
X 0, 0, 0, 0, 255, 0, 0, 0,
X 24, 24, 24, 24, 255, 24, 24, 24,
X 24, 24, 31, 24, 31, 24, 24, 24,
X 54, 54, 54, 54, 55, 54, 54, 54,
X 54, 54, 55, 48, 63, 0, 0, 0,
X 0, 0, 63, 48, 55, 54, 54, 54,
X 54, 54, 247, 0, 255, 0, 0, 0,
X 0, 0, 255, 0, 247, 54, 54, 54,
X 54, 54, 55, 48, 55, 54, 54, 54,
X 0, 0, 255, 0, 255, 0, 0, 0,
X 54, 54, 247, 0, 247, 54, 54, 54,
X 24, 24, 255, 0, 255, 0, 0, 0,
X 54, 54, 54, 54, 255, 0, 0, 0,
X 0, 0, 255, 0, 255, 24, 24, 24,
X 0, 0, 0, 0, 255, 54, 54, 54,
X 54, 54, 54, 54, 63, 0, 0, 0,
X 24, 24, 31, 24, 31, 0, 0, 0,
X 0, 0, 31, 24, 31, 24, 24, 24,
X 0, 0, 0, 0, 63, 54, 54, 54,
X 54, 54, 54, 54, 255, 54, 54, 54,
X 24, 24, 255, 24, 255, 24, 24, 24,
X 24, 24, 24, 24, 248, 0, 0, 0,
X 0, 0, 0, 0, 31, 24, 24, 24,
X 255, 255, 255, 255, 255, 255, 255, 255,
X 0, 0, 0, 0, 255, 255, 255, 255,
X 240, 240, 240, 240, 240, 240, 240, 240,
X 15, 15, 15, 15, 15, 15, 15, 15,
X 255, 255, 255, 255, 0, 0, 0, 0,
X 0, 0, 118, 220, 200, 220, 118, 0,
X 0, 120, 204, 248, 204, 248, 192, 192,
X 0, 252, 204, 192, 192, 192, 192, 0,
X 0, 254, 108, 108, 108, 108, 108, 0,
X 252, 204, 96, 48, 96, 204, 252, 0,
X 0, 0, 126, 216, 216, 216, 112, 0,
X 0, 102, 102, 102, 102, 124, 96, 192,
X 0, 118, 220, 24, 24, 24, 24, 0,
X 252, 48, 120, 204, 204, 120, 48, 252,
X 56, 108, 198, 254, 198, 108, 56, 0,
X 56, 108, 198, 198, 108, 108, 238, 0,
X 28, 48, 24, 124, 204, 204, 120, 0,
X 0, 0, 126, 219, 219, 126, 0, 0,
X 6, 12, 126, 219, 219, 126, 96, 192,
X 56, 96, 192, 248, 192, 96, 56, 0,
X 120, 204, 204, 204, 204, 204, 204, 0,
X 0, 252, 0, 252, 0, 252, 0, 0,
X 48, 48, 252, 48, 48, 0, 252, 0,
X 96, 48, 24, 48, 96, 0, 252, 0,
X 24, 48, 96, 48, 24, 0, 252, 0,
X 14, 27, 27, 24, 24, 24, 24, 24,
X 24, 24, 24, 24, 24, 216, 216, 112,
X 48, 48, 0, 252, 0, 48, 48, 0,
X 0, 118, 220, 0, 118, 220, 0, 0,
X 56, 108, 108, 56, 0, 0, 0, 0,
X 0, 0, 0, 24, 24, 0, 0, 0,
X 0, 0, 0, 0, 24, 0, 0, 0,
X 15, 12, 12, 12, 236, 108, 60, 28 };
X
END_OF_FILE
if test 8960 -ne `wc -c <'banner-1/font.c'`; then
echo shar: \"'banner-1/font.c'\" unpacked with wrong size!
fi
# end of 'banner-1/font.c'
fi
if test -f 'banner-11/MB_Font.uu' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'banner-11/MB_Font.uu'\"
else
echo shar: Extracting \"'banner-11/MB_Font.uu'\" \(8721 characters\)
sed "s/^X//" >'banner-11/MB_Font.uu' <<'END_OF_FILE'
begin 644 MB_Font
M2OP``0``&#P````!```8,`55!`"````1````````````````````````````3
M`#1+````````````````````````````$#A\5!`0$````````````!`0$%1\'
M.!`````````````8#/X,&```````````````,&#^8#```````````'PXNI+6"
MQM:2NCA\``````#^_O[\_/CZ\O;F[@``````[L;6DKHXNI+6QNX```````$!B
M`P,&!HR,V%AP,"``````/&;#D9&=@<-F/``````````8/#P\/#Q^_Q`X$```]
M``@.#PD("'CX<`````````!X0'!`0``>$!P0$```````.$!`0#@`'!(<%!(`0
M````!04%!0T-'3EY<7%A00```*"@H*"PL+B<GHZ.AH(```!\NL;&QH(`@L;&/
MQKI\``````(&!@8"``(&!@8"`````'PZ!@8&.GRXP,#`N'P```!\.@8&!CI\0
M.@8&!CI\`````(+&QL:Z?#H&!@8"`````'RXP,#`N'PZ!@8&.GP```!\N,#`X
MP+A\NL;&QKI\````?+K&QL:"``(&!@8"`````'RZQL;&NGRZQL;&NGP```!\2
MNL;&QKI\.@8&!CI\`````````'Q^!@9^9F9^/`````!X0'!`>``.$`P"'```V
M````````````!P\?&!@0'A<``````````/#X[`0$!#Q4$0L-!@<N.3@`````O
M``````0HV"C0$.``````````````````````````````````````&!@8&!@8\
M```8&````-C8;&PV````````````````````1$3^1$1$_D1$`````"@H?.[HH
MZ'@\+B[N?"@H````````QL8,&#!@QL8````````X;&PX,'[,S,QV````````.
M&!@8,#`````````````.&#`P,#`P,#`P,#`8#@``<!@,#`P,#`P,#`P,&'``<
M`````$)")#S^/"1"0@``````````&!@8?A@8&```````````````````&!@8<
M&#`@`````````'X````````````````````````8&!@````````&!@P,&!@PR
M,&!@````````/&9F9F9F9F9F/````````!@X.!@8&!@8&'X````````\9F8,"
M#!@P,&!^````````?@8,&!@,#&9F/`````````P<'#PL;&Q^#`P```````!^:
M8&!\!@8&!F8\````````/&!@8'QF9F9F/````````'X&!@P,&!@P,#``````$
M```\9F9F/&9F9F8\````````/&9F9F8^!@8&/```````````&!@8```8&!@`N
M`````````!@8&````!@8&#`@````#A@P8,!@,!@.````````````?@```'X`(
M``````````#@,!@,!@P8,.``````````/&9F#`P8&``8&````````'S&PMK6B
MUMS`XGP```````!\QL;&QO[&QL;&````````_,;&QOS&QL;&_````````'S&:
MP,#`P,#`QGP```````#\QL;&QL;&QL;\````````_L#`P/S`P,#`_@``````B
M`/[`P,#XP,#`P,````````!^P,#`WL;&QL9^````````QL;&QO[&QL;&Q@``<
M`````'X8&!@8&!@8&'X```````!^!@8&!@8&QL9\````````QLS,V/#8S,S&"
MQ@```````,#`P,#`P,#`P/X```````#&[N[6UL;&QL;&````````QL;FYM;6T
MSL[&Q@```````'S&QL;&QL;&QGP```````#\QL;&QL;\P,#`````````?,;&N
MQL;&QM;<;@```````/S&QL;\V,S,QL8```````!\QL#`<!P&!L9\````````:
M?A@8&!@8&!@8&````````,;&QL;&QL;&QGP```````#&QL;&QL;&;#@0````F
M````QL;&QL;6_N[&@@```````,;&;'PX.'QLQL8```````!F9F8D/!@8&!@8*
M````````_@8&#!@P8,#`_@```````#XP,#`P,#`P,#X```````!@8#`P&!@,4
M#`8&````````?`P,#`P,#`P,?``````0.#AL;,;&````````````````````4
M`````````/X``&`P&`P``````````````````````'P&?L;&QGX```````#`"
MP,#\QL;&QL;\````````````?,;`P,#&?`````````8&!G[&QL;&QGX`````&
M``````!\QL;^P,!^````````#A@8?A@8&!@8&````````````'S&QL;&QGX&N
M!GP```#`P,#\QL;&QL;&````````&!@`>!@8&!@8?@````````P,`'P,#`P,$
M#`P,#/@```#`P,#&S-CPV,S&````````>!@8&!@8&!@8?@```````````&S^,
MUM;&QL8```````````#\QL;&QL;&````````````?,;&QL;&?```````````T
M`/S&QL;&QOS`P,````````!^QL;&QL9^!@8&````````_,;&P,#`P```````*
M`````'S&P'P&QGP`````````,##\,#`P,#`<````````````QL;&QL;&?@``0
M`````````,;&QFQL.#@```````````#&QL;6_N[&````````````QL9\.'S&V
MQ@```````````,;&QL;&QGX&!GP```````#^!@PX8,#^``````X8&!@8,.#@T
M,!@8&!@.```8&!@8&!@8&!@8&!@8&```X#`P,#`8#@X8,#`P,.````````!B<
M\KZ<`````````,"@H*#`."`P(#@$!`0$!P```````````````#8V;&S8``!LK
M;```QL;&QL;&?@```````#AL8#AL;#@,;#@`````&#QF`#P^!CY^9F9^/@``(
M``!F9@``?`9^QL;&?@````!@,!@`/#X&/GYF9GX^````'#8<`#P^!CY^9F9^\
M/@`````````\?&!@8&!@?CX,.``8/&8`/'YF9GY@8'X^`````&9F`#Q^9F9^@
M8&!^/@```&`P&``\?F9F?F!@?CX`````9F8`.#@8&!@8&#P\````&#QF`#@XZ
M&!@8&!@\/````&`P&``X.!@8&!@8/#P```!L;`!\QL;&_L;&QL8````\9CP8J
M/'YF9GY^9F9F9@``!@P8?GY@8'Q\8&!@?GX`````````=G\;>__8V/]_````,
M/G[XV-C>WOCXV-C>W@```!@\9@`\?F9F9F9F?CP`````;&P``'S&QL;&QGP`6
M````8#`8`#Q^9F9F9F9^/````!@\9@!F9F9F9F9F?CX```!@,!@`9F9F9F9FF
M9GX^`````&9F`&9F9F9F9GX^!GY\`&QL`'S&QL;&QL;&?`````!L;`#&QL;&X
MQL;&QGP``````!@8/'YF8&!F?CP8&```````.&Q@.&QL.`QL.```````9F9FB
M9GX\&'X8&!@8```````\9F9F?&9F9GQ@8&`````.'A@8&'X8&!@8&'!@`%6`=
M`8`!@`&``8`!@`&``:H````8&```&!@8&!@8````````$!!\UM#0T-9\$!``%
M`````!PB("#X("`@('X```````"!?F9F9F9F?H$`````````9F9F)#P8&'X8(
M&````!@8&!@8&!@``!@8&!@8&!@````X;&`X;&PX#&PX``````!L;```````\
M`````````````'[#O:6AH:6]PWX``````'P&?L;&QGX`_@```````````!(V>
M;-AL-A(``````````````````'X&!@8&`````````````!(\2```````````D
M?L.YI:6YJ:7#?@``````?@``````````````````&"0D&```````````````"
M```````8&!A^&!@8`'X``#QF!APP9GX```````````!XS`PX#,QX````````\
M``````8,&#```````````````````````,;&QL;&QGY@8,```#Q45%0T%!04D
M%!04```````````8&!@````````````````````````X.!@8,"`P<#`P,#!X,
M``````````````!\QL;&QL9\`/X```````````"0V&PV;-B0```````P<#`PR
M,#!['G#.'C9F?P8/,'`P,#`P>QYP_&8&'#!C?WC,##@,S'L><,X>-F9_!@\`)
M```8&``8&`P,9F8\````,!@`?,;&QL;^QL;&Q@```!@P`'S&QL;&_L;&QL8`D
M```0.&P`?,;&QO[&QL;&````8O*\F'S&QL;^QL;&Q@````!L;`!\QL;&_L;&4
MQL8````X1#@`?,;&QO[&QL;&````````#Q@8."]H2/B(CP```````'S&P,#`+
MP,#`QGP8#!@P&`#^P,#`_,#`P,#^````&#``_L#`P/S`P,#`_@```!`X;`#\N
MP,#`^,#`P/X`````;&P`_,#`P/C`P,#^````,!@,`'X8&!@8&!@8?@````P8<
M,`!^&!@8&!@8&'X````8/&8`_A@8&!@8&!C^`````&9F`'X8&!@8&!@8?@``B
M`````#XC(?DA(SX```````!B\KZ<`.;FUM;.SL;&````8#`8`'S&QL;&QL;&9
M?`````P8,`!\QL;&QL;&QGP````0.&P`?,;&QL;&QL9\````8O*^C'S&QL;&Z
MQL;&?`````!L;`!\QL;&QL;&QGP`````````QL9\.'S&Q@````````(&?,[.P
MSM[VYN;F?,"``&`P&`#&QL;&QL;&QGP````,&#``QL;&QL;&QL9\````$#AL8
M`,;&QL;&QL;&?`````!L;`#&QL;&QL;&QGP````,&#``9F8D/!@8&!@8````H
M````<"`X)#@@("`@<````````#QF9F9\9F9F?&!@8````#`8#`!\!G[&QL9^P
M```````,&#``?`9^QL;&?@``````$#AL`'P&?L;&QGX`````8O*^G`!\!G[&<
MQL9^``````!F9@``?`9^QL;&?@`````8)"08`'P&?L;&QGX```````````!^L
M&1E_3$P_````````````?,;`P,#&?!@,&```8#`8`'S&QO[`P'X```````P88
M,`!\QL;^P,!^```````0.&P`?,;&_L#`?@```````&QL`'S&QO[`P'X`````(
M`#`8#`!X&!@8&!A^```````,&#``>!@8&!@8?@``````$#AL`'@8&!@8&'X`F
M``````!L;`!X&!@8&!A^```````($"A$1@D)"08`````````8O*^G`#\QL;&M
MQL8``````&`P&`!\QL;&QL9\```````,&#``?,;&QL;&?```````$#AL`'S&J
MQL;&QGP``````&+ROIP`?,;&QL9\``````!L;```?,;&QL;&?````````````
M&!@`?@`8&````````````@9\SL[6YN9\P(````!@,!@`QL;&QL;&?@``````F
M#!@P`,;&QL;&QGX``````!`X;`#&QL;&QL9^``````!L;```QL;&QL;&?@``&
M````#!@P`,;&QL;&QGX&!GP`````<"`X)"0X("!P````````;&P`QL;&QL;&R
M?@8&?```````````?H&E@;V9@7Y^_]O_P^?_?FS^_OY\.!``$#A\_GPX$``XF
M?#C^_GPX?!`0.'S^?#A\```8/#P8``#__^?#P^?__P`\9D)"9CP`_\.9O;V90
MP_\/!P]]S,S,>#QF9F8\&'X8/S,_,#!P\.!_8W]C8V?FP)E:/.?G/%J9@.#XA
M_OC@@``"#C[^/@X"`!@\?A@8?CP89F9F9F8`9@!_V]M[&QL;`#YC.&QL.,QX6
M`````'Y^?@`8/'X8?CP8_Q@\?A@8&!@`&!@8&'X\&```&`S^#!@````P8/Y@-
M,`````#`P,#^````)&;_9B0````8/'[__P```/__?CP8`````````````#!X)
M>#`P`#``;&QL``````!L;/YL_FQL`#!\P'@,^#```,;,&#!FQ@`X;#AVW,QVR
M`&!@P```````&#!@8&`P&`!@,!@8&#!@``!F//\\9@```#`P_#`P````````7
M`#`P8````/P````````````P,``&#!@P8,"``'S&SM[VYGP`,'`P,#`P_`!XP
MS`PX8,S\`'C,##@,S'@`'#QLS/X,'@#\P/@,#,QX`#A@P/C,S'@`_,P,&#`P$
M,`!XS,QXS,QX`'C,S'P,&'```#`P```P,```,#```#`P8!@P8,!@,!@```#\4
M``#\``!@,!@,&#!@`'C,#!@P`#``?,;>WM[`>``P>,S,_,S,`/QF9GQF9OP`4
M/&;`P,!F/`#X;&9F9FSX`/YB:'AH8OX`_F)H>&A@\``\9L#`SF8^`,S,S/S,^
MS,P`>#`P,#`P>``>#`P,S,QX`.9F;'AL9N8`\&!@8&)F_@#&[O[^UL;&`,;F&
M]M[.QL8`.&S&QL9L.`#\9F9\8&#P`'C,S,S<>!P`_&9F?&QFY@!XS.!P',QXX
M`/RT,#`P,'@`S,S,S,S,_`#,S,S,S'@P`,;&QM;^[L8`QL9L.#ALQ@#,S,QX@
M,#!X`/[&C!@R9OX`>&!@8&!@>`#`8#`8#`8"`'@8&!@8&'@`$#ALQ@``````$
M````````_S`P&`````````!X#'S,=@#@8&!\9F;<````>,S`S'@`'`P,?,S,-
M=@```'C,_,!X`#AL8/!@8/````!VS,Q\#/C@8&QV9F;F`#``<#`P,'@`#``,T
M#`S,S'C@8&9L>&SF`'`P,#`P,'@```#,_O[6Q@```/C,S,S,````>,S,S'@`\
M``#<9F9\8/```';,S'P,'@``W'9F8/````!\P'@,^``0,'PP,#08````S,S,T
MS'8```#,S,QX,````,;6_OYL````QFPX;,8```#,S,Q\#/@``/R8,&3\`!PP"
M,.`P,!P`&!@8`!@8&`#@,#`<,##@`';<`````````!`X;,;&_@```````&QL@
MV`#,`,S,S'X`/F,X;&PXS'A^PSP&/F8_`,P`>`Q\S'X`X`!X#'S,?@`P,'@,]
M?,Q^````>,#`>`PX?L,\9GY@/`#,`'C,_,!X`.``>,S\P'@`S`!P,#`P>`!\3
MQC@8&!@\`.``<#`P,'@`QCALQO[&Q@`P,`!XS/S,`!P`_&!X8/P```!_#'_,B
M?P`^;,S^S,S.`'C,`'C,S'@``,P`>,S,>```X`!XS,QX`'C,`,S,S'X``.``G
MS,S,?@``S`#,S'P,^,,8/&9F/!@`S`#,S,S,>``8&'[`P'X8&#YC.&QL.,QXZ
MS,QX_##\,##XS,SZQL_&QPX;&#P8&-AP58`!@`&``:H`,``P,'AX,``0?-#07
M?!```!@D<"!\``"!?F9F9GZ!`,S,S'@P>#``&!@8```8&!@^8SAL;#C,>`#,!
M`````````#Q:4EH\``!X#'S,=O\````2)$@D$@``````?@8&`````")^1```A
M```\6GIF/````'X````````0*!`````````P,/PP,`#\8!`@<`````#`(&`@0
MP`````P,&`````````#,S,S,=L``/%0T%!04`````#`P``````````!P,&`@6
M8"!P`````'C,S,QX_````$@D$B1(```@8"1Z%B\"`"!@)'@<(@0.P"!$*M8O.
M`@``,``P&`S,>#``>,S\S,P`,`!XS/S,S``P`'C,_,S,`"A0>,S\S,P`QCAL<
MQO[&Q@`0.&S&_L;&`!X8*"YX2(X`/&;`P,!F/!C^8FAX:&+^`/YB:'AH8OX`:
M_F)H>&AB_@#^8FAX:&+^`'@P,#`P,'@`>#`P,#`P>`!X,#`P,#!X`'@P,#`PH
M,'@``#XA^2$^```4*/;>SL;&`#ALQL;&;#@`.&S&QL9L.``X;,;&QFPX`#AL[
MQL;&;#@`PQ@\9F8\&```QFPX;,8``#ILSM;F;+@`S,S,S,S,_`#,S,S,S,S\E
M`,S,S,S,S/P`S`#,S,S,>`#,S,QX,#!X``!P.#@@('```'C,^,SXP,```'@,`
M?,QV````>`Q\S'8```!X#'S,=@```'@,?,QV`,P`>`Q\S'X```!X#'S,=@``<
M9F9F9GQ@P```>,S`S'@P``!XS/S`>````'C,_,!X````>,S\P'@```!XS/S`4
M>``P`'`P,#!X`#``<#`P,'@`,`!P,#`P>`#8`'`P,#!X``````````````#XX
MS,S,S````'C,S,QX````>,S,S'@```!XS,S,>````'C,S,QX``#,`'C,S'@`4
M```8?A@``````GS,W.QX@```S,S,S'8```#,S,S,=@```,S,S,QV``#,`,S,.
GS'X`&#``S,Q\#/@`(#@D."```,P`S,S,?`SX:7-O9F]N=```TOCLF
X``
end
size 6204
END_OF_FILE
if test 8721 -ne `wc -c <'banner-11/MB_Font.uu'`; then
echo shar: \"'banner-11/MB_Font.uu'\" unpacked with wrong size!
fi
# end of 'banner-11/MB_Font.uu'
fi
if test -f 'banner-5/block.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'banner-5/block.c'\"
else
echo shar: Extracting \"'banner-5/block.c'\" \(11573 characters\)
sed "s/^X//" >'banner-5/block.c' <<'END_OF_FILE'
X/*
X * block - dispays block style banner one word at a time.
X * Author: Jae H. Lee, (Coyote on irc)
X * State University of New York at Buffalo
X * Department of Computer Science
X * example: block this is a test.
X * block -i this is a test. ("this" in italic)
X * block -i this -i is -i a -i test. (all in italic)
X * block this\ is a test. ("this is" on same line)
X *
X */
X#include <stdio.h>
X#define COLM 8
X#define MAXCHR 10
X#define HCHR 10
X#define WCHR 10
X#define MAXLINE 120
X#define ITALIC 1
X
X
static char *block_char[] = {
X" !! \"\" \"\" $$ %%% %% &&&& '' ",
X" !! \"\" \"\" ## ## $$$$$$$$ %% %% %% && && '' ",
X" !! \"\" \"\" ## ## $$$$$$$$$$%% %% %% && && '' ",
X" !! \"\" \"\" ##########$$ $$ %%% %% && && ",
X" !! ## ## $$$$$$$$$ %% &&& ",
X" !! ## ## $$$$$$$$$ %% && && ",
X" !! ########## $$ $$ %% %%% && && & ",
X" ## ## $$$$$$$$$$ %% %% %%&& &&& ",
X" !! ## ## $$$$$$$$ %% %% %%&& && ",
X" !! $$ % %%% &&&&&& & ",
X" ( ) /",
X" (( )) ++ //",
X" (( )) * * * ++ // ",
X" (( )) * * * ++ // ",
X" (( )) *** ++++++++++ ---------- // ",
X" (( )) ********* ++++++++++ ---------- // ",
X" (( )) *** ++ ,,, // ",
X" (( )) * * * ++ ,,,,, ... // ",
X" (( )) * * * ++ ,,,, ..... // ",
X" ( ) , ... / ",
X" 0000 11 22222222 3333333333 444 5555555555 66666666 7777777777",
X" 000000 1111 2222222222333333333 4444 555555555566666666667777777777",
X" 00 00 11 11 2 22 33 44 44 55 66 6 77 ",
X"00 00 11 22 33 44 44 55 66 77 ",
X"00 00 11 222 333 44 44 555555555 666666666 77 ",
X"00 00 11 222 333 444444444455555555556666666666 77 ",
X"00 00 11 222 33 4444444444 5566 66 77 ",
X" 00 00 11 222 3 33 44 5 5566 66 77 ",
X" 000000 111111111122222222223333333333 44 55555555556666666666 77 ",
X" 0000 11111111112222222222 33333333 44 55555555 66666666 77 ",
X" 88888888 99999999 ???????? ",
X"88888888889999999999 << >> ??????????",
X"88 8899 99 ::: ;;; << >> ?? ??",
X"88 8899 99 ::: ;;; << ========== >> ??",
X" 88888888 9999999999 << ========== >> ???? ",
X" 88888888 999999999 << >> ?? ",
X"88 88 99 ::: ;;; << ========== >> ?? ",
X"88 88 99 ::: ;;; << ========== >> ",
X"88888888889999999999 ;; << >> ?? ",
X" 88888888 99999999 ; << >> ?? ",
X" @@@@@@@@ AAAAAAAA BBBBBBBBB CCCCCCCC DDDDDDDDD EEEEEEEEEEFFFFFFFFFF GGGGGGGG ",
X"@@@@@@@@@@AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEFFFFFFFFFFGGGGGGGGGG",
X"@@ @@AA AABB BBCC CDD DDEE FF GG ",
X"@@ @@@ @@AA AABB BBCC DD DDEE FF GG ",
X"@@ @@@@@@AA AABBBBBBBBB CC DD DDEEEEE FFFFF GG GGGGG",
X"@@ @@@@@@AAAAAAAAAABBBBBBBBB CC DD DDEEEEE FFFFF GG GGGGG",
X"@@ @@@@ AAAAAAAAAABB BBCC DD DDEE FF GG GG",
X"@@ AA AABB BBCC CDD DDEE FF GG GG",
X"@@@@@@@@@@AA AABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEFF GGGGGGGGGG",
X" @@@@@@@@ AA AABBBBBBBBB CCCCCCCC DDDDDDDDD EEEEEEEEEEFF GGGGGGGGG",
X"HH HHIIIIIIIIII JJJJJJJJKK KKLL MM MMNN NN OOOOOOOO ",
X"HH HHIIIIIIIIII JJJJJJJJKK KK LL MMMM MMMMNNN NNOOOOOOOOOO",
X"HH HH II JJ KK KK LL MM MMMM MMNNNN NNOO OOO",
X"HH HH II JJ KK KK LL MM MM MMNN NN NNOO O OO",
X"HHHHHHHHHH II JJ KKKKK LL MM MM MMNN NN NNOO O OO",
X"HHHHHHHHHH II JJ KK KK LL MM MMNN NN NNOO O OO",
X"HH HH II JJ JJ KK KK LL MM MMNN NN NNOO O OO",
X"HH HH II JJ JJ KK KK LL MM MMNN NNNNOOO OO",
X"HH HHIIIIIIIIIIJJJJJJJ KK KK LLLLLLLLLLMM MMNN NNNOOOOOOOOOO",
X"HH HHIIIIIIIIII JJJJJ KK KKLLLLLLLLLLMM MMNN NN OOOOOOOO ",
X"PPPPPPPPP QQQQQQQQ RRRRRRRRR SSSSSSSS TTTTTTTTTTUU UUVV VVWW WW",
X"PPPPPPPPPPQQQQQQQQQQRRRRRRRRRRSSSSSSSSSSTTTTTTTTTTUU UUVV VVWW WW",
X"PP PPQQ QQRR RRSS S TT UU UU VV VV WW WW",
X"PP PPQQ QQRR RRSS TT UU UU VV VV WW WW",
X"PPPPPPPPPPQQ QQRRRRRRRRRRSSSSSSSSS TT UU UU VV VV WW WW WW",
X"PPPPPPPPP QQ QQRRRRRRRRR SSSSSSSSS TT UU UU VV VV WW WW WW",
X"PP QQ QQ QQRR RR SS TT UU UU VV VV WW WW WW",
X"PP QQ QQQQRR RR S SS TT UU UU VV VV WW WWWW WW",
X"PP QQQQQQQQQ RR RR SSSSSSSSSS TT UUUUUUUUUU VVVV WWW WWW ",
X"PP QQQQQQ QQRR RR SSSSSSSS TT UUUUUUUU VV WW WW ",
X"XX XXYY YYZZZZZZZZZZ [[[[[ \\ ]]]]] ",
X" XX XX YY YY ZZZZZZZZZ [[ \\\\ ]] ^^ ",
X" XX XX YY YY ZZ [[ \\\\ ]] ^^^^ ",
X" XXXX YYYY ZZ [[ \\\\ ]] ^^ ^^ ",
X" XX YY ZZZZZZZZ [[ \\\\ ]] ^^ ^^ ",
X" XXXX YY ZZZZZZZZ [[ \\\\ ]] ^^ ^^ ",
X" XX XX YY ZZ [[ \\\\ ]] ",
X" XX XX YY ZZ [[ \\\\ ]] ",
X"XX XX YY ZZZZZZZZZ [[ \\\\ ]] __________",
X"XX XX YY ZZZZZZZZZZ [[[[[ \\ ]]]]] __________",
X" `` AAAAAAAA BBBBBBBBB CCCCCCCC DDDDDDDDD EEEEEEEEEEFFFFFFFFFF GGGGGGGG ",
X" `` AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEFFFFFFFFFFGGGGGGGGGG",
X" `` AA AABB BBCC CDD DDEE FF GG ",
X" AA AABB BBCC DD DDEE FF GG ",
X" AA AABBBBBBBBB CC DD DDEEEEE FFFFF GG GGGGG",
X" AAAAAAAAAABBBBBBBBB CC DD DDEEEEE FFFFF GG GGGGG",
X" AAAAAAAAAABB BBCC DD DDEE FF GG GG",
X" AA AABB BBCC CDD DDEE FF GG GG",
X" AA AABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEFF GGGGGGGGGG",
X" AA AABBBBBBBBB CCCCCCCC DDDDDDDDD EEEEEEEEEEFF GGGGGGGGG",
X"HH HHIIIIIIIIII JJJJJJJJKK KKLL MM MMNN NN OOOOOOOO ",
X"HH HHIIIIIIIIII JJJJJJJJKK KK LL MMMM MMMMNNN NNOOOOOOOOOO",
X"HH HH II JJ KK KK LL MM MMMM MMNNNN NNOO OOO",
X"HH HH II JJ KK KK LL MM MM MMNN NN NNOO O OO",
X"HHHHHHHHHH II JJ KKKKK LL MM MM MMNN NN NNOO O OO",
X"HHHHHHHHHH II JJ KK KK LL MM MMNN NN NNOO O OO",
X"HH HH II JJ JJ KK KK LL MM MMNN NN NNOO O OO",
X"HH HH II JJ JJ KK KK LL MM MMNN NNNNOOO OO",
X"HH HHIIIIIIIIIIJJJJJJJ KK KK LLLLLLLLLLMM MMNN NNNOOOOOOOOOO",
X"HH HHIIIIIIIIII JJJJJ KK KKLLLLLLLLLLMM MMNN NN OOOOOOOO ",
X"PPPPPPPPP QQQQQQQQ RRRRRRRRR SSSSSSSS TTTTTTTTTTUU UUVV VVWW WW",
X"PPPPPPPPPPQQQQQQQQQQRRRRRRRRRRSSSSSSSSSSTTTTTTTTTTUU UUVV VVWW WW",
X"PP PPQQ QQRR RRSS S TT UU UU VV VV WW WW",
X"PP PPQQ QQRR RRSS TT UU UU VV VV WW WW",
X"PPPPPPPPPPQQ QQRRRRRRRRRRSSSSSSSSS TT UU UU VV VV WW WW WW",
X"PPPPPPPPP QQ QQRRRRRRRRR SSSSSSSSS TT UU UU VV VV WW WW WW",
X"PP QQ QQ QQRR RR SS TT UU UU VV VV WW WW WW",
X"PP QQ QQQQRR RR S SS TT UU UU VV VV WW WWWW WW",
X"PP QQQQQQQQQ RR RR SSSSSSSSSS TT UUUUUUUUUU VVVV WWW WWW ",
X"PP QQQQQQ QQRR RR SSSSSSSS TT UUUUUUUU VV WW WW ",
X"XX XXYY YYZZZZZZZZZZ {{{{ || }}}} ~~~ ",
X" XX XX YY YY ZZZZZZZZZ {{ || }} ~~ ~~ ~ ",
X" XX XX YY YY ZZ {{ || }} ~ ~~ ~~ ",
X" XXXX YYYY ZZ {{ || }} ~~~ ",
X" XX YY ZZZZZZZZ {{ }} ",
X" XXXX YY ZZZZZZZZ {{ }} ",
X" XX XX YY ZZ {{ || }} ",
X" XX XX YY ZZ {{ || }} ",
X"XX XX YY ZZZZZZZZZ {{ || }} ",
X"XX XX YY ZZZZZZZZZZ {{{{ || }}}} ",
X};
X
X#include <stdio.h>
X#define SPACE ' '
X
main (argc, argv)
int argc;
char **argv;
X{
X struct {
X int row;
X int colm;
X } pos[MAXCHR];
X int i, j, k;
X int wordlen;
X int c_type;
X char *word;
X char line[MAXLINE];
X
X for (i = 1; --argc > 0; i++) {
X if (!strcmp (argv[i], "-i")) {
X c_type = ITALIC;
X continue;
X }
X word = argv[i];
X wordlen = strlen (word);
X for (j=0; j < wordlen && j < MAXCHR; j++) {
X if (word[j] < SPACE) word[j] = '?';
X pos[j].row = (int)(word[j] - SPACE) / 8;
X pos[j].colm = (int)(word[j] - SPACE) % 8;
X }
X for (k=0; k<HCHR; k++) {
X bzero (line, MAXLINE);
X wordlen = strlen (word);
X if (c_type == ITALIC) strncat (line, " ", HCHR-k-1);
X for (j=0; j < wordlen && j < MAXCHR; j++) {
X (void) strncat (line, &block_char[pos[j].row*HCHR+k][pos[j].colm*WCHR], WCHR);
X (void) strcat (line, " ");
X }
X (void) printf ("%s\n", line);
X }
X printf (" \n \n");
X c_type--;
X }
X}
END_OF_FILE
if test 11573 -ne `wc -c <'banner-5/block.c'`; then
echo shar: \"'banner-5/block.c'\" unpacked with wrong size!
fi
# end of 'banner-5/block.c'
fi
if test -f 'banner-5/sban.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'banner-5/sban.c'\"
else
echo shar: Extracting \"'banner-5/sban.c'\" \(7705 characters\)
sed "s/^X//" >'banner-5/sban.c' <<'END_OF_FILE'
X
X/* Small Korean Banner */
X
X#include <stdio.h>
X
X#define TOTAL 60
X#define BufSize 255
X
X#define CW 2 /* character width */
X#define CL 2 /* character length */
X
X#define SD 1 /* shift down */
X#define SR 1 /* shift right */
X#define SB 1 /* shift below */
X
X#define MC 15 /* max characters */
X
X#define DFName "/ufo2/fcode/e880505/Bin/sban.dat" /* data file name */
X
static char alpha[]={"abcdefghijklmnopqrstuvwxyzQWERTOP?!.,:_AZSXDCFVGB1234567890"};
static char c[]={"acdefgqrstvwxzQWERT"}; /* consonant */
static char v1[]={"ijklopuOP"};
static char v2[]={"bhny"};
static char v3[]={"m"};
static char s[]={"?!.,:_AZSXDCFVGB1234567890"};
X
struct FONT {
X int address;
X short type;
X } a[TOTAL];
X
int b[BufSize]; /* board */
int t[BufSize]; /* taget */
X
char board[2*CL+3][(CW*2+1)*MC+3];
char *receiver; /* special receiver */
char *message;
X
short word_counter ;
X
main(argc,argv)
int argc;
char *argv[];
X{
X int number , station = 0;
X
X if( argc != 2 && argc !=3 ) {Error(":)"); Quit();}
X if(argc == 3 ) receiver = argv[2];
X make_font();
X message = argv[1];
X number=make_board(message);
X while(1){
X word_counter=0;
X clear_board();
X station=load_board(station,number);
X print_board(argc-2);
X fflush(stdout);
X if(station == number) break;
X }
X}
clear_board()
X{
X int i,j;
X
X for(i=0;i<2*CL+3; i++ ){
X for( j=0; j< (CW*2+1)*MC; j++)
X board[i][j] = ' ';
X board[i][j] = 0;
X }
X}
X
contractor( index ,num)
int index;
int num;
X{
X int i,j;
X int what, mwhat, twhat;
X
X switch( t[index] ){
X case 4: /** symbolic */
X return 0;
X break;
X case 1: /* */
X if( index > 0 ) {
X if( t[index-1] ==2 ) return 2;
X else if( t[index-1] == 3) return 11;
X else return 1;
X }
X else return 1;
X break;
X case 2: /** velar */
X return 3;
X break;
X case 3: /* case of m */
X return 10;
X break;
X case 0: /* consonant */
X if(index==0 ) return 0;
X if( index <num-1 ) {
X what = contractor(index+1, num );
X if( what==1||what==2||what==3||what==10||what==11) return 0;
X if( what == 0 ) {
X twhat = t[index-1] ;
X if( twhat== 1 ) {
X mwhat = contractor(index-1, num );
X if( mwhat== 1) return 8;
X if(mwhat == 2) return 9;
X if( mwhat == 11 ) return 14;
X }
X if( twhat == 2) {
X return 6;
X }
X if( twhat == 3) {
X return 12;
X }
X if( twhat== 0) {
X mwhat = contractor( index-2);
X if(mwhat == 1) return 5;
X if(mwhat == 11) return 13;
X if(mwhat == 2) return 7;
X if(mwhat == 3) return 7;
X if(mwhat == 10) return 13;
X }
X } /* if */
X else{
X mwhat = contractor( index-1, num );
X if(mwhat == 1 ) return 4;
X if(mwhat == 11) return 12;
X if(mwhat == 2 ) return 6;
X if(mwhat == 3 ) return 6;
X if(mwhat == 10) return 12;
X }
X } /* if */
X else {
X twhat = t[index-1];
X if(twhat == 0) {
X mwhat = contractor(index-2, num);
X if( mwhat == 3 ) return 7;
X if( mwhat == 10) return 13;
X if( mwhat == 1 ) return 5;
X if( mwhat == 11) return 13;
X if(mwhat ==2 ) return 7;
X }
X mwhat = contractor( index-1 , num );
X if( mwhat == 3 ) return 6;
X if( mwhat == 10) return 12;
X if( mwhat == 1 ) return 8;
X if( mwhat == 11) return 14;
X if( mwhat == 2 ) return 9;
X }
X break;
X } /* swtich */
X} /* end of procedure */
X
X
X
load_board(stop, num )
int stop;
int num;
X{
X int i;
X int x=0 ,y=0 ; /* location of a charcater */
X int tx, ty ; /* location of a alphabet */
X short what;
X
X for( i= stop ; i< num ; i++ ){
X what = contractor(i,num);
X switch( what ){
X case 0:
X if(i!=stop) { x+=CW*2+1 ; }
X tx=x; ty = y;
X word_counter++;
X if( word_counter > MC ) return i;
X break;
X case 1:
X tx = x+CW ;
X ty=y;
X break;
X case 2:
X case 11:
X tx= x+CW;
X ty= y+SB ;
X break;
X case 3:
X tx = x;
X ty = y+CL ;
X break;
X case 10:
X tx = x;
X ty = y+CL-1;
X break;
X case 4:
X tx = x ;
X ty = y+CL ;
X break;
X case 12:
X tx=x;
X ty = y+CL+1;
X break;
X case 5:
X tx= x+CW ;
X ty = y+CL;
X break;
X case 13:
X tx= x+CW ;
X ty = y+CL+1;
X break;
X case 6:
X tx = x;
X ty = y+CL+SD ;
X break;
X case 7:
X tx = x+CW;
X ty = y+CL+SD;
X break;
X case 8:
X tx = x+ SR;
X ty = y+CL;
X break;
X case 14:
X tx = x+ SR;
X ty = y+CL+1;
X break;
X case 9:
X tx = x +SR;
X ty= y+CL+SD;
X break;
X default:
X break;
X } /* switch */
X sculpture( tx,ty, b[i] );
X } /* for */
X return i;
X} /* end of function */
X
sculpture( x, y, index )
int x,y, index;
X{
X FILE *fptr;
X char str[20],len;
X int i,j;
X
X if( NULL == (fptr=fopen(DFName,"r"))) { Error("8)"); Quit();}
X fseek(fptr, (long)(a[index].address), 0 );
X for(i=0; i< CL ; i++ ){
X fgets( str, CW+5, fptr);
X len = strlen( str );
X str[ len-1] =' '; len--;
X for(j=0 ; j <len ; j++ ){
X if( str[j] != ' ') board[y+i][x+j] = str[j] ;
X } /* for */
X } /* for */
X fclose(fptr);
X}
compress(str)
char *str;
X{
X int i,len ;
X len = strlen(str);
X for(i=0; i<len ; i++ )
X if( str[i] != ' ') return 1;
X return 0;
X}
X
X
print_board(mode)
short mode;
X{
X int i, limit;
X
X for(i=0; i < CL*2+3 ; i++ )
X if( compress(board[i]) ) limit=i;
X
X board_optimize( limit );
X board_compress( limit );
X space_check( limit );
X
X if(mode == 0 ) {
X for(i=0 ; i <= limit ; i++ ){
X puts( board[i]);
X fflush(stdout);
X }
X fflush(stdout);
X }
X else if( mode==1 ) for(i=0 ; i <= limit ; i++ )
X printf("%s:%s\n",receiver,board[i]);
X}
X
space_check(max)
X{
X int i,j;
X
X for(i=0;i<=max ; i++ )
X for( j=0; j< (CW*2+1)*MC-1; j++)
X if(board[i][j] == 'A') board[i][j]=' ';
X}
board_compress( max )
int max;
X{
X int i,j;
X int end;
X int sw = 0;
X char tablet[CL*3+2];
X
X end = strlen(board[0]);
X
X for(i=0 ; i<end-1 ; i++ ){
X for(j=0; j<= max ; j++ ) tablet[j]= board[j][i];
X tablet[j] = 0;
X if( strClen(tablet) ==0 ){
X sw++;
X if (sw==3){
X exec_compress(i,max,end);
X sw--;
X end--;
X i--; } /* if */
X } /* if */
X else sw=0;
X } /* for i */
X}
X
exec_compress( i, max, end)
int i,max,end;
X{
X int j,k;
X
X for(j=0 ; j<=max ; j++ ){
X for(k=i; k<end-1; k++ )
X board[j][k]=board[j][k+1];
X board[j][k] = 0 ;
X }
X}
strClen(str)
char *str;
X{
X int len, i;
X len=strlen(str);
X for(i=0 ; i<len ; i++)
X if(str[i]!=' ') return 1;
X return 0;
X}
board_optimize( max )
int max;
X{
X int i,j,k;
X int local_max;
X int delta ;
X
X for(i=0; i< word_counter ; i++ ){
X local_max= local_scan(i,max);
X if( local_max <= max-2) {
X delta = (max-local_max)/2 ;
X for( j=i*(CW*2+1); j< (i+1)*(CW*2+1) ; j++)
X for(k=local_max ; k>=0 ; k--){
X board[k+delta][j] = board[k][j];
X board[k][j]=' ';
X } /* for k */
X } /* if */
X } /* for i */
X}
X
local_scan(i,max)
int i;
int max;
X{
X int j,k;
X int local=0;
X
X for( j=i*(CW*2+1); j< (i+1)*(CW*2+1) ; j++)
X for(k=max; k>0 ; k--)
X if( board[k][j] != ' ') { if(k>local) local=k ; break; }
X return local;
X}
X
make_board(str)
char *str;
X{
X int i,len,defect=0 ;
X
X len = strlen(str);
X
X for(i=0; i<len ; i++ ) {
X b[i+defect] = where( str[i], alpha );
X if( b[i+defect] == -1 ) defect--;
X else t[i+defect] = a[b[i+defect]].type;
X }
X return i+defect;
X}
make_font()
X{
X int i;
X for(i=0; i<TOTAL ; i++ ) {
X a[i].type = exist( alpha[i] );
X a[i].address = i*(CL*(CW+1)+1) ;
X }
X}
X
exist( ch )
X{
X if( where(ch, c ) >-1 ) return 0;
X else if( where( ch, v1) > -1 ) return 1;
X else if( where(ch, v2) >-1 ) return 2;
X else if( where(ch, v3) >-1 ) return 3;
X return 4;
X}
where( ch, str )
char ch;
char *str;
X{
X int i, len;
X
X len=strlen(str);
X for(i=0; i<len ; i++ )
X if( ch == str[i] ) return i;
X return -1;
X}
XError(str)
char *str;
X{
X puts(str);
X}
Quit()
X{
X exit(0);
X}
X
END_OF_FILE
if test 7705 -ne `wc -c <'banner-5/sban.c'`; then
echo shar: \"'banner-5/sban.c'\" unpacked with wrong size!
fi
# end of 'banner-5/sban.c'
fi
if test -f 'banner-8/banner.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'banner-8/banner.c'\"
else
echo shar: Extracting \"'banner-8/banner.c'\" \(9151 characters\)
sed "s/^X//" >'banner-8/banner.c' <<'END_OF_FILE'
X/* From: amos shapir <amos@cs.huji.ac.il> */
X/* modified by Frank Kaefer <fkk@stasys.sta.sub.org> */
X
X/*
X * small banner 8x8 matrix
X */
X
X#include <stdio.h>
extern char chrtab[][8];
X#ifdef HEBREW
extern char htab[][8];
X#endif HEBREW
X#define NMSG 80
X
main(argc, argv)
char **argv;
X{
X register char *sp;
X register int i, j, t, j1, t1;
X static char msg[NMSG];
X int hebrew = 0, shadow = 0;
X
X while(argc > 1 && argv[1][0] == '-') {
X argc--;
X argv++;
X switch(argv[0][1]) {
X#ifdef HEBREW
X case 'h':
X hebrew = 1;
X break;
X#endif HEBREW
X case 's':
X shadow = 1;
X break;
X }
X }
X if(argc > 1)
X strncpy(msg, *++argv, NMSG);
X else {
X fputs("Message: ", stderr);
X for(sp=msg, i=0; (*sp++ = getchar())!='\n' && i<NMSG-1; i++)
X ;
X *--sp = '\0';
X }
X
X for (i=0; i<8; i++) {
X if(shadow)
X for (j=i; j<7; j++)
X putchar(' ');
X for (sp = msg; *sp; sp++) {
X if((t = *sp) == '\\') {
X for(t=0,j=0;j<3 && *++sp>='0' && *sp<='7'; j++)
X t = t*8 + *sp - '0';
X if(j == 0) {
X t = *sp;
X if(t == 'h') {
X hebrew = 1;
X continue;
X } else if(t == 'e') {
X hebrew = 0;
X continue;
X }
X } else if(j < 3)
X sp--;
X } else
X t = *sp;
X if(hebrew) {
X if(shadow && i<7)
X#ifdef HEBREW
X t1 = htab[t & 037][i+1];
X t = htab[t & 037][i];
X#else HEBREW
X ;
X ;
X#endif HEBREW
X } else {
X if(shadow && i<7)
X t1 = chrtab[t & 0177][i+1];
X t = chrtab[t & 0177][i];
X }
X if(shadow) {
X for (j1=0, j=0200; (j|j1)!=0; j1=j, j >>= 1)
X putchar((j&t) ? (j&t1) ? ' ' : '_'
X : (j1&t) ? '/' : ' ');
X } else {
X for (j=0200; j!=0; j >>= 1)
X putchar((j&t) ? '#' : ' ');
X }
X }
X putchar('\n');
X }
X}
X
X/* char generator table from IBM PC */
char chrtab[128][8] = {
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00 */
X 0x7E, 0x81, 0xA5, 0x81, 0xBD, 0x99, 0x81, 0x7E, /* 01 */
X 0x7E, 0xFF, 0xDB, 0xFF, 0xC3, 0xE7, 0xFF, 0x7E, /* 02 */
X 0x6C, 0xFE, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00, /* 03 */
X 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, 0x00, /* 04 */
X 0x38, 0x7C, 0x38, 0xFE, 0xFE, 0x7C, 0x38, 0x7C, /* 05 */
X 0x10, 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x7C, /* 06 */
X 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, 0x00, /* 07 */
X 0xFF, 0xFF, 0xE7, 0xC3, 0xC3, 0xE7, 0xFF, 0xFF, /* 08 */
X 0x00, 0x3C, 0x66, 0x42, 0x42, 0x66, 0x3C, 0x00, /* 09 */
X 0xFF, 0xC3, 0x99, 0xBD, 0xBD, 0x99, 0xC3, 0xFF, /* 0A */
X 0x0F, 0x07, 0x0F, 0x7D, 0xCC, 0xCC, 0xCC, 0x78, /* 0B */
X 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18, /* 0C */
X 0x3F, 0x33, 0x3F, 0x30, 0x30, 0x70, 0xF0, 0xE0, /* 0D */
X 0x7F, 0x63, 0x7F, 0x63, 0x63, 0x67, 0xE6, 0xC0, /* 0E */
X 0x99, 0x5A, 0x3C, 0xE7, 0xE7, 0x3C, 0x5A, 0x99, /* 0F */
X 0x80, 0xE0, 0xF8, 0xFE, 0xF8, 0xE0, 0x80, 0x00, /* 10 */
X 0x02, 0x0E, 0x3E, 0xFE, 0x3E, 0x0E, 0x02, 0x00, /* 11 */
X 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x7E, 0x3C, 0x18, /* 12 */
X 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00, /* 13 */
X 0x7F, 0xDB, 0xDB, 0x7B, 0x1B, 0x1B, 0x1B, 0x00, /* 14 */
X 0x3E, 0x63, 0x38, 0x6C, 0x6C, 0x38, 0xCC, 0x78, /* 15 */
X 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x00, /* 16 */
X 0x18, 0x3C, 0x7E, 0x18, 0x7E, 0x3C, 0x18, 0xFF, /* 17 */
X 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x00, /* 18 */
X 0x18, 0x18, 0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00, /* 19 */
X 0x00, 0x18, 0x0C, 0xFE, 0x0C, 0x18, 0x00, 0x00, /* 1A */
X 0x00, 0x30, 0x60, 0xFE, 0x60, 0x30, 0x00, 0x00, /* 1B */
X 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFE, 0x00, 0x00, /* 1C */
X 0x00, 0x24, 0x66, 0xFF, 0x66, 0x24, 0x00, 0x00, /* 1D */
X 0x00, 0x18, 0x3C, 0x7E, 0xFF, 0xFF, 0x00, 0x00, /* 1E */
X 0x00, 0xFF, 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00, /* 1F */
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 20 */
X 0x30, 0x78, 0x78, 0x30, 0x30, 0x00, 0x30, 0x00, /* 21 */
X 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, /* 22 */
X 0x6C, 0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, /* 23 */
X 0x30, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x30, 0x00, /* 24 */
X 0x00, 0xC6, 0xCC, 0x18, 0x30, 0x66, 0xC6, 0x00, /* 25 */
X 0x38, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0x76, 0x00, /* 26 */
X 0x60, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, /* 27 */
X 0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00, /* 28 */
X 0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00, /* 29 */
X 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, /* 2A */
X 0x00, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x00, 0x00, /* 2B */
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x60, /* 2C */
X 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, /* 2D */
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, /* 2E */
X 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x80, 0x00, /* 2F */
X 0x7C, 0xC6, 0xCE, 0xDE, 0xF6, 0xE6, 0x7C, 0x00, /* 30 */
X 0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0xFC, 0x00, /* 31 */
X 0x78, 0xCC, 0x0C, 0x38, 0x60, 0xCC, 0xFC, 0x00, /* 32 */
X 0x78, 0xCC, 0x0C, 0x38, 0x0C, 0xCC, 0x78, 0x00, /* 33 */
X 0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x1E, 0x00, /* 34 */
X 0xFC, 0xC0, 0xF8, 0x0C, 0x0C, 0xCC, 0x78, 0x00, /* 35 */
X 0x38, 0x60, 0xC0, 0xF8, 0xCC, 0xCC, 0x78, 0x00, /* 36 */
X 0xFC, 0xCC, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x00, /* 37 */
X 0x78, 0xCC, 0xCC, 0x78, 0xCC, 0xCC, 0x78, 0x00, /* 38 */
X 0x78, 0xCC, 0xCC, 0x7C, 0x0C, 0x18, 0x70, 0x00, /* 39 */
X 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x00, /* 3A */
X 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x60, /* 3B */
X 0x18, 0x30, 0x60, 0xC0, 0x60, 0x30, 0x18, 0x00, /* 3C */
X 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, /* 3D */
X 0x60, 0x30, 0x18, 0x0C, 0x18, 0x30, 0x60, 0x00, /* 3E */
X 0x78, 0xCC, 0x0C, 0x18, 0x30, 0x00, 0x30, 0x00, /* 3F */
X 0x7C, 0xC6, 0xDE, 0xDE, 0xDE, 0xC0, 0x78, 0x00, /* 40 */
X 0x30, 0x78, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0x00, /* 41 */
X 0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00, /* 42 */
X 0x3C, 0x66, 0xC0, 0xC0, 0xC0, 0x66, 0x3C, 0x00, /* 43 */
X 0xF8, 0x6C, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, /* 44 */
X 0xFE, 0x62, 0x68, 0x78, 0x68, 0x62, 0xFE, 0x00, /* 45 */
X 0xFE, 0x62, 0x68, 0x78, 0x68, 0x60, 0xF0, 0x00, /* 46 */
X 0x3C, 0x66, 0xC0, 0xC0, 0xCE, 0x66, 0x3E, 0x00, /* 47 */
X 0xCC, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0xCC, 0x00, /* 48 */
X 0x78, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, /* 49 */
X 0x1E, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, 0x00, /* 4A */
X 0xE6, 0x66, 0x6C, 0x78, 0x6C, 0x66, 0xE6, 0x00, /* 4B */
X 0xF0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00, /* 4C */
X 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00, /* 4D */
X 0xC6, 0xE6, 0xF6, 0xDE, 0xCE, 0xC6, 0xC6, 0x00, /* 4E */
X 0x38, 0x6C, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x00, /* 4F */
X 0xFC, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00, /* 50 */
X 0x78, 0xCC, 0xCC, 0xCC, 0xDC, 0x78, 0x1C, 0x00, /* 51 */
X 0xFC, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0xE6, 0x00, /* 52 */
X 0x78, 0xCC, 0xE0, 0x70, 0x1C, 0xCC, 0x78, 0x00, /* 53 */
X 0xFC, 0xB4, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, /* 54 */
X 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x00, /* 55 */
X 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00, /* 56 */
X 0xC6, 0xC6, 0xC6, 0xD6, 0xFE, 0xEE, 0xC6, 0x00, /* 57 */
X 0xC6, 0xC6, 0x6C, 0x38, 0x38, 0x6C, 0xC6, 0x00, /* 58 */
X 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x30, 0x78, 0x00, /* 59 */
X 0xFE, 0xC6, 0x8C, 0x18, 0x32, 0x66, 0xFE, 0x00, /* 5A */
X 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x00, /* 5B */
X 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x02, 0x00, /* 5C */
X 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00, /* 5D */
X 0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, /* 5E */
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, /* 5F */
X 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, /* 60 */
X 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00, /* 61 */
X 0xE0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0xDC, 0x00, /* 62 */
X 0x00, 0x00, 0x78, 0xCC, 0xC0, 0xCC, 0x78, 0x00, /* 63 */
X 0x1C, 0x0C, 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, /* 64 */
X 0x00, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00, /* 65 */
X 0x38, 0x6C, 0x60, 0xF0, 0x60, 0x60, 0xF0, 0x00, /* 66 */
X 0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8, /* 67 */
X 0xE0, 0x60, 0x6C, 0x76, 0x66, 0x66, 0xE6, 0x00, /* 68 */
X 0x30, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, /* 69 */
X 0x0C, 0x00, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, /* 6A */
X 0xE0, 0x60, 0x66, 0x6C, 0x78, 0x6C, 0xE6, 0x00, /* 6B */
X 0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, /* 6C */
X 0x00, 0x00, 0xCC, 0xFE, 0xFE, 0xD6, 0xC6, 0x00, /* 6D */
X 0x00, 0x00, 0xF8, 0xCC, 0xCC, 0xCC, 0xCC, 0x00, /* 6E */
X 0x00, 0x00, 0x78, 0xCC, 0xCC, 0xCC, 0x78, 0x00, /* 6F */
X 0x00, 0x00, 0xDC, 0x66, 0x66, 0x7C, 0x60, 0xF0, /* 70 */
X 0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0x1E, /* 71 */
X 0x00, 0x00, 0xDC, 0x76, 0x66, 0x60, 0xF0, 0x00, /* 72 */
X 0x00, 0x00, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x00, /* 73 */
X 0x10, 0x30, 0x7C, 0x30, 0x30, 0x34, 0x18, 0x00, /* 74 */
X 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, /* 75 */
X 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00, /* 76 */
X 0x00, 0x00, 0xC6, 0xD6, 0xFE, 0xFE, 0x6C, 0x00, /* 77 */
X 0x00, 0x00, 0xC6, 0x6C, 0x38, 0x6C, 0xC6, 0x00, /* 78 */
X 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8, /* 79 */
X 0x00, 0x00, 0xFC, 0x98, 0x30, 0x64, 0xFC, 0x00, /* 7A */
X 0x1C, 0x30, 0x30, 0xE0, 0x30, 0x30, 0x1C, 0x00, /* 7B */
X 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00, /* 7C */
X 0xE0, 0x30, 0x30, 0x1C, 0x30, 0x30, 0xE0, 0x00, /* 7D */
X 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 7E */
X 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0x00, /* 7F */
X};
END_OF_FILE
if test 9151 -ne `wc -c <'banner-8/banner.c'`; then
echo shar: \"'banner-8/banner.c'\" unpacked with wrong size!
fi
# end of 'banner-8/banner.c'
fi
if test -f 'banner-8/banner.c-org' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'banner-8/banner.c-org'\"
else
echo shar: Extracting \"'banner-8/banner.c-org'\" \(8985 characters\)
sed "s/^X//" >'banner-8/banner.c-org' <<'END_OF_FILE'
X/* From: amos shapir <amos@cs.huji.ac.il> */
X
X/*
X * small banner 8x8 matrix
X */
X
X#include <stdio.h>
extern char chrtab[][8];
extern char htab[][8];
X#define NMSG 80
X
main(argc, argv)
char **argv;
X{
X register char *sp;
X register int i, j, t, j1, t1;
X static char msg[NMSG];
X int hebrew = 0, shadow = 0;
X
X while(argc > 1 && argv[1][0] == '-') {
X argc--;
X argv++;
X switch(argv[0][1]) {
X case 'h':
X hebrew = 1;
X break;
X case 's':
X shadow = 1;
X break;
X }
X }
X if(argc > 1)
X strncpy(msg, *++argv, NMSG);
X else {
X fputs("Message: ", stderr);
X for(sp=msg, i=0; (*sp++ = getchar())!='\n' && i<NMSG-1; i++)
X ;
X *--sp = '\0';
X }
X
X for (i=0; i<8; i++) {
X if(shadow)
X for (j=i; j<7; j++)
X putchar(' ');
X for (sp = msg; *sp; sp++) {
X if((t = *sp) == '\\') {
X for(t=0,j=0;j<3 && *++sp>='0' && *sp<='7'; j++)
X t = t*8 + *sp - '0';
X if(j == 0) {
X t = *sp;
X if(t == 'h') {
X hebrew = 1;
X continue;
X } else if(t == 'e') {
X hebrew = 0;
X continue;
X }
X } else if(j < 3)
X sp--;
X } else
X t = *sp;
X if(hebrew) {
X if(shadow && i<7)
X t1 = htab[t & 037][i+1];
X t = htab[t & 037][i];
X } else {
X if(shadow && i<7)
X t1 = chrtab[t & 0177][i+1];
X t = chrtab[t & 0177][i];
X }
X if(shadow) {
X for (j1=0, j=0200; (j|j1)!=0; j1=j, j >>= 1)
X putchar((j&t) ? (j&t1) ? ' ' : '_'
X : (j1&t) ? '/' : ' ');
X } else {
X for (j=0200; j!=0; j >>= 1)
X putchar((j&t) ? '#' : ' ');
X }
X }
X putchar('\n');
X }
X}
X
X/* char generator table from IBM PC */
char chrtab[128][8] = {
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00 */
X 0x7E, 0x81, 0xA5, 0x81, 0xBD, 0x99, 0x81, 0x7E, /* 01 */
X 0x7E, 0xFF, 0xDB, 0xFF, 0xC3, 0xE7, 0xFF, 0x7E, /* 02 */
X 0x6C, 0xFE, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00, /* 03 */
X 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, 0x00, /* 04 */
X 0x38, 0x7C, 0x38, 0xFE, 0xFE, 0x7C, 0x38, 0x7C, /* 05 */
X 0x10, 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x7C, /* 06 */
X 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, 0x00, /* 07 */
X 0xFF, 0xFF, 0xE7, 0xC3, 0xC3, 0xE7, 0xFF, 0xFF, /* 08 */
X 0x00, 0x3C, 0x66, 0x42, 0x42, 0x66, 0x3C, 0x00, /* 09 */
X 0xFF, 0xC3, 0x99, 0xBD, 0xBD, 0x99, 0xC3, 0xFF, /* 0A */
X 0x0F, 0x07, 0x0F, 0x7D, 0xCC, 0xCC, 0xCC, 0x78, /* 0B */
X 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18, /* 0C */
X 0x3F, 0x33, 0x3F, 0x30, 0x30, 0x70, 0xF0, 0xE0, /* 0D */
X 0x7F, 0x63, 0x7F, 0x63, 0x63, 0x67, 0xE6, 0xC0, /* 0E */
X 0x99, 0x5A, 0x3C, 0xE7, 0xE7, 0x3C, 0x5A, 0x99, /* 0F */
X 0x80, 0xE0, 0xF8, 0xFE, 0xF8, 0xE0, 0x80, 0x00, /* 10 */
X 0x02, 0x0E, 0x3E, 0xFE, 0x3E, 0x0E, 0x02, 0x00, /* 11 */
X 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x7E, 0x3C, 0x18, /* 12 */
X 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00, /* 13 */
X 0x7F, 0xDB, 0xDB, 0x7B, 0x1B, 0x1B, 0x1B, 0x00, /* 14 */
X 0x3E, 0x63, 0x38, 0x6C, 0x6C, 0x38, 0xCC, 0x78, /* 15 */
X 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x00, /* 16 */
X 0x18, 0x3C, 0x7E, 0x18, 0x7E, 0x3C, 0x18, 0xFF, /* 17 */
X 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x00, /* 18 */
X 0x18, 0x18, 0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00, /* 19 */
X 0x00, 0x18, 0x0C, 0xFE, 0x0C, 0x18, 0x00, 0x00, /* 1A */
X 0x00, 0x30, 0x60, 0xFE, 0x60, 0x30, 0x00, 0x00, /* 1B */
X 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFE, 0x00, 0x00, /* 1C */
X 0x00, 0x24, 0x66, 0xFF, 0x66, 0x24, 0x00, 0x00, /* 1D */
X 0x00, 0x18, 0x3C, 0x7E, 0xFF, 0xFF, 0x00, 0x00, /* 1E */
X 0x00, 0xFF, 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00, /* 1F */
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 20 */
X 0x30, 0x78, 0x78, 0x30, 0x30, 0x00, 0x30, 0x00, /* 21 */
X 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, /* 22 */
X 0x6C, 0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, /* 23 */
X 0x30, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x30, 0x00, /* 24 */
X 0x00, 0xC6, 0xCC, 0x18, 0x30, 0x66, 0xC6, 0x00, /* 25 */
X 0x38, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0x76, 0x00, /* 26 */
X 0x60, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, /* 27 */
X 0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00, /* 28 */
X 0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00, /* 29 */
X 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, /* 2A */
X 0x00, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x00, 0x00, /* 2B */
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x60, /* 2C */
X 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, /* 2D */
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, /* 2E */
X 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x80, 0x00, /* 2F */
X 0x7C, 0xC6, 0xCE, 0xDE, 0xF6, 0xE6, 0x7C, 0x00, /* 30 */
X 0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0xFC, 0x00, /* 31 */
X 0x78, 0xCC, 0x0C, 0x38, 0x60, 0xCC, 0xFC, 0x00, /* 32 */
X 0x78, 0xCC, 0x0C, 0x38, 0x0C, 0xCC, 0x78, 0x00, /* 33 */
X 0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x1E, 0x00, /* 34 */
X 0xFC, 0xC0, 0xF8, 0x0C, 0x0C, 0xCC, 0x78, 0x00, /* 35 */
X 0x38, 0x60, 0xC0, 0xF8, 0xCC, 0xCC, 0x78, 0x00, /* 36 */
X 0xFC, 0xCC, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x00, /* 37 */
X 0x78, 0xCC, 0xCC, 0x78, 0xCC, 0xCC, 0x78, 0x00, /* 38 */
X 0x78, 0xCC, 0xCC, 0x7C, 0x0C, 0x18, 0x70, 0x00, /* 39 */
X 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x00, /* 3A */
X 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x60, /* 3B */
X 0x18, 0x30, 0x60, 0xC0, 0x60, 0x30, 0x18, 0x00, /* 3C */
X 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, /* 3D */
X 0x60, 0x30, 0x18, 0x0C, 0x18, 0x30, 0x60, 0x00, /* 3E */
X 0x78, 0xCC, 0x0C, 0x18, 0x30, 0x00, 0x30, 0x00, /* 3F */
X 0x7C, 0xC6, 0xDE, 0xDE, 0xDE, 0xC0, 0x78, 0x00, /* 40 */
X 0x30, 0x78, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0x00, /* 41 */
X 0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00, /* 42 */
X 0x3C, 0x66, 0xC0, 0xC0, 0xC0, 0x66, 0x3C, 0x00, /* 43 */
X 0xF8, 0x6C, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, /* 44 */
X 0xFE, 0x62, 0x68, 0x78, 0x68, 0x62, 0xFE, 0x00, /* 45 */
X 0xFE, 0x62, 0x68, 0x78, 0x68, 0x60, 0xF0, 0x00, /* 46 */
X 0x3C, 0x66, 0xC0, 0xC0, 0xCE, 0x66, 0x3E, 0x00, /* 47 */
X 0xCC, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0xCC, 0x00, /* 48 */
X 0x78, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, /* 49 */
X 0x1E, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, 0x00, /* 4A */
X 0xE6, 0x66, 0x6C, 0x78, 0x6C, 0x66, 0xE6, 0x00, /* 4B */
X 0xF0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00, /* 4C */
X 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00, /* 4D */
X 0xC6, 0xE6, 0xF6, 0xDE, 0xCE, 0xC6, 0xC6, 0x00, /* 4E */
X 0x38, 0x6C, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x00, /* 4F */
X 0xFC, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00, /* 50 */
X 0x78, 0xCC, 0xCC, 0xCC, 0xDC, 0x78, 0x1C, 0x00, /* 51 */
X 0xFC, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0xE6, 0x00, /* 52 */
X 0x78, 0xCC, 0xE0, 0x70, 0x1C, 0xCC, 0x78, 0x00, /* 53 */
X 0xFC, 0xB4, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, /* 54 */
X 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x00, /* 55 */
X 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00, /* 56 */
X 0xC6, 0xC6, 0xC6, 0xD6, 0xFE, 0xEE, 0xC6, 0x00, /* 57 */
X 0xC6, 0xC6, 0x6C, 0x38, 0x38, 0x6C, 0xC6, 0x00, /* 58 */
X 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x30, 0x78, 0x00, /* 59 */
X 0xFE, 0xC6, 0x8C, 0x18, 0x32, 0x66, 0xFE, 0x00, /* 5A */
X 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x00, /* 5B */
X 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x02, 0x00, /* 5C */
X 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00, /* 5D */
X 0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, /* 5E */
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, /* 5F */
X 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, /* 60 */
X 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00, /* 61 */
X 0xE0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0xDC, 0x00, /* 62 */
X 0x00, 0x00, 0x78, 0xCC, 0xC0, 0xCC, 0x78, 0x00, /* 63 */
X 0x1C, 0x0C, 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, /* 64 */
X 0x00, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00, /* 65 */
X 0x38, 0x6C, 0x60, 0xF0, 0x60, 0x60, 0xF0, 0x00, /* 66 */
X 0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8, /* 67 */
X 0xE0, 0x60, 0x6C, 0x76, 0x66, 0x66, 0xE6, 0x00, /* 68 */
X 0x30, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, /* 69 */
X 0x0C, 0x00, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, /* 6A */
X 0xE0, 0x60, 0x66, 0x6C, 0x78, 0x6C, 0xE6, 0x00, /* 6B */
X 0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, /* 6C */
X 0x00, 0x00, 0xCC, 0xFE, 0xFE, 0xD6, 0xC6, 0x00, /* 6D */
X 0x00, 0x00, 0xF8, 0xCC, 0xCC, 0xCC, 0xCC, 0x00, /* 6E */
X 0x00, 0x00, 0x78, 0xCC, 0xCC, 0xCC, 0x78, 0x00, /* 6F */
X 0x00, 0x00, 0xDC, 0x66, 0x66, 0x7C, 0x60, 0xF0, /* 70 */
X 0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0x1E, /* 71 */
X 0x00, 0x00, 0xDC, 0x76, 0x66, 0x60, 0xF0, 0x00, /* 72 */
X 0x00, 0x00, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x00, /* 73 */
X 0x10, 0x30, 0x7C, 0x30, 0x30, 0x34, 0x18, 0x00, /* 74 */
X 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, /* 75 */
X 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00, /* 76 */
X 0x00, 0x00, 0xC6, 0xD6, 0xFE, 0xFE, 0x6C, 0x00, /* 77 */
X 0x00, 0x00, 0xC6, 0x6C, 0x38, 0x6C, 0xC6, 0x00, /* 78 */
X 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8, /* 79 */
X 0x00, 0x00, 0xFC, 0x98, 0x30, 0x64, 0xFC, 0x00, /* 7A */
X 0x1C, 0x30, 0x30, 0xE0, 0x30, 0x30, 0x1C, 0x00, /* 7B */
X 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00, /* 7C */
X 0xE0, 0x30, 0x30, 0x1C, 0x30, 0x30, 0xE0, 0x00, /* 7D */
X 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 7E */
X 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0x00, /* 7F */
X};
END_OF_FILE
if test 8985 -ne `wc -c <'banner-8/banner.c-org'`; then
echo shar: \"'banner-8/banner.c-org'\" unpacked with wrong size!
fi
# end of 'banner-8/banner.c-org'
fi
if test -f 'cursive-1/cursive.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'cursive-1/cursive.c'\"
else
echo shar: Extracting \"'cursive-1/cursive.c'\" \(6630 characters\)
sed "s/^X//" >'cursive-1/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#include "cursive.h"
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
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}
END_OF_FILE
if test 6630 -ne `wc -c <'cursive-1/cursive.c'`; then
echo shar: \"'cursive-1/cursive.c'\" unpacked with wrong size!
fi
# end of 'cursive-1/cursive.c'
fi
if test -f 'cursive-1/font.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'cursive-1/font.c'\"
else
echo shar: Extracting \"'cursive-1/font.c'\" \(11667 characters\)
sed "s/^X//" >'cursive-1/font.c' <<'END_OF_FILE'
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#include "cursive.h"
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 };
END_OF_FILE
if test 11667 -ne `wc -c <'cursive-1/font.c'`; then
echo shar: \"'cursive-1/font.c'\" unpacked with wrong size!
fi
# end of 'cursive-1/font.c'
fi
if test -f 'cursive-2/cursive.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'cursive-2/cursive.c'\"
else
echo shar: Extracting \"'cursive-2/cursive.c'\" \(7070 characters\)
sed "s/^X//" >'cursive-2/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/*
X * $Log: cursive.c,v $
X * Revision 1.2 87/12/05 09:18:09 hyc
X * Added #ifdef's for MTS CBell, or Bell Labs C in MTS.
X * (The Michigan Terminal System, our homegrown IBM 370 OS. Funstuff.
X * But hey, it was the first 370 OS with a real filesystem... }-)
X *
X */
X
X#include <stdio.h>
X#include "cursive.h"
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
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#ifdef mts
X
int mode=&0x040, lnum=0;
X
X etoa(s,strlen(s));
X#endif
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#ifdef mts
X lcode=(short)c[i];
X mtswrite(buffer[i],&lcode,&mod,&lnum,"SPRINT ");
X#else mts
X buffer[i][c[i]++] = '\n';
X write(1,buffer[i],c[i]);
X#endif mts
X free(buffer[i]);
X }
X}
END_OF_FILE
if test 7070 -ne `wc -c <'cursive-2/cursive.c'`; then
echo shar: \"'cursive-2/cursive.c'\" unpacked with wrong size!
fi
# end of 'cursive-2/cursive.c'
fi
if test -f 'gothic/gothic.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'gothic/gothic.c'\"
else
echo shar: Extracting \"'gothic/gothic.c'\" \(10692 characters\)
sed "s/^X//" >'gothic/gothic.c' <<'END_OF_FILE'
X/*
X * Print a line of text in Gothic (Black) Script. Very simple routine,
X * just a lot of data to worry about...
X *
X * Remember to escape all backslashes when editing characters...
X * -- hyc, 12-29-91
X */
X
X#include <stdio.h>
X#include <ctype.h>
X
struct letter {
X char *lines[9];
X} glyphs[96] = {
X { " ", /* space */
X " ",
X " ",
X " ",
X " ",
X " ",
X " ",
X " ",
X " " },
X
X { " ", /* ! bang */
X "/\\ ",
X "\\/ ",
X "}{ ",
X "\\/ ",
X " ",
X "<> ",
X " ",
X " " },
X
X { "", /* " double-quote */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* # sharp */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* $ dollar */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* % per-cent */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* & ampersand */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* ' single quote */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* ( left paren */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* ) right paren */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* * asterisk */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* + plus */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* , comma */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* - hyphen */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { " ", /* . period */
X " ",
X " ",
X " ",
X " ",
X " ",
X "<> ",
X " ",
X " " },
X
X { "", /* / slash */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* 0 */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* 1 */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* 2 */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* 3 */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* 4 */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* 5 */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* 6 */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* 7 */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* 8 */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* 9 */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* : */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* ; */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* < */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* = */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* > */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* ? */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "", /* @ */
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X
X#ifdef ITALIC
X { " ",
X " _--_, ",
X " ,\\\\ ",
X " ~' \\\\ ",
X " |==\\\\ ",
X " | \\\\. ",
X " _---_ \\/ ",
X "( ",
X " " },
X#else
X { " ___ ",
X " - -_, ",
X "( ~/|| ",
X "( / || ",
X " \\/==|| ",
X " /_ _|| ",
X "( - \\\\, ",
X " ",
X " " },
X#endif
X
X { " ",
X "_-_ _,, ",
X " -/ ) ",
X " ~||_< ",
X " || \\\\ ",
X " ,/--|| ",
X " _--_-' ",
X " ( ",
X " " },
X
X { " ",
X " ,- _~. ",
X " (' /| ",
X "(( || ",
X "(( || ",
X " ( / | ",
X " -____- ",
X " ",
X " " },
X
X { " ",
X "-_____ ",
X " ' | -, ",
X " /| | |` ",
X " || |==|| ",
X "~|| | |, ",
X " ~-____, ",
X "( ",
X " " },
X
X { " ",
X " ,- _~, ",
X " (' /| / ",
X "(( ||/= ",
X "(( || ",
X " ( / | ",
X " -____- ",
X " ",
X " " },
X
X#ifdef ITALIC
X { " __ ",
X "_// --_/",
X " || ",
X " ~+|-/ ",
X " || ",
X " || ",
X " ,/ ",
X " ",
X " " },
X#else
X { " _ ,",
X " ,- - ",
X " _||_ ",
X "' || ",
X " || ",
X " |, ",
X "_-/ ",
X " ",
X " " },
X#endif
X
X { " __ , ",
X " ,-| ~ ",
X " ('||/__, ",
X "(( ||| | ",
X "(( |||==| ",
X " ( / | , ",
X " -____/ ",
X " ",
X " " },
X
X { " ",
X "_-_- ",
X " /, ",
X " || __ ",
X " ~||- - ",
X " ||===|| ",
X " ( \\_, | ",
X " ` ",
X " " },
X
X { " ",
X "_-_, ",
X " // ",
X " || ",
X " ~|| ",
X " || ",
X "_-_, ",
X " ",
X " " },
X
X { " ",
X " _-_,,",
X "( // ",
X " _|| ",
X " _|| ",
X " || ",
X "-__-, ",
X " ",
X " " },
X
X { " ",
X "_-_-, ",
X " // , ",
X " ||/\\\\ ",
X " ~|| < ",
X " ||/\\\\ ",
X " _-__,\\\\,",
X " ",
X " " },
X
X { " ",
X "_-_- ",
X " /, ",
X " || ",
X "~|| ",
X " || ",
X "( -__, ",
X " ",
X " " },
X
X { " ",
X " /\\\\,/\\\\,",
X " /| || || ",
X " || || || ",
X " ||=|= || ",
X "~|| || || ",
X " |, \\\\,\\\\,",
X "_- ",
X " " },
X
X { " __ ",
X " / -, ",
X " || ) ",
X " ~||---) ",
X " ~||---, ",
X " ~|| / ",
X " |, / ",
X "-_- --~ ",
X " " },
X
X { " __ ",
X " ,-||-, ",
X " ('||| ) ",
X "(( |||--)) ",
X "(( |||--)) ",
X " ( / | ) ",
X " -____- ",
X " ",
X " " },
X
X { " ",
X "-__ /\\\\ ",
X " || \\\\ ",
X " /||__|| ",
X " \\||__|| ",
X " || |, ",
X "_-||-_/ ",
X " || ",
X " " },
X
X { " __ ",
X " ,-||-, ",
X " ('||| ) ",
X "(( |||--)) ",
X "(( |||--)) ",
X " ( / | ) ",
X " -____-\\\\ ",
X " ",
X " " },
X
X { " ",
X "-__ /\\ ",
X " || \\, ",
X " /|| / ",
X " \\||/- ",
X " || \\ ",
X "_---_-|,",
X " ",
X " " },
X
X { " ",
X " -_-/ ",
X " (_ / ",
X "(_ --_ ",
X " --_ ) ",
X " _/ )) ",
X "(_-_- ",
X " ",
X " " },
X
X { " ___ ",
X "- ---___- ",
X " (' || ",
X " (( || ",
X " (( || ",
X " (( // ",
X " -____- ",
X " ",
X " " },
X
X { " _ _ _ ,",
X "- - / - - ",
X " ('|| || ",
X " (( ||--|| ",
X " (( ||--|| ",
X " (( / || ",
X " -___-\\\\,",
X " ",
X " " },
X
X { " _ ",
X "- - _- ",
X " )- ) ",
X " )___) ",
X " ~)___) ",
X " ) ) ",
X " /-_/ ",
X " ",
X " " },
X
X { " _ ",
X "- - /, /, ",
X " )/ )/ ) ",
X " )__)__) ",
X " ~)__)__) ",
X " ) ) ) ",
X " /-_/-_/ ",
X " ",
X " " },
X
X { " _ ",
X "- - /`",
X " \\\\ / ",
X " \\\\/ ",
X " ==/\\== ",
X " / \\\\ ",
X "\\\\/ \\\\,",
X " ",
X " " },
X
X { " ",
X "-_ _ ",
X " |,- ` ",
X " ~||__)) ",
X " ~||__)) ",
X " |_ _, ",
X " -' - ",
X "( _-_ ",
X " - ' " },
X
X { " ",
X "_-___ ",
X " / ",
X " / ",
X " =/= ",
X " / ",
X "/-__- ",
X " ",
X " " },
X
X { "",
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "",
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "",
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "",
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "",
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "",
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X#ifdef ITALIC
X { " ",
X " ",
X " ",
X " _-_ ",
X "|| \\\\, ",
X "|| || ",
X "\\\\/\\\\, ",
X " ",
X " " },
X#else
X { " ",
X " ",
X " _ ",
X " < \\, ",
X " /-|| ",
X "(( || ",
X " \\/\\\\ ",
X " ",
X " " },
X#endif
X
X { " ",
X ",, ",
X "|| ",
X "||/|, ",
X "|| || ",
X "|| |' ",
X "\\\\/ ",
X " ",
X " " },
X
X { " ",
X " ",
X " ",
X " _-_ ",
X "|| ",
X "|| ",
X "\\\\,/ ",
X " ",
X " " },
X#ifdef ITALIC
X { " ",
X " , ",
X " || ",
X " _-_|| ",
X "|| \\\\| ",
X "|| || ",
X " \\\\/\\\\, ",
X " ",
X " " },
X#else
X { " ",
X " |\\ ",
X " \\\\ ",
X " / \\\\ ",
X "|| || ",
X "|| || ",
X " \\\\/ ",
X " ",
X " " },
X#endif
X { " ",
X " ",
X " ",
X " _-_ ",
X "|| \\\\ ",
X "||/ ",
X "\\\\,/ ",
X " ",
X " " },
X
X { " ",
X " /\\ ",
X " || ",
X "=||= ",
X " || ",
X " || ",
X " \\\\, ",
X " ",
X " " },
X
X { " ",
X " ",
X " _ ",
X " / \\\\ ",
X "|| || ",
X "|| || ",
X "\\\\_-| ",
X " / \\ ",
X "'----`" },
X#ifdef ITALIC
X { " ",
X " , ",
X "|| ",
X "||,<> ",
X "|| || ",
X "|| || ",
X "<>,|| ",
X " |/ ",
X " ./ " },
X
X { " ",
X " ",
X "<> ",
X "-_ ",
X "|| ",
X "|| ",
X "\\\\,",
X " ",
X " " },
X#else
X { " ",
X ",, ",
X "|| ",
X "||/\\\\ ",
X "|| || ",
X "|| || ",
X "\\\\ |/ ",
X " _/ ",
X " " },
X
X { " ",
X " ",
X " ' ",
X "\\\\ ",
X "|| ",
X "|| ",
X "\\\\ ",
X " ",
X " " },
X#endif
X { " ",
X " ",
X " ' ",
X "\\\\ ",
X "|| ",
X "|| ",
X "|| ",
X "|; ",
X "/ " },
X
X { " ",
X ",, ",
X "|| ",
X "||/\\ ",
X "||_< ",
X "|| | ",
X "\\\\,\\ ",
X " ",
X " " },
X
X { " ",
X ",, ",
X "|| ",
X "|| ",
X "|| ",
X "|| ",
X "\\\\ ",
X " ",
X " " },
X
X { " ",
X " ",
X " ",
X "\\\\/\\\\/\\\\ ",
X "|| || || ",
X "|| || || ",
X "\\\\ \\\\ \\\\ ",
X " ",
X " " },
X
X { " ",
X " ",
X " ",
X "\\\\/\\\\ ",
X "|| || ",
X "|| || ",
X "\\\\ \\\\ ",
X " ",
X " " },
X
X { " ",
X " ",
X " ",
X " /'\\\\ ",
X "|| || ",
X "|| || ",
X "\\\\,/ ",
X " ",
X " " },
X
X { " ",
X " ",
X " ",
X "-_-_ ",
X "|| \\\\ ",
X "|| || ",
X "||-' ",
X "|/ ",
X "' " },
X
X { " ",
X " ",
X " ",
X " /'\\\\ ",
X "|| || ",
X "|| || ",
X "\\\\,|| ",
X " || ",
X " '` " },
X
X { " ",
X " ",
X " ",
X ",._-_ ",
X " || ",
X " || ",
X " \\\\, ",
X " ",
X " " },
X
X { " ",
X " ",
X " ",
X " _-_, ",
X "||_. ",
X " ~ || ",
X ",-_- ",
X " ",
X " " },
X
X { " ",
X " , ",
X " || ",
X "=||= ",
X " || ",
X " || ",
X " \\\\, ",
X " ",
X " " },
X
X { " ",
X " ",
X " ",
X "\\\\ \\\\ ",
X "|| || ",
X "|| || ",
X "\\\\/\\\\ ",
X " ",
X " " },
X
X { " ",
X " ",
X "; ",
X "\\\\/\\ ",
X "|| | ",
X "|| | ",
X "\\\\/ ",
X " ",
X " " },
X
X { " ",
X " ",
X "; ",
X "\\\\/\\/\\ ",
X "|| | | ",
X "|| | | ",
X "\\\\/\\\\/ ",
X " ",
X " " },
X
X { " ",
X " ",
X ", ",
X "\\\\ /` ",
X " \\\\ ",
X " /\\\\ ",
X "/ \\; ",
X " ",
X " " },
X#ifdef ITALIC
X { " ",
X " ",
X " ",
X "-_ -_ ",
X "|| || ",
X "|| || ",
X "\\\\,|| ",
X " |/ ",
X " ./ " },
X#else
X { " ",
X " ",
X " ",
X "'\\\\/\\\\ ",
X " || ;' ",
X " ||/ ",
X " |/ ",
X "( ",
X " -_- " },
X
X#endif
X { " ",
X " ",
X " ",
X "/\\\\ ",
X " / ",
X "/\\\\ ",
X " || ",
X " / ",
X "(, " },
X
X { "",
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "",
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "",
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" },
X
X { "",
X "",
X "",
X "",
X "",
X "",
X "",
X "",
X "" }
X };
X
main(argc,argv)
int argc; char *argv[];
X{
X char buffer[256];
X
X if (argc < 2) { /* read message from stdin */
X while (gets (buffer) != NULL)
X print (buffer);
X } else {
X for (--argc; argc != 1; argc--) {
X argv[argc]--;
X *argv[argc]=' ';
X }
X print (argv[1]);
X }
X}
X
print(buf)
char *buf;
X{
X register int i;
X register char *ptr;
X
X for (i=0; i<9; i++) {
X for (ptr=buf;*ptr;ptr++) {
X if (isprint (*ptr))
X fputs(glyphs[*ptr-' '].lines[i], stdout);
X else
X fputs(glyphs[0].lines[i], stdout);
X }
X putchar('\n');
X }
X putchar('\n');
X}
END_OF_FILE
if test 10692 -ne `wc -c <'gothic/gothic.c'`; then
echo shar: \"'gothic/gothic.c'\" unpacked with wrong size!
fi
# end of 'gothic/gothic.c'
fi
echo shar: End of archive 2 \(of 5\).
cp /dev/null ark2isdone
MISSING=""
for I in 1 2 3 4 5 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 5 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