home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / unix / volume26 / bannrs11 / part01 < prev    next >
Encoding:
Text File  |  1993-04-10  |  95.4 KB  |  4,537 lines

  1. Newsgroups: comp.sources.unix
  2. From: fkk@stasys.sta.sub.org (Frank Kaefer)
  3. Subject: v26i141: banners - a collection of banner programs, V1.1, Part01/07
  4. Sender: unix-sources-moderator@vix.com
  5. Approved: paul@vix.com
  6.  
  7. Submitted-By: fkk@stasys.sta.sub.org (Frank Kaefer)
  8. Posting-Number: Volume 26, Issue 141
  9. Archive-Name: banners-1.1/part01
  10.  
  11. [ this is yet another last-minute author update, which caused me to cancel
  12.   v26i{109,110,111,112,113} so that i could submit the updated version.  since
  13.   this updated version won't fit into five issues, i am publishing it with the
  14.   next available in-sequence issue numbers and abandoning 109-113.    --vix ]
  15.  
  16. [ banner is an unusual posting in that it contains no man pages.  i am
  17.   publishing it anyway, since as a collection of related software (all
  18.   are banner programs of one kind or another), i believe that it is
  19.   useful even if it doesn't build up into a shiny package of binaries
  20.   and man pages.  comments on this kind of posting are encouraged.  
  21.   this kind of posting, in general, is discouraged.            --vix ]
  22.  
  23. I am sending you a 5 part shell archive and would like to ask you to post it
  24. in comp.sources.unix. The shell archive contains a collection of banner
  25. programs that might be interesting for many netters.
  26.  
  27. According to Paul A Vixie :
  28. > if you send me a banner update before volume 26 closes, i'll post it
  29. > immediately.  otherwise it'll go at the end of volume 27.
  30. >
  31.  
  32. Ok, I'll send it to you in a few moments - I didn't make manualpages but
  33. I think there's now a nice README and a simple Makefile.
  34.  
  35.     Cheers,
  36.     Frank
  37.     -- 
  38.     | Frank Kaefer | fkk@stasys.sta.sub.org | Starnberg, Germany |
  39.     | Compuserve: 72427,2101  |  Internet: frank.kaefer@Sun.COM  |
  40.     | unido!sunde!fkaefer     |      fkaefer@Germany.Sun.COM     |
  41.  
  42. #! /bin/sh
  43. # This is a shell archive.  Remove anything before this line, then unpack
  44. # it by saving it into a file and typing "sh file".  To overwrite existing
  45. # files, type "sh file -c".  You can also feed this as standard input via
  46. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  47. # will see the following message at the end:
  48. #        "End of archive 1 (of 7)."
  49. # Contents:  MANIFEST Makefile README banner-01 banner-01/makefile
  50. #   banner-02 banner-03 banner-03/Makefile banner-03/README
  51. #   banner-03/banr.f0 banner-03/banr.f1 banner-03/banr.f2.uu banner-04
  52. #   banner-05 banner-05/3db.c banner-05/Banner.doc banner-05/kban.hlp
  53. #   banner-05/lban.dat banner-05/leb.c banner-05/sban.dat
  54. #   banner-05/seb.c banner-06 banner-06/banner.6 banner-07 banner-08
  55. #   banner-09 banner-09/Makefile banner-09/TODO banner-09/block.c
  56. #   banner-10 banner-10/scripto.alt banner-10/scripto.doc
  57. #   banner-10/scripto.pas banner-10/scripto.set banner-11
  58. #   banner-11/mb.6 banner-12 banner-12/Makefile banner-12/README
  59. #   banner-12/banner.c banner-12/flags.h banner-12/main.c banner-13
  60. #   cursive-01 cursive-01/Makefile cursive-01/README
  61. #   cursive-01/cursive.6 cursive-01/cursive.h cursive-02
  62. #   cursive-02/Makefile cursive-02/cursive.6 cursive-02/cursive.h
  63. #   gothic
  64. # Wrapped by vixie@gw.home.vix.com on Sun Apr 11 23:19:19 1993
  65. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  66. if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  67.   echo shar: Will not clobber existing file \"'MANIFEST'\"
  68. else
  69. echo shar: Extracting \"'MANIFEST'\" \(2607 characters\)
  70. sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
  71. X   File Name        Archive #    Description
  72. X-----------------------------------------------------------
  73. X MANIFEST                   1    
  74. X Makefile                   1    
  75. X README                     1    
  76. X banner-01                  1    
  77. X banner-01/banner.c         2    
  78. X banner-01/font.c           3    
  79. X banner-01/makefile         1    
  80. X banner-02                  1    
  81. X banner-02/banner.c         4    
  82. X banner-03                  1    
  83. X banner-03/Makefile         1    
  84. X banner-03/README           1    
  85. X banner-03/banr.c           3    
  86. X banner-03/banr.f0          1    
  87. X banner-03/banr.f1          1    
  88. X banner-03/banr.f2.uu       1    
  89. X banner-04                  1    
  90. X banner-04/sysvbanner.c     2    
  91. X banner-05                  1    
  92. X banner-05/3db.c            1    
  93. X banner-05/Banner.doc       1    
  94. X banner-05/block.c          3    
  95. X banner-05/cursive.c        5    
  96. X banner-05/kban.c           2    
  97. X banner-05/kban.hlp         1    
  98. X banner-05/kbandat.c        4    
  99. X banner-05/lban.c           2    
  100. X banner-05/lban.dat         1    
  101. X banner-05/leb.c            1    
  102. X banner-05/sban.c           2    
  103. X banner-05/sban.dat         1    
  104. X banner-05/seb.c            1    
  105. X banner-05/vban.c           6    
  106. X banner-06                  1    
  107. X banner-06/banner.6         1    
  108. X banner-06/banner.c         7    
  109. X banner-07                  1    
  110. X banner-07/banner.c         2    
  111. X banner-08                  1    
  112. X banner-08/banner.c         3    
  113. X banner-08/banner.c-org     3    
  114. X banner-09                  1    
  115. X banner-09/Makefile         1    
  116. X banner-09/TODO             1    
  117. X banner-09/block.c          1    
  118. X banner-09/data.c           4    
  119. X banner-10                  1    
  120. X banner-10/scripto.alt      1    
  121. X banner-10/scripto.doc      1    
  122. X banner-10/scripto.pas      1    
  123. X banner-10/scripto.set      1    
  124. X banner-11                  1    
  125. X banner-11/MB_Font.uu       2    
  126. X banner-11/Read.Me          2    
  127. X banner-11/mb.6             1    
  128. X banner-11/mb.c             2    
  129. X banner-12                  1    
  130. X banner-12/COPYING          4    
  131. X banner-12/Makefile         1    
  132. X banner-12/README           1    
  133. X banner-12/banner.c         1    
  134. X banner-12/flags.h          1    
  135. X banner-12/font.c           3    
  136. X banner-12/main.c           1    
  137. X banner-13                  1    
  138. X banner-13/cyrban.c         2    
  139. X cursive-01                 1    
  140. X cursive-01/Makefile        1    
  141. X cursive-01/README          1    
  142. X cursive-01/cursive.6       1    
  143. X cursive-01/cursive.c       2    
  144. X cursive-01/cursive.h       1    
  145. X cursive-01/font.c          3    
  146. X cursive-02                 1    
  147. X cursive-02/Makefile        1    
  148. X cursive-02/cursive.6       1    
  149. X cursive-02/cursive.c       2    
  150. X cursive-02/cursive.h       1    
  151. X cursive-02/font.c          3    
  152. X gothic                     1    
  153. X gothic/gothic.c            4    
  154. END_OF_FILE
  155. if test 2607 -ne `wc -c <'MANIFEST'`; then
  156.     echo shar: \"'MANIFEST'\" unpacked with wrong size!
  157. fi
  158. # end of 'MANIFEST'
  159. fi
  160. if test -f 'Makefile' -a "${1}" != "-c" ; then 
  161.   echo shar: Will not clobber existing file \"'Makefile'\"
  162. else
  163. echo shar: Extracting \"'Makefile'\" \(3859 characters\)
  164. sed "s/^X//" >'Makefile' <<'END_OF_FILE'
  165. X#
  166. X# simple Makefile for banners collection
  167. X#
  168. X
  169. CC = cc
  170. X
  171. CFLAGS = -O
  172. X
  173. BANNERS = bin/banner-01 bin/banner-02 bin/banner-03 bin/banner-04 \
  174. X          bin/banner-05 bin/banner-06 bin/banner-07 bin/banner-08 \
  175. X          bin/banner-09 bin/banner-10 bin/banner-11 bin/banner-12 \
  176. X          bin/banner-13 bin/cursive-01 bin/cursive-02 bin/gothic
  177. X
  178. all: bin $(BANNERS)
  179. X    @echo
  180. X    @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
  181. X    @echo "+        Now look into the bin directory for the executables and           +"
  182. X    @echo "+        select the banner(s) you like most (and maybe install             +"
  183. X    @echo "+        them in a place like /usr/local/bin).                             +"
  184. X    @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
  185. X    @echo
  186. X
  187. clean:
  188. X    rm -rf bin
  189. X
  190. bin:
  191. X    mkdir bin
  192. X
  193. bin/banner-01: bin
  194. X    cc -c $(CFLAGS) banner-01/banner.c -o bin/banner-01-1.o
  195. X    cc -c $(CFLAGS) banner-01/font.c -o bin/banner-01-2.o
  196. X    cc $(CFLAGS) bin/banner-01-1.o bin/banner-01-2.o -o bin/banner-01
  197. X    rm -f bin/banner-01-1.o bin/banner-01-2.o
  198. X
  199. bin/banner-02: bin
  200. X    cc $(CFLAGS) banner-02/banner.c -o bin/banner-02
  201. X
  202. bin/banner-03: bin
  203. X    cc $(CFLAGS) banner-03/banr.c -o bin/banner-03 -ltermcap
  204. X
  205. bin/banner-04: bin
  206. X    cc $(CFLAGS) banner-04/sysvbanner.c -o bin/banner-04
  207. X
  208. bin/banner-05: bin
  209. X    cc $(CFLAGS) -Ibanner-05 banner-05/block.c -o bin/banner-05-1
  210. X    cc $(CFLAGS) -Ibanner-05 banner-05/cursive.c -o bin/banner-05-2
  211. X    cc $(CFLAGS) -Ibanner-05 banner-05/kban.c -o bin/banner-05-3
  212. X    cc $(CFLAGS) -Ibanner-05 banner-05/lban.c -o bin/banner-05-4
  213. X    cc $(CFLAGS) -Ibanner-05 banner-05/sban.c -o bin/banner-05-5
  214. X    cc $(CFLAGS) -Ibanner-05 banner-05/vban.c -o bin/banner-05-6
  215. X    cc $(CFLAGS) -Ibanner-05 banner-05/3db.c -o bin/banner-05-7
  216. X    cc $(CFLAGS) -Ibanner-05 banner-05/leb.c -o bin/banner-05-8
  217. X    cc $(CFLAGS) -Ibanner-05 banner-05/seb.c -o bin/banner-05-9
  218. X    @touch bin/banner-05
  219. X
  220. bin/banner-06: bin
  221. X    cc $(CFLAGS) banner-06/banner.c -o bin/banner-06
  222. X
  223. bin/banner-07: bin
  224. X    cc $(CFLAGS) banner-07/banner.c -o bin/banner-07
  225. X
  226. bin/banner-08: bin
  227. X    cc $(CFLAGS) banner-08/banner.c -o bin/banner-08
  228. X
  229. bin/banner-09: bin
  230. X    cc -c $(CFLAGS) banner-09/block.c -o bin/banner-09-1.o
  231. X    cc -c $(CFLAGS) banner-09/data.c -o bin/banner-09-2.o
  232. X    cc $(CFLAGS) bin/banner-09-1.o bin/banner-09-2.o -o bin/banner-09
  233. X    rm -f bin/banner-09-1.o bin/banner-09-2.o
  234. X
  235. bin/banner-10: bin
  236. X    @echo "*** Please use your favourite pascal compiler to make banner-10. ***"
  237. X    @touch bin/banner-10
  238. X
  239. bin/banner-11: bin
  240. X    @cp banner-11/MB_Font.uu bin/MB_Font.uu
  241. X    @cd bin ; uudecode MB_Font.uu ; rm -f MB_Font.uu ; mv MB_Font banner-11.font
  242. X    cc $(CFLAGS) banner-11/mb.c -o bin/banner-11
  243. X    @echo "*** Usage of banner-11: bin/banner-11 -o=bin/banner-11.font. ***"
  244. X    @echo "Or alternatively copy bin/banner-11.font to /etc/MB_Font."
  245. X
  246. bin/banner-12: bin
  247. X    cc -c $(CFLAGS) -Ibanner-12 banner-12/main.c -o bin/banner-12-1.o
  248. X    cc -c $(CFLAGS) -Ibanner-12 banner-12/banner.c -o bin/banner-12-2.o
  249. X    cc -c $(CFLAGS) -Ibanner-12 banner-12/font.c -o bin/banner-12-3.o
  250. X    cc $(CFLAGS) bin/banner-12-1.o bin/banner-12-2.o bin/banner-12-3.o -o bin/banner-12
  251. X    rm -f bin/banner-12-1.o bin/banner-12-2.o bin/banner-12-3.o
  252. X
  253. bin/banner-13: bin
  254. X    cc $(CFLAGS) banner-13/cyrban.c -o bin/banner-13
  255. X
  256. bin/cursive-01: bin
  257. X    cc -c $(CFLAGS) -Icursive-01 cursive-01/cursive.c -o bin/cursive-01-1.o
  258. X    cc -c $(CFLAGS) -Icursive-01 cursive-01/font.c -o bin/cursive-01-2.o
  259. X    cc $(CFLAGS) bin/cursive-01-1.o bin/cursive-01-2.o -o bin/cursive-01
  260. X    rm -f bin/cursive-01-1.o bin/cursive-01-2.o
  261. X
  262. bin/cursive-02: bin
  263. X    cc -c $(CFLAGS) -Icursive-02 cursive-02/cursive.c -o bin/cursive-02-1.o
  264. X    cc -c $(CFLAGS) -Icursive-02 cursive-02/font.c -o bin/cursive-02-2.o
  265. X    cc $(CFLAGS) bin/cursive-02-1.o bin/cursive-02-2.o -o bin/cursive-02
  266. X    rm -f bin/cursive-02-1.o bin/cursive-02-2.o
  267. X
  268. bin/gothic: bin
  269. X    cc $(CFLAGS) gothic/gothic.c -o bin/gothic
  270. END_OF_FILE
  271. if test 3859 -ne `wc -c <'Makefile'`; then
  272.     echo shar: \"'Makefile'\" unpacked with wrong size!
  273. fi
  274. # end of 'Makefile'
  275. fi
  276. if test -f 'README' -a "${1}" != "-c" ; then 
  277.   echo shar: Will not clobber existing file \"'README'\"
  278. else
  279. echo shar: Extracting \"'README'\" \(19994 characters\)
  280. sed "s/^X//" >'README' <<'END_OF_FILE'
  281. X
  282. X            _-_ _,,
  283. X               -/  )    _
  284. X              ~||_<    < \, \\/\\ \\/\\  _-_  ,._-_  _-_,
  285. X               || \\   /-|| || || || || || \\  ||   ||_.
  286. X               ,/--|| (( || || || || || ||/    ||    ~ ||
  287. X              _--_-'   \/\\ \\ \\ \\ \\ \\,/   \\,  ,-_-
  288. X             (
  289. X
  290. X********************************************************************************
  291. X*              BANNERS - the ultimative banner program collection              *
  292. X*                   (created and maintained by Frank Kaefer)                   *
  293. X********************************************************************************
  294. X
  295. This is banners version 1.1.
  296. X
  297. The sources you find in this directory tree are different from other
  298. source packages: this directory holds the source to several different
  299. X"banner" programs. These banner programms all serve the same purpose
  300. as the "normal" unix banner(1) programm: print banners to stdout. But
  301. there is a big difference between banner(1) and these banner programs.
  302. The banner programs in this directory are far more flexible and have
  303. many nice features. So if you allways wanted a better banner program,
  304. this is what you have been waiting for!
  305. X
  306. History:
  307. The idea of putting together a banner collection was born some years ago.
  308. Several smaller collections were posted to alt.sources and a call for
  309. contribution of banner programs was posted to many other groups.
  310. Banners version 1.0 was posted to comp.sources.unix: v26i109 - v26i113.
  311. Banners version 1.1 will also be submitted to comp.sources.unix.
  312. X
  313. In this package you should find the following files:
  314. X
  315. Makefile    a simple makefile to compile all banners
  316. README        the file you are just reading
  317. banner-01/    see below
  318. banner-02/    see below
  319. banner-03/    see below
  320. banner-04/    see below
  321. banner-05/    see below
  322. banner-06/    see below
  323. banner-07/    see below
  324. banner-08/    see below
  325. banner-09/    see below
  326. banner-10/    see below
  327. banner-11/    see below
  328. banner-12/    see below
  329. banner-13/    see below
  330. cursive-01/    see below
  331. cursive-02/    see below
  332. gothic/        see below
  333. X
  334. Some of these banner programs do not contain any manual page, so I am giving
  335. you a description of all these programs in this file.
  336. X
  337. If you have a nice banner program, please contact me. Also if you have
  338. found a bug in these banner programs, I'd like to encourage you to send
  339. me not only a note about the bug but also a fix for it (preferably in
  340. context diff format).
  341. X
  342. XEmail: frank.kaefer@Germany.Sun.COM (<- please use this address)
  343. X       (frank.kaefer@sta.sub.org, frank.kaefer@sta.com)
  344. X
  345. Here is a more detailed description of the banner programs:
  346. X===========================================================
  347. X
  348. SYNOPSIS: how to start the banner program
  349. OPTIONS: command line options of the banner
  350. DESCRIPTION: some more info on this banner
  351. HISTORY: some background information
  352. XEXAMPLES: sample banner output
  353. X
  354. banner-01
  355. X---------
  356. SYNOPSIS: banner [<opts>] {<string>} [<opts>]
  357. OPTIONS:
  358. X          -i          prints italic 
  359. X          -d          double size 
  360. X          -c=<char>   character 
  361. X          -s          use same character 
  362. X          -z          read strings from standard input 
  363. X          -z=<file>   read strings from <file> 
  364. DESCRIPTION: This banner can be used as a drop in replacement of the standard
  365. X             banner.
  366. HISTORY: This was the very first banner on OS-9/68000 and it also compiled
  367. X         fine on Unix, so it was one of the few programs that transitioned
  368. X         with me from OS-9/68000 to Unix. Banner-12 is based on this banner.
  369. XEXAMPLES:
  370. X% bin/banner-01 Test
  371. X
  372. X******                     *    
  373. X* ** *                    **    
  374. X  **     ****    *****   *****  
  375. X  **    **  **  **        **    
  376. X  **    ******   ****     **    
  377. X  **    **          **    ** *  
  378. X ****    ****   *****      **   
  379. X
  380. X% bin/banner-01 -si Test
  381. X
  382. X       TTTTTT                     t    
  383. X      T TT T                    tt    
  384. X       TT     eeee    sssss   ttttt  
  385. X      TT    ee  ee  ss        tt    
  386. X     TT    eeeeee   ssss     tt    
  387. X    TT    ee          ss    tt t  
  388. X  TTTT    eeee   sssss      tt   
  389. X
  390. X% bin/banner-01 -d Test
  391. X
  392. X************                                          **        
  393. X************                                          **        
  394. X**  ****  **                                        ****        
  395. X**  ****  **                                        ****        
  396. X    ****          ********        **********      **********    
  397. X    ****          ********        **********      **********    
  398. X    ****        ****    ****    ****                ****        
  399. X    ****        ****    ****    ****                ****        
  400. X    ****        ************      ********          ****        
  401. X    ****        ************      ********          ****        
  402. X    ****        ****                    ****        ****  **    
  403. X    ****        ****                    ****        ****  **    
  404. X  ********        ********      **********            ****      
  405. X  ********        ********      **********            ****      
  406. X
  407. X
  408. banner-02
  409. X---------
  410. SYNOPSIS: banner /<option1> /<opt2> /<opt3> <text>
  411. OPTIONS:
  412. X /?          : Help text in German
  413. X /h          : Help text in German
  414. X /S:<breite> : Width of banner output, Default: 80
  415. X /D:<path>   : Specify different font file
  416. X /F:<path>   : banner the specified file
  417. X /#          : Use same char for bannering a letter
  418. X /P          : Read text from stdin
  419. X /U          : Convert all to capital letters
  420. X /R          : Reverse banner
  421. X /I          : Italics
  422. X /Cxy!z      : x = "Front-Color", y = "Background-Color" (optional)
  423. X             : "!" = Enable shadowing (optional), x = Shadow char (optional)
  424. DESCRIPTION: Although this banner uses a DOS-like option syntax it is one
  425. X             of the most powerful banners in this collection.
  426. HISTORY:
  427. XEXAMPLES:
  428. X% bin/banner-02 Test
  429. X ######                   ##
  430. X # ## #                   ##
  431. X   ##     ####    ####   #####
  432. X   ##    ##  ##  ##       ##
  433. X   ##    ######   ####    ##
  434. X   ##    ##          ##   ## ##
  435. X  ####    ####   #####     ###
  436. X
  437. bin/banner-02 /c\+\_\!\` Test
  438. X_++++++`__________________++`___
  439. X_+`++`+`__________________++`___
  440. X___++`____++++`___++++`__+++++`_
  441. X___++`___++`_++`_++`______++`___
  442. X___++`___++++++`__++++`___++`___
  443. X___++`___++`_________++`__++`++`
  444. X__++++`___++++`__+++++`____+++`_
  445. X________________________________
  446. X
  447. X
  448. banner-03
  449. X---------
  450. SYNOPSIS: banr [-n]
  451. OPTIONS:
  452. X          -n  Forces no underlining to be used even if the capability exists
  453. DESCRIPTION: banr prints its standard input in large letters (but smaller than
  454. X             banner(1)) on the standard output
  455. HISTORY: Written by Art Messenger (art@wilbur.coyote.trw.com)
  456. XEXAMPLES:
  457. X% bin/banner-03 -n 
  458. This is a test
  459. X___                                    
  460. X |  |_  . _    . _     _.    |  _  _ | 
  461. X |  | | | \    | \    (_|    | (-' \ | 
  462. X                                       
  463. X
  464. banner-04
  465. X---------
  466. SYNOPSIS: banner <text>
  467. OPTIONS: none
  468. DESCRIPTION: simple but also nice banner
  469. HISTORY:
  470. XEXAMPLES:
  471. X% bin/banner-04 Test
  472. X@@@@@@@
  473. X   @     @@@@@@   @@@@    @@@@@
  474. X   @     @       @          @
  475. X   @     @@@@@    @@@@      @
  476. X   @     @            @     @
  477. X   @     @       @    @     @
  478. X   @     @@@@@@   @@@@      @
  479. X
  480. X
  481. banner-05
  482. X---------
  483. SYNOPSIS:
  484. OPTIONS:
  485. DESCRIPTION: This is a banner collection. Important notice: bin/banner-05 is
  486. X             a zero length touched file, the executables are named
  487. X             banner-05-[1-9]. Banner-05-2 is the same as cursive.
  488. X             Please look at the files in banner-05 for more information.
  489. HISTORY: A banner collection from Han YoonSoo KAIST
  490. XEXAMPLES:
  491. X% bin/banner-05-1 Test
  492. TTTTTTTTTT  EEEEEEEEEE   SSSSSSSS   TTTTTTTTTT  
  493. TTTTTTTTTT  EEEEEEEEEE  SSSSSSSSSS  TTTTTTTTTT  
  494. X    TT      EE          SS       S      TT      
  495. X    TT      EE          SS              TT      
  496. X    TT      EEEEE       SSSSSSSSS       TT      
  497. X    TT      EEEEE        SSSSSSSSS      TT      
  498. X    TT      EE                  SS      TT      
  499. X    TT      EE          S       SS      TT      
  500. X    TT      EEEEEEEEEE  SSSSSSSSSS      TT      
  501. X    TT      EEEEEEEEEE   SSSSSSSS       TT      
  502. X% bin/banner-05-2 Test
  503. X  ______
  504. X    /       _/_
  505. X --/ _  _   /
  506. X(_/ </_/_)_<__
  507. X
  508. X% bin/banner-05-3 Test
  509. X |''||''|                  .  
  510. X    ||      ....   ....  .||. 
  511. X    ||    .|...|| ||. '   ||  
  512. X    ||    ||      . '|..  ||  
  513. X   .||.    '|...' |'..|'  '|.'
  514. X                              
  515. X '''''''' ''''''' '''''' '''''
  516. X
  517. X% bin/banner-05-7 Test
  518. X _______________   __________      _____     _______________ 
  519. X/______________/  /_________/    /____ / \  /______________/ 
  520. X       | |       | |           /|      \ /         | |       
  521. X       | |       | |______    |/ \ _____           | |       
  522. X       | |       |/______/     \ /____ / \         | |       
  523. X       | |       | |                   \ /|        | |       
  524. X       | |       | |_________  / \ _____|/         | |       
  525. X       |/        |/_________/  \ /_____/           |/      
  526. X
  527. X% bin/banner-05-8 Test
  528. X _________   _______    _____    _________  
  529. X|___   ___| |  _____|  / ____|  |___   ___| 
  530. X    | |     | |___    | |____       | |     
  531. X    | |     |  ___|    \____ \      | |     
  532. X    | |     | |_____    ____| |     | |     
  533. X    |_|     |_______|  |_____/      |_|     
  534. X
  535. bin/banner-05-9 Test
  536. X ___         
  537. X  |   _   _|_
  538. X  |  (= S  |_
  539. X
  540. X
  541. banner-06
  542. X---------
  543. SYNOPSIS: banner [-w#] [-d] [-t] message ...
  544. OPTIONS:
  545. DESCRIPTION:
  546. X     Banner prints a large, high quality banner on  the  standard
  547. X     output.  If the message is omitted, it prompts for and reads
  548. X     one line of its standard input.  If -w is given, the  output
  549. X     is  scrunched down from a width of 132 to n , suitable for a
  550. X     narrow terminal.  If n is omitted, it defaults to 80.
  551. X
  552. X     The output should be printed on a hard-copy  device,  up  to
  553. X     132  columns  wide,  with  no  breaks between the pages. The
  554. X     volume is great enough that you may want a printer or a fast
  555. X     hardcopy  terminal,  but  if you are patient, a decwriter or
  556. X     other 300 baud terminal will do.
  557. HISTORY: This is the BSD banner: "@(#)banner.c    4.3 (Berkeley) 6/1/90"
  558. XEXAMPLES:
  559. X% bin/banner-06 a
  560. X                         ######## 
  561. X                     ################ 
  562. X                   #################### 
  563. X                 ########################             ##### 
  564. X                ##########################          ########## 
  565. X               ############################        ############# 
  566. X              ##############################       ############## 
  567. X              #########            #########       ############### 
  568. X             ########                ########       ############## 
  569. X             #######                  #######         ####   ###### 
  570. X             ######                    ######                 ##### 
  571. X             ######                    ######                  #### 
  572. X             ######                    ######                  #### 
  573. X              #####                    #####                   #### 
  574. X              #####                    #####                  ##### 
  575. X               #####                  #####                  ###### 
  576. X                #####                #####                  ####### 
  577. X                 ######            ######                ######### 
  578. X                  ################################################ 
  579. X                ################################################# 
  580. X               ################################################# 
  581. X              ################################################# 
  582. X             ################################################# 
  583. X             ############################################### 
  584. X             ############################################# 
  585. X             ######################################### 
  586. X             ###### 
  587. X             #### 
  588. X             ### 
  589. X             ## 
  590. X
  591. X
  592. banner-07
  593. X---------
  594. SYNOPSIS: banner <text>
  595. OPTIONS: none
  596. DESCRIPTION: And just another small banner variation.
  597. HISTORY:
  598. XEXAMPLES:
  599. X% bin/banner-07 test
  600. X _____  ___  __   _____
  601. X   |   |__  |  \    |  
  602. X   |   |     \__    |  
  603. X   |   |___ \___|   |  
  604. X
  605. X
  606. banner-08
  607. X---------
  608. SYNOPSIS: banner [-h] [-s] <text>
  609. OPTIONS:  -h = convert to hebrew (compile with -DHEBREW)
  610. X          -s = shadow mode on
  611. DESCRIPTION: Nice shadow function.
  612. HISTORY: Submitted by Amos Shapir <amos@cs.huji.ac.il>
  613. XEXAMPLES:
  614. X% ../bin/banner-08 Test
  615. X######                     #    
  616. X# ## #                    ##    
  617. X  ##     ####    #####   #####  
  618. X  ##    ##  ##  ##        ##    
  619. X  ##    ######   ####     ##    
  620. X  ##    ##          ##    ## #  
  621. X ####    ####   #####      ##   
  622. X                                
  623. X% ../bin/banner-08 -s Test
  624. X        _  _ /                        /    
  625. X      _/  /_/                        /    
  626. X         /      __ /     ____/   _  __/  
  627. X        /      /   /  _ /          /    
  628. X       /      ____/   ___ /       /    
  629. X      /    _ /           _/    _ /_/  
  630. X  ____/    ____/   _____/      __/   
  631. X                                    
  632. X
  633. banner-09
  634. X---------
  635. SYNOPSIS: banner <text>
  636. OPTIONS: none
  637. DESCRIPTION: And another banner. Has also nice output.
  638. HISTORY:
  639. XEXAMPLES:
  640. X% bin/banner-09 Test
  641. X @@@@@@@@@                       
  642. X     @                       @   
  643. X     @  @@@@@@@   @@@@@@@ @@@@@@@
  644. X     @ @       @ @           @   
  645. X     @ @@@@@@@@@  @@@@@@@    @   
  646. X     @ @                 @   @  @
  647. X     @  @@@@@@@   @@@@@@@     @@ 
  648. X
  649. X
  650. banner-10
  651. X---------
  652. SYNOPSIS: scripto <text >output
  653. OPTIONS: none
  654. DESCRIPTION: I didn't test this program because I have no pascal compiler,
  655. X             it is included here only for completeness.
  656. HISTORY:
  657. XEXAMPLES: none
  658. X
  659. X
  660. banner-11
  661. X---------
  662. SYNOPSIS:  mb [<opts>] [<text>] [<opts>]
  663. OPTIONS: 
  664. X     -o=<file>      use <file> instead of the default font file.
  665. X     -l             use the 16x8 font instead of the  8x8  font  (producing
  666. X                    larger banners).
  667. X     -w=<num>       print banner with a larger width. Default is 1.
  668. X     -h=<num>       print banner with a larger height. Default is 1.
  669. X     -c             print the banner cursive.
  670. X     -C             print the banner back cursive.
  671. X     -i             invert the banner.
  672. X
  673. X     -f=<char>      use <char> as the foreground character. Default is `*'.
  674. X     -b=<char>      use <char> as  the  background  character.  Default  is
  675. X                    Space.
  676. X     -s             use the character  as  foreground  which  is  currently
  677. X                    printed.
  678. DESCRIPTION: Also a very nice banner program. See also Read.Me.
  679. HISTORY: This banner was written by a good friend of mine. This is
  680. X         the latest version I got from him and although Read.Me says that
  681. X         there is no manpage included, Ulli wrote a small manpage for me.
  682. XEXAMPLES:
  683. X
  684. X% bin/banner-11 -o=bin/banner-11.font Test
  685. X******                     *    
  686. X* ** *                    **    
  687. X  **     ****    *****   *****  
  688. X  **    **  **  **        **    
  689. X  **    ******   ****     **    
  690. X  **    **          **    ** *  
  691. X ****    ****   *****      **   
  692. X                                
  693. X% bin/banner-11 -o=bin/banner-11.font -l Test
  694. X                                
  695. X                                
  696. X                                
  697. X ******                         
  698. X   **                     **    
  699. X   **                     **    
  700. X   **    *****   *****  ******  
  701. X   **   **   ** **   **   **    
  702. X   **   **   ** **        **    
  703. X   **   *******  *****    **    
  704. X   **   **           **   **    
  705. X   **   **      **   **   **    
  706. X   **    ******  *****     ***  
  707. X                                
  708. X                                
  709. X                                
  710. X% bin/banner-11 -o=bin/banner-11.font -C Test  
  711. X******                     *           
  712. X * ** *                    **          
  713. X    **     ****    *****   *****       
  714. X     **    **  **  **        **        
  715. X      **    ******   ****     **       
  716. X       **    **          **    ** *    
  717. X       ****    ****   *****      **    
  718. X                                       
  719. X
  720. banner-12
  721. X---------
  722. SYNOPSIS: banner [<opts>] {<string>} [<opts>]
  723. OPTIONS:
  724. X     -i         prints italic
  725. X     -d         double size
  726. X     -c=<char>  character
  727. X     -s         use same character
  728. X     -z         read strings from standard input
  729. X     -z=<file>  read strings from <file>
  730. DESCRIPTION: This banner program is based on banner-01.
  731. HISTORY:
  732. X1.00 -- Written in 1987 by Wolfgang Ocker, reccoware systems, Puchheim.
  733. X1.01 -- Tested on OS-9/68000, SunOS, System V 3.2.
  734. X1.02 -- Some cleanups by Frank Kaefer (fkk@stasys.sta.sub.org).
  735. X1.10 -- Paul E. Black (paul@delfin.com):
  736. X        - Added a C interface to the banner routine itself so it
  737. X          can be linked with an application.  The user interface now
  738. X          sets flags and calls the C interface.
  739. X        - Letters can be any height, not just single or double.
  740. X        - Multi-height italic are smoother: it shifts one column per
  741. X          printed row rather than one double-column per double-row.
  742. X        - Cleaned up and sped up some of the low level loops some what.
  743. X1.11 -- Banner is now under the GNU GENERAL PUBLIC LICENSE,
  744. X        Version 2, June 1991 (fkk)
  745. XEXAMPLES:
  746. X% bin/banner-12 -d Test
  747. X************                                          **        
  748. X************                                          **        
  749. X**  ****  **                                        ****        
  750. X**  ****  **                                        ****        
  751. X    ****          ********        **********      **********    
  752. X    ****          ********        **********      **********    
  753. X    ****        ****    ****    ****                ****        
  754. X    ****        ****    ****    ****                ****        
  755. X    ****        ************      ********          ****        
  756. X    ****        ************      ********          ****        
  757. X    ****        ****                    ****        ****  **    
  758. X    ****        ****                    ****        ****  **    
  759. X  ********        ********      **********            ****      
  760. X  ********        ********      **********            ****      
  761. X
  762. X
  763. banner-13
  764. X---------
  765. SYNOPSIS: cyrban <text>
  766. OPTIONS: none
  767. DESCRIPTION: Print cyrillic banners.
  768. HISTORY:
  769. XEXAMPLES:
  770. X% bin/banner-13 Test
  771. X #####  #####   ####  ##### 
  772. X   #    #      #        #   
  773. X   #    ####   #        #   
  774. X   #    #      #        #   
  775. X   #    #####   ####    #   
  776. X
  777. X% bin/banner-13 abcdefg
  778. X   #    ####   #   #  #####  #####    #    ##### 
  779. X  # #    #     #   #   #  #  #       ###   #   # 
  780. X #####   ####   ####   #  #  ####   # # #  #     
  781. X #   #   #  #      #   ####  #       ###   #     
  782. X #   #  #####      #  #    # #####    #    #     
  783. X
  784. X
  785. cursive-01
  786. X----------
  787. SYNOPSIS: cursive [ -in ] [ -tn ] [message]
  788. OPTIONS:
  789. DESCRIPTION:
  790. X     Cursive prints a line of text  in  a  rather  crude  cursive
  791. X     script.  It is intended for use mainly for the generation of
  792. X     decorative signatures for electronic mail.  If message  text
  793. X     is  given on the command line, that text is used.  Otherwise
  794. X     the text will be read from standard input up to  an  end  of
  795. X     file.   The -i option sets the minimum spacing between adja-
  796. X     cent characters.  The default is -i1 . The  -t  option  sets
  797. X     the  length  of  the trailing lines on the end of each word.
  798. X     The default is -t1 .
  799. X
  800. X     The '_' character is treated in a special way.   It  may  be
  801. X     inserted  in  the  text anywhere you wish to lengthen a con-
  802. X     necting line between two letters.
  803. HISTORY: Written by Jan Wolter.
  804. XEXAMPLES:
  805. X% bin/cursive-01 Test
  806. X  ______
  807. X    /       _/_
  808. X --/ _  _   /
  809. X(_/ </_/_)_<__
  810. X
  811. X
  812. cursive-02
  813. X----------
  814. SYNOPSIS: see cursive-01
  815. OPTIONS: see cursive-01
  816. DESCRIPTION: see cursive-01 (The difference to cursive-01 is a different
  817. X             character set.)
  818. HISTORY: see cursive-01
  819. XEXAMPLES:
  820. X% bin/cursive-02 Test
  821. X  ______
  822. X    /       _/_
  823. X --/ _  _   /
  824. X(_/ (<_/_)_(__
  825. X
  826. X
  827. gothic
  828. X------
  829. SYNOPSIS: gothic
  830. OPTIONS: none
  831. DESCRIPTION: Print a line of text in Gothic (Black) Script.
  832. HISTORY:
  833. XEXAMPLES:
  834. X% bin/gothic Test
  835. X ___
  836. X-   ---___-               ,
  837. X   (' ||                 ||
  838. X  ((  ||     _-_   _-_, =||=
  839. X ((   ||    || \\ ||_.   ||
  840. X  (( //     ||/    ~ ||  ||
  841. X    -____-  \\,/  ,-_-   \\,
  842. END_OF_FILE
  843. if test 19994 -ne `wc -c <'README'`; then
  844.     echo shar: \"'README'\" unpacked with wrong size!
  845. fi
  846. # end of 'README'
  847. fi
  848. if test ! -d 'banner-01' ; then
  849.     echo shar: Creating directory \"'banner-01'\"
  850.     mkdir 'banner-01'
  851. fi
  852. if test -f 'banner-01/makefile' -a "${1}" != "-c" ; then 
  853.   echo shar: Will not clobber existing file \"'banner-01/makefile'\"
  854. else
  855. echo shar: Extracting \"'banner-01/makefile'\" \(142 characters\)
  856. sed "s/^X//" >'banner-01/makefile' <<'END_OF_FILE'
  857. OBJECTS = banner.o font.o
  858. X
  859. Banner: $(OBJECTS)
  860. X    cc $(OBJECTS) -o Banner
  861. X
  862. banner.o: banner.c
  863. X    cc -c -O banner.c
  864. font.o: font.c
  865. X    cc -c -O font.c
  866. END_OF_FILE
  867. if test 142 -ne `wc -c <'banner-01/makefile'`; then
  868.     echo shar: \"'banner-01/makefile'\" unpacked with wrong size!
  869. fi
  870. # end of 'banner-01/makefile'
  871. fi
  872. if test ! -d 'banner-02' ; then
  873.     echo shar: Creating directory \"'banner-02'\"
  874.     mkdir 'banner-02'
  875. fi
  876. if test ! -d 'banner-03' ; then
  877.     echo shar: Creating directory \"'banner-03'\"
  878.     mkdir 'banner-03'
  879. fi
  880. if test -f 'banner-03/Makefile' -a "${1}" != "-c" ; then 
  881.   echo shar: Will not clobber existing file \"'banner-03/Makefile'\"
  882. else
  883. echo shar: Extracting \"'banner-03/Makefile'\" \(70 characters\)
  884. sed "s/^X//" >'banner-03/Makefile' <<'END_OF_FILE'
  885. CFLAGS = -O -s
  886. X
  887. all: banr
  888. X
  889. banr:
  890. X    cc $(CFLAGS) banr.c -o $@ -ltermcap
  891. END_OF_FILE
  892. if test 70 -ne `wc -c <'banner-03/Makefile'`; then
  893.     echo shar: \"'banner-03/Makefile'\" unpacked with wrong size!
  894. fi
  895. # end of 'banner-03/Makefile'
  896. fi
  897. if test -f 'banner-03/README' -a "${1}" != "-c" ; then 
  898.   echo shar: Will not clobber existing file \"'banner-03/README'\"
  899. else
  900. echo shar: Extracting \"'banner-03/README'\" \(656 characters\)
  901. sed "s/^X//" >'banner-03/README' <<'END_OF_FILE'
  902. banr is a banner program with a relatively small (4 line) font.  It uses the
  903. terminal's underline capability (from termcap) if found and not suppressed
  904. X(with -n) to produce a more readable font.
  905. X
  906. This program is in the public domain.  Do whatever you want with/to it.
  907. X
  908. Installation:
  909. X
  910. X    Compile with "make".
  911. X
  912. X    It was successfully built on SunOS 3.5 - 4.1.1.
  913. X
  914. X    rindex() can be replaced by strrchr() [or throw it away -- it doesn't
  915. X    do anything important].
  916. X
  917. Included are test/demonstration files produced by:
  918. X
  919. X    banr -n < banr.f0 > banr.f1
  920. X    banr < banr.f0 > banr.f2    (on an xterm)
  921. X
  922. X _  __  ___ 
  923. X/_\ |_)  |  
  924. X| | | \  |  
  925. X
  926. Art Messenger
  927. art@wilbur.coyote.trw.com
  928. END_OF_FILE
  929. if test 656 -ne `wc -c <'banner-03/README'`; then
  930.     echo shar: \"'banner-03/README'\" unpacked with wrong size!
  931. fi
  932. # end of 'banner-03/README'
  933. fi
  934. if test -f 'banner-03/banr.f0' -a "${1}" != "-c" ; then 
  935.   echo shar: Will not clobber existing file \"'banner-03/banr.f0'\"
  936. else
  937. echo shar: Extracting \"'banner-03/banr.f0'\" \(101 characters\)
  938. sed "s/^X//" >'banner-03/banr.f0' <<'END_OF_FILE'
  939. ABCDEFGHIJKLM
  940. NOPQRSTUVWXYZ
  941. abcdefghijklm
  942. nopqrstuvwxyz
  943. X0123456789
  944. X!"#$%&'()*+;-./
  945. X:;<=>?@[\]^_`{|}~
  946. END_OF_FILE
  947. if test 101 -ne `wc -c <'banner-03/banr.f0'`; then
  948.     echo shar: \"'banner-03/banr.f0'\" unpacked with wrong size!
  949. fi
  950. # end of 'banner-03/banr.f0'
  951. fi
  952. if test -f 'banner-03/banr.f1' -a "${1}" != "-c" ; then 
  953.   echo shar: Will not clobber existing file \"'banner-03/banr.f1'\"
  954. else
  955. echo shar: Extracting \"'banner-03/banr.f1'\" \(1292 characters\)
  956. sed "s/^X//" >'banner-03/banr.f1' <<'END_OF_FILE'
  957. X _  __   _  __  ___ ___  _  _ _ _  _ _ _ _   _  _ 
  958. X/_\ |_) / ' | \ |_  |_  / _ |_| |  | |_/ |   |\/| 
  959. X| | |_) \_, |_/ |__ |   \_| | | | \/ | \ |__ |  | 
  960. X                                                  
  961. X_  _  _  __   _  __   _  ___ _ _ _  _ _  _ _ _ _ _ __ 
  962. X|\ | / \ |_) / \ |_) (_'  |  | | \  / |  | \_/ \_/  / 
  963. X| \| \_/ |   \_X | \ ,_)  |  \_/  \/  \/\/ / \  |  /_ 
  964. X                                                      
  965. X                    _                         
  966. X _. |_   _  _|  _  |_  _  |_  .  . |  | ._ _  
  967. X(_| |_) |_ (_| (-' |  (_| | | |  | |< | | | | 
  968. X                      ._)       ./            
  969. X                                            
  970. X._   _  ._   _. ._ _ |                    _ 
  971. X| | (_) |_) (_| |  \ | |_| \/ \/\/ >< \_/ / 
  972. X        |     |                       _/    
  973. X _    _  _       __     __  _   _  
  974. X/.\ |  ) _) /_| |_   /   / (_) (_) 
  975. X\_/ | /_ _)   | ._) (_) /  (_)  /  
  976. X                                   
  977. X          __                              
  978. X| // |_| (|  o/ o  / / \ \/ _|_ o __    / 
  979. X.    |_| _|) /o (X   \ / /\  |  o    o /  
  980. X     | |                        /         
  981. X            _      __    __                  
  982. o o / __ \ ' )  _  |  \   | /\    \ ( | ) ^v 
  983. o o \ __ /  !  (Q) |_  \ _|    __   ( | )    
  984. X  /                                          
  985. END_OF_FILE
  986. if test 1292 -ne `wc -c <'banner-03/banr.f1'`; then
  987.     echo shar: \"'banner-03/banr.f1'\" unpacked with wrong size!
  988. fi
  989. # end of 'banner-03/banr.f1'
  990. fi
  991. if test -f 'banner-03/banr.f2.uu' -a "${1}" != "-c" ; then 
  992.   echo shar: Will not clobber existing file \"'banner-03/banr.f2.uu'\"
  993. else
  994. echo shar: Extracting \"'banner-03/banr.f2.uu'\" \(3638 characters\)
  995. sed "s/^X//" >'banner-03/banr.f2.uu' <<'END_OF_FILE'
  996. begin 644 banr.f2
  997. M(!M;-&T@&UMM(" ;6S1M(!M;;1M;-&T@&UMM(" @&ULT;2 ;6VT@(!M;-&T@
  998. M&UMM&ULT;2 ;6VT@(!M;-&T@&UMM&ULT;2 ;6VT;6S1M(!M;;2 ;6S1M(!M;
  999. M;1M;-&T@&UMM&ULT;2 ;6VT@(!M;-&T@&UMM(" ;6S1M(!M;;2 ;6S1M(!M;
  1000. M;2 ;6S1M(!M;;2 @&ULT;2 ;6VT@&ULT;2 ;6VT@&ULT;2 ;6VT@&ULT;2 ;
  1001. M6VT@(" ;6S1M(!M;;2 @&ULT;2 ;6VT@"B\;6S1M(!M;;5P@?!M;-&T@&UMM
  1002. M*2 O("<@?"!<('P;6S1M(!M;;2 @?!M;-&T@&UMM(" O(!M;-&T@&UMM('P;
  1003. M6S1M(!M;;7P@?" @?"!\&ULT;2 ;6VTO('P@("!\7"]\( H;6S1M?!M;;2 ;
  1004. M6S1M?!M;;2 ;6S1M?!M;;1M;-&T@&UMM*2!<&ULT;2 ;6VTL(!M;-&U\&UMM
  1005. M&ULT;2 ;6VTO(!M;-&U\&UMM&ULT;2 ;6VT;6S1M(!M;;2 ;6S1M?!M;;2 @
  1006. M(%P;6S1M(!M;;7P@&ULT;7P;6VT@&ULT;7P;6VT@&ULT;7P;6VT@7"\@&ULT
  1007. M;7P;6VT@&ULT;5P;6VT@&ULT;7P;6VT;6S1M(!M;;1M;-&T@&UMM(!M;-&U\
  1008. M&UMM(" ;6S1M?!M;;2 *(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
  1009. M(" @(" @(" @(" @(" @(" @(" *&ULT;2 ;6VT@(!M;-&T@&UMM(" ;6S1M
  1010. M(!M;;2 @&ULT;2 ;6VT;6S1M(!M;;2 @(!M;-&T@&UMM(" ;6S1M(!M;;1M;
  1011. M-&T@&UMM(" @&ULT;2 ;6VT@(!M;-&T@&UMM&ULT;2 ;6VT;6S1M(!M;;2 ;
  1012. M6S1M(!M;;2 ;6S1M(!M;;2 ;6S1M(!M;;2 @&ULT;2 ;6VT@&ULT;2 ;6VT@
  1013. M(!M;-&T@&UMM(!M;-&T@&UMM(!M;-&T@&UMM(!M;-&T@&UMM(!M;-&T@&UMM
  1014. M(!M;-&T@&UMM&ULT;2 ;6VT@"GQ<('P@+R!<('P;6S1M(!M;;2D@+R!<('P;
  1015. M6S1M(!M;;2D@*!M;-&T@&UMM)R @?" @?"!\(%P@("\@?" @?"!<&ULT;2 ;
  1016. M6VTO(%P;6S1M(!M;;2\@("\@"AM;-&U\&UMM(%P;6S1M?!M;;2!<&ULT;2 ;
  1017. M6VTO(!M;-&U\&UMM(" @7!M;-&T@&UMM6" ;6S1M?!M;;2 ;6S1M7!M;;2 L
  1018. M&ULT;2 ;6VTI(" ;6S1M?!M;;2 @7!M;-&T@&UMM+R @7"\@(%PO7"\@&ULT
  1019. M;2\;6VT@&ULT;5P;6VT@(!M;-&U\&UMM(" ;6S1M+QM;;1M;-&T@&UMM( H@
  1020. M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
  1021. M(" @(" @(" *(" @(" @(" @(" @(" @(" @(" ;6S1M(!M;;2 @(" @(" @
  1022. M(" @(" @(" @(" @(" @(" *(!M;-&T@&UMM+B!\&ULT;2 ;6VT@(" ;6S1M
  1023. M(!M;;2 @&ULT;2 ;6VU\(" ;6S1M(!M;;2 @&ULT;7P;6VT;6S1M(!M;;2 @
  1024. M&ULT;2 ;6VT@('P;6S1M(!M;;2 @+B @+B!\("!\("X;6S1M(!M;;2 ;6S1M
  1025. M(!M;;2 @"B@;6S1M(!M;;7P@?!M;-&T@&UMM*2!\&ULT;2 ;6VT@*!M;-&T@
  1026. M&UMM?" H&ULT;2T;6VTG('P@("@;6S1M(!M;;7P@?"!\('P@('P@?#P@&ULT
  1027. M;7P;6VT@?"!\('P@"B @(" @(" @(" @(" @(" @(" @(" N&ULT;2 ;6VTI
  1028. M(" @(" @("XO(" @(" @(" @(" @"B @(" @(" @(" @(" @(" @(" @(" @
  1029. M(" @(" @(" @(" @(" @(" @(" @"BX;6S1M(!M;;2 @(!M;-&T@&UMM(" N
  1030. M&ULT;2 ;6VT@(" ;6S1M(!M;;2X@+AM;-&T@&UMM(!M;-&T@&UMM(!M;-&U\
  1031. M&UMM(" @(" @(" @(" @(" @(" @(" ;6S1M(!M;;2 *?"!\("@;6S1M(!M;
  1032. M;2D@?!M;-&T@&UMM*2 H&ULT;2 ;6VU\('P@(!M;-&U<&UMM('P@?!M;-&T@
  1033. M&UMM?"!<+R!<+UPO(#X\(%P;6S1M(!M;;2\@&ULT;2\;6VT@"B @(" @(" @
  1034. M?" @(" @?" @(" @(" @(" @(" @(" @(" @(" @&ULT;2 ;6VTO(" @( H@
  1035. M&ULT;2 ;6VT@(" @&ULT;2 ;6VT@(!M;-&T@&UMM(" @(" @(!M;-&T@&UMM
  1036. M&ULT;2 ;6VT@(" @(!M;-&T@&UMM&ULT;2 ;6VT@(!M;-&T@&UMM(" @&ULT
  1037. M;2 ;6VT@( HO+EP@?" @*2 ;6S1M(!M;;2D@&ULT;2\;6VT;6S1M(!M;;7P@
  1038. M?!M;-&T@&UMM(" @&ULT;2\;6VT@(" O("@;6S1M(!M;;2D@*!M;-&T@&UMM
  1039. M*2 *7!M;-&T@&UMM+R!\(!M;-&TO&UMM&ULT;2 ;6VT@&ULT;2 ;6VTI(" @
  1040. M?" N&ULT;2 ;6VTI("@;6S1M(!M;;2D@+R @*!M;-&T@&UMM*2 @+R @"B @
  1041. M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @(" @(" ;
  1042. M6S1M(!M;;1M;-&T@&UMM(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
  1043. M"GP@+R\@&ULT;7P;6VT;6S1M(!M;;1M;-&U\&UMM("@;6S1M?!M;;2 @;R\@
  1044. M;R @+R O(%P@&ULT;5P;6VT;6S1M+QM;;2 ;6S1M(!M;;1M;-&U\&UMM&ULT
  1045. M;2 ;6VT@;R ;6S1M(!M;;1M;-&T@&UMM(" @("\@"BX@(" @&ULT;7P;6VT;
  1046. M6S1M(!M;;1M;-&U\&UMM(!M;-&T@&UMM&ULT;7P;6VTI("]O("A8(" @7" O
  1047. M("]<("!\("!O(" @(&\@+R @"B @(" @?"!\(" @(" @(" @(" @(" @(" @
  1048. M(" @(" @+R @(" @(" @( H@(" @(" @(" @(" ;6S1M(!M;;2 @(" @(!M;
  1049. M-&T@&UMM&ULT;2 ;6VT@(" @&ULT;2 ;6VT;6S1M(!M;;2 @(" @(" @(" @
  1050. M(" @(" @( IO(&\@+R ;6S1M(!M;;1M;-&T@&UMM(%P@)R I(" ;6S1M(!M;
  1051. M;2 @?" @7" @('P@+UP@(" @7" H('P@*2!>=B *;R!O(%P@&ULT;2 ;6VT;
  1052. M6S1M(!M;;2 O(" A(" H&ULT;5$;6VT;6S1M*1M;;2 ;6S1M?!M;;1M;-&T@
  1053. M&UMM("!<(!M;-&T@&UMM&ULT;7P;6VT@(" @&ULT;2 ;6VT;6S1M(!M;;2 @
  1054. M("@@?" I(" @( H@("\@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
  1055. X,(" @(" @(" @(" *
  1056. end
  1057. END_OF_FILE
  1058. if test 3638 -ne `wc -c <'banner-03/banr.f2.uu'`; then
  1059.     echo shar: \"'banner-03/banr.f2.uu'\" unpacked with wrong size!
  1060. fi
  1061. # end of 'banner-03/banr.f2.uu'
  1062. fi
  1063. if test ! -d 'banner-04' ; then
  1064.     echo shar: Creating directory \"'banner-04'\"
  1065.     mkdir 'banner-04'
  1066. fi
  1067. if test ! -d 'banner-05' ; then
  1068.     echo shar: Creating directory \"'banner-05'\"
  1069.     mkdir 'banner-05'
  1070. fi
  1071. if test -f 'banner-05/3db.c' -a "${1}" != "-c" ; then 
  1072.   echo shar: Will not clobber existing file \"'banner-05/3db.c'\"
  1073. else
  1074. echo shar: Extracting \"'banner-05/3db.c'\" \(5167 characters\)
  1075. sed "s/^X//" >'banner-05/3db.c' <<'END_OF_FILE'
  1076. X/* 3db : three-dimensional banner
  1077. X *
  1078. X * Who the heck wrote original Pascal version?
  1079. X *
  1080. X * C version by Han, Yun-Su
  1081. X * 880505 KAIST undergraduate Dept of Life Science
  1082. X */
  1083. X
  1084. X#include <stdio.h>
  1085. X
  1086. main(argc, argv)
  1087. int argc;
  1088. char **argv;
  1089. X{
  1090. X    char line[256];
  1091. X
  1092. X    if (argc < 2)    {
  1093. X        fprintf(stderr, "&:^)\n");
  1094. X        exit(1);
  1095. X        }
  1096. X    getline(line, argc, argv);
  1097. X    lowerline(line);
  1098. X    putline(line);
  1099. X}
  1100. X
  1101. getline(s, n, v)
  1102. char *s;
  1103. int n;
  1104. char *v[];
  1105. X{
  1106. X    int i, j;
  1107. X
  1108. X    strcpy(s, "");
  1109. X    for (i = 1; i < n; i++, s++)    {
  1110. X        for (j = 0; v[i][j] != '\0'; j++, s++)
  1111. X            *s = v[i][j];
  1112. X        *s = ' ';
  1113. X        }
  1114. X    s--;
  1115. X    *s = '\0';
  1116. X}
  1117. X
  1118. lowerline(s)
  1119. char *s;
  1120. X{
  1121. X    char *p;
  1122. X
  1123. X    for (p = s; *p != '\0'; p++)
  1124. X        if (*p >= 'A' && *p <= 'Z')
  1125. X            *p = *p - 'A' + 'a';
  1126. X}
  1127. X
  1128. X#define    Height        8    /* Height of 3D Font */
  1129. X#define    Blank        "     "
  1130. putline(s)
  1131. char *s;
  1132. X{
  1133. X    static char *data[] = {
  1134. X        "     ____    ",
  1135. X        "   /____/ \\  ",
  1136. X        " /|     \\ /| ",
  1137. X        "| |______| | ",
  1138. X        "|/_______| | ",
  1139. X        "| |      | | ",
  1140. X        "| |      | | ",
  1141. X        "|/       |/  ",
  1142. X        "  _______    ",
  1143. X        " /______/ \\  ",
  1144. X        "| |     \\ /| ",
  1145. X        "| |______|/  ",
  1146. X        "|/______/ \\  ",
  1147. X        "| |     \\ /| ",
  1148. X        "| |______|/  ",
  1149. X        "|/______/    ",
  1150. X        "     _____    ",
  1151. X        "   /____ / \\  ",
  1152. X        " /|      \\ /| ",
  1153. X        "| |       |/  ",
  1154. X        "| |           ",
  1155. X        "| |        /| ",
  1156. X        "|/ \\______|/  ",
  1157. X        " \\ /_____/    ",
  1158. X        "  _______    ",
  1159. X        " /______/ \\  ",
  1160. X        "| |     \\ /| ",
  1161. X        "| |      | | ",
  1162. X        "| |      | | ",
  1163. X        "| |      | | ",
  1164. X        "| |______|/  ",
  1165. X        "|/______/    ",
  1166. X        "  __________ ",
  1167. X        " /_________/ ",
  1168. X        "| |          ",
  1169. X        "| |______    ",
  1170. X        "|/______/    ",
  1171. X        "| |          ",
  1172. X        "| |_________ ",
  1173. X        "|/_________/ ",
  1174. X        "  __________ ",
  1175. X        " /_________/ ",
  1176. X        "| |          ",
  1177. X        "| |______    ",
  1178. X        "|/______/    ",
  1179. X        "| |          ",
  1180. X        "| |          ",
  1181. X        "|/           ",
  1182. X        "     _____    ",
  1183. X        "   /____ / \\  ",
  1184. X        " /|      \\ /| ",
  1185. X        "| |       |/  ",
  1186. X        "| |       __  ",
  1187. X        "| |     /_ /| ",
  1188. X        "|/ \\______|/  ",
  1189. X        " \\ /_____/    ",
  1190. X        "             ",
  1191. X        " /|       /| ",
  1192. X        "| |      | | ",
  1193. X        "| |______| | ",
  1194. X        "|/_______| | ",
  1195. X        "| |      | | ",
  1196. X        "| |      | | ",
  1197. X        "|/       |/  ",
  1198. X        " _____ ",
  1199. X        "/____/ ",
  1200. X        "  | |  ",
  1201. X        "  | |  ",
  1202. X        "  | |  ",
  1203. X        "  | |  ",
  1204. X        " _| |_ ",
  1205. X        "/_|/_/ ",
  1206. X        "          ",
  1207. X        "       /| ",
  1208. X        "      | | ",
  1209. X        "      | | ",
  1210. X        "      | | ",
  1211. X        "      | | ",
  1212. X        "/ \\___|/  ",
  1213. X        "\\ /__/    ",
  1214. X        "            ",
  1215. X        " /|      /  ",
  1216. X        "| |    /    ",
  1217. X        "| |  /      ",
  1218. X        "| |/  \\     ",
  1219. X        "|/| \\   \\   ",
  1220. X        "| |   \\   \\ ",
  1221. X        "|/      \\ / ",
  1222. X        "           ",
  1223. X        " /|        ",
  1224. X        "| |        ",
  1225. X        "| |        ",
  1226. X        "| |        ",
  1227. X        "| |        ",
  1228. X        "| |_______ ",
  1229. X        "|/_______/ ",
  1230. X        "               ",
  1231. X        " / \\        /| ",
  1232. X        "|\\  \\      / | ",
  1233. X        "| \\  \\    /| | ",
  1234. X        "| |\\  \\  / | | ",
  1235. X        "| | \\  \\/  | | ",
  1236. X        "| |  \\ /   | | ",
  1237. X        "|/         |/  ",
  1238. X        "           ",
  1239. X        " / \\    /| ",
  1240. X        "|\\  \\  | | ",
  1241. X        "| \\  \\ | | ",
  1242. X        "| |\\  \\| | ",
  1243. X        "| | \\  | | ",
  1244. X        "| |  \\ | | ",
  1245. X        "|/    \\|/  ",
  1246. X        "     ____    ",
  1247. X        "   /___ / \\  ",
  1248. X        " /|     \\ /| ",
  1249. X        "| |      | | ",
  1250. X        "| |      | | ",
  1251. X        "| |      | | ",
  1252. X        "|/ \\ ____|/  ",
  1253. X        " \\ /____/    ",
  1254. X        "  _______    ",
  1255. X        " /______/ \\  ",
  1256. X        "| |     \\ /| ",
  1257. X        "| |______|/  ",
  1258. X        "|/______/    ",
  1259. X        "| |          ",
  1260. X        "| |          ",
  1261. X        "|/           ",
  1262. X        "     ____     ",
  1263. X        "   /___ / \\   ",
  1264. X        " /|     \\ /|  ",
  1265. X        "| |      | |  ",
  1266. X        "| |      | |  ",
  1267. X        "| |     /| |  ",
  1268. X        "|/ \\ ___\\|/ \\ ",
  1269. X        " \\ /____/ \\ / ",
  1270. X        "  _______    ",
  1271. X        " /______/ \\  ",
  1272. X        "| |     \\ /| ",
  1273. X        "| |______|/  ",
  1274. X        "|/______/    ",
  1275. X        "| | \\   \\    ",
  1276. X        "| |   \\   \\  ",
  1277. X        "|/      \\ /  ",
  1278. X        "     _____    ",
  1279. X        "   /____ / \\  ",
  1280. X        " /|      \\ /  ",
  1281. X        "|/ \\ _____    ",
  1282. X        " \\ /____ / \\  ",
  1283. X        "         \\ /| ",
  1284. X        " / \\ _____|/  ",
  1285. X        " \\ /_____/    ",
  1286. X        " _______________ ",
  1287. X        "/______________/ ",
  1288. X        "       | |       ",
  1289. X        "       | |       ",
  1290. X        "       | |       ",
  1291. X        "       | |       ",
  1292. X        "       | |       ",
  1293. X        "       |/        ",
  1294. X        "             ",
  1295. X        " /|       /| ",
  1296. X        "| |      | | ",
  1297. X        "| |      | | ",
  1298. X        "| |      | | ",
  1299. X        "| |      | | ",
  1300. X        "|/ \\ ____|/  ",
  1301. X        " \\ /____/    ",
  1302. X        "              ",
  1303. X        "/ \\         / ",
  1304. X        "\\  \\       /  ",
  1305. X        " \\  \\     /   ",
  1306. X        "  \\  \\   /    ",
  1307. X        "   \\  \\ /     ",
  1308. X        "    \\  /      ",
  1309. X        "     \\/       ",
  1310. X        "                     ",
  1311. X        "/ \\                / ",
  1312. X        "\\  \\              /  ",
  1313. X        " \\  \\     /\\     /   ",
  1314. X        "  \\  \\   /  \\   /    ",
  1315. X        "   \\  \\ / \\  \\ /     ",
  1316. X        "    \\  /   \\  /      ",
  1317. X        "     \\/     \\/       ",
  1318. X        "              ",
  1319. X        "/ \\         / ",
  1320. X        "\\   \\     /   ",
  1321. X        "  \\   \\ /     ",
  1322. X        "    \\ / \\     ",
  1323. X        "    / \\   \\   ",
  1324. X        "  /     \\   \\ ",
  1325. X        "/         \\ / ",
  1326. X        "              ",
  1327. X        "/ \\         / ",
  1328. X        "\\   \\     /   ",
  1329. X        "  \\   \\ /     ",
  1330. X        "    \\ /|      ",
  1331. X        "     | |      ",
  1332. X        "     | |      ",
  1333. X        "     |/       ",
  1334. X        " ____________ ",
  1335. X        "/___________/ ",
  1336. X        "          /   ",
  1337. X        "        /     ",
  1338. X        "      /       ",
  1339. X        "    /         ",
  1340. X        "  /__________ ",
  1341. X        "/___________/ ",
  1342. X        ""
  1343. X        };
  1344. X    int i;
  1345. X    char *p;
  1346. X
  1347. X    for (i = 0; i < Height; i++)    {
  1348. X        for (p = s; *p != '\0'; p++)
  1349. X            if (*p < 'a' || *p > 'z')
  1350. X                printf(Blank);
  1351. X            else
  1352. X                printf("%s", data[(*p - 'a') * Height + i]);
  1353. X        printf("\n");
  1354. X        }
  1355. X}
  1356. END_OF_FILE
  1357. if test 5167 -ne `wc -c <'banner-05/3db.c'`; then
  1358.     echo shar: \"'banner-05/3db.c'\" unpacked with wrong size!
  1359. fi
  1360. # end of 'banner-05/3db.c'
  1361. fi
  1362. if test -f 'banner-05/Banner.doc' -a "${1}" != "-c" ; then 
  1363.   echo shar: Will not clobber existing file \"'banner-05/Banner.doc'\"
  1364. else
  1365. echo shar: Extracting \"'banner-05/Banner.doc'\" \(854 characters\)
  1366. sed "s/^X//" >'banner-05/Banner.doc' <<'END_OF_FILE'
  1367. X===============================================================================
  1368. Banner : Collected by Han YoonSoo KAIST undergradute 880505
  1369. X===============================================================================
  1370. file name    : description
  1371. X===============================================================================
  1372. block.c        : block style banner (english)
  1373. cursive.c    : cursive (english)
  1374. kban.c        : semi's banner (korean and english)
  1375. kbandat.c    : data file for 'kban.c'
  1376. kban.hlp    : help file for 'kban'
  1377. lban.c        : large korean banner
  1378. lban.dat    : data file for 'lban.c'
  1379. sban.c        : small korean banner
  1380. sban.dat    : data file for 'sban.c'
  1381. vban.c        : vertical banner (english)
  1382. X3db.c        : three-dimensional banner (english)
  1383. leb.c        : large english banner
  1384. seb.c        : small english banner
  1385. X-------------------------------------------------------------------------------
  1386. END_OF_FILE
  1387. if test 854 -ne `wc -c <'banner-05/Banner.doc'`; then
  1388.     echo shar: \"'banner-05/Banner.doc'\" unpacked with wrong size!
  1389. fi
  1390. # end of 'banner-05/Banner.doc'
  1391. fi
  1392. if test -f 'banner-05/kban.hlp' -a "${1}" != "-c" ; then 
  1393.   echo shar: Will not clobber existing file \"'banner-05/kban.hlp'\"
  1394. else
  1395. echo shar: Extracting \"'banner-05/kban.hlp'\" \(1379 characters\)
  1396. sed "s/^X//" >'banner-05/kban.hlp' <<'END_OF_FILE'
  1397. X
  1398. X--#1    How to use
  1399. X
  1400. X   The character '/' has special power...called CMD_CHR.  By it alone, it can
  1401. X  toggle the Korean/English letter mode.  With '.' or '+' after it, it changes
  1402. X  output letter mode or writing-type.  Now, there is only one writing-type,
  1403. X  Roman, so '+' is useless in Ver1.21-.  If you want to know the power of trick
  1404. X  by '.' after '/', try followings :
  1405. X
  1406. X    kban /.0Hello
  1407. X    kban /.1Hello
  1408. X    kban /.2Hello
  1409. X     :     :
  1410. X    kban /.5Hello
  1411. X
  1412. X  Now, there are 6 (0~5) letter modes and the initial value is 0 ( you can
  1413. X  change this at the line '#define CMODE 0' in kbandat.c ).
  1414. X
  1415. X   Here are some examples of usage :
  1416. X
  1417. X    kban /dkssud/____semi
  1418. X    kban Hello,,,,/.3/tpadl
  1419. X
  1420. X--#2    How to compile
  1421. X
  1422. X   First, you must change the line '#define DATFILE xxxxx' in kban.c to inform
  1423. X  where kbandat.c exists.
  1424. X   Then, just 'cc kban.c -o kban' is all.
  1425. X
  1426. X--#3    Info
  1427. X
  1428. X   This banner can cover Korean and English both.  Moreover, it has a special
  1429. X  function(/.# : # is number) and it's fonts are quite pretty.  But now, there
  1430. X  are no fonts for numbers and other letters though there will be soon.
  1431. X   All unknown characters are treated as 1 vertical space, so ',' and '_' can
  1432. X  be used as space in above examples.
  1433. X   Help option for this program is not ready yet.  I can support this help file
  1434. X  only now.  sorry.
  1435. X
  1436. X   If you have any question or any suggestion, e-mail to :
  1437. X
  1438. X    e910017@xserver.kaist.ac.kr
  1439. X
  1440. END_OF_FILE
  1441. if test 1379 -ne `wc -c <'banner-05/kban.hlp'`; then
  1442.     echo shar: \"'banner-05/kban.hlp'\" unpacked with wrong size!
  1443. fi
  1444. # end of 'banner-05/kban.hlp'
  1445. fi
  1446. if test -f 'banner-05/lban.dat' -a "${1}" != "-c" ; then 
  1447.   echo shar: Will not clobber existing file \"'banner-05/lban.dat'\"
  1448. else
  1449. echo shar: Extracting \"'banner-05/lban.dat'\" \(813 characters\)
  1450. sed "s/^X//" >'banner-05/lban.dat' <<'END_OF_FILE'
  1451. X .___.
  1452. X |   |
  1453. X +---+
  1454. X
  1455. X _____
  1456. X  | | 
  1457. X  | | 
  1458. X
  1459. X __|__
  1460. X  / \ 
  1461. X /   \
  1462. X
  1463. X  ___ 
  1464. X /   \
  1465. X \___/
  1466. X
  1467. X .____
  1468. X |    
  1469. X |____
  1470. X
  1471. X .___.
  1472. X .___|
  1473. X |___.
  1474. X
  1475. X __|__
  1476. X /   \
  1477. X \___/
  1478. X
  1479. X   |  
  1480. X --+--
  1481. X      
  1482. X
  1483. X |__  
  1484. X |__  
  1485. X |    
  1486. X
  1487. X   |  
  1488. X --|  
  1489. X   |  
  1490. X
  1491. X  |   
  1492. X  |-- 
  1493. X  |   
  1494. X
  1495. X  |   
  1496. X  |   
  1497. X  |   
  1498. X
  1499. X _____
  1500. X      
  1501. X      
  1502. X
  1503. X _____
  1504. X   |  
  1505. X      
  1506. X
  1507. X  | | 
  1508. X  |-| 
  1509. X  | | 
  1510. X
  1511. X  | | 
  1512. X -| | 
  1513. X  | | 
  1514. X
  1515. X .   .
  1516. X |___|
  1517. X |___|
  1518. X
  1519. X ----+
  1520. X     |
  1521. X     |
  1522. X
  1523. X .    
  1524. X |    
  1525. X +----
  1526. X
  1527. X   .  
  1528. X  / \ 
  1529. X /   \
  1530. X
  1531. X __|  
  1532. X __|  
  1533. X   |  
  1534. X
  1535. X _____
  1536. X  | | 
  1537. X -+-+-
  1538. X
  1539. X _____
  1540. X  / \ 
  1541. X /   \
  1542. X
  1543. X .____
  1544. X |____
  1545. X |____
  1546. X
  1547. X  | | 
  1548. X -+-+-
  1549. X      
  1550. X
  1551. X ----+
  1552. X ____|
  1553. X     |
  1554. X
  1555. X . . .
  1556. X |_|_|
  1557. X |_|_|
  1558. X
  1559. X _____
  1560. X  / / 
  1561. X /\/ \
  1562. X
  1563. X .____
  1564. X | |  
  1565. X |_|__
  1566. X
  1567. X ____.
  1568. X   | |
  1569. X   | |
  1570. X
  1571. X  ..  
  1572. X // \ 
  1573. X// \ \
  1574. X
  1575. X |_|  
  1576. X |_|  
  1577. X | |  
  1578. X
  1579. X _| | 
  1580. X _| | 
  1581. X  | | 
  1582. X
  1583. X .---.
  1584. X  .--'
  1585. X  @   
  1586. X
  1587. X  ||  
  1588. X  |   
  1589. X  @   
  1590. X
  1591. X      
  1592. X  @   
  1593. X
  1594. X      
  1595. X      
  1596. X @@   
  1597. X  /
  1598. X
  1599. X
  1600. X
  1601. END_OF_FILE
  1602. if test 813 -ne `wc -c <'banner-05/lban.dat'`; then
  1603.     echo shar: \"'banner-05/lban.dat'\" unpacked with wrong size!
  1604. fi
  1605. # end of 'banner-05/lban.dat'
  1606. fi
  1607. if test -f 'banner-05/leb.c' -a "${1}" != "-c" ; then 
  1608.   echo shar: Will not clobber existing file \"'banner-05/leb.c'\"
  1609. else
  1610. echo shar: Extracting \"'banner-05/leb.c'\" \(3633 characters\)
  1611. sed "s/^X//" >'banner-05/leb.c' <<'END_OF_FILE'
  1612. X/* leb : Large English Banner
  1613. X *
  1614. X * Who the heck wrote original Pascal version?
  1615. X *
  1616. X * C version by Han, Yun-Su
  1617. X * 880505 KAIST undergraduate Dept of Life Science
  1618. X */
  1619. X
  1620. X#include <stdio.h>
  1621. X
  1622. main(argc, argv)
  1623. int argc;
  1624. char **argv;
  1625. X{
  1626. X    char line[256];
  1627. X
  1628. X    if (argc < 2)    {
  1629. X        fprintf(stderr, "&:^)\n");
  1630. X        exit(1);
  1631. X        }
  1632. X    getline(line, argc, argv);
  1633. X    lowerline(line);
  1634. X    putline(line);
  1635. X}
  1636. X
  1637. getline(s, n, v)
  1638. char *s;
  1639. int n;
  1640. char *v[];
  1641. X{
  1642. X    int i, j;
  1643. X
  1644. X    strcpy(s, "");
  1645. X    for (i = 1; i < n; i++, s++)    {
  1646. X        for (j = 0; v[i][j] != '\0'; j++, s++)
  1647. X            *s = v[i][j];
  1648. X        *s = ' ';
  1649. X        }
  1650. X    s--;
  1651. X    *s = '\0';
  1652. X}
  1653. X
  1654. lowerline(s)
  1655. char *s;
  1656. X{
  1657. X    char *p;
  1658. X
  1659. X    for (p = s; *p != '\0'; p++)
  1660. X        if (*p >= 'A' && *p <= 'Z')
  1661. X            *p = *p - 'A' + 'a';
  1662. X}
  1663. X
  1664. X#define    Height        6    /* Height of 3D Font */
  1665. X#define    Blank        "     "
  1666. putline(s)
  1667. char *s;
  1668. X{
  1669. X    static char *data[] = {
  1670. X        "     __      ",
  1671. X        "    /  \\     ",
  1672. X        "   /    \\    ",
  1673. X        "  /  /\\  \\   ",
  1674. X        " /  ____  \\  ",
  1675. X        "/__/    \\__\\ ",
  1676. X        " ______   ",
  1677. X        "|  __  \\  ",
  1678. X        "| |__|  | ",
  1679. X        "|  __  <  ",
  1680. X        "| |__|  | ",
  1681. X        "|______/  ",
  1682. X        "  _____  ",
  1683. X        " / ____| ",
  1684. X        "| |      ",
  1685. X        "| |      ",
  1686. X        "| |____  ",
  1687. X        " \\_____| ",
  1688. X        " ______   ",
  1689. X        "|  ___ \\  ",
  1690. X        "| |   | | ",
  1691. X        "| |   | | ",
  1692. X        "| |___| | ",
  1693. X        "|______/  ",
  1694. X        " _______  ",
  1695. X        "|  _____| ",
  1696. X        "| |___    ",
  1697. X        "|  ___|   ",
  1698. X        "| |_____  ",
  1699. X        "|_______| ",
  1700. X        " _______  ",
  1701. X        "|  _____| ",
  1702. X        "| |___    ",
  1703. X        "|  ___|   ",
  1704. X        "| |       ",
  1705. X        "|_|       ",
  1706. X        "  ______   ",
  1707. X        " / _____|  ",
  1708. X        "| |   ___  ",
  1709. X        "| |  |_  | ",
  1710. X        "| |____| | ",
  1711. X        " \\______/  ",
  1712. X        " _     _  ",
  1713. X        "| |   | | ",
  1714. X        "| |___| | ",
  1715. X        "|  ___  | ",
  1716. X        "| |   | | ",
  1717. X        "|_|   |_| ",
  1718. X        " _  ",
  1719. X        "| | ",
  1720. X        "| | ",
  1721. X        "| | ",
  1722. X        "| | ",
  1723. X        "|_| ",
  1724. X        "     _  ",
  1725. X        "    | | ",
  1726. X        "    | | ",
  1727. X        " _  | | ",
  1728. X        "| |_| | ",
  1729. X        " \\___/  ",
  1730. X        " _   __ ",
  1731. X        "| | / / ",
  1732. X        "| |/ /  ",
  1733. X        "|   <   ",
  1734. X        "| |\\ \\  ",
  1735. X        "|_| \\_\\ ",
  1736. X        " _       ",
  1737. X        "| |      ",
  1738. X        "| |      ",
  1739. X        "| |      ",
  1740. X        "| |____  ",
  1741. X        "|______| ",
  1742. X        " ___    ___  ",
  1743. X        "|   \\  /   | ",
  1744. X        "| |\\ \\/ /| | ",
  1745. X        "| | \\__/ | | ",
  1746. X        "| |      | | ",
  1747. X        "|_|      |_| ",
  1748. X        " __    _  ",
  1749. X        "|  \\  | | ",
  1750. X        "|   \\ | | ",
  1751. X        "| |\\ \\| | ",
  1752. X        "| | \\   | ",
  1753. X        "|_|  \\__| ",
  1754. X        "  ______   ",
  1755. X        " / ____ \\  ",
  1756. X        "| |    | | ",
  1757. X        "| |    | | ",
  1758. X        "| |____| | ",
  1759. X        " \\______/  ",
  1760. X        " _____   ",
  1761. X        "|  __ \\  ",
  1762. X        "| |__| | ",
  1763. X        "|  ___/  ",
  1764. X        "| |      ",
  1765. X        "|_|      ",
  1766. X        "  ______    ",
  1767. X        " / ____ \\   ",
  1768. X        "| |    | |  ",
  1769. X        "| |    | |  ",
  1770. X        "| |___|  |  ",
  1771. X        " \\________| ",
  1772. X        " _____   ",
  1773. X        "|  __ \\  ",
  1774. X        "| |__| | ",
  1775. X        "|  _  /  ",
  1776. X        "| | \\ \\  ",
  1777. X        "|_|  \\_\\ ",
  1778. X        "  _____   ",
  1779. X        " / ____|  ",
  1780. X        "| |____   ",
  1781. X        " \\____ \\  ",
  1782. X        "  ____| | ",
  1783. X        " |_____/  ",
  1784. X        " _________  ",
  1785. X        "|___   ___| ",
  1786. X        "    | |     ",
  1787. X        "    | |     ",
  1788. X        "    | |     ",
  1789. X        "    |_|     ",
  1790. X        " _     _  ",
  1791. X        "| |   | | ",
  1792. X        "| |   | | ",
  1793. X        "| |   | | ",
  1794. X        "| |___| | ",
  1795. X        " \\_____/  ",
  1796. X        "__        __ ",
  1797. X        "\\ \\      / / ",
  1798. X        " \\ \\    / /  ",
  1799. X        "  \\ \\  / /   ",
  1800. X        "   \\ \\/ /    ",
  1801. X        "    \\__/     ",
  1802. X        "__            __ ",
  1803. X        "\\ \\          / / ",
  1804. X        " \\ \\        / /  ",
  1805. X        "  \\ \\  /\\  / /   ",
  1806. X        "   \\ \\/  \\/ /    ",
  1807. X        "    \\__/\\__/     ",
  1808. X        "__    __ ",
  1809. X        "\\ \\  / / ",
  1810. X        " \\ \\/ /  ",
  1811. X        "  >  <   ",
  1812. X        " / /\\ \\  ",
  1813. X        "/_/  \\_\\ ",
  1814. X        "__     __ ",
  1815. X        "\\ \\   / / ",
  1816. X        " \\ \\_/ /  ",
  1817. X        "  \\   /   ",
  1818. X        "   | |    ",
  1819. X        "   |_|    ",
  1820. X        " _______  ",
  1821. X        "|____  /  ",
  1822. X        "    / /   ",
  1823. X        "   / /    ",
  1824. X        "  / /___  ",
  1825. X        " /______| ",
  1826. X        };
  1827. X    int i;
  1828. X    char *p;
  1829. X
  1830. X    for (i = 0; i < Height; i++)    {
  1831. X        for (p = s; *p != '\0'; p++)
  1832. X            if (*p < 'a' || *p > 'z')
  1833. X                printf(Blank);
  1834. X            else
  1835. X                printf("%s", data[(*p - 'a') * Height + i]);
  1836. X        printf("\n");
  1837. X        }
  1838. X}
  1839. END_OF_FILE
  1840. if test 3633 -ne `wc -c <'banner-05/leb.c'`; then
  1841.     echo shar: \"'banner-05/leb.c'\" unpacked with wrong size!
  1842. fi
  1843. # end of 'banner-05/leb.c'
  1844. fi
  1845. if test -f 'banner-05/sban.dat' -a "${1}" != "-c" ; then 
  1846.   echo shar: Will not clobber existing file \"'banner-05/sban.dat'\"
  1847. else
  1848. echo shar: Extracting \"'banner-05/sban.dat'\" \(412 characters\)
  1849. sed "s/^X//" >'banner-05/sban.dat' <<'END_OF_FILE'
  1850. X_.
  1851. L|
  1852. X
  1853. TT
  1854. X  
  1855. X
  1856. X_L
  1857. X/\
  1858. X
  1859. X  
  1860. X()
  1861. X
  1862. r-
  1863. L_
  1864. X
  1865. X-)
  1866. X(_
  1867. X
  1868. X_L
  1869. X()
  1870. X
  1871. X_L
  1872. X  
  1873. X
  1874. X|_
  1875. X|-
  1876. X
  1877. X |
  1878. X-|
  1879. X
  1880. X|_
  1881. X| 
  1882. X
  1883. X| 
  1884. X| 
  1885. X
  1886. X  
  1887. X__
  1888. X
  1889. X-r
  1890. X  
  1891. X
  1892. X|J
  1893. X||
  1894. X
  1895. J|
  1896. X||
  1897. X
  1898. L|
  1899. L|
  1900. X
  1901. X_.
  1902. X |
  1903. X
  1904. X. 
  1905. X|_
  1906. X
  1907. X .
  1908. X/\
  1909. X
  1910. X_|
  1911. X-|
  1912. X
  1913. X__
  1914. JL
  1915. X
  1916. X__
  1917. X/\
  1918. X
  1919. X==
  1920. L_
  1921. X
  1922. JL
  1923. X  
  1924. X
  1925. X__
  1926. X-/
  1927. X
  1928. UU
  1929. UU
  1930. X
  1931. X__
  1932. X^^
  1933. X
  1934. X__
  1935. LL
  1936. X
  1937. X__
  1938. X//
  1939. X
  1940. X..
  1941. X^^
  1942. X
  1943. L|
  1944. r|
  1945. X
  1946. J|
  1947. T|
  1948. X
  1949. X?)
  1950. X
  1951. X|7
  1952. X
  1953. X  
  1954. X
  1955. X  
  1956. X, 
  1957. X
  1958. X
  1959. AA
  1960. X  
  1961. X
  1962. oo
  1963. X\/
  1964. X
  1965. oo
  1966. X/\
  1967. X
  1968. X**
  1969. X\/
  1970. X
  1971. X**
  1972. X/\
  1973. X
  1974. X..
  1975. X\/
  1976. X
  1977. X..
  1978. X/\
  1979. X
  1980. X'`
  1981. X\/
  1982. X
  1983. X`'
  1984. X/\
  1985. X
  1986. X^^
  1987. X U
  1988. X
  1989. X^^
  1990. X
  1991. X'|
  1992. X |
  1993. X
  1994. X')
  1995. X<_
  1996. X
  1997. X')
  1998. X_)
  1999. X
  2000. X||
  2001. X-+
  2002. X
  2003. X.-
  2004. X_)
  2005. X
  2006. X| 
  2007. X()
  2008. X
  2009. X->
  2010. X/ 
  2011. X
  2012. X()
  2013. X()
  2014. X
  2015. X()
  2016. X |
  2017. X
  2018. X/\
  2019. X\/
  2020. END_OF_FILE
  2021. if test 412 -ne `wc -c <'banner-05/sban.dat'`; then
  2022.     echo shar: \"'banner-05/sban.dat'\" unpacked with wrong size!
  2023. fi
  2024. # end of 'banner-05/sban.dat'
  2025. fi
  2026. if test -f 'banner-05/seb.c' -a "${1}" != "-c" ; then 
  2027.   echo shar: Will not clobber existing file \"'banner-05/seb.c'\"
  2028. else
  2029. echo shar: Extracting \"'banner-05/seb.c'\" \(3119 characters\)
  2030. sed "s/^X//" >'banner-05/seb.c' <<'END_OF_FILE'
  2031. X/* seb : Small English Banner
  2032. X *
  2033. X * Who the heck wrote original Pascal version?
  2034. X *
  2035. X * C version by Han, Yun-Su
  2036. X * 880505 KAIST undergraduate Dept of Life Science
  2037. X */
  2038. X
  2039. X#include <stdio.h>
  2040. X
  2041. main(argc, argv)
  2042. int argc;
  2043. char **argv;
  2044. X{
  2045. X    char line[256];
  2046. X
  2047. X    if (argc < 2)    {
  2048. X        fprintf(stderr, "&:^)\n");
  2049. X        exit(1);
  2050. X        }
  2051. X    getline(line, argc, argv);
  2052. X    putline(line);
  2053. X}
  2054. X
  2055. getline(s, n, v)
  2056. char *s;
  2057. int n;
  2058. char *v[];
  2059. X{
  2060. X    int i, j;
  2061. X
  2062. X    strcpy(s, "");
  2063. X    for (i = 1; i < n; i++, s++)    {
  2064. X        for (j = 0; v[i][j] != '\0'; j++, s++)
  2065. X            *s = v[i][j];
  2066. X        *s = ' ';
  2067. X        }
  2068. X    s--;
  2069. X    *s = '\0';
  2070. X}
  2071. X
  2072. X#define    Height        4    /* Height of Font */
  2073. X#define    Blank        "     "
  2074. putline(s)
  2075. char *s;
  2076. X{
  2077. X    static char *upper[] = {
  2078. X        "     ",
  2079. X        "  /\\ ",
  2080. X        " /--\\",
  2081. X        "     ",
  2082. X        "  _ ",
  2083. X        " |_)",
  2084. X        " |_)",
  2085. X        "    ",
  2086. X        "  __",
  2087. X        " /  ",
  2088. X        " \\__",
  2089. X        "    ",
  2090. X        "  _ ",
  2091. X        " | \\",
  2092. X        " |_/",
  2093. X        "    ",
  2094. X        "  __",
  2095. X        " |_ ",
  2096. X        " |__",
  2097. X        "    ",
  2098. X        "  __",
  2099. X        " |_ ",
  2100. X        " |  ",
  2101. X        "    ",
  2102. X        "  _ ",
  2103. X        " / _",
  2104. X        " \\_|",
  2105. X        "    ",
  2106. X        "    ",
  2107. X        " |_|",
  2108. X        " | |",
  2109. X        "    ",
  2110. X        "  ",
  2111. X        " |",
  2112. X        " |",
  2113. X        "  ",
  2114. X        "    ",
  2115. X        "   |",
  2116. X        " |_|",
  2117. X        "    ",
  2118. X        "    ",
  2119. X        " |_/",
  2120. X        " | \\",
  2121. X        "    ",
  2122. X        "    ",
  2123. X        " |  ",
  2124. X        " |__",
  2125. X        "    ",
  2126. X        "       ",
  2127. X        " |\\  /|",
  2128. X        " | \\/ |",
  2129. X        "       ",
  2130. X        "     ",
  2131. X        " |\\ |",
  2132. X        " | \\|",
  2133. X        "     ",
  2134. X        "  _ ",
  2135. X        " / \\",
  2136. X        " \\_/",
  2137. X        "    ",
  2138. X        "  _ ",
  2139. X        " |_)",
  2140. X        " |  ",
  2141. X        "    ",
  2142. X        "  _ ",
  2143. X        " / \\",
  2144. X        " \\_\\",
  2145. X        "    ",
  2146. X        "  _ ",
  2147. X        " |_)",
  2148. X        " | \\",
  2149. X        "    ",
  2150. X        "  _ ",
  2151. X        " (_ ",
  2152. X        "  _)",
  2153. X        "    ",
  2154. X        " ___",
  2155. X        "  | ",
  2156. X        "  | ",
  2157. X        "    ",
  2158. X        "     ",
  2159. X        " |  |",
  2160. X        " |__|",
  2161. X        "     ",
  2162. X        "     ",
  2163. X        " \\  /",
  2164. X        "  \\/ ",
  2165. X        "     ",
  2166. X        "       ",
  2167. X        " \\    /",
  2168. X        "  \\/\\/ ",
  2169. X        "       ",
  2170. X        "    ",
  2171. X        " \\_/",
  2172. X        " / \\",
  2173. X        "    ",
  2174. X        "    ",
  2175. X        " \\_/",
  2176. X        "  | ",
  2177. X        "    ",
  2178. X        " __",
  2179. X        "  /",
  2180. X        " /_",
  2181. X        "   ",
  2182. X        ""
  2183. X        };
  2184. X    static char *lower[] = {
  2185. X        "    ",
  2186. X        "  _ ",
  2187. X        " (_|",
  2188. X        "    ",
  2189. X        "    ",
  2190. X        " |_ ",
  2191. X        " |_)",
  2192. X        "    ",
  2193. X        "   ",
  2194. X        "  _",
  2195. X        " (_",
  2196. X        "   ",
  2197. X        "    ",
  2198. X        "  _|",
  2199. X        " (_|",
  2200. X        "    ",
  2201. X        "   ",
  2202. X        "  _",
  2203. X        " (=",
  2204. X        "   ",
  2205. X        "   _",
  2206. X        " _|_",
  2207. X        "  | ",
  2208. X        "    ",
  2209. X        "    ",
  2210. X        "  _ ",
  2211. X        " (_|",
  2212. X        "  _/",
  2213. X        "    ",
  2214. X        " |_ ",
  2215. X        " | |",
  2216. X        "    ",
  2217. X        "  ",
  2218. X        " .",
  2219. X        " |",
  2220. X        "  ",
  2221. X        "   ",
  2222. X        "  .",
  2223. X        "  |",
  2224. X        " _/",
  2225. X        "   ",
  2226. X        " |_",
  2227. X        " |\\",
  2228. X        "   ",
  2229. X        "  ",
  2230. X        " |",
  2231. X        " |",
  2232. X        "  ",
  2233. X        "      ",
  2234. X        "  _ _ ",
  2235. X        " | | |",
  2236. X        "      ",
  2237. X        "    ",
  2238. X        "  _ ",
  2239. X        " | |",
  2240. X        "    ",
  2241. X        "    ",
  2242. X        "  _ ",
  2243. X        " (_)",
  2244. X        "    ",
  2245. X        "    ",
  2246. X        "  _ ",
  2247. X        " |_)",
  2248. X        " |  ",
  2249. X        "    ",
  2250. X        "  _ ",
  2251. X        " (_|",
  2252. X        "   |",
  2253. X        "   ",
  2254. X        "  _",
  2255. X        " | ",
  2256. X        "   ",
  2257. X        "  ",
  2258. X        "  ",
  2259. X        " S",
  2260. X        "  ",
  2261. X        "    ",
  2262. X        " _|_",
  2263. X        "  |_",
  2264. X        "    ",
  2265. X        "    ",
  2266. X        "    ",
  2267. X        " |_|",
  2268. X        "    ",
  2269. X        "    ",
  2270. X        "    ",
  2271. X        " \\_/",
  2272. X        "    ",
  2273. X        "      ",
  2274. X        "      ",
  2275. X        " \\_|_/",
  2276. X        "      ",
  2277. X        "   ",
  2278. X        "   ",
  2279. X        " ><",
  2280. X        "   ",
  2281. X        "    ",
  2282. X        "    ",
  2283. X        " \\_/",
  2284. X        " _/ ",
  2285. X        "   ",
  2286. X        " _ ",
  2287. X        " /_",
  2288. X        "   ",
  2289. X        "   ",
  2290. X        ""
  2291. X        };
  2292. X    int i;
  2293. X    char *p;
  2294. X
  2295. X    for (i = 0; i < Height; i++)    {
  2296. X        for (p = s; *p != '\0'; p++)
  2297. X            if (*p >= 'a' && *p <= 'z')
  2298. X                printf("%s", lower[(*p - 'a') * Height + i]);
  2299. X            else if (*p >= 'A' && *p <= 'Z')
  2300. X                printf("%s", upper[(*p - 'A') * Height + i]);
  2301. X            else
  2302. X                printf(Blank);
  2303. X        printf("\n");
  2304. X        }
  2305. X}
  2306. END_OF_FILE
  2307. if test 3119 -ne `wc -c <'banner-05/seb.c'`; then
  2308.     echo shar: \"'banner-05/seb.c'\" unpacked with wrong size!
  2309. fi
  2310. # end of 'banner-05/seb.c'
  2311. fi
  2312. if test ! -d 'banner-06' ; then
  2313.     echo shar: Creating directory \"'banner-06'\"
  2314.     mkdir 'banner-06'
  2315. fi
  2316. if test -f 'banner-06/banner.6' -a "${1}" != "-c" ; then 
  2317.   echo shar: Will not clobber existing file \"'banner-06/banner.6'\"
  2318. else
  2319. echo shar: Extracting \"'banner-06/banner.6'\" \(2979 characters\)
  2320. sed "s/^X//" >'banner-06/banner.6' <<'END_OF_FILE'
  2321. X.\" Copyright (c) 1980 The Regents of the University of California.
  2322. X.\" All rights reserved.
  2323. X.\"
  2324. X.\" Redistribution and use in source and binary forms, with or without
  2325. X.\" modification, are permitted provided that the following conditions
  2326. X.\" are met:
  2327. X.\" 1. Redistributions of source code must retain the above copyright
  2328. X.\"    notice, this list of conditions and the following disclaimer.
  2329. X.\" 2. Redistributions in binary form must reproduce the above copyright
  2330. X.\"    notice, this list of conditions and the following disclaimer in the
  2331. X.\"    documentation and/or other materials provided with the distribution.
  2332. X.\" 3. All advertising materials mentioning features or use of this software
  2333. X.\"    must display the following acknowledgement:
  2334. X.\"    This product includes software developed by the University of
  2335. X.\"    California, Berkeley and its contributors.
  2336. X.\" 4. Neither the name of the University nor the names of its contributors
  2337. X.\"    may be used to endorse or promote products derived from this software
  2338. X.\"    without specific prior written permission.
  2339. X.\"
  2340. X.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2341. X.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2342. X.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2343. X.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2344. X.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2345. X.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2346. X.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2347. X.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2348. X.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2349. X.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2350. X.\" SUCH DAMAGE.
  2351. X.\"
  2352. X.\"    @(#)banner.6    6.4 (Berkeley) 6/23/90
  2353. X.\"
  2354. X.TH BANNER 6 "June 23, 1990"
  2355. X.UC
  2356. X.SH NAME
  2357. banner \- print large banner on printer
  2358. X.SH SYNOPSIS
  2359. X.B /usr/games/banner
  2360. X[
  2361. X.BI \-w n
  2362. X]
  2363. message ...
  2364. X.SH DESCRIPTION
  2365. X.I Banner
  2366. prints a large, high quality banner on the standard output.
  2367. If the message is omitted, it prompts for and
  2368. reads one line of its standard input.  If
  2369. X.B \-w
  2370. is given, the output is scrunched down from a width of 132 to
  2371. X.I n ,
  2372. suitable for a narrow terminal.  If
  2373. X.I n
  2374. is omitted, it defaults to 80.
  2375. X.PP
  2376. The output should be printed on a hard-copy device, up to 132 columns wide,
  2377. with no breaks between the pages. The volume is great enough that you 
  2378. may want
  2379. a printer or a fast hardcopy terminal, but if you are patient, a
  2380. decwriter or other 300 baud terminal will do.
  2381. X.SH BUGS
  2382. Several ASCII characters are not defined, notably <, >, [, ], \\,
  2383. X^, _, {, }, |, and ~.  Also, the characters ", ', and & are funny
  2384. looking (but in a useful way.)
  2385. X.PP
  2386. The
  2387. X.B \-w
  2388. option is implemented by skipping some rows and columns.
  2389. The smaller it gets, the grainier the output.
  2390. Sometimes it runs letters together.
  2391. X.SH AUTHOR
  2392. Mark Horton
  2393. END_OF_FILE
  2394. if test 2979 -ne `wc -c <'banner-06/banner.6'`; then
  2395.     echo shar: \"'banner-06/banner.6'\" unpacked with wrong size!
  2396. fi
  2397. # end of 'banner-06/banner.6'
  2398. fi
  2399. if test ! -d 'banner-07' ; then
  2400.     echo shar: Creating directory \"'banner-07'\"
  2401.     mkdir 'banner-07'
  2402. fi
  2403. if test ! -d 'banner-08' ; then
  2404.     echo shar: Creating directory \"'banner-08'\"
  2405.     mkdir 'banner-08'
  2406. fi
  2407. if test ! -d 'banner-09' ; then
  2408.     echo shar: Creating directory \"'banner-09'\"
  2409.     mkdir 'banner-09'
  2410. fi
  2411. if test -f 'banner-09/Makefile' -a "${1}" != "-c" ; then 
  2412.   echo shar: Will not clobber existing file \"'banner-09/Makefile'\"
  2413. else
  2414. echo shar: Extracting \"'banner-09/Makefile'\" \(96 characters\)
  2415. sed "s/^X//" >'banner-09/Makefile' <<'END_OF_FILE'
  2416. block: block.o data.o
  2417. X    cc block.o data.o -o block
  2418. X
  2419. prtout: *.c TODO
  2420. X    pr TODO *.c | PRMAN -setup
  2421. END_OF_FILE
  2422. if test 96 -ne `wc -c <'banner-09/Makefile'`; then
  2423.     echo shar: \"'banner-09/Makefile'\" unpacked with wrong size!
  2424. fi
  2425. # end of 'banner-09/Makefile'
  2426. fi
  2427. if test -f 'banner-09/TODO' -a "${1}" != "-c" ; then 
  2428.   echo shar: Will not clobber existing file \"'banner-09/TODO'\"
  2429. else
  2430. echo shar: Extracting \"'banner-09/TODO'\" \(259 characters\)
  2431. sed "s/^X//" >'banner-09/TODO' <<'END_OF_FILE'
  2432. X8702.171220
  2433. X
  2434. X*    Set up with display buffer instead of stream to allow for adding
  2435. X    special features.
  2436. X    (added: 8702.201336)
  2437. X
  2438. X8702.201337
  2439. X
  2440. X*    Set up to use flag to set print width, possibly add feature to
  2441. X    use an environment variable.
  2442. X
  2443. X*    Modify to use font files.
  2444. END_OF_FILE
  2445. if test 259 -ne `wc -c <'banner-09/TODO'`; then
  2446.     echo shar: \"'banner-09/TODO'\" unpacked with wrong size!
  2447. fi
  2448. # end of 'banner-09/TODO'
  2449. fi
  2450. if test -f 'banner-09/block.c' -a "${1}" != "-c" ; then 
  2451.   echo shar: Will not clobber existing file \"'banner-09/block.c'\"
  2452. else
  2453. echo shar: Extracting \"'banner-09/block.c'\" \(1401 characters\)
  2454. sed "s/^X//" >'banner-09/block.c' <<'END_OF_FILE'
  2455. X#include <stdio.h>
  2456. X#include <string.h>
  2457. X
  2458. X#define LINES          10
  2459. X#define BUFFERSIZE    1024
  2460. X
  2461. extern char    *data[][LINES];
  2462. X
  2463. char        buffer[LINES][BUFFERSIZE+1];
  2464. X
  2465. int min(a,b)
  2466. int    a,
  2467. X    b;
  2468. X{
  2469. X    if (a>b)
  2470. X    return(b);
  2471. X    return(a);
  2472. X}
  2473. X
  2474. main(argc,argv)
  2475. int    argc;
  2476. char    **argv;
  2477. X{
  2478. X    short    i,
  2479. X        j,
  2480. X        k,
  2481. X        l,
  2482. X        m,
  2483. X        idx,
  2484. X        idx2,
  2485. X        al,
  2486. X        sw,
  2487. X        tmp,
  2488. X        tmp2;
  2489. X    char    *p,
  2490. X        *ptr;
  2491. X
  2492. X    while (--argc) {
  2493. X    argv++;
  2494. X/*
  2495. X    for (i=0; i<LINES; i++) {
  2496. X        p = *argv;
  2497. X        while (*p != '\0')
  2498. X        printf("%s ",data[*p++][i]);
  2499. X        printf("\n");
  2500. X    }
  2501. X*/
  2502. X    p = *argv;
  2503. X    idx = 0;
  2504. X    idx2 = 0;
  2505. X    for (i=0; i<LINES; i++)
  2506. X        for (j=0; j<BUFFERSIZE; j++)
  2507. X        buffer[i][j] = ' ';
  2508. X    while (*p != '\0') {
  2509. X        al = strlen(data[*p][0]);
  2510. X        sw = al;
  2511. X        l = 0; m = 0;
  2512. X        for (i=0; i<LINES; i++) {
  2513. X        for (j=1; j<=idx2 && buffer[i][idx-j]==' '; j++);
  2514. X        for (k=0; *p!=' ' && k<al && data[*p][i][k]==' '; k++);
  2515. X        sw = min(sw,j+k);
  2516. X        if (i) {
  2517. X            sw = min(sw,j+m);
  2518. X            sw = min(sw,l+k);
  2519. X        }
  2520. X        l = j; m = k;
  2521. X        }
  2522. X        if (sw)
  2523. X        --sw;
  2524. X        tmp = idx + al - sw;
  2525. X        tmp2 = idx-sw+1;
  2526. X        for (i=0; i<LINES; i++)
  2527. X        for (j=0; j<min(al,BUFFERSIZE-tmp); j++)
  2528. X            if (data[*p][i][j]!=' ')
  2529. X            buffer[i][tmp2+j]=data[*p][i][j];
  2530. X        idx2 = ( *p==' ' ? 0 : tmp);
  2531. X        idx = tmp + 1;
  2532. X        p++;
  2533. X        if (idx>=BUFFERSIZE) {
  2534. X        idx = BUFFERSIZE;
  2535. X        *p = '\0';
  2536. X        }
  2537. X    }
  2538. X    for (i=0; i<LINES; i++) {
  2539. X        buffer[i][idx] = '\0';
  2540. X        printf("%s\n",buffer[i]);
  2541. X    }
  2542. X    }
  2543. X}
  2544. END_OF_FILE
  2545. if test 1401 -ne `wc -c <'banner-09/block.c'`; then
  2546.     echo shar: \"'banner-09/block.c'\" unpacked with wrong size!
  2547. fi
  2548. # end of 'banner-09/block.c'
  2549. fi
  2550. if test ! -d 'banner-10' ; then
  2551.     echo shar: Creating directory \"'banner-10'\"
  2552.     mkdir 'banner-10'
  2553. fi
  2554. if test -f 'banner-10/scripto.alt' -a "${1}" != "-c" ; then 
  2555.   echo shar: Will not clobber existing file \"'banner-10/scripto.alt'\"
  2556. else
  2557. echo shar: Extracting \"'banner-10/scripto.alt'\" \(2652 characters\)
  2558. sed "s/^X//" >'banner-10/scripto.alt' <<'END_OF_FILE'
  2559. A
  2560. X .--.
  2561. X( / :
  2562. X /--+
  2563. X/   |
  2564. X
  2565. X
  2566. B
  2567. X .--.
  2568. X( / )
  2569. X /-<
  2570. X/___)
  2571. X
  2572. X
  2573. C
  2574. X   .-.
  2575. X  /  :
  2576. X /
  2577. X(__./ @
  2578. X
  2579. X
  2580. D
  2581. X .---.
  2582. X( /  |
  2583. X /   |
  2584. X/__,/
  2585. X
  2586. X
  2587. XE
  2588. X .----
  2589. X( /__
  2590. X /
  2591. X/___ @
  2592. X
  2593. X
  2594. XF
  2595. X .----
  2596. X( /__
  2597. X /
  2598. X/    @
  2599. X
  2600. X
  2601. G
  2602. X   .-.
  2603. X  /  '
  2604. X / -+-
  2605. X(__.:
  2606. X
  2607. X
  2608. H
  2609. X .-- --
  2610. X( /_ /
  2611. X /  /
  2612. X/  /  @
  2613. X
  2614. X
  2615. I
  2616. X   .---
  2617. X  ( /
  2618. X   /
  2619. X__/__ @
  2620. X
  2621. X
  2622. J
  2623. X
  2624. X    '|
  2625. X   / |
  2626. X  (__|_@
  2627. X  /  |
  2628. X (___'
  2629. K
  2630. X .--   ,
  2631. X( / . '
  2632. X /-<
  2633. X/   \_ @
  2634. X
  2635. X
  2636. L
  2637. X    .-.
  2638. X   /
  2639. X  /
  2640. X./____.
  2641. X
  2642. X
  2643. M
  2644. X .--..-.
  2645. X( ) )  |
  2646. X /  |  |
  2647. X/   :  | @
  2648. X
  2649. X
  2650. N
  2651. X .--.  --
  2652. X( ) )  /
  2653. X /  | /
  2654. X/   :/ @
  2655. X
  2656. X
  2657. O
  2658. X .---.
  2659. X( /   :
  2660. X /    |
  2661. X :__ /
  2662. X
  2663. X
  2664. P
  2665. X .---.
  2666. X( /   )
  2667. X /---'
  2668. X/      @
  2669. X
  2670. X
  2671. Q
  2672. X .---.
  2673. X( /   :
  2674. X /    |
  2675. X :_(><_
  2676. X
  2677. X
  2678. R
  2679. X .--.
  2680. X( /  )
  2681. X /--<
  2682. X/    \
  2683. X
  2684. X
  2685. S
  2686. X  .-.
  2687. X (   '
  2688. X  >.
  2689. X(___) @
  2690. X
  2691. X
  2692. T
  2693. X .-----
  2694. X(  /
  2695. X  /
  2696. X /   @
  2697. X
  2698. X
  2699. U
  2700. X .--  --
  2701. X( /  /
  2702. X /  /
  2703. X(_./ @
  2704. X
  2705. X
  2706. V
  2707. X .--  --
  2708. X( |   /
  2709. X  |  /
  2710. X  :_/ @
  2711. X
  2712. X
  2713. W
  2714. X .--   --
  2715. X( |    /
  2716. X  | : /
  2717. X  :/:/ @
  2718. X
  2719. X
  2720. XX
  2721. X .-.  ,-
  2722. X(   |/
  2723. X  ./|
  2724. X /  :__
  2725. X
  2726. X
  2727. Y
  2728. X .--  --
  2729. X( |   /
  2730. X  :_./
  2731. X    /  @
  2732. X ._/
  2733. X
  2734. Z
  2735. X .----.-
  2736. X(   .'
  2737. X  ,'
  2738. X.'____/
  2739. X
  2740. X
  2741. a
  2742. X
  2743. X __
  2744. X __)
  2745. X(__(_
  2746. X
  2747. X
  2748. b
  2749. X   /
  2750. X  /_
  2751. X /  )
  2752. X(__/
  2753. X
  2754. X
  2755. c
  2756. X
  2757. X  ___
  2758. X /
  2759. X(___
  2760. X
  2761. X
  2762. d
  2763. X      /
  2764. X  __ /
  2765. X /  /
  2766. X(__(_ @
  2767. X
  2768. X
  2769. e
  2770. X
  2771. X  __
  2772. X /__)
  2773. X(___
  2774. X
  2775. X  
  2776. f
  2777. X     .-
  2778. X    /
  2779. X   /
  2780. X__/_ @
  2781. X /
  2782. X/
  2783. g
  2784. X
  2785. X   __ ,
  2786. X  /  /
  2787. X (__/_ @
  2788. X   /
  2789. X(_/
  2790. h
  2791. X   /
  2792. X  /_
  2793. X /  )
  2794. X/   (_
  2795. X
  2796. X
  2797. i
  2798. X
  2799. X  *
  2800. X /
  2801. X(_
  2802. X
  2803. X
  2804. j
  2805. X
  2806. X     *
  2807. X    /
  2808. X   / @
  2809. X(_/
  2810. X
  2811. k
  2812. X   /
  2813. X  /__
  2814. X /<
  2815. X/  \_
  2816. X
  2817. X
  2818. l
  2819. X   /)
  2820. X  //
  2821. X /
  2822. X(_
  2823. X
  2824. X
  2825. m
  2826. X
  2827. X  _  _
  2828. X )' |' )
  2829. X/;  :  (_
  2830. X
  2831. X
  2832. n
  2833. X
  2834. X   _
  2835. X )' )
  2836. X/;  (_
  2837. X
  2838. X
  2839. o
  2840. X
  2841. X  __
  2842. X /  )
  2843. X(__/
  2844. X
  2845. X
  2846. p
  2847. X
  2848. X    __
  2849. X   /  )
  2850. X  /_./
  2851. X /
  2852. X/
  2853. q
  2854. X
  2855. X  __
  2856. X /  /
  2857. X(_./ @
  2858. X  /
  2859. X (_
  2860. r
  2861. X
  2862. X  ,__.
  2863. X /  /
  2864. X/  (__
  2865. X
  2866. X
  2867. s
  2868. X
  2869. X  __
  2870. X (_
  2871. X___)
  2872. X
  2873. X
  2874. t
  2875. X
  2876. X __/_
  2877. X  /
  2878. X (__
  2879. X
  2880. X
  2881. u
  2882. X
  2883. X  .  .
  2884. X /  /
  2885. X(_.(_
  2886. X
  2887. X
  2888. v
  2889. X
  2890. X .  _
  2891. X |  )
  2892. X :_/
  2893. X
  2894. X
  2895. w
  2896. X
  2897. X .     _
  2898. X |  .  )
  2899. X :_/|_/
  2900. X
  2901. X
  2902. x
  2903. X
  2904. X  : /
  2905. X .+'
  2906. X/ :__
  2907. X
  2908. X
  2909. y
  2910. X
  2911. X .   .
  2912. X |  /
  2913. X :_/ @
  2914. X  /
  2915. X-'
  2916. z
  2917. X
  2918. X  __
  2919. X  ./
  2920. X /__
  2921. X
  2922. X
  2923. X.
  2924. X
  2925. X
  2926. X
  2927. X@ @
  2928. X
  2929. X
  2930. X,
  2931. X
  2932. X
  2933. X
  2934. X@ @
  2935. X'
  2936. X
  2937. X(
  2938. X  /
  2939. X,'
  2940. X:
  2941. X \ @
  2942. X
  2943. X
  2944. X)
  2945. X  \
  2946. X   :
  2947. X  ,'
  2948. X / @
  2949. X
  2950. X
  2951. X-
  2952. X
  2953. X____
  2954. X
  2955. X     @
  2956. X
  2957. X
  2958. X&
  2959. X    |)
  2960. X   /|
  2961. X /  |)
  2962. X(___/\
  2963. X
  2964. X
  2965. X!
  2966. X   /
  2967. X  /
  2968. X /
  2969. X@  @
  2970. X
  2971. X
  2972. X/
  2973. X   /
  2974. X  /
  2975. X /
  2976. X/  @
  2977. X
  2978. X
  2979. X?
  2980. X  .-.
  2981. X (   )
  2982. X   /
  2983. X  .  @
  2984. X
  2985. X
  2986. X'
  2987. X  @
  2988. X  '
  2989. X
  2990. X  @
  2991. X
  2992. X
  2993. X:
  2994. X
  2995. X  @
  2996. X
  2997. X @ @
  2998. X
  2999. X
  3000. X;
  3001. X
  3002. X  @
  3003. X
  3004. X @ @
  3005. X '
  3006. X
  3007. X%
  3008. X() /
  3009. X  /
  3010. X /
  3011. X/ ()
  3012. X
  3013. X
  3014. X*
  3015. X
  3016. X_\|/_
  3017. X /|\
  3018. X     @
  3019. X
  3020. X
  3021. X$
  3022. X  .-/-
  3023. X (_/_
  3024. X  /  )
  3025. X-/--'
  3026. X
  3027. X
  3028. X0
  3029. X   __
  3030. X  /  :
  3031. X /  /
  3032. X:__/
  3033. X
  3034. X
  3035. X1
  3036. X   _
  3037. X   /
  3038. X  /
  3039. X_/_
  3040. X
  3041. X
  3042. X2
  3043. X  __
  3044. X    )
  3045. X .--'
  3046. X(___
  3047. X
  3048. X
  3049. X3
  3050. X  __
  3051. X    )
  3052. X  -<
  3053. X.___)
  3054. X
  3055. X
  3056. X4
  3057. X  . .
  3058. X / /
  3059. X'-/-
  3060. X /  @
  3061. X
  3062. X
  3063. X5
  3064. X  __
  3065. X /
  3066. X'--.
  3067. X___)
  3068. X
  3069. X
  3070. X6
  3071. X   __
  3072. X  /
  3073. X /-.
  3074. X(__)
  3075. X
  3076. X
  3077. X7
  3078. X ___
  3079. X   /
  3080. X  /
  3081. X :  @
  3082. X
  3083. X
  3084. X8
  3085. X  __
  3086. X (  )
  3087. X /-<
  3088. X(___)
  3089. X
  3090. X
  3091. X9
  3092. X  __
  3093. X /  )
  3094. X '-/
  3095. X_./ @
  3096. X
  3097. X
  3098. X=
  3099. X     .---
  3100. X    ( /
  3101. X_    /
  3102. X(___/  @
  3103. X
  3104. X
  3105. END_OF_FILE
  3106. if test 2652 -ne `wc -c <'banner-10/scripto.alt'`; then
  3107.     echo shar: \"'banner-10/scripto.alt'\" unpacked with wrong size!
  3108. fi
  3109. # end of 'banner-10/scripto.alt'
  3110. fi
  3111. if test -f 'banner-10/scripto.doc' -a "${1}" != "-c" ; then 
  3112.   echo shar: Will not clobber existing file \"'banner-10/scripto.doc'\"
  3113. else
  3114. echo shar: Extracting \"'banner-10/scripto.doc'\" \(1223 characters\)
  3115. sed "s/^X//" >'banner-10/scripto.doc' <<'END_OF_FILE'
  3116. X
  3117. X  .-.
  3118. X (   '   ___  ,_.    *    __  __/_  __ 
  3119. X  >.    /    /  :   /    /  )  /   /  )
  3120. X(___)  (___ /   :_ (_   /_./  (__ (__/ 
  3121. X                       /               
  3122. X                      /                
  3123. X
  3124. Scripto is a program for building cursive writing from text.  To run scripto,
  3125. the file scripto.set must be in the current directory.  You may run scripto
  3126. interactively by starting the program and entering any readable text.  The
  3127. cursive equivalent will appear on the screen.  Of course, input and output may
  3128. be redirected so it is possible to type cursive to disk by running this way:
  3129. X"scripto >cursive.txt" or disk to disk using "scripto <input.txt >output.txt"
  3130. or to printer with "scripto >prn" (note: when writing to printer - dot matrix
  3131. only - compressed mode is recommended).
  3132. X
  3133. If you wish, you may add or change the "font" dataset: scripto.set. After
  3134. looking at a few examples, it should become obvious how a font is stored.
  3135. XEach character uses the same number of lines.  The "@" sometimes found on the
  3136. X"base" line marks where the next cursive letter would be written.  It is a
  3137. primitive form of proportional spacing.
  3138. X
  3139. XEnjoy!
  3140. X
  3141. manny juan
  3142. manny@wet.UUCP or manny@tcomeng.COM
  3143. X5/22/91
  3144. END_OF_FILE
  3145. if test 1223 -ne `wc -c <'banner-10/scripto.doc'`; then
  3146.     echo shar: \"'banner-10/scripto.doc'\" unpacked with wrong size!
  3147. fi
  3148. # end of 'banner-10/scripto.doc'
  3149. fi
  3150. if test -f 'banner-10/scripto.pas' -a "${1}" != "-c" ; then 
  3151.   echo shar: Will not clobber existing file \"'banner-10/scripto.pas'\"
  3152. else
  3153. echo shar: Extracting \"'banner-10/scripto.pas'\" \(1677 characters\)
  3154. sed "s/^X//" >'banner-10/scripto.pas' <<'END_OF_FILE'
  3155. program cursive;
  3156. type
  3157. X  line=array[0..255]of char;
  3158. X  str255=string[255];
  3159. X  str80=string[80];
  3160. X  fontch=array[-3..2,1..11]of char;
  3161. X  fontrec=record
  3162. X    width:byte;
  3163. X    def:fontch;
  3164. X  end;
  3165. X
  3166. var
  3167. X  A:string[255];
  3168. X  fonts:array[0..255]of fontrec;
  3169. X  Inp:str80;
  3170. X  Buf:array[1..6]of str255;
  3171. X  Oup:array[-3..2]of line absolute Buf;
  3172. X
  3173. procedure loadfont;
  3174. var
  3175. X  f:text;
  3176. X  Ltr:byte;
  3177. X  S:string[12];
  3178. X  i,j,
  3179. X  m:integer;
  3180. begin
  3181. X  assign(f,'scripto.set');
  3182. X  reset(f);
  3183. X  A:='';
  3184. X  fillchar(fonts,sizeof(fonts),#0);
  3185. X  while not(eof(f)) do
  3186. X    begin
  3187. X    readln(f,S);
  3188. X    A:=A+S;
  3189. X    Ltr:=ord(S[1]);
  3190. X    for i:=-3 to 2 do
  3191. X      begin
  3192. X      readln(f,S);
  3193. X      if(i=0)then
  3194. X        begin
  3195. X        if(copy(S,length(S),1)='@')then
  3196. X          delete(S,length(S),1);
  3197. X        fonts[Ltr].width:=length(S);
  3198. X        end;
  3199. X      for j:=1 to length(S) do
  3200. X        begin
  3201. X        fonts[Ltr].def[i,j]:=S[j];
  3202. X        end;
  3203. X      end;
  3204. X    end;
  3205. X  {make blank 6 chars wide}
  3206. X  fonts[ord(' ')].width:=6;
  3207. end; {loadfont}
  3208. X
  3209. procedure scripto(Inp:str80);
  3210. var
  3211. X  ch:char;
  3212. X  Ltr:byte;
  3213. X  i,j,n,c:integer;
  3214. begin
  3215. X  fillchar(Oup,sizeof(Oup),' ');
  3216. X  c:=0;
  3217. X  for n:=1 to length(Inp) do
  3218. X    begin
  3219. X    Ltr:=ord(Inp[n]);
  3220. X    for i:=-3 to 2 do
  3221. X      begin
  3222. X      for j:=1 to 11 do
  3223. X        begin
  3224. X        ch:=fonts[Ltr].def[i,j];
  3225. X        if(ch>' ')then
  3226. X          Oup[i,c+j]:=ch;
  3227. X        end;
  3228. X      end;
  3229. X      c:=c+fonts[Ltr].width+1;
  3230. X    end;
  3231. X  for i:=1 to 6 do
  3232. X    begin
  3233. X    Buf[i][0]:=chr(c);
  3234. X    writeln(Buf[i]);
  3235. X    end;
  3236. end; {scripto}
  3237. X
  3238. begin
  3239. X  loadfont;
  3240. X  readln(Inp);
  3241. X  while not(Inp='') do
  3242. X    begin
  3243. X    scripto(Inp);
  3244. X    readln(Inp);
  3245. X    end;
  3246. end.
  3247. END_OF_FILE
  3248. if test 1677 -ne `wc -c <'banner-10/scripto.pas'`; then
  3249.     echo shar: \"'banner-10/scripto.pas'\" unpacked with wrong size!
  3250. fi
  3251. # end of 'banner-10/scripto.pas'
  3252. fi
  3253. if test -f 'banner-10/scripto.set' -a "${1}" != "-c" ; then 
  3254.   echo shar: Will not clobber existing file \"'banner-10/scripto.set'\"
  3255. else
  3256. echo shar: Extracting \"'banner-10/scripto.set'\" \(2604 characters\)
  3257. sed "s/^X//" >'banner-10/scripto.set' <<'END_OF_FILE'
  3258. A
  3259. X .--.
  3260. X( / :
  3261. X /--+
  3262. X/   |
  3263. X
  3264. X
  3265. B
  3266. X .--.
  3267. X( / )
  3268. X /-<
  3269. X/___)
  3270. X
  3271. X
  3272. C
  3273. X   .-.
  3274. X  /  :
  3275. X /
  3276. X(__./ @
  3277. X
  3278. X
  3279. D
  3280. X .---.
  3281. X( /  |
  3282. X /   |
  3283. X/__,/
  3284. X
  3285. X
  3286. XE
  3287. X .----
  3288. X( /__
  3289. X /
  3290. X/___ @
  3291. X
  3292. X
  3293. XF
  3294. X .----
  3295. X( /__
  3296. X /
  3297. X/    @
  3298. X
  3299. X
  3300. G
  3301. X   .-.
  3302. X  /  '
  3303. X / -+
  3304. X(__.:
  3305. X
  3306. X
  3307. H
  3308. X .-- --
  3309. X( /_ /
  3310. X /  /
  3311. X/  /  @
  3312. X
  3313. X
  3314. I
  3315. X   .---
  3316. X  ( /
  3317. X   /
  3318. X__/__ @
  3319. X
  3320. X
  3321. J
  3322. X     .---
  3323. X    ( /
  3324. X_    /
  3325. X(___/  @
  3326. X
  3327. X
  3328. K
  3329. X .--   ,
  3330. X( / . '
  3331. X /-<
  3332. X/   \_ @
  3333. X
  3334. X
  3335. L
  3336. X    .-.
  3337. X   /
  3338. X  /
  3339. X./____.
  3340. X
  3341. X
  3342. M
  3343. X .--..-.
  3344. X( / |  |
  3345. X /  |  |
  3346. X/   :  | @
  3347. X
  3348. X
  3349. N
  3350. X .--.  --
  3351. X( / |  /
  3352. X /  | /
  3353. X/   :/ @
  3354. X
  3355. X
  3356. O
  3357. X .---.
  3358. X( /   :
  3359. X /    |
  3360. X :__ /
  3361. X
  3362. X
  3363. P
  3364. X .---.
  3365. X( /   )
  3366. X /---'
  3367. X/      @
  3368. X
  3369. X
  3370. Q
  3371. X .---.
  3372. X( /   :
  3373. X /    |
  3374. X :_(><_
  3375. X
  3376. X
  3377. R
  3378. X .--.
  3379. X( /  )
  3380. X /--<
  3381. X/    \
  3382. X
  3383. X
  3384. S
  3385. X  .-.
  3386. X (   '
  3387. X  >.
  3388. X(___) @
  3389. X
  3390. X
  3391. T
  3392. X .-----
  3393. X(  /
  3394. X  /
  3395. X /   @
  3396. X
  3397. X
  3398. U
  3399. X .--  --
  3400. X( /  /
  3401. X /  /
  3402. X(_./ @
  3403. X
  3404. X
  3405. V
  3406. X .--  --
  3407. X( |   /
  3408. X  |  /
  3409. X  :_/ @
  3410. X
  3411. X
  3412. W
  3413. X .--   --
  3414. X( |    /
  3415. X  | : /
  3416. X  :/:/ @
  3417. X
  3418. X
  3419. XX
  3420. X .-.  ,-
  3421. X(   |/
  3422. X  ./|
  3423. X /  :__
  3424. X
  3425. X
  3426. Y
  3427. X .--  --
  3428. X( |   /
  3429. X  :_./
  3430. X    /  @
  3431. X ._/
  3432. X
  3433. Z
  3434. X .----.-
  3435. X(   .'
  3436. X  ,'
  3437. X.'____/
  3438. X
  3439. X
  3440. a
  3441. X
  3442. X __
  3443. X __)
  3444. X(__(_
  3445. X
  3446. X
  3447. b
  3448. X   /
  3449. X  /_
  3450. X /  )
  3451. X(__/
  3452. X
  3453. X
  3454. c
  3455. X
  3456. X  ___
  3457. X /
  3458. X(___
  3459. X
  3460. X
  3461. d
  3462. X      /
  3463. X  __ /
  3464. X /  /
  3465. X(__(_ @
  3466. X
  3467. X
  3468. e
  3469. X
  3470. X  __
  3471. X /__)
  3472. X(___
  3473. X
  3474. X  
  3475. f
  3476. X     .-
  3477. X    /
  3478. X   /
  3479. X__/_ @
  3480. X /
  3481. X/
  3482. g
  3483. X
  3484. X   __ ,
  3485. X  /  /
  3486. X (__/_ @
  3487. X   /
  3488. X(_/
  3489. h
  3490. X   /
  3491. X  /_
  3492. X /  )
  3493. X/   (_
  3494. X
  3495. X
  3496. i
  3497. X
  3498. X  *
  3499. X /
  3500. X(_
  3501. X
  3502. X
  3503. j
  3504. X
  3505. X     *
  3506. X    /
  3507. X   / @
  3508. X(_/
  3509. X
  3510. k
  3511. X   /
  3512. X  /__
  3513. X /<
  3514. X/  \_
  3515. X
  3516. X
  3517. l
  3518. X   /)
  3519. X  //
  3520. X /
  3521. X(_
  3522. X
  3523. X
  3524. m
  3525. X
  3526. X   _  _
  3527. X )' |' )
  3528. X/   :  (_
  3529. X
  3530. X
  3531. n
  3532. X
  3533. X   _
  3534. X )' )
  3535. X/   (_
  3536. X
  3537. X
  3538. o
  3539. X
  3540. X  __
  3541. X /  )
  3542. X(__/
  3543. X
  3544. X
  3545. p
  3546. X
  3547. X    __
  3548. X   /  )
  3549. X  /_./
  3550. X /
  3551. X/
  3552. q
  3553. X
  3554. X  __
  3555. X /  /
  3556. X(_./ @
  3557. X  /
  3558. X (_
  3559. r
  3560. X
  3561. X  ,_.
  3562. X /  :
  3563. X/   :_
  3564. X
  3565. X
  3566. s
  3567. X
  3568. X  __
  3569. X (_
  3570. X___)
  3571. X
  3572. X
  3573. t
  3574. X
  3575. X __/_
  3576. X  /
  3577. X (__
  3578. X
  3579. X
  3580. u
  3581. X
  3582. X  .  .
  3583. X /  /
  3584. X(_.(_
  3585. X
  3586. X
  3587. v
  3588. X
  3589. X .  _
  3590. X |  )
  3591. X :_/
  3592. X
  3593. X
  3594. w
  3595. X
  3596. X .     _
  3597. X |  .  )
  3598. X :_/|_/
  3599. X
  3600. X
  3601. x
  3602. X
  3603. X  : /
  3604. X .+'
  3605. X/ :__
  3606. X
  3607. X
  3608. y
  3609. X
  3610. X .   .
  3611. X |  /
  3612. X :_/ @
  3613. X  /
  3614. X-'
  3615. z
  3616. X
  3617. X  __
  3618. X  ./
  3619. X /__
  3620. X
  3621. X
  3622. X.
  3623. X
  3624. X
  3625. X
  3626. X@ @
  3627. X
  3628. X
  3629. X,
  3630. X
  3631. X
  3632. X
  3633. X@ @
  3634. X'
  3635. X
  3636. X(
  3637. X  /
  3638. X,'
  3639. X:
  3640. X \ @
  3641. X
  3642. X
  3643. X)
  3644. X  \
  3645. X   :
  3646. X  ,'
  3647. X / @
  3648. X
  3649. X
  3650. X-
  3651. X
  3652. X____
  3653. X
  3654. X     @
  3655. X
  3656. X
  3657. X&
  3658. X    |)
  3659. X   /|
  3660. X /  |)
  3661. X(___/\
  3662. X
  3663. X
  3664. X!
  3665. X   /
  3666. X  /
  3667. X /
  3668. X@  @
  3669. X
  3670. X
  3671. X/
  3672. X   /
  3673. X  /
  3674. X /
  3675. X/  @
  3676. X
  3677. X
  3678. X?
  3679. X  .-.
  3680. X (   )
  3681. X   /
  3682. X  .  @
  3683. X
  3684. X
  3685. X'
  3686. X  @
  3687. X  '
  3688. X
  3689. X  @
  3690. X
  3691. X
  3692. X:
  3693. X
  3694. X  @
  3695. X
  3696. X @ @
  3697. X
  3698. X
  3699. X;
  3700. X
  3701. X  @
  3702. X
  3703. X @ @
  3704. X '
  3705. X
  3706. X%
  3707. X() /
  3708. X  /
  3709. X /
  3710. X/ ()
  3711. X
  3712. X
  3713. X*
  3714. X
  3715. X_\|/_
  3716. X /|\
  3717. X     @
  3718. X
  3719. X
  3720. X$
  3721. X  .-/-
  3722. X (_/_
  3723. X  /  )
  3724. X-/--'
  3725. X
  3726. X
  3727. X0
  3728. X   __
  3729. X  /  :
  3730. X /  /
  3731. X:__/
  3732. X
  3733. X
  3734. X1
  3735. X   _
  3736. X   /
  3737. X  /
  3738. X_/_
  3739. X
  3740. X
  3741. X2
  3742. X  __
  3743. X    )
  3744. X .--'
  3745. X(___
  3746. X
  3747. X
  3748. X3
  3749. X  __
  3750. X    )
  3751. X  -<
  3752. X.___)
  3753. X
  3754. X
  3755. X4
  3756. X  . .
  3757. X / /
  3758. X'-/-
  3759. X /  @
  3760. X
  3761. X
  3762. X5
  3763. X  __
  3764. X /
  3765. X'--.
  3766. X___)
  3767. X
  3768. X
  3769. X6
  3770. X   __
  3771. X  /
  3772. X /-.
  3773. X(__)
  3774. X
  3775. X
  3776. X7
  3777. X ___
  3778. X   /
  3779. X  /
  3780. X :  @
  3781. X
  3782. X
  3783. X8
  3784. X  __
  3785. X (  )
  3786. X /-<
  3787. X(___)
  3788. X
  3789. X
  3790. X9
  3791. X  __
  3792. X /  )
  3793. X '-/
  3794. X_./ @
  3795. X
  3796. X
  3797. END_OF_FILE
  3798. if test 2604 -ne `wc -c <'banner-10/scripto.set'`; then
  3799.     echo shar: \"'banner-10/scripto.set'\" unpacked with wrong size!
  3800. fi
  3801. # end of 'banner-10/scripto.set'
  3802. fi
  3803. if test ! -d 'banner-11' ; then
  3804.     echo shar: Creating directory \"'banner-11'\"
  3805.     mkdir 'banner-11'
  3806. fi
  3807. if test -f 'banner-11/mb.6' -a "${1}" != "-c" ; then 
  3808.   echo shar: Will not clobber existing file \"'banner-11/mb.6'\"
  3809. else
  3810. echo shar: Extracting \"'banner-11/mb.6'\" \(1389 characters\)
  3811. sed "s/^X//" >'banner-11/mb.6' <<'END_OF_FILE'
  3812. X.TH MB 6L
  3813. X.SH NAME
  3814. mb \- a banner program with external font file
  3815. X.SH SYNOPSIS
  3816. mb [<opts>] [<text>] [<opts>]
  3817. X.SH DESCRIPTION
  3818. mb is just another banner program. The difference to other programs of
  3819. this kind is the use of an external font file. So you can design your
  3820. own fonts to use with mb. The format of these font files can be found
  3821. in the
  3822. X.BR Read.Me .
  3823. X.PP
  3824. Several options are supported. 
  3825. X.IP \-o=<file>
  3826. use <file> instead of the default font file.
  3827. X.IP \-l
  3828. use the 16x8 font instead of the 8x8 font (producing larger banners).
  3829. X.IP \-w=<num>
  3830. print banner with a larger width. Default is 1.
  3831. X.IP \-h=<num>
  3832. print banner with a larger height. Default is 1.
  3833. X.IP \-c
  3834. print the banner cursive.
  3835. X.IP \-C
  3836. print the banner back cursive.
  3837. X.IP \-i
  3838. invert the banner.
  3839. X.IP \-f=<char>
  3840. use <char> as the foreground character. Default is `*'.
  3841. X.IP \-b=<char>
  3842. use <char> as the background character. Default is Space.
  3843. X.IP \-s
  3844. use the character as foreground which is currently printed.
  3845. X.SH HISTORY
  3846. mb had been developed for OS-9/68000 and had then be adapted to Unix(tm).
  3847. So there is another font format only useful on OS-9/68000 systems which
  3848. describes a data module containing the font data. It
  3849. X.B may
  3850. also run on MS-DOS and Atari\ ST but this hasn't been tested.
  3851. X.SH FILES
  3852. The default fontfile is /dd/SYS/MB_Font on OS-9/68000 systems,
  3853. X/etc/MB_Font on Unix systems and \\MB_FONT on MS-ODS style systems.
  3854. END_OF_FILE
  3855. if test 1389 -ne `wc -c <'banner-11/mb.6'`; then
  3856.     echo shar: \"'banner-11/mb.6'\" unpacked with wrong size!
  3857. fi
  3858. # end of 'banner-11/mb.6'
  3859. fi
  3860. if test ! -d 'banner-12' ; then
  3861.     echo shar: Creating directory \"'banner-12'\"
  3862.     mkdir 'banner-12'
  3863. fi
  3864. if test -f 'banner-12/Makefile' -a "${1}" != "-c" ; then 
  3865.   echo shar: Will not clobber existing file \"'banner-12/Makefile'\"
  3866. else
  3867. echo shar: Extracting \"'banner-12/Makefile'\" \(629 characters\)
  3868. sed "s/^X//" >'banner-12/Makefile' <<'END_OF_FILE'
  3869. X################################################################################
  3870. X#                             Makefile for "banner"                            #
  3871. X################################################################################
  3872. X
  3873. X#CFLAGS = -g
  3874. CFLAGS = -O
  3875. LFLAGS =
  3876. X
  3877. INSTALL_BANNER = /usr/local/bin/Banner
  3878. X
  3879. OBJ = main.o banner.o font.o
  3880. X
  3881. all: banner
  3882. X
  3883. install: banner
  3884. X    cp banner $(INSTALL_BANNER)
  3885. X    strip $(INSTALL_BANNER)
  3886. X    chmod 755 $(INSTALL_BANNER)
  3887. X
  3888. clean:
  3889. X    rm -f $(OBJ) banner
  3890. X
  3891. banner: $(OBJ)
  3892. X    cc $(LFLAGS) $(OBJ) -o banner
  3893. X
  3894. lint:
  3895. X    lint -bchux *.c
  3896. X
  3897. main.o: main.c flags.h
  3898. X
  3899. banner.o: banner.c flags.h
  3900. X
  3901. font.o: font.c
  3902. END_OF_FILE
  3903. if test 629 -ne `wc -c <'banner-12/Makefile'`; then
  3904.     echo shar: \"'banner-12/Makefile'\" unpacked with wrong size!
  3905. fi
  3906. # end of 'banner-12/Makefile'
  3907. fi
  3908. if test -f 'banner-12/README' -a "${1}" != "-c" ; then 
  3909.   echo shar: Will not clobber existing file \"'banner-12/README'\"
  3910. else
  3911. echo shar: Extracting \"'banner-12/README'\" \(908 characters\)
  3912. sed "s/^X//" >'banner-12/README' <<'END_OF_FILE'
  3913. X                         Banner: The ultimative banner
  3914. X                         =============================
  3915. X
  3916. Revision history:
  3917. X
  3918. X1.00 -- Written in 1987 by Wolfgang Ocker, reccoware systems, Puchheim.
  3919. X1.01 -- Tested on OS-9/68000, SunOS, System V 3.2.
  3920. X1.02 -- Some cleanups by Frank Kaefer (fkk@stasys.sta.sub.org).
  3921. X1.10 -- Paul E. Black (paul@delfin.com):
  3922. X        - Added a C interface to the banner routine itself so it
  3923. X          can be linked with an application.  The user interface now
  3924. X          sets flags and calls the C interface.
  3925. X        - Letters can be any height, not just single or double.
  3926. X        - Multi-height italic are smoother: it shifts one column per
  3927. X          printed row rather than one double-column per double-row.
  3928. X        - Cleaned up and sped up some of the low level loops some what.
  3929. X1.11 -- Banner is now under the GNU GENERAL PUBLIC LICENSE,
  3930. X        Version 2, June 1991 (fkk)
  3931. END_OF_FILE
  3932. if test 908 -ne `wc -c <'banner-12/README'`; then
  3933.     echo shar: \"'banner-12/README'\" unpacked with wrong size!
  3934. fi
  3935. # end of 'banner-12/README'
  3936. fi
  3937. if test -f 'banner-12/banner.c' -a "${1}" != "-c" ; then 
  3938.   echo shar: Will not clobber existing file \"'banner-12/banner.c'\"
  3939. else
  3940. echo shar: Extracting \"'banner-12/banner.c'\" \(1512 characters\)
  3941. sed "s/^X//" >'banner-12/banner.c' <<'END_OF_FILE'
  3942. X#include <stdio.h>
  3943. X#include "flags.h"
  3944. X
  3945. banflags banFlagDefault = {
  3946. X    0,    /* not italic */
  3947. X    0,    /* single width */
  3948. X    0,    /* no leading half space */
  3949. X    1,    /* single height */
  3950. X    '*'    /* use asterisk */
  3951. X    };
  3952. X
  3953. extern unsigned char charset[];    /* Zeichensatz */
  3954. X
  3955. X#define ROWSPERCH (8)
  3956. X#define COLSPERCH (8)
  3957. X
  3958. X/*
  3959. X * b a n n e r   f u n c t i o n
  3960. X */
  3961. X
  3962. banner(fp, str, flagsp)
  3963. XFILE        *fp;
  3964. char        *str;
  3965. banflags    *flagsp;
  3966. X{
  3967. X    int    linenum, chnum, j, k;
  3968. X    int    ch_off;
  3969. X    char    ch, *space;
  3970. X
  3971. X    if (flagsp->dblwidth) {
  3972. X        space = "  ";
  3973. X    } else {
  3974. X        space = " ";
  3975. X    }
  3976. X
  3977. X    for (linenum = 0; linenum < ROWSPERCH; linenum++) {
  3978. X        for (j = 0; j < flagsp->height; j++) {
  3979. X            if (flagsp->halfspace) {
  3980. X                for (k = 0; k < COLSPERCH/2; k++)
  3981. X                    (void)fputs(space, fp);
  3982. X            }
  3983. X
  3984. X            if (flagsp->italic) {
  3985. X                /* shift for italics */
  3986. X                for (k = flagsp->height * (ROWSPERCH - linenum) - (j + 1);
  3987. X                    k > 0; k--)
  3988. X                    (void)putc(' ', fp);
  3989. X            }
  3990. X
  3991. X            for (chnum = 0; chnum < strlen(str); chnum++) {
  3992. X                ch    = str[chnum];
  3993. X                ch_off    = (int) ch * 8;
  3994. X                outline(fp, (flagsp->bannerch == '\0') ? ch : flagsp->bannerch,
  3995. X                charset[ch_off + linenum],
  3996. X                (int)flagsp->dblwidth);
  3997. X            }
  3998. X
  3999. X            (void)putc('\n', fp);
  4000. X        }
  4001. X    }
  4002. X}
  4003. X
  4004. X
  4005. X/*
  4006. X * o u t l i n e
  4007. X */
  4008. X
  4009. static outline(fp, outchar, outbyte, dblsize)
  4010. XFILE         *fp;
  4011. char         outchar;
  4012. unsigned char     outbyte;
  4013. int        dblsize;
  4014. X{
  4015. X    int bc;
  4016. X    char ch;
  4017. X
  4018. X    for (bc = ROWSPERCH-1; bc >= 0; bc--) {
  4019. X        ch = (outbyte & (0x01 << bc)) ? outchar : ' ';
  4020. X        (void)putc(ch, fp);
  4021. X        if (dblsize) {
  4022. X            /* if double size, repeat it */
  4023. X            (void)putc(ch, fp);
  4024. X        }
  4025. X    }
  4026. X}
  4027. END_OF_FILE
  4028. if test 1512 -ne `wc -c <'banner-12/banner.c'`; then
  4029.     echo shar: \"'banner-12/banner.c'\" unpacked with wrong size!
  4030. fi
  4031. # end of 'banner-12/banner.c'
  4032. fi
  4033. if test -f 'banner-12/flags.h' -a "${1}" != "-c" ; then 
  4034.   echo shar: Will not clobber existing file \"'banner-12/flags.h'\"
  4035. else
  4036. echo shar: Extracting \"'banner-12/flags.h'\" \(472 characters\)
  4037. sed "s/^X//" >'banner-12/flags.h' <<'END_OF_FILE'
  4038. X/* flag structure for banner routine */
  4039. X
  4040. typedef struct {
  4041. unsigned int    italic:1,    /* true - letters tilted right */
  4042. X        dblwidth:1,    /* true - letters 2x as wide */
  4043. X        halfspace:1;    /* true - add leading half space (centering) */
  4044. int        height;        /* number of lines per 'pixel' */
  4045. X                /* (2 gives double height, 1 gives normal) */
  4046. char        bannerch;    /* char. to use for 'pixel.'  0 - print each */
  4047. X                /* letter with the letter itself. */
  4048. X} banflags;
  4049. X
  4050. extern banflags banFlagDefault;
  4051. END_OF_FILE
  4052. if test 472 -ne `wc -c <'banner-12/flags.h'`; then
  4053.     echo shar: \"'banner-12/flags.h'\" unpacked with wrong size!
  4054. fi
  4055. # end of 'banner-12/flags.h'
  4056. fi
  4057. if test -f 'banner-12/main.c' -a "${1}" != "-c" ; then 
  4058.   echo shar: Will not clobber existing file \"'banner-12/main.c'\"
  4059. else
  4060. echo shar: Extracting \"'banner-12/main.c'\" \(3287 characters\)
  4061. sed "s/^X//" >'banner-12/main.c' <<'END_OF_FILE'
  4062. X#include <stdio.h>
  4063. X#ifdef OSK
  4064. X#include <modes.h>
  4065. X#else
  4066. X#define S_IREAD 0
  4067. X#endif
  4068. X#include "flags.h"
  4069. X
  4070. X#define TRUE  1
  4071. X#define FALSE 0
  4072. X
  4073. extern int    errno;
  4074. extern void    exit();
  4075. X
  4076. X#ifdef OSK
  4077. int sighandler() {}
  4078. X#endif
  4079. X
  4080. X/*
  4081. X * m a i n
  4082. X */
  4083. X
  4084. main(argc, argv)
  4085. int    argc;
  4086. char    *argv[];
  4087. X{
  4088. X    char        *str, strbuf[200];
  4089. X    int        i, j, strnum;
  4090. X    FILE        *infp;
  4091. X    char        *from;
  4092. X#ifdef OSK
  4093. X    char        *plife;
  4094. X#endif
  4095. X    banflags    flags;
  4096. X
  4097. X    flags        = banFlagDefault;
  4098. X    strnum        = 0;
  4099. X    from        = NULL;
  4100. X#ifdef OSK
  4101. X    plife        = NULL;
  4102. X#endif
  4103. X
  4104. for (i = 1; i < argc; i++)
  4105. X    if (argv[i][0] == '-')
  4106. X        for (j = 1; j < strlen(argv[i]); j++)
  4107. X            switch(tolower(argv[i][j])) {
  4108. X            case '?':
  4109. X                usage();
  4110. X                exit(1);
  4111. X
  4112. X            case 'i':    /* italic printing */
  4113. X                flags.italic = TRUE;
  4114. X                break;
  4115. X
  4116. X            case 'd':    /* double sized characters */
  4117. X                flags.height = 2;
  4118. X                flags.dblwidth = TRUE;
  4119. X                break;
  4120. X#ifdef OSK
  4121. X            case 'l':    /* secret option for OSK */
  4122. X                plife = argv[i] + j + (argv[i][j+1] == '=' ? 2 : 1);
  4123. X                j = strlen(argv[i]);
  4124. X                break;
  4125. X#endif
  4126. X            case 'c':    /* character for banner */
  4127. X                j += argv[i][j+1] == '=' ? 2 : 1;
  4128. X                flags.bannerch = argv[i][j];
  4129. X                break;
  4130. X
  4131. X            case 's':    /* use character */
  4132. X                flags.bannerch = '\0';
  4133. X                break;
  4134. X
  4135. X            case 'z':    /* get text from */
  4136. X                if (from) {
  4137. X                    usage();
  4138. X                    (void)fputs("multiple 'z' options not allowed\n", stderr);
  4139. X                    exit(1);
  4140. X                }
  4141. X                from = argv[i] + j + (argv[i][j+1] == '=' ? 2 : 1);
  4142. X                j = strlen(argv[i]);
  4143. X                break;
  4144. X
  4145. X            default:
  4146. X                usage();
  4147. X                (void)fprintf(stderr, "unknown option '%c'\n", argv[i][j]);
  4148. X                exit(1);
  4149. X                }
  4150. X    else
  4151. X        strnum++;     /* count number of strings */
  4152. X
  4153. X    if (strnum == 0 && from == NULL) {
  4154. X        usage();
  4155. X#ifdef OSK
  4156. X        exit(_errmsg(1, "no string given\n"));
  4157. X#else
  4158. X        (void)fputs("no string given\n", stderr);
  4159. X        exit(1);
  4160. X#endif
  4161. X    }
  4162. X
  4163. X    if (strnum && from) {
  4164. X        usage();
  4165. X#ifdef OSK
  4166. X        exit(_errmsg(1, "'z' option not allowed if string(s) given\n"));
  4167. X#else
  4168. X        (void)fputs("'z' option not allowed if string(s) given\n", stderr);
  4169. X        exit(1);
  4170. X#endif
  4171. X    }
  4172. X
  4173. X    if (from) {
  4174. X        if (from[0]) {
  4175. X            if ((infp = fopen(from, "r")) == NULL) {
  4176. X#ifdef OSK
  4177. X                exit(_errmsg(errno, "can't open '%s'\n", from));
  4178. X#else
  4179. X                (void)fprintf(stderr, "can't open '%s'\n", from);
  4180. X                exit(errno);
  4181. X#endif
  4182. X            }
  4183. X        }
  4184. X        else
  4185. X            infp = stdin;
  4186. X    }
  4187. X
  4188. X#ifdef OSK
  4189. X    if (plife && !strcmp(plife, "dont_kill_me"))
  4190. X        intercept(sighandler);
  4191. X#endif
  4192. X
  4193. X    str    = strbuf;
  4194. X    i    = 1;
  4195. X    while (TRUE) {
  4196. X        if (from) {    /* read strings from file/stdin */
  4197. X            if (fgets(strbuf, sizeof(strbuf)-1, infp) == NULL)
  4198. X                break;
  4199. X            strbuf[strlen(strbuf)-1] = '\0';
  4200. X        }
  4201. X        else {        /* get strings from argument line */
  4202. X            if ((str = argv[i++]) == NULL)
  4203. X                break;
  4204. X            if (str[0] == '-')
  4205. X                continue;
  4206. X        }
  4207. X        /* call the banner subroutine */
  4208. X        banner(stdout, str, &flags);
  4209. X    }
  4210. X    return 0;
  4211. X}
  4212. X
  4213. X/*
  4214. X * u s a g e
  4215. X */
  4216. X
  4217. usage()
  4218. X{
  4219. X    (void)fputs("Syntax: banner [<opts>] {<string>} [<opts>]\n", stderr);
  4220. X    (void)fputs("Function: prints a banner to stdout\n", stderr);
  4221. X    (void)fputs("Options:\n", stderr);
  4222. X    (void)fputs("     -i         prints italic\n", stderr);
  4223. X    (void)fputs("     -d         double size\n", stderr);
  4224. X    (void)fputs("     -c=<char>  character\n", stderr);
  4225. X    (void)fputs("     -s         use same character\n", stderr);
  4226. X    (void)fputs("     -z         read strings from standard input\n", stderr);
  4227. X    (void)fputs("     -z=<file>  read strings from <file>\n", stderr);
  4228. X}
  4229. END_OF_FILE
  4230. if test 3287 -ne `wc -c <'banner-12/main.c'`; then
  4231.     echo shar: \"'banner-12/main.c'\" unpacked with wrong size!
  4232. fi
  4233. # end of 'banner-12/main.c'
  4234. fi
  4235. if test ! -d 'banner-13' ; then
  4236.     echo shar: Creating directory \"'banner-13'\"
  4237.     mkdir 'banner-13'
  4238. fi
  4239. if test ! -d 'cursive-01' ; then
  4240.     echo shar: Creating directory \"'cursive-01'\"
  4241.     mkdir 'cursive-01'
  4242. fi
  4243. if test -f 'cursive-01/Makefile' -a "${1}" != "-c" ; then 
  4244.   echo shar: Will not clobber existing file \"'cursive-01/Makefile'\"
  4245. else
  4246. echo shar: Extracting \"'cursive-01/Makefile'\" \(466 characters\)
  4247. sed "s/^X//" >'cursive-01/Makefile' <<'END_OF_FILE'
  4248. CFLAGS = -g
  4249. X
  4250. cursive: cursive.o x.o xs.o
  4251. X    cc -g -o cursive cursive.o x.o xs.o
  4252. X
  4253. x.o: x.c
  4254. X
  4255. xs.o: xs.c
  4256. X
  4257. x.c: font.c
  4258. X    xstr font.c
  4259. X
  4260. xs.c: font.c
  4261. X    xstr font.c
  4262. X
  4263. X# This is for use if you haven't got the xstr command.  The program works
  4264. X# the same, but is slightly bigger.
  4265. X
  4266. lcursive: cursive.o font.o
  4267. X    cc -g -o lcursive cursive.o font.o
  4268. X
  4269. cursive.shar: cursive.c font.c cursive.h cursive.6 Makefile shar
  4270. X    shar cursive.c font.c cursive.h cursive.6 Makefile shar > cursive.shar
  4271. END_OF_FILE
  4272. if test 466 -ne `wc -c <'cursive-01/Makefile'`; then
  4273.     echo shar: \"'cursive-01/Makefile'\" unpacked with wrong size!
  4274. fi
  4275. # end of 'cursive-01/Makefile'
  4276. fi
  4277. if test -f 'cursive-01/README' -a "${1}" != "-c" ; then 
  4278.   echo shar: Will not clobber existing file \"'cursive-01/README'\"
  4279. else
  4280. echo shar: Extracting \"'cursive-01/README'\" \(424 characters\)
  4281. sed "s/^X//" >'cursive-01/README' <<'END_OF_FILE'
  4282. This is a program for generating horizontal cursive banners.  It's main
  4283. use is for generating cute signatures for email.  It is copyrighted by
  4284. Jan Wolter, but may be distributed freely.  Have what fun you can...
  4285. X
  4286. X                  ___                _     __  _
  4287. X                 (   >              ' )   /   // _/_
  4288. X                  __/___.  ____      / / / __|/  /  _  __
  4289. X                 / / (_/|_/ / <__   (_(_/ (_) \_<__</_/ (__
  4290. X                <_/
  4291. X                    janc@crim.eecs.umich.edu
  4292. X
  4293. END_OF_FILE
  4294. if test 424 -ne `wc -c <'cursive-01/README'`; then
  4295.     echo shar: \"'cursive-01/README'\" unpacked with wrong size!
  4296. fi
  4297. # end of 'cursive-01/README'
  4298. fi
  4299. if test -f 'cursive-01/cursive.6' -a "${1}" != "-c" ; then 
  4300.   echo shar: Will not clobber existing file \"'cursive-01/cursive.6'\"
  4301. else
  4302. echo shar: Extracting \"'cursive-01/cursive.6'\" \(1300 characters\)
  4303. sed "s/^X//" >'cursive-01/cursive.6' <<'END_OF_FILE'
  4304. X.TH CURSIVE 6 "24 July 1985"
  4305. X.UC
  4306. X.SH NAME
  4307. cursive \- print text in cursive script
  4308. X.SH SYNOPSIS
  4309. X.B /usr/games/cursive
  4310. X[
  4311. X.BI \-i n
  4312. X]
  4313. X[
  4314. X.BI \-t n
  4315. X]
  4316. X[message]
  4317. X.SH DESCRIPTION
  4318. X.I Cursive
  4319. prints a line of text in a rather crude cursive script.
  4320. It is intended for use mainly for the generation of decorative signatures
  4321. for electronic mail.
  4322. If message text is given on the command line, that text is used.
  4323. Otherwise the text will be read from standard input up to an end of file.
  4324. The
  4325. X.B \-i
  4326. option sets the minimum spacing between adjacent characters.
  4327. The default is
  4328. X.B \-i1 .
  4329. The
  4330. X.B \-t
  4331. option sets the length of the trailing lines on the end of each word.
  4332. The default is
  4333. X.B \-t1 .
  4334. X.PP
  4335. The '_' character is treated in a special way.  It may be inserted in
  4336. the text anywhere you wish to lengthen a connecting line between two
  4337. letters.
  4338. X.SH BUGS
  4339. Many ASCII characters are not defined, notably the numbers and symbols.
  4340. Punctuation is mostly available.
  4341. Some characters are rather ugly.
  4342. The author has lousy handwriting.
  4343. X.SH AUTHOR
  4344. Jan Wolter.  UUCP mail to janc@crim.eecs.umich.edu
  4345. X.SH COPYRIGHT
  4346. This program and the cursive font it generates are copyrighted by Jan Wolter.
  4347. Both may be freely used and distributed in any way whatsoever, so long as
  4348. the author's name is left in the source code and documentation.
  4349. END_OF_FILE
  4350. if test 1300 -ne `wc -c <'cursive-01/cursive.6'`; then
  4351.     echo shar: \"'cursive-01/cursive.6'\" unpacked with wrong size!
  4352. fi
  4353. # end of 'cursive-01/cursive.6'
  4354. fi
  4355. if test -f 'cursive-01/cursive.h' -a "${1}" != "-c" ; then 
  4356.   echo shar: Will not clobber existing file \"'cursive-01/cursive.h'\"
  4357. else
  4358. echo shar: Extracting \"'cursive-01/cursive.h'\" \(544 characters\)
  4359. sed "s/^X//" >'cursive-01/cursive.h' <<'END_OF_FILE'
  4360. struct letter {
  4361. X    char *line[6];            /* What's on each of the six lines */
  4362. X    char spcs[6];            /* Number of leading spaces for each */
  4363. X    short tailin,tailout;        /* Where the lines in and out go */
  4364. X    };
  4365. X
  4366. X/* Special Codes for Character Table */
  4367. X
  4368. X#define XX  -1        /* Ignore character */
  4369. X#define SP  -2          /* Space */
  4370. X#define ST  -3          /* Extend trailer */
  4371. X#define SA  -4        /* Alternate font number */    /* Not used */
  4372. X#define SN  -5        /* Numbers */            /* Not used */
  4373. X
  4374. X#define CHARWIDTH 10
  4375. X
  4376. extern struct letter list[];
  4377. extern short code1[], code2[];
  4378. END_OF_FILE
  4379. if test 544 -ne `wc -c <'cursive-01/cursive.h'`; then
  4380.     echo shar: \"'cursive-01/cursive.h'\" unpacked with wrong size!
  4381. fi
  4382. # end of 'cursive-01/cursive.h'
  4383. fi
  4384. if test ! -d 'cursive-02' ; then
  4385.     echo shar: Creating directory \"'cursive-02'\"
  4386.     mkdir 'cursive-02'
  4387. fi
  4388. if test -f 'cursive-02/Makefile' -a "${1}" != "-c" ; then 
  4389.   echo shar: Will not clobber existing file \"'cursive-02/Makefile'\"
  4390. else
  4391. echo shar: Extracting \"'cursive-02/Makefile'\" \(466 characters\)
  4392. sed "s/^X//" >'cursive-02/Makefile' <<'END_OF_FILE'
  4393. CFLAGS = -O
  4394. X
  4395. cursive: cursive.o x.o xs.o
  4396. X    cc -g -o cursive cursive.o x.o xs.o
  4397. X
  4398. x.o: x.c
  4399. X
  4400. xs.o: xs.c
  4401. X
  4402. x.c: font.c
  4403. X    xstr font.c
  4404. X
  4405. xs.c: font.c
  4406. X    xstr font.c
  4407. X
  4408. X# This is for use if you haven't got the xstr command.  The program works
  4409. X# the same, but is slightly bigger.
  4410. X
  4411. lcursive: cursive.o font.o
  4412. X    cc -g -o lcursive cursive.o font.o
  4413. X
  4414. cursive.shar: cursive.c font.c cursive.h cursive.6 Makefile shar
  4415. X    shar cursive.c font.c cursive.h cursive.6 Makefile shar > cursive.shar
  4416. END_OF_FILE
  4417. if test 466 -ne `wc -c <'cursive-02/Makefile'`; then
  4418.     echo shar: \"'cursive-02/Makefile'\" unpacked with wrong size!
  4419. fi
  4420. # end of 'cursive-02/Makefile'
  4421. fi
  4422. if test -f 'cursive-02/cursive.6' -a "${1}" != "-c" ; then 
  4423.   echo shar: Will not clobber existing file \"'cursive-02/cursive.6'\"
  4424. else
  4425. echo shar: Extracting \"'cursive-02/cursive.6'\" \(1300 characters\)
  4426. sed "s/^X//" >'cursive-02/cursive.6' <<'END_OF_FILE'
  4427. X.TH CURSIVE 6 "24 July 1985"
  4428. X.UC
  4429. X.SH NAME
  4430. cursive \- print text in cursive script
  4431. X.SH SYNOPSIS
  4432. X.B /usr/games/cursive
  4433. X[
  4434. X.BI \-i n
  4435. X]
  4436. X[
  4437. X.BI \-t n
  4438. X]
  4439. X[message]
  4440. X.SH DESCRIPTION
  4441. X.I Cursive
  4442. prints a line of text in a rather crude cursive script.
  4443. It is intended for use mainly for the generation of decorative signatures
  4444. for electronic mail.
  4445. If message text is given on the command line, that text is used.
  4446. Otherwise the text will be read from standard input up to an end of file.
  4447. The
  4448. X.B \-i
  4449. option sets the minimum spacing between adjacent characters.
  4450. The default is
  4451. X.B \-i1 .
  4452. The
  4453. X.B \-t
  4454. option sets the length of the trailing lines on the end of each word.
  4455. The default is
  4456. X.B \-t1 .
  4457. X.PP
  4458. The '_' character is treated in a special way.  It may be inserted in
  4459. the text anywhere you wish to lengthen a connecting line between two
  4460. letters.
  4461. X.SH BUGS
  4462. Many ASCII characters are not defined, notably the numbers and symbols.
  4463. Punctuation is mostly available.
  4464. Some characters are rather ugly.
  4465. The author has lousy handwriting.
  4466. X.SH AUTHOR
  4467. Jan Wolter.  UUCP mail to janc@crim.eecs.umich.edu
  4468. X.SH COPYRIGHT
  4469. This program and the cursive font it generates are copyrighted by Jan Wolter.
  4470. Both may be freely used and distributed in any way whatsoever, so long as
  4471. the author's name is left in the source code and documentation.
  4472. END_OF_FILE
  4473. if test 1300 -ne `wc -c <'cursive-02/cursive.6'`; then
  4474.     echo shar: \"'cursive-02/cursive.6'\" unpacked with wrong size!
  4475. fi
  4476. # end of 'cursive-02/cursive.6'
  4477. fi
  4478. if test -f 'cursive-02/cursive.h' -a "${1}" != "-c" ; then 
  4479.   echo shar: Will not clobber existing file \"'cursive-02/cursive.h'\"
  4480. else
  4481. echo shar: Extracting \"'cursive-02/cursive.h'\" \(544 characters\)
  4482. sed "s/^X//" >'cursive-02/cursive.h' <<'END_OF_FILE'
  4483. struct letter {
  4484. X    char *line[6];            /* What's on each of the six lines */
  4485. X    char spcs[6];            /* Number of leading spaces for each */
  4486. X    short tailin,tailout;        /* Where the lines in and out go */
  4487. X    };
  4488. X
  4489. X/* Special Codes for Character Table */
  4490. X
  4491. X#define XX  -1        /* Ignore character */
  4492. X#define SP  -2          /* Space */
  4493. X#define ST  -3          /* Extend trailer */
  4494. X#define SA  -4        /* Alternate font number */    /* Not used */
  4495. X#define SN  -5        /* Numbers */            /* Not used */
  4496. X
  4497. X#define CHARWIDTH 10
  4498. X
  4499. extern struct letter list[];
  4500. extern short code1[], code2[];
  4501. END_OF_FILE
  4502. if test 544 -ne `wc -c <'cursive-02/cursive.h'`; then
  4503.     echo shar: \"'cursive-02/cursive.h'\" unpacked with wrong size!
  4504. fi
  4505. # end of 'cursive-02/cursive.h'
  4506. fi
  4507. if test ! -d 'gothic' ; then
  4508.     echo shar: Creating directory \"'gothic'\"
  4509.     mkdir 'gothic'
  4510. fi
  4511. echo shar: End of archive 1 \(of 7\).
  4512. cp /dev/null ark1isdone
  4513. MISSING=""
  4514. for I in 1 2 3 4 5 6 7 ; do
  4515.     if test ! -f ark${I}isdone ; then
  4516.     MISSING="${MISSING} ${I}"
  4517.     fi
  4518. done
  4519. if test "${MISSING}" = "" ; then
  4520.     echo You have unpacked all 7 archives.
  4521.     rm -f ark[1-9]isdone
  4522. else
  4523.     echo You still need to unpack the following archives:
  4524.     echo "        " ${MISSING}
  4525. fi
  4526. ##  End of shell archive.
  4527. exit 0
  4528.