home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume26 / banners / part02 < prev    next >
Text File  |  1993-04-07  |  101KB  |  4,436 lines

  1. Newsgroups: comp.sources.unix
  2. From: fkk@stasys.sta.sub.org (Frank Kaefer)
  3. Subject: v26i110: banners - a collection of banner programs, Part02/05
  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 110
  9. Archive-Name: banners/part02
  10.  
  11. #! /bin/sh
  12. # This is a shell archive.  Remove anything before this line, then unpack
  13. # it by saving it into a file and typing "sh file".  To overwrite existing
  14. # files, type "sh file -c".  You can also feed this as standard input via
  15. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  16. # will see the following message at the end:
  17. #        "End of archive 2 (of 5)."
  18. # Contents:  banner-1/font.c banner-11/MB_Font.uu banner-5/block.c
  19. #   banner-5/sban.c banner-8/banner.c banner-8/banner.c-org
  20. #   cursive-1/cursive.c cursive-1/font.c cursive-2/cursive.c
  21. #   gothic/gothic.c
  22. # Wrapped by vixie@gw.home.vix.com on Thu Apr  8 12:26:13 1993
  23. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  24. if test -f 'banner-1/font.c' -a "${1}" != "-c" ; then 
  25.   echo shar: Will not clobber existing file \"'banner-1/font.c'\"
  26. else
  27. echo shar: Extracting \"'banner-1/font.c'\" \(8960 characters\)
  28. sed "s/^X//" >'banner-1/font.c' <<'END_OF_FILE'
  29. unsigned char charset[] = {
  30. X  0, 0, 0, 0, 0, 0, 0, 0,
  31. X  126, 129, 165, 129, 189, 153, 129, 126,
  32. X  126, 255, 219, 255, 195, 231, 255, 126,
  33. X  108, 254, 254, 254, 124, 56, 16, 0,
  34. X  16, 56, 124, 254, 124, 56, 16, 0,
  35. X  56, 124, 56, 254, 254, 124, 56, 124,
  36. X  16, 16, 56, 124, 254, 124, 56, 124,
  37. X  0, 0, 24, 60, 60, 24, 0, 0,
  38. X  255, 255, 231, 195, 195, 231, 255, 255,
  39. X  0, 60, 102, 66, 66, 102, 60, 0,
  40. X  255, 195, 153, 189, 189, 153, 195, 255,
  41. X  15, 7, 15, 125, 204, 204, 204, 120,
  42. X  60, 102, 102, 102, 60, 24, 126, 24,
  43. X  63, 51, 63, 48, 48, 112, 240, 224,
  44. X  127, 99, 127, 99, 99, 103, 230, 192,
  45. X  153, 90, 60, 231, 231, 60, 90, 153,
  46. X  128, 224, 248, 254, 248, 224, 128, 0,
  47. X  2, 14, 62, 254, 62, 14, 2, 0,
  48. X  24, 60, 126, 24, 24, 126, 60, 24,
  49. X  102, 102, 102, 102, 102, 0, 102, 0,
  50. X  127, 219, 219, 123, 27, 27, 27, 0,
  51. X  62, 99, 56, 108, 108, 56, 204, 120,
  52. X  0, 0, 0, 0, 126, 126, 126, 0,
  53. X  24, 60, 126, 24, 126, 60, 24, 255,
  54. X  24, 60, 126, 24, 24, 24, 24, 0,
  55. X  24, 24, 24, 24, 126, 60, 24, 0,
  56. X  0, 24, 12, 254, 12, 24, 0, 0,
  57. X  0, 48, 96, 254, 96, 48, 0, 0,
  58. X  0, 0, 192, 192, 192, 254, 0, 0,
  59. X  0, 36, 102, 255, 102, 36, 0, 0,
  60. X  0, 24, 60, 126, 255, 255, 0, 0,
  61. X  0, 255, 255, 126, 60, 24, 0, 0,
  62. X  0, 0, 0, 0, 0, 0, 0, 0,
  63. X  48, 120, 120, 48, 48, 0, 48, 0,
  64. X  108, 108, 108, 0, 0, 0, 0, 0,
  65. X  108, 108, 254, 108, 254, 108, 108, 0,
  66. X  48, 124, 192, 120, 12, 248, 48, 0,
  67. X  0, 198, 204, 24, 48, 102, 198, 0,
  68. X  56, 108, 56, 118, 220, 204, 118, 0,
  69. X  96, 96, 192, 0, 0, 0, 0, 0,
  70. X  24, 48, 96, 96, 96, 48, 24, 0,
  71. X  96, 48, 24, 24, 24, 48, 96, 0,
  72. X  0, 102, 60, 255, 60, 102, 0, 0,
  73. X  0, 48, 48, 252, 48, 48, 0, 0,
  74. X  0, 0, 0, 0, 0, 48, 48, 96,
  75. X  0, 0, 0, 252, 0, 0, 0, 0,
  76. X  0, 0, 0, 0, 0, 48, 48, 0,
  77. X  6, 12, 24, 48, 96, 192, 128, 0,
  78. X  124, 198, 206, 222, 246, 230, 124, 0,
  79. X  48, 112, 48, 48, 48, 48, 252, 0,
  80. X  120, 204, 12, 56, 96, 204, 252, 0,
  81. X  120, 204, 12, 56, 12, 204, 120, 0,
  82. X  28, 60, 108, 204, 254, 12, 30, 0,
  83. X  252, 192, 248, 12, 12, 204, 120, 0,
  84. X  56, 96, 192, 248, 204, 204, 120, 0,
  85. X  252, 204, 12, 24, 48, 48, 48, 0,
  86. X  120, 204, 204, 120, 204, 204, 120, 0,
  87. X  120, 204, 204, 124, 12, 24, 112, 0,
  88. X  0, 48, 48, 0, 0, 48, 48, 0,
  89. X  0, 48, 48, 0, 0, 48, 48, 96,
  90. X  24, 48, 96, 192, 96, 48, 24, 0,
  91. X  0, 0, 252, 0, 0, 252, 0, 0,
  92. X  96, 48, 24, 12, 24, 48, 96, 0,
  93. X  120, 204, 12, 24, 48, 0, 48, 0,
  94. X  124, 198, 222, 222, 222, 192, 120, 0,
  95. X  48, 120, 204, 204, 252, 204, 204, 0,
  96. X  252, 102, 102, 124, 102, 102, 252, 0,
  97. X  60, 102, 192, 192, 192, 102, 60, 0,
  98. X  248, 108, 102, 102, 102, 108, 248, 0,
  99. X  254, 98, 104, 120, 104, 98, 254, 0,
  100. X  254, 98, 104, 120, 104, 96, 240, 0,
  101. X  60, 102, 192, 192, 206, 102, 62, 0,
  102. X  204, 204, 204, 252, 204, 204, 204, 0,
  103. X  120, 48, 48, 48, 48, 48, 120, 0,
  104. X  30, 12, 12, 12, 204, 204, 120, 0,
  105. X  230, 102, 108, 120, 108, 102, 230, 0,
  106. X  240, 96, 96, 96, 98, 102, 254, 0,
  107. X  198, 238, 254, 254, 214, 198, 198, 0,
  108. X  198, 230, 246, 222, 206, 198, 198, 0,
  109. X  56, 108, 198, 198, 198, 108, 56, 0,
  110. X  252, 102, 102, 124, 96, 96, 240, 0,
  111. X  120, 204, 204, 204, 220, 120, 28, 0,
  112. X  252, 102, 102, 124, 108, 102, 230, 0,
  113. X  120, 204, 224, 112, 28, 204, 120, 0,
  114. X  252, 180, 48, 48, 48, 48, 120, 0,
  115. X  204, 204, 204, 204, 204, 204, 252, 0,
  116. X  204, 204, 204, 204, 204, 120, 48, 0,
  117. X  198, 198, 198, 214, 254, 238, 198, 0,
  118. X  198, 198, 108, 56, 56, 108, 198, 0,
  119. X  204, 204, 204, 120, 48, 48, 120, 0,
  120. X  254, 198, 140, 24, 50, 102, 254, 0,
  121. X  120, 96, 96, 96, 96, 96, 120, 0,
  122. X  192, 96, 48, 24, 12, 6, 2, 0,
  123. X  120, 24, 24, 24, 24, 24, 120, 0,
  124. X  16, 56, 108, 198, 0, 0, 0, 0,
  125. X  0, 0, 0, 0, 0, 0, 0, 255,
  126. X  48, 48, 24, 0, 0, 0, 0, 0,
  127. X  0, 0, 120, 12, 124, 204, 118, 0,
  128. X  224, 96, 96, 124, 102, 102, 220, 0,
  129. X  0, 0, 120, 204, 192, 204, 120, 0,
  130. X  28, 12, 12, 124, 204, 204, 118, 0,
  131. X  0, 0, 120, 204, 252, 192, 120, 0,
  132. X  56, 108, 96, 240, 96, 96, 240, 0,
  133. X  0, 0, 118, 204, 204, 124, 12, 248,
  134. X  224, 96, 108, 118, 102, 102, 230, 0,
  135. X  48, 0, 112, 48, 48, 48, 120, 0,
  136. X  12, 0, 12, 12, 12, 204, 204, 120,
  137. X  224, 96, 102, 108, 120, 108, 230, 0,
  138. X  112, 48, 48, 48, 48, 48, 120, 0,
  139. X  0, 0, 204, 254, 254, 214, 198, 0,
  140. X  0, 0, 248, 204, 204, 204, 204, 0,
  141. X  0, 0, 120, 204, 204, 204, 120, 0,
  142. X  0, 0, 220, 102, 102, 124, 96, 240,
  143. X  0, 0, 118, 204, 204, 124, 12, 30,
  144. X  0, 0, 220, 118, 102, 96, 240, 0,
  145. X  0, 0, 124, 192, 120, 12, 248, 0,
  146. X  16, 48, 124, 48, 48, 52, 24, 0,
  147. X  0, 0, 204, 204, 204, 204, 118, 0,
  148. X  0, 0, 204, 204, 204, 120, 48, 0,
  149. X  0, 0, 198, 214, 254, 254, 108, 0,
  150. X  0, 0, 198, 108, 56, 108, 198, 0,
  151. X  0, 0, 204, 204, 204, 124, 12, 248,
  152. X  0, 0, 252, 152, 48, 100, 252, 0,
  153. X  28, 48, 48, 224, 48, 48, 28, 0,
  154. X  24, 24, 24, 0, 24, 24, 24, 0,
  155. X  224, 48, 48, 28, 48, 48, 224, 0,
  156. X  118, 220, 0, 0, 0, 0, 0, 0,
  157. X  0, 16, 56, 108, 198, 198, 254, 0,
  158. X  120, 204, 192, 204, 120, 24, 12, 120,
  159. X  0, 204, 0, 204, 204, 204, 126, 0,
  160. X  28, 0, 120, 204, 252, 192, 120, 0,
  161. X  126, 195, 60, 6, 62, 102, 63, 0,
  162. X  204, 0, 120, 12, 124, 204, 126, 0,
  163. X  224, 0, 120, 12, 124, 204, 126, 0,
  164. X  48, 48, 120, 12, 124, 204, 126, 0,
  165. X  0, 0, 120, 192, 192, 120, 12, 56,
  166. X  126, 195, 60, 102, 126, 96, 60, 0,
  167. X  204, 0, 120, 204, 252, 192, 120, 0,
  168. X  224, 0, 120, 204, 252, 192, 120, 0,
  169. X  204, 0, 112, 48, 48, 48, 120, 0,
  170. X  124, 198, 56, 24, 24, 24, 60, 0,
  171. X  224, 0, 112, 48, 48, 48, 120, 0,
  172. X  198, 56, 108, 198, 254, 198, 198, 0,
  173. X  48, 48, 0, 120, 204, 252, 204, 0,
  174. X  28, 0, 252, 96, 120, 96, 252, 0,
  175. X  0, 0, 127, 12, 127, 204, 127, 0,
  176. X  62, 108, 204, 254, 204, 204, 206, 0,
  177. X  120, 204, 0, 120, 204, 204, 120, 0,
  178. X  0, 204, 0, 120, 204, 204, 120, 0,
  179. X  0, 224, 0, 120, 204, 204, 120, 0,
  180. X  120, 204, 0, 204, 204, 204, 126, 0,
  181. X  0, 224, 0, 204, 204, 204, 126, 0,
  182. X  0, 204, 0, 204, 204, 124, 12, 248,
  183. X  195, 24, 60, 102, 102, 60, 24, 0,
  184. X  204, 0, 204, 204, 204, 204, 120, 0,
  185. X  24, 24, 126, 192, 192, 126, 24, 24,
  186. X  56, 108, 100, 240, 96, 230, 252, 0,
  187. X  204, 204, 120, 252, 48, 252, 48, 48,
  188. X  248, 204, 204, 250, 198, 207, 198, 199,
  189. X  14, 27, 24, 60, 24, 24, 216, 112,
  190. X  28, 0, 120, 12, 124, 204, 126, 0,
  191. X  56, 0, 112, 48, 48, 48, 120, 0,
  192. X  0, 28, 0, 120, 204, 204, 120, 0,
  193. X  0, 28, 0, 204, 204, 204, 126, 0,
  194. X  0, 248, 0, 248, 204, 204, 204, 0,
  195. X  252, 0, 204, 236, 252, 220, 204, 0,
  196. X  60, 108, 108, 62, 0, 126, 0, 0,
  197. X  56, 108, 108, 56, 0, 124, 0, 0,
  198. X  48, 0, 48, 96, 192, 204, 120, 0,
  199. X  0, 0, 0, 252, 192, 192, 0, 0,
  200. X  0, 0, 0, 252, 12, 12, 0, 0,
  201. X  195, 198, 204, 222, 51, 102, 204, 15,
  202. X  195, 198, 204, 219, 55, 111, 207, 3,
  203. X  24, 24, 0, 24, 24, 24, 24, 0,
  204. X  0, 51, 102, 204, 102, 51, 0, 0,
  205. X  0, 204, 102, 51, 102, 204, 0, 0,
  206. X  34, 136, 34, 136, 34, 136, 34, 136,
  207. X  85, 170, 85, 170, 85, 170, 85, 170,
  208. X  219, 119, 219, 238, 219, 119, 219, 238,
  209. X  24, 24, 24, 24, 24, 24, 24, 24,
  210. X  24, 24, 24, 24, 248, 24, 24, 24,
  211. X  24, 24, 248, 24, 248, 24, 24, 24,
  212. X  54, 54, 54, 54, 246, 54, 54, 54,
  213. X  0, 0, 0, 0, 254, 54, 54, 54,
  214. X  0, 0, 248, 24, 248, 24, 24, 24,
  215. X  54, 54, 246, 6, 246, 54, 54, 54,
  216. X  54, 54, 54, 54, 54, 54, 54, 54,
  217. X  0, 0, 254, 6, 246, 54, 54, 54,
  218. X  54, 54, 246, 6, 254, 0, 0, 0,
  219. X  54, 54, 54, 54, 254, 0, 0, 0,
  220. X  24, 24, 248, 24, 248, 0, 0, 0,
  221. X  0, 0, 0, 0, 248, 24, 24, 24,
  222. X  24, 24, 24, 24, 31, 0, 0, 0,
  223. X  24, 24, 24, 24, 255, 0, 0, 0,
  224. X  0, 0, 0, 0, 255, 24, 24, 24,
  225. X  24, 24, 24, 24, 31, 24, 24, 24,
  226. X  0, 0, 0, 0, 255, 0, 0, 0,
  227. X  24, 24, 24, 24, 255, 24, 24, 24,
  228. X  24, 24, 31, 24, 31, 24, 24, 24,
  229. X  54, 54, 54, 54, 55, 54, 54, 54,
  230. X  54, 54, 55, 48, 63, 0, 0, 0,
  231. X  0, 0, 63, 48, 55, 54, 54, 54,
  232. X  54, 54, 247, 0, 255, 0, 0, 0,
  233. X  0, 0, 255, 0, 247, 54, 54, 54,
  234. X  54, 54, 55, 48, 55, 54, 54, 54,
  235. X  0, 0, 255, 0, 255, 0, 0, 0,
  236. X  54, 54, 247, 0, 247, 54, 54, 54,
  237. X  24, 24, 255, 0, 255, 0, 0, 0,
  238. X  54, 54, 54, 54, 255, 0, 0, 0,
  239. X  0, 0, 255, 0, 255, 24, 24, 24,
  240. X  0, 0, 0, 0, 255, 54, 54, 54,
  241. X  54, 54, 54, 54, 63, 0, 0, 0,
  242. X  24, 24, 31, 24, 31, 0, 0, 0,
  243. X  0, 0, 31, 24, 31, 24, 24, 24,
  244. X  0, 0, 0, 0, 63, 54, 54, 54,
  245. X  54, 54, 54, 54, 255, 54, 54, 54,
  246. X  24, 24, 255, 24, 255, 24, 24, 24,
  247. X  24, 24, 24, 24, 248, 0, 0, 0,
  248. X  0, 0, 0, 0, 31, 24, 24, 24,
  249. X  255, 255, 255, 255, 255, 255, 255, 255,
  250. X  0, 0, 0, 0, 255, 255, 255, 255,
  251. X  240, 240, 240, 240, 240, 240, 240, 240,
  252. X  15, 15, 15, 15, 15, 15, 15, 15,
  253. X  255, 255, 255, 255, 0, 0, 0, 0,
  254. X  0, 0, 118, 220, 200, 220, 118, 0,
  255. X  0, 120, 204, 248, 204, 248, 192, 192,
  256. X  0, 252, 204, 192, 192, 192, 192, 0,
  257. X  0, 254, 108, 108, 108, 108, 108, 0,
  258. X  252, 204, 96, 48, 96, 204, 252, 0,
  259. X  0, 0, 126, 216, 216, 216, 112, 0,
  260. X  0, 102, 102, 102, 102, 124, 96, 192,
  261. X  0, 118, 220, 24, 24, 24, 24, 0,
  262. X  252, 48, 120, 204, 204, 120, 48, 252,
  263. X  56, 108, 198, 254, 198, 108, 56, 0,
  264. X  56, 108, 198, 198, 108, 108, 238, 0,
  265. X  28, 48, 24, 124, 204, 204, 120, 0,
  266. X  0, 0, 126, 219, 219, 126, 0, 0,
  267. X  6, 12, 126, 219, 219, 126, 96, 192,
  268. X  56, 96, 192, 248, 192, 96, 56, 0,
  269. X  120, 204, 204, 204, 204, 204, 204, 0,
  270. X  0, 252, 0, 252, 0, 252, 0, 0,
  271. X  48, 48, 252, 48, 48, 0, 252, 0,
  272. X  96, 48, 24, 48, 96, 0, 252, 0,
  273. X  24, 48, 96, 48, 24, 0, 252, 0,
  274. X  14, 27, 27, 24, 24, 24, 24, 24,
  275. X  24, 24, 24, 24, 24, 216, 216, 112,
  276. X  48, 48, 0, 252, 0, 48, 48, 0,
  277. X  0, 118, 220, 0, 118, 220, 0, 0,
  278. X  56, 108, 108, 56, 0, 0, 0, 0,
  279. X  0, 0, 0, 24, 24, 0, 0, 0,
  280. X  0, 0, 0, 0, 24, 0, 0, 0,
  281. X  15, 12, 12, 12, 236, 108, 60, 28 };
  282. X
  283. END_OF_FILE
  284. if test 8960 -ne `wc -c <'banner-1/font.c'`; then
  285.     echo shar: \"'banner-1/font.c'\" unpacked with wrong size!
  286. fi
  287. # end of 'banner-1/font.c'
  288. fi
  289. if test -f 'banner-11/MB_Font.uu' -a "${1}" != "-c" ; then 
  290.   echo shar: Will not clobber existing file \"'banner-11/MB_Font.uu'\"
  291. else
  292. echo shar: Extracting \"'banner-11/MB_Font.uu'\" \(8721 characters\)
  293. sed "s/^X//" >'banner-11/MB_Font.uu' <<'END_OF_FILE'
  294. begin 644 MB_Font
  295. M2OP``0``&#P````!```8,`55!`"````1````````````````````````````3
  296. M`#1+````````````````````````````$#A\5!`0$````````````!`0$%1\'
  297. M.!`````````````8#/X,&```````````````,&#^8#```````````'PXNI+6"
  298. MQM:2NCA\``````#^_O[\_/CZ\O;F[@``````[L;6DKHXNI+6QNX```````$!B
  299. M`P,&!HR,V%AP,"``````/&;#D9&=@<-F/``````````8/#P\/#Q^_Q`X$```]
  300. M``@.#PD("'CX<`````````!X0'!`0``>$!P0$```````.$!`0#@`'!(<%!(`0
  301. M````!04%!0T-'3EY<7%A00```*"@H*"PL+B<GHZ.AH(```!\NL;&QH(`@L;&/
  302. MQKI\``````(&!@8"``(&!@8"`````'PZ!@8&.GRXP,#`N'P```!\.@8&!CI\0
  303. M.@8&!CI\`````(+&QL:Z?#H&!@8"`````'RXP,#`N'PZ!@8&.GP```!\N,#`X
  304. MP+A\NL;&QKI\````?+K&QL:"``(&!@8"`````'RZQL;&NGRZQL;&NGP```!\2
  305. MNL;&QKI\.@8&!CI\`````````'Q^!@9^9F9^/`````!X0'!`>``.$`P"'```V
  306. M````````````!P\?&!@0'A<``````````/#X[`0$!#Q4$0L-!@<N.3@`````O
  307. M``````0HV"C0$.``````````````````````````````````````&!@8&!@8\
  308. M```8&````-C8;&PV````````````````````1$3^1$1$_D1$`````"@H?.[HH
  309. MZ'@\+B[N?"@H````````QL8,&#!@QL8````````X;&PX,'[,S,QV````````.
  310. M&!@8,#`````````````.&#`P,#`P,#`P,#`8#@``<!@,#`P,#`P,#`P,&'``<
  311. M`````$)")#S^/"1"0@``````````&!@8?A@8&```````````````````&!@8<
  312. M&#`@`````````'X````````````````````````8&!@````````&!@P,&!@PR
  313. M,&!@````````/&9F9F9F9F9F/````````!@X.!@8&!@8&'X````````\9F8,"
  314. M#!@P,&!^````````?@8,&!@,#&9F/`````````P<'#PL;&Q^#`P```````!^:
  315. M8&!\!@8&!F8\````````/&!@8'QF9F9F/````````'X&!@P,&!@P,#``````$
  316. M```\9F9F/&9F9F8\````````/&9F9F8^!@8&/```````````&!@8```8&!@`N
  317. M`````````!@8&````!@8&#`@````#A@P8,!@,!@.````````````?@```'X`(
  318. M``````````#@,!@,!@P8,.``````````/&9F#`P8&``8&````````'S&PMK6B
  319. MUMS`XGP```````!\QL;&QO[&QL;&````````_,;&QOS&QL;&_````````'S&:
  320. MP,#`P,#`QGP```````#\QL;&QL;&QL;\````````_L#`P/S`P,#`_@``````B
  321. M`/[`P,#XP,#`P,````````!^P,#`WL;&QL9^````````QL;&QO[&QL;&Q@``<
  322. M`````'X8&!@8&!@8&'X```````!^!@8&!@8&QL9\````````QLS,V/#8S,S&"
  323. MQ@```````,#`P,#`P,#`P/X```````#&[N[6UL;&QL;&````````QL;FYM;6T
  324. MSL[&Q@```````'S&QL;&QL;&QGP```````#\QL;&QL;\P,#`````````?,;&N
  325. MQL;&QM;<;@```````/S&QL;\V,S,QL8```````!\QL#`<!P&!L9\````````:
  326. M?A@8&!@8&!@8&````````,;&QL;&QL;&QGP```````#&QL;&QL;&;#@0````F
  327. M````QL;&QL;6_N[&@@```````,;&;'PX.'QLQL8```````!F9F8D/!@8&!@8*
  328. M````````_@8&#!@P8,#`_@```````#XP,#`P,#`P,#X```````!@8#`P&!@,4
  329. M#`8&````````?`P,#`P,#`P,?``````0.#AL;,;&````````````````````4
  330. M`````````/X``&`P&`P``````````````````````'P&?L;&QGX```````#`"
  331. MP,#\QL;&QL;\````````````?,;`P,#&?`````````8&!G[&QL;&QGX`````&
  332. M``````!\QL;^P,!^````````#A@8?A@8&!@8&````````````'S&QL;&QGX&N
  333. M!GP```#`P,#\QL;&QL;&````````&!@`>!@8&!@8?@````````P,`'P,#`P,$
  334. M#`P,#/@```#`P,#&S-CPV,S&````````>!@8&!@8&!@8?@```````````&S^,
  335. MUM;&QL8```````````#\QL;&QL;&````````````?,;&QL;&?```````````T
  336. M`/S&QL;&QOS`P,````````!^QL;&QL9^!@8&````````_,;&P,#`P```````*
  337. M`````'S&P'P&QGP`````````,##\,#`P,#`<````````````QL;&QL;&?@``0
  338. M`````````,;&QFQL.#@```````````#&QL;6_N[&````````````QL9\.'S&V
  339. MQ@```````````,;&QL;&QGX&!GP```````#^!@PX8,#^``````X8&!@8,.#@T
  340. M,!@8&!@.```8&!@8&!@8&!@8&!@8&```X#`P,#`8#@X8,#`P,.````````!B<
  341. M\KZ<`````````,"@H*#`."`P(#@$!`0$!P```````````````#8V;&S8``!LK
  342. M;```QL;&QL;&?@```````#AL8#AL;#@,;#@`````&#QF`#P^!CY^9F9^/@``(
  343. M``!F9@``?`9^QL;&?@````!@,!@`/#X&/GYF9GX^````'#8<`#P^!CY^9F9^\
  344. M/@`````````\?&!@8&!@?CX,.``8/&8`/'YF9GY@8'X^`````&9F`#Q^9F9^@
  345. M8&!^/@```&`P&``\?F9F?F!@?CX`````9F8`.#@8&!@8&#P\````&#QF`#@XZ
  346. M&!@8&!@\/````&`P&``X.!@8&!@8/#P```!L;`!\QL;&_L;&QL8````\9CP8J
  347. M/'YF9GY^9F9F9@``!@P8?GY@8'Q\8&!@?GX`````````=G\;>__8V/]_````,
  348. M/G[XV-C>WOCXV-C>W@```!@\9@`\?F9F9F9F?CP`````;&P``'S&QL;&QGP`6
  349. M````8#`8`#Q^9F9F9F9^/````!@\9@!F9F9F9F9F?CX```!@,!@`9F9F9F9FF
  350. M9GX^`````&9F`&9F9F9F9GX^!GY\`&QL`'S&QL;&QL;&?`````!L;`#&QL;&X
  351. MQL;&QGP``````!@8/'YF8&!F?CP8&```````.&Q@.&QL.`QL.```````9F9FB
  352. M9GX\&'X8&!@8```````\9F9F?&9F9GQ@8&`````.'A@8&'X8&!@8&'!@`%6`=
  353. M`8`!@`&``8`!@`&``:H````8&```&!@8&!@8````````$!!\UM#0T-9\$!``%
  354. M`````!PB("#X("`@('X```````"!?F9F9F9F?H$`````````9F9F)#P8&'X8(
  355. M&````!@8&!@8&!@``!@8&!@8&!@````X;&`X;&PX#&PX``````!L;```````\
  356. M`````````````'[#O:6AH:6]PWX``````'P&?L;&QGX`_@```````````!(V>
  357. M;-AL-A(``````````````````'X&!@8&`````````````!(\2```````````D
  358. M?L.YI:6YJ:7#?@``````?@``````````````````&"0D&```````````````"
  359. M```````8&!A^&!@8`'X``#QF!APP9GX```````````!XS`PX#,QX````````\
  360. M``````8,&#```````````````````````,;&QL;&QGY@8,```#Q45%0T%!04D
  361. M%!04```````````8&!@````````````````````````X.!@8,"`P<#`P,#!X,
  362. M``````````````!\QL;&QL9\`/X```````````"0V&PV;-B0```````P<#`PR
  363. M,#!['G#.'C9F?P8/,'`P,#`P>QYP_&8&'#!C?WC,##@,S'L><,X>-F9_!@\`)
  364. M```8&``8&`P,9F8\````,!@`?,;&QL;^QL;&Q@```!@P`'S&QL;&_L;&QL8`D
  365. M```0.&P`?,;&QO[&QL;&````8O*\F'S&QL;^QL;&Q@````!L;`!\QL;&_L;&4
  366. MQL8````X1#@`?,;&QO[&QL;&````````#Q@8."]H2/B(CP```````'S&P,#`+
  367. MP,#`QGP8#!@P&`#^P,#`_,#`P,#^````&#``_L#`P/S`P,#`_@```!`X;`#\N
  368. MP,#`^,#`P/X`````;&P`_,#`P/C`P,#^````,!@,`'X8&!@8&!@8?@````P8<
  369. M,`!^&!@8&!@8&'X````8/&8`_A@8&!@8&!C^`````&9F`'X8&!@8&!@8?@``B
  370. M`````#XC(?DA(SX```````!B\KZ<`.;FUM;.SL;&````8#`8`'S&QL;&QL;&9
  371. M?`````P8,`!\QL;&QL;&QGP````0.&P`?,;&QL;&QL9\````8O*^C'S&QL;&Z
  372. MQL;&?`````!L;`!\QL;&QL;&QGP`````````QL9\.'S&Q@````````(&?,[.P
  373. MSM[VYN;F?,"``&`P&`#&QL;&QL;&QGP````,&#``QL;&QL;&QL9\````$#AL8
  374. M`,;&QL;&QL;&?`````!L;`#&QL;&QL;&QGP````,&#``9F8D/!@8&!@8````H
  375. M````<"`X)#@@("`@<````````#QF9F9\9F9F?&!@8````#`8#`!\!G[&QL9^P
  376. M```````,&#``?`9^QL;&?@``````$#AL`'P&?L;&QGX`````8O*^G`!\!G[&<
  377. MQL9^``````!F9@``?`9^QL;&?@`````8)"08`'P&?L;&QGX```````````!^L
  378. M&1E_3$P_````````````?,;`P,#&?!@,&```8#`8`'S&QO[`P'X```````P88
  379. M,`!\QL;^P,!^```````0.&P`?,;&_L#`?@```````&QL`'S&QO[`P'X`````(
  380. M`#`8#`!X&!@8&!A^```````,&#``>!@8&!@8?@``````$#AL`'@8&!@8&'X`F
  381. M``````!L;`!X&!@8&!A^```````($"A$1@D)"08`````````8O*^G`#\QL;&M
  382. MQL8``````&`P&`!\QL;&QL9\```````,&#``?,;&QL;&?```````$#AL`'S&J
  383. MQL;&QGP``````&+ROIP`?,;&QL9\``````!L;```?,;&QL;&?````````````
  384. M&!@`?@`8&````````````@9\SL[6YN9\P(````!@,!@`QL;&QL;&?@``````F
  385. M#!@P`,;&QL;&QGX``````!`X;`#&QL;&QL9^``````!L;```QL;&QL;&?@``&
  386. M````#!@P`,;&QL;&QGX&!GP`````<"`X)"0X("!P````````;&P`QL;&QL;&R
  387. M?@8&?```````````?H&E@;V9@7Y^_]O_P^?_?FS^_OY\.!``$#A\_GPX$``XF
  388. M?#C^_GPX?!`0.'S^?#A\```8/#P8``#__^?#P^?__P`\9D)"9CP`_\.9O;V90
  389. MP_\/!P]]S,S,>#QF9F8\&'X8/S,_,#!P\.!_8W]C8V?FP)E:/.?G/%J9@.#XA
  390. M_OC@@``"#C[^/@X"`!@\?A@8?CP89F9F9F8`9@!_V]M[&QL;`#YC.&QL.,QX6
  391. M`````'Y^?@`8/'X8?CP8_Q@\?A@8&!@`&!@8&'X\&```&`S^#!@````P8/Y@-
  392. M,`````#`P,#^````)&;_9B0````8/'[__P```/__?CP8`````````````#!X)
  393. M>#`P`#``;&QL``````!L;/YL_FQL`#!\P'@,^#```,;,&#!FQ@`X;#AVW,QVR
  394. M`&!@P```````&#!@8&`P&`!@,!@8&#!@``!F//\\9@```#`P_#`P````````7
  395. M`#`P8````/P````````````P,``&#!@P8,"``'S&SM[VYGP`,'`P,#`P_`!XP
  396. MS`PX8,S\`'C,##@,S'@`'#QLS/X,'@#\P/@,#,QX`#A@P/C,S'@`_,P,&#`P$
  397. M,`!XS,QXS,QX`'C,S'P,&'```#`P```P,```,#```#`P8!@P8,!@,!@```#\4
  398. M``#\``!@,!@,&#!@`'C,#!@P`#``?,;>WM[`>``P>,S,_,S,`/QF9GQF9OP`4
  399. M/&;`P,!F/`#X;&9F9FSX`/YB:'AH8OX`_F)H>&A@\``\9L#`SF8^`,S,S/S,^
  400. MS,P`>#`P,#`P>``>#`P,S,QX`.9F;'AL9N8`\&!@8&)F_@#&[O[^UL;&`,;F&
  401. M]M[.QL8`.&S&QL9L.`#\9F9\8&#P`'C,S,S<>!P`_&9F?&QFY@!XS.!P',QXX
  402. M`/RT,#`P,'@`S,S,S,S,_`#,S,S,S'@P`,;&QM;^[L8`QL9L.#ALQ@#,S,QX@
  403. M,#!X`/[&C!@R9OX`>&!@8&!@>`#`8#`8#`8"`'@8&!@8&'@`$#ALQ@``````$
  404. M````````_S`P&`````````!X#'S,=@#@8&!\9F;<````>,S`S'@`'`P,?,S,-
  405. M=@```'C,_,!X`#AL8/!@8/````!VS,Q\#/C@8&QV9F;F`#``<#`P,'@`#``,T
  406. M#`S,S'C@8&9L>&SF`'`P,#`P,'@```#,_O[6Q@```/C,S,S,````>,S,S'@`\
  407. M``#<9F9\8/```';,S'P,'@``W'9F8/````!\P'@,^``0,'PP,#08````S,S,T
  408. MS'8```#,S,QX,````,;6_OYL````QFPX;,8```#,S,Q\#/@``/R8,&3\`!PP"
  409. M,.`P,!P`&!@8`!@8&`#@,#`<,##@`';<`````````!`X;,;&_@```````&QL@
  410. MV`#,`,S,S'X`/F,X;&PXS'A^PSP&/F8_`,P`>`Q\S'X`X`!X#'S,?@`P,'@,]
  411. M?,Q^````>,#`>`PX?L,\9GY@/`#,`'C,_,!X`.``>,S\P'@`S`!P,#`P>`!\3
  412. MQC@8&!@\`.``<#`P,'@`QCALQO[&Q@`P,`!XS/S,`!P`_&!X8/P```!_#'_,B
  413. M?P`^;,S^S,S.`'C,`'C,S'@``,P`>,S,>```X`!XS,QX`'C,`,S,S'X``.``G
  414. MS,S,?@``S`#,S'P,^,,8/&9F/!@`S`#,S,S,>``8&'[`P'X8&#YC.&QL.,QXZ
  415. MS,QX_##\,##XS,SZQL_&QPX;&#P8&-AP58`!@`&``:H`,``P,'AX,``0?-#07
  416. M?!```!@D<"!\``"!?F9F9GZ!`,S,S'@P>#``&!@8```8&!@^8SAL;#C,>`#,!
  417. M`````````#Q:4EH\``!X#'S,=O\````2)$@D$@``````?@8&`````")^1```A
  418. M```\6GIF/````'X````````0*!`````````P,/PP,`#\8!`@<`````#`(&`@0
  419. MP`````P,&`````````#,S,S,=L``/%0T%!04`````#`P``````````!P,&`@6
  420. M8"!P`````'C,S,QX_````$@D$B1(```@8"1Z%B\"`"!@)'@<(@0.P"!$*M8O.
  421. M`@``,``P&`S,>#``>,S\S,P`,`!XS/S,S``P`'C,_,S,`"A0>,S\S,P`QCAL<
  422. MQO[&Q@`0.&S&_L;&`!X8*"YX2(X`/&;`P,!F/!C^8FAX:&+^`/YB:'AH8OX`:
  423. M_F)H>&AB_@#^8FAX:&+^`'@P,#`P,'@`>#`P,#`P>`!X,#`P,#!X`'@P,#`PH
  424. M,'@``#XA^2$^```4*/;>SL;&`#ALQL;&;#@`.&S&QL9L.``X;,;&QFPX`#AL[
  425. MQL;&;#@`PQ@\9F8\&```QFPX;,8``#ILSM;F;+@`S,S,S,S,_`#,S,S,S,S\E
  426. M`,S,S,S,S/P`S`#,S,S,>`#,S,QX,#!X``!P.#@@('```'C,^,SXP,```'@,`
  427. M?,QV````>`Q\S'8```!X#'S,=@```'@,?,QV`,P`>`Q\S'X```!X#'S,=@``<
  428. M9F9F9GQ@P```>,S`S'@P``!XS/S`>````'C,_,!X````>,S\P'@```!XS/S`4
  429. M>``P`'`P,#!X`#``<#`P,'@`,`!P,#`P>`#8`'`P,#!X``````````````#XX
  430. MS,S,S````'C,S,QX````>,S,S'@```!XS,S,>````'C,S,QX``#,`'C,S'@`4
  431. M```8?A@``````GS,W.QX@```S,S,S'8```#,S,S,=@```,S,S,QV``#,`,S,.
  432. GS'X`&#``S,Q\#/@`(#@D."```,P`S,S,?`SX:7-O9F]N=```TOCLF
  433. X``
  434. end
  435. size 6204
  436. END_OF_FILE
  437. if test 8721 -ne `wc -c <'banner-11/MB_Font.uu'`; then
  438.     echo shar: \"'banner-11/MB_Font.uu'\" unpacked with wrong size!
  439. fi
  440. # end of 'banner-11/MB_Font.uu'
  441. fi
  442. if test -f 'banner-5/block.c' -a "${1}" != "-c" ; then 
  443.   echo shar: Will not clobber existing file \"'banner-5/block.c'\"
  444. else
  445. echo shar: Extracting \"'banner-5/block.c'\" \(11573 characters\)
  446. sed "s/^X//" >'banner-5/block.c' <<'END_OF_FILE'
  447. X/*
  448. X *    block - dispays block style banner one word at a time.
  449. X *    Author:        Jae H. Lee, (Coyote on irc)
  450. X *            State University of New York at Buffalo
  451. X *            Department of Computer Science
  452. X *    example:    block this is a test.
  453. X *            block -i this is a test.  ("this" in italic)
  454. X *            block -i this -i is -i a -i test. (all in italic)
  455. X *            block this\ is a test.  ("this is" on same line)
  456. X *
  457. X */
  458. X#include <stdio.h>
  459. X#define    COLM    8
  460. X#define MAXCHR    10
  461. X#define HCHR    10
  462. X#define WCHR    10
  463. X#define MAXLINE 120
  464. X#define ITALIC    1
  465. X
  466. X
  467. static char *block_char[] = {
  468. X"             !!       \"\" \"\"                 $$     %%%    %%  &&&&        ''    ",
  469. X"             !!       \"\" \"\"     ##  ##   $$$$$$$$ %% %%  %%  &&  &&      ''     ",
  470. X"             !!       \"\" \"\"     ##  ##  $$$$$$$$$$%% %% %%   &&  &&     ''      ",
  471. X"             !!       \"\" \"\"   ##########$$  $$     %%% %%     && &&             ",
  472. X"             !!                 ##  ##  $$$$$$$$$     %%       &&&              ",
  473. X"             !!                 ##  ##   $$$$$$$$$   %%       && &&             ",
  474. X"             !!               ##########    $$  $$  %%  %%%  &&   && &          ",
  475. X"                                ##  ##  $$$$$$$$$$ %%  %% %%&&     &&&          ",
  476. X"             !!                 ##  ##   $$$$$$$$ %%   %% %%&&     &&           ",
  477. X"             !!                             $$    %     %%%  &&&&&& &           ",
  478. X"       (    )                                                                  /",
  479. X"     ((      ))                   ++                                          //",
  480. X"    ((        ))     *  *  *      ++                                         // ",
  481. X"   ((          ))     * * *       ++                                        //  ",
  482. X"   ((          ))      ***    ++++++++++          ----------               //   ",
  483. X"   ((          ))   ********* ++++++++++          ----------              //    ",
  484. X"   ((          ))      ***        ++       ,,,                           //     ",
  485. X"    ((        ))      * * *       ++      ,,,,,                  ...    //      ",
  486. X"     ((      ))      *  *  *      ++       ,,,,                 .....  //       ",
  487. X"       (    )                                ,                   ...   /        ",
  488. X"   0000       11     22222222 3333333333     444  5555555555 66666666 7777777777",
  489. X"  000000    1111    2222222222333333333     4444  555555555566666666667777777777",
  490. X" 00    00  11 11    2       22      33     44 44  55        66       6       77 ",
  491. X"00      00    11            22     33     44  44  55        66              77  ",
  492. X"00      00    11           222    333    44   44  555555555 666666666      77   ",
  493. X"00      00    11         222        333 444444444455555555556666666666    77    ",
  494. X"00      00    11       222           33 4444444444        5566      66   77     ",
  495. X" 00    00     11      222     3       33      44  5       5566      66  77      ",
  496. X"  000000  111111111122222222223333333333      44  55555555556666666666 77       ",
  497. X"   0000   11111111112222222222 33333333       44   55555555  66666666 77        ",
  498. X" 88888888  99999999                                                    ???????? ",
  499. X"88888888889999999999                          <<              >>      ??????????",
  500. X"88      8899      99   :::       ;;;         <<                >>     ??      ??",
  501. X"88      8899      99   :::       ;;;        <<    ==========    >>            ??",
  502. X" 88888888 9999999999                       <<     ==========     >>        ???? ",
  503. X" 88888888  999999999                      <<                      >>      ??    ",
  504. X"88      88        99   :::       ;;;       <<     ==========     >>       ??    ",
  505. X"88      88        99   :::       ;;;        <<    ==========    >>              ",
  506. X"88888888889999999999              ;;         <<                >>         ??    ",
  507. X" 88888888  99999999               ;           <<              >>          ??    ",
  508. X" @@@@@@@@  AAAAAAAA BBBBBBBBB  CCCCCCCC DDDDDDDDD EEEEEEEEEEFFFFFFFFFF GGGGGGGG ",
  509. X"@@@@@@@@@@AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEFFFFFFFFFFGGGGGGGGGG",
  510. X"@@      @@AA      AABB      BBCC       CDD      DDEE        FF        GG        ",
  511. X"@@  @@@ @@AA      AABB      BBCC        DD      DDEE        FF        GG        ",
  512. X"@@  @@@@@@AA      AABBBBBBBBB CC        DD      DDEEEEE     FFFFF     GG   GGGGG",
  513. X"@@  @@@@@@AAAAAAAAAABBBBBBBBB CC        DD      DDEEEEE     FFFFF     GG   GGGGG",
  514. X"@@   @@@@ AAAAAAAAAABB      BBCC        DD      DDEE        FF        GG      GG",
  515. X"@@        AA      AABB      BBCC       CDD      DDEE        FF        GG      GG",
  516. X"@@@@@@@@@@AA      AABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEFF        GGGGGGGGGG",
  517. X" @@@@@@@@ AA      AABBBBBBBBB  CCCCCCCC DDDDDDDDD EEEEEEEEEEFF         GGGGGGGGG",
  518. X"HH      HHIIIIIIIIII  JJJJJJJJKK      KKLL        MM      MMNN      NN OOOOOOOO ",
  519. X"HH      HHIIIIIIIIII  JJJJJJJJKK     KK LL        MMMM  MMMMNNN     NNOOOOOOOOOO",
  520. X"HH      HH    II         JJ   KK   KK   LL        MM MMMM MMNNNN    NNOO     OOO",
  521. X"HH      HH    II         JJ   KK KK     LL        MM  MM  MMNN NN   NNOO    O OO",
  522. X"HHHHHHHHHH    II         JJ   KKKKK     LL        MM  MM  MMNN  NN  NNOO   O  OO",
  523. X"HHHHHHHHHH    II         JJ   KK  KK    LL        MM      MMNN  NN  NNOO  O   OO",
  524. X"HH      HH    II    JJ   JJ   KK   KK   LL        MM      MMNN   NN NNOO O    OO",
  525. X"HH      HH    II    JJ   JJ   KK    KK  LL        MM      MMNN    NNNNOOO     OO",
  526. X"HH      HHIIIIIIIIIIJJJJJJJ   KK     KK LLLLLLLLLLMM      MMNN     NNNOOOOOOOOOO",
  527. X"HH      HHIIIIIIIIII JJJJJ    KK      KKLLLLLLLLLLMM      MMNN      NN OOOOOOOO ",
  528. X"PPPPPPPPP  QQQQQQQQ RRRRRRRRR  SSSSSSSS TTTTTTTTTTUU      UUVV      VVWW      WW",
  529. X"PPPPPPPPPPQQQQQQQQQQRRRRRRRRRRSSSSSSSSSSTTTTTTTTTTUU      UUVV      VVWW      WW",
  530. X"PP      PPQQ      QQRR      RRSS       S    TT    UU      UU VV    VV WW      WW",
  531. X"PP      PPQQ      QQRR      RRSS            TT    UU      UU VV    VV WW      WW",
  532. X"PPPPPPPPPPQQ      QQRRRRRRRRRRSSSSSSSSS     TT    UU      UU VV    VV WW  WW  WW",
  533. X"PPPPPPPPP QQ      QQRRRRRRRRR  SSSSSSSSS    TT    UU      UU VV    VV WW  WW  WW",
  534. X"PP        QQ   QQ QQRR   RR           SS    TT    UU      UU  VV  VV  WW  WW  WW",
  535. X"PP        QQ    QQQQRR    RR  S       SS    TT    UU      UU  VV  VV  WW WWWW WW",
  536. X"PP        QQQQQQQQQ RR     RR SSSSSSSSSS    TT    UUUUUUUUUU   VVVV    WWW  WWW ",
  537. X"PP         QQQQQQ QQRR      RR SSSSSSSS     TT     UUUUUUUU     VV     WW    WW ",
  538. X"XX      XXYY      YYZZZZZZZZZZ  [[[[[    \\           ]]]]]                      ",
  539. X" XX    XX  YY    YY ZZZZZZZZZ   [[       \\\\             ]]      ^^              ",
  540. X"  XX  XX    YY  YY        ZZ    [[        \\\\            ]]     ^^^^             ",
  541. X"   XXXX      YYYY        ZZ     [[         \\\\           ]]    ^^  ^^            ",
  542. X"    XX        YY     ZZZZZZZZ   [[          \\\\          ]]   ^^    ^^           ",
  543. X"   XXXX       YY     ZZZZZZZZ   [[           \\\\         ]]  ^^      ^^          ",
  544. X"  XX  XX      YY       ZZ       [[            \\\\        ]]                      ",
  545. X" XX    XX     YY      ZZ        [[             \\\\       ]]                      ",
  546. X"XX      XX    YY     ZZZZZZZZZ  [[              \\\\      ]]            __________",
  547. X"XX      XX    YY    ZZZZZZZZZZ  [[[[[            \\   ]]]]]            __________",
  548. X"  ``       AAAAAAAA BBBBBBBBB  CCCCCCCC DDDDDDDDD EEEEEEEEEEFFFFFFFFFF GGGGGGGG ",
  549. X"   ``     AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEFFFFFFFFFFGGGGGGGGGG",
  550. X"    ``    AA      AABB      BBCC       CDD      DDEE        FF        GG        ",
  551. X"          AA      AABB      BBCC        DD      DDEE        FF        GG        ",
  552. X"          AA      AABBBBBBBBB CC        DD      DDEEEEE     FFFFF     GG   GGGGG",
  553. X"          AAAAAAAAAABBBBBBBBB CC        DD      DDEEEEE     FFFFF     GG   GGGGG",
  554. X"          AAAAAAAAAABB      BBCC        DD      DDEE        FF        GG      GG",
  555. X"          AA      AABB      BBCC       CDD      DDEE        FF        GG      GG",
  556. X"          AA      AABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEFF        GGGGGGGGGG",
  557. X"          AA      AABBBBBBBBB  CCCCCCCC DDDDDDDDD EEEEEEEEEEFF         GGGGGGGGG",
  558. X"HH      HHIIIIIIIIII  JJJJJJJJKK      KKLL        MM      MMNN      NN OOOOOOOO ",
  559. X"HH      HHIIIIIIIIII  JJJJJJJJKK     KK LL        MMMM  MMMMNNN     NNOOOOOOOOOO",
  560. X"HH      HH    II         JJ   KK   KK   LL        MM MMMM MMNNNN    NNOO     OOO",
  561. X"HH      HH    II         JJ   KK KK     LL        MM  MM  MMNN NN   NNOO    O OO",
  562. X"HHHHHHHHHH    II         JJ   KKKKK     LL        MM  MM  MMNN  NN  NNOO   O  OO",
  563. X"HHHHHHHHHH    II         JJ   KK  KK    LL        MM      MMNN  NN  NNOO  O   OO",
  564. X"HH      HH    II    JJ   JJ   KK   KK   LL        MM      MMNN   NN NNOO O    OO",
  565. X"HH      HH    II    JJ   JJ   KK    KK  LL        MM      MMNN    NNNNOOO     OO",
  566. X"HH      HHIIIIIIIIIIJJJJJJJ   KK     KK LLLLLLLLLLMM      MMNN     NNNOOOOOOOOOO",
  567. X"HH      HHIIIIIIIIII JJJJJ    KK      KKLLLLLLLLLLMM      MMNN      NN OOOOOOOO ",
  568. X"PPPPPPPPP  QQQQQQQQ RRRRRRRRR  SSSSSSSS TTTTTTTTTTUU      UUVV      VVWW      WW",
  569. X"PPPPPPPPPPQQQQQQQQQQRRRRRRRRRRSSSSSSSSSSTTTTTTTTTTUU      UUVV      VVWW      WW",
  570. X"PP      PPQQ      QQRR      RRSS       S    TT    UU      UU VV    VV WW      WW",
  571. X"PP      PPQQ      QQRR      RRSS            TT    UU      UU VV    VV WW      WW",
  572. X"PPPPPPPPPPQQ      QQRRRRRRRRRRSSSSSSSSS     TT    UU      UU VV    VV WW  WW  WW",
  573. X"PPPPPPPPP QQ      QQRRRRRRRRR  SSSSSSSSS    TT    UU      UU VV    VV WW  WW  WW",
  574. X"PP        QQ   QQ QQRR   RR           SS    TT    UU      UU  VV  VV  WW  WW  WW",
  575. X"PP        QQ    QQQQRR    RR  S       SS    TT    UU      UU  VV  VV  WW WWWW WW",
  576. X"PP        QQQQQQQQQ RR     RR SSSSSSSSSS    TT    UUUUUUUUUU   VVVV    WWW  WWW ",
  577. X"PP         QQQQQQ QQRR      RR SSSSSSSS     TT     UUUUUUUU     VV     WW    WW ",
  578. X"XX      XXYY      YYZZZZZZZZZZ   {{{{       ||      }}}}     ~~~                ",
  579. X" XX    XX  YY    YY ZZZZZZZZZ   {{          ||         }}   ~~ ~~    ~          ",
  580. X"  XX  XX    YY  YY        ZZ    {{          ||         }}   ~    ~~ ~~          ",
  581. X"   XXXX      YYYY        ZZ     {{          ||         }}         ~~~           ",
  582. X"    XX        YY     ZZZZZZZZ  {{                       }}                      ",
  583. X"   XXXX       YY     ZZZZZZZZ  {{                       }}                      ",
  584. X"  XX  XX      YY       ZZ       {{          ||         }}                       ",
  585. X" XX    XX     YY      ZZ        {{          ||         }}                       ",
  586. X"XX      XX    YY     ZZZZZZZZZ  {{          ||         }}                       ",
  587. X"XX      XX    YY    ZZZZZZZZZZ   {{{{       ||      }}}}                        ",
  588. X};
  589. X
  590. X#include <stdio.h>
  591. X#define SPACE ' '
  592. X
  593. main   (argc, argv)
  594. int    argc;
  595. char    **argv;
  596. X{
  597. X    struct  {
  598. X        int row;
  599. X        int colm;
  600. X    } pos[MAXCHR];
  601. X        int    i, j, k;
  602. X    int    wordlen;
  603. X    int    c_type;
  604. X    char   *word;
  605. X    char    line[MAXLINE];
  606. X
  607. X    for (i = 1; --argc > 0; i++) {
  608. X    if (!strcmp (argv[i], "-i")) {
  609. X        c_type = ITALIC;
  610. X        continue;
  611. X    } 
  612. X    word = argv[i];
  613. X    wordlen = strlen (word);
  614. X    for (j=0; j < wordlen && j < MAXCHR; j++) {
  615. X        if (word[j] < SPACE) word[j] = '?';
  616. X        pos[j].row  = (int)(word[j] - SPACE) / 8;
  617. X        pos[j].colm = (int)(word[j] - SPACE) % 8;
  618. X    }
  619. X    for (k=0; k<HCHR; k++) {
  620. X        bzero (line, MAXLINE);
  621. X        wordlen = strlen (word);
  622. X        if (c_type == ITALIC) strncat (line, "              ", HCHR-k-1);
  623. X        for (j=0; j < wordlen && j < MAXCHR; j++) {
  624. X            (void) strncat (line, &block_char[pos[j].row*HCHR+k][pos[j].colm*WCHR], WCHR);
  625. X            (void) strcat (line, "  ");
  626. X        }
  627. X        (void) printf ("%s\n", line);
  628. X    }
  629. X    printf (" \n \n");
  630. X    c_type--;
  631. X    }
  632. X}
  633. END_OF_FILE
  634. if test 11573 -ne `wc -c <'banner-5/block.c'`; then
  635.     echo shar: \"'banner-5/block.c'\" unpacked with wrong size!
  636. fi
  637. # end of 'banner-5/block.c'
  638. fi
  639. if test -f 'banner-5/sban.c' -a "${1}" != "-c" ; then 
  640.   echo shar: Will not clobber existing file \"'banner-5/sban.c'\"
  641. else
  642. echo shar: Extracting \"'banner-5/sban.c'\" \(7705 characters\)
  643. sed "s/^X//" >'banner-5/sban.c' <<'END_OF_FILE'
  644. X
  645. X/* Small Korean Banner */
  646. X
  647. X#include <stdio.h>
  648. X
  649. X#define TOTAL 60
  650. X#define BufSize 255
  651. X
  652. X#define CW   2   /* character width */
  653. X#define CL   2   /* character length */ 
  654. X
  655. X#define SD   1   /* shift down */ 
  656. X#define SR   1   /* shift right */ 
  657. X#define SB   1   /* shift below */
  658. X
  659. X#define MC   15  /* max characters */
  660. X
  661. X#define DFName     "/ufo2/fcode/e880505/Bin/sban.dat"    /* data file name */
  662. X
  663. static char alpha[]={"abcdefghijklmnopqrstuvwxyzQWERTOP?!.,:_AZSXDCFVGB1234567890"};
  664. static char c[]={"acdefgqrstvwxzQWERT"};  /* consonant */
  665. static char v1[]={"ijklopuOP"}; 
  666. static char v2[]={"bhny"};
  667. static char v3[]={"m"};
  668. static char s[]={"?!.,:_AZSXDCFVGB1234567890"};
  669. X
  670. struct FONT  {
  671. X    int   address;
  672. X    short type;
  673. X    }  a[TOTAL];  
  674. X
  675. int  b[BufSize];    /*  board  */
  676. int  t[BufSize];    /*  taget  */
  677. X
  678. char board[2*CL+3][(CW*2+1)*MC+3]; 
  679. char *receiver;   /*  special receiver  */
  680. char *message;
  681. X
  682. short  word_counter ;
  683. X
  684. main(argc,argv)
  685. int argc;
  686. char *argv[];
  687. X{ 
  688. X    int number , station = 0; 
  689. X    
  690. X    if( argc != 2 && argc !=3 ) {Error(":)"); Quit();} 
  691. X    if(argc == 3 )  receiver = argv[2];
  692. X    make_font(); 
  693. X    message = argv[1];
  694. X    number=make_board(message);
  695. X    while(1){
  696. X        word_counter=0;
  697. X        clear_board();
  698. X        station=load_board(station,number);
  699. X        print_board(argc-2);
  700. X        fflush(stdout);
  701. X        if(station == number) break;
  702. X    }
  703. X}
  704. clear_board()
  705. X{
  706. X    int i,j;
  707. X
  708. X    for(i=0;i<2*CL+3; i++ ){
  709. X        for( j=0; j< (CW*2+1)*MC; j++)
  710. X            board[i][j] = ' ';
  711. X        board[i][j] = 0;
  712. X    }
  713. X}
  714. X
  715. contractor( index ,num)
  716. int index;
  717. int num;
  718. X{
  719. X    int i,j;
  720. X    int what, mwhat, twhat;
  721. X            
  722. X    switch( t[index] ){
  723. X        case 4:   /** symbolic  */
  724. X            return 0;
  725. X            break;
  726. X        case 1:    /* */
  727. X            if( index > 0 ) {
  728. X                    if( t[index-1] ==2 ) return 2;
  729. X                    else if( t[index-1] == 3) return 11;
  730. X                    else return 1;
  731. X                    }
  732. X            else return 1;
  733. X            break;
  734. X        case 2:   /** velar */ 
  735. X            return 3;
  736. X            break;
  737. X        case 3:   /*  case of m */
  738. X            return 10;
  739. X            break;
  740. X        case 0:   /*  consonant */
  741. X            if(index==0 ) return 0;
  742. X            if( index <num-1 ) { 
  743. X                what = contractor(index+1, num );
  744. X                if( what==1||what==2||what==3||what==10||what==11) return 0;
  745. X                if( what == 0 ) {
  746. X                    twhat = t[index-1] ;
  747. X                    if( twhat== 1 ) {
  748. X                        mwhat = contractor(index-1, num );
  749. X                        if( mwhat== 1) return 8;
  750. X                        if(mwhat == 2) return 9;
  751. X                        if( mwhat == 11 ) return 14;
  752. X                        }
  753. X                    if( twhat == 2) {
  754. X                            return 6;
  755. X                        }
  756. X                    if( twhat == 3) {
  757. X                        return 12;
  758. X                        }
  759. X                    if( twhat== 0) {
  760. X                        mwhat = contractor( index-2);
  761. X                        if(mwhat == 1) return 5;
  762. X                        if(mwhat == 11) return 13;
  763. X                        if(mwhat == 2) return 7;
  764. X                        if(mwhat == 3) return 7;
  765. X                        if(mwhat == 10) return 13;
  766. X                        }
  767. X                    } /* if */
  768. X                  else{ 
  769. X                    mwhat = contractor( index-1, num );
  770. X                    if(mwhat == 1 ) return 4;
  771. X                    if(mwhat == 11) return 12;
  772. X                    if(mwhat == 2 ) return 6;
  773. X                    if(mwhat == 3 ) return 6;
  774. X                    if(mwhat == 10) return 12;
  775. X                    }
  776. X                }    /*  if */
  777. X            else { 
  778. X                twhat = t[index-1];
  779. X                if(twhat == 0) {
  780. X                    mwhat = contractor(index-2, num);
  781. X                    if( mwhat == 3 )  return 7;
  782. X                    if( mwhat == 10) return 13;
  783. X                    if( mwhat == 1 ) return 5;
  784. X                    if( mwhat == 11) return 13;
  785. X                    if(mwhat ==2 ) return 7;
  786. X                    }
  787. X                mwhat = contractor( index-1 , num );
  788. X                if( mwhat == 3 ) return 6;
  789. X                if( mwhat == 10) return 12;
  790. X                if( mwhat == 1 ) return 8;
  791. X                if( mwhat == 11) return 14;
  792. X                if( mwhat == 2 ) return 9;
  793. X                }
  794. X        break;
  795. X        } /* swtich */
  796. X} /* end of procedure */
  797. X
  798. X
  799. X
  800. load_board(stop, num )
  801. int stop;
  802. int num;
  803. X{
  804. X    int i;
  805. X    int x=0 ,y=0 ;    /* location of a charcater */
  806. X    int tx, ty ;   /* location of a alphabet */ 
  807. X    short  what;
  808. X    
  809. X    for( i= stop ; i< num ; i++ ){ 
  810. X        what = contractor(i,num); 
  811. X        switch( what ){
  812. X            case 0:
  813. X                if(i!=stop) { x+=CW*2+1 ;  }
  814. X                tx=x; ty = y;
  815. X                word_counter++;
  816. X                if( word_counter > MC )  return i;
  817. X                break;
  818. X            case 1:
  819. X                tx = x+CW ;
  820. X                ty=y;
  821. X                break;
  822. X            case 2: 
  823. X            case 11:
  824. X                tx= x+CW;
  825. X                ty= y+SB ;
  826. X                break; 
  827. X            case 3: 
  828. X                tx = x; 
  829. X                ty = y+CL ;
  830. X                break;
  831. X            case 10:
  832. X                tx = x;
  833. X                ty = y+CL-1;
  834. X                break;
  835. X            case 4:
  836. X                tx = x ;
  837. X                ty = y+CL ;
  838. X                break; 
  839. X            case 12:
  840. X                tx=x;
  841. X                ty = y+CL+1;
  842. X                break;
  843. X            case 5:
  844. X                tx= x+CW ;
  845. X                ty = y+CL;
  846. X                break;
  847. X            case 13:
  848. X                tx= x+CW ;
  849. X                ty = y+CL+1;
  850. X                break;
  851. X            case 6:
  852. X                tx = x;
  853. X                ty = y+CL+SD ;
  854. X                break;
  855. X            case 7:
  856. X                tx = x+CW;
  857. X                ty = y+CL+SD;
  858. X                break;
  859. X            case 8:
  860. X                tx = x+ SR;
  861. X                ty = y+CL;
  862. X                break;
  863. X            case 14:
  864. X                tx = x+ SR;
  865. X                ty = y+CL+1;
  866. X                break;
  867. X            case 9:
  868. X                tx = x +SR;
  869. X                ty= y+CL+SD;
  870. X                break;
  871. X            default:
  872. X                break;
  873. X                }  /* switch */
  874. X        sculpture( tx,ty, b[i] );
  875. X        }   /*  for */
  876. X        return i;
  877. X}   /*  end of function */    
  878. X
  879. sculpture( x, y, index )
  880. int x,y, index;
  881. X{
  882. X    FILE *fptr;
  883. X    char str[20],len;
  884. X    int i,j;
  885. X
  886. X    if( NULL == (fptr=fopen(DFName,"r"))) { Error("8)"); Quit();}
  887. X    fseek(fptr, (long)(a[index].address), 0 );
  888. X    for(i=0; i< CL ; i++ ){
  889. X        fgets( str, CW+5, fptr);
  890. X        len = strlen( str );
  891. X        str[ len-1] =' '; len--;
  892. X        for(j=0 ; j <len ; j++ ){
  893. X            if( str[j] != ' ') board[y+i][x+j] = str[j] ; 
  894. X        }  /*  for */
  895. X    }  /* for */
  896. X    fclose(fptr);
  897. X}
  898. compress(str)
  899. char *str;
  900. X{
  901. X    int i,len ;
  902. X    len = strlen(str);
  903. X    for(i=0; i<len ; i++ )
  904. X        if( str[i] != ' ')  return 1;
  905. X    return 0;
  906. X}
  907. X
  908. X
  909. print_board(mode)
  910. short mode;
  911. X{
  912. X    int i,  limit;
  913. X
  914. X    for(i=0; i < CL*2+3 ; i++ )
  915. X        if( compress(board[i]) ) limit=i;
  916. X
  917. X    board_optimize( limit );
  918. X    board_compress( limit );
  919. X    space_check( limit );
  920. X        
  921. X    if(mode == 0 ) {
  922. X        for(i=0 ; i <= limit ; i++ ){
  923. X                    puts( board[i]);
  924. X                    fflush(stdout);
  925. X                    }
  926. X    fflush(stdout);
  927. X                }
  928. X    else if( mode==1 )   for(i=0 ; i <= limit ; i++ )
  929. X                            printf("%s:%s\n",receiver,board[i]);
  930. X}
  931. X
  932. space_check(max)
  933. X{
  934. X    int i,j;
  935. X
  936. X    for(i=0;i<=max ; i++ )
  937. X        for( j=0; j< (CW*2+1)*MC-1; j++)
  938. X            if(board[i][j] == 'A')  board[i][j]=' ';
  939. X}
  940. board_compress( max )
  941. int max;
  942. X{
  943. X    int i,j;
  944. X    int end;
  945. X    int sw = 0;
  946. X    char tablet[CL*3+2];
  947. X
  948. X    end = strlen(board[0]);
  949. X
  950. X    for(i=0 ; i<end-1 ; i++ ){
  951. X        for(j=0; j<= max ; j++ ) tablet[j]= board[j][i];
  952. X        tablet[j] = 0;
  953. X        if( strClen(tablet) ==0 ){ 
  954. X            sw++; 
  955. X            if (sw==3){
  956. X                exec_compress(i,max,end);
  957. X                sw--;
  958. X                end--;
  959. X                i--;  } /* if */
  960. X                }  /* if */
  961. X        else sw=0;
  962. X        }  /* for i */
  963. X}
  964. X
  965. exec_compress( i, max, end)
  966. int i,max,end;
  967. X{
  968. X    int j,k;
  969. X
  970. X    for(j=0 ; j<=max ; j++ ){
  971. X        for(k=i; k<end-1; k++ )
  972. X            board[j][k]=board[j][k+1];
  973. X        board[j][k] = 0 ;
  974. X        }
  975. X}
  976. strClen(str)
  977. char *str;
  978. X{
  979. X    int len, i;
  980. X    len=strlen(str);
  981. X    for(i=0 ; i<len ; i++)
  982. X        if(str[i]!=' ') return 1;
  983. X    return 0;
  984. X}
  985. board_optimize( max )
  986. int max;
  987. X{
  988. X    int i,j,k;
  989. X    int local_max;
  990. X    int delta ;
  991. X
  992. X    for(i=0; i< word_counter ; i++ ){
  993. X        local_max= local_scan(i,max);
  994. X        if( local_max <= max-2) {
  995. X            delta = (max-local_max)/2 ;
  996. X            for( j=i*(CW*2+1); j< (i+1)*(CW*2+1) ; j++) 
  997. X                for(k=local_max ; k>=0 ; k--){
  998. X                    board[k+delta][j] = board[k][j];
  999. X                    board[k][j]=' ';
  1000. X                    }  /*  for k */
  1001. X                } /*  if  */
  1002. X        } /* for i */
  1003. X}
  1004. X
  1005. local_scan(i,max)
  1006. int i;
  1007. int max;
  1008. X{
  1009. X    int j,k;
  1010. X    int local=0;
  1011. X
  1012. X    for( j=i*(CW*2+1); j< (i+1)*(CW*2+1) ; j++) 
  1013. X        for(k=max; k>0 ; k--) 
  1014. X            if( board[k][j] != ' ') { if(k>local) local=k ; break; }
  1015. X    return local;
  1016. X}
  1017. X        
  1018. make_board(str)
  1019. char *str;
  1020. X{
  1021. X    int i,len,defect=0 ;
  1022. X
  1023. X    len = strlen(str); 
  1024. X    
  1025. X    for(i=0; i<len ; i++ ) { 
  1026. X        b[i+defect] = where( str[i], alpha );
  1027. X        if( b[i+defect] == -1 ) defect--;
  1028. X        else t[i+defect] = a[b[i+defect]].type;
  1029. X        }
  1030. X    return i+defect; 
  1031. X}
  1032. make_font()
  1033. X{
  1034. X    int i;
  1035. X    for(i=0; i<TOTAL ; i++ ) { 
  1036. X        a[i].type = exist( alpha[i] );
  1037. X        a[i].address = i*(CL*(CW+1)+1) ;
  1038. X        }
  1039. X}
  1040. X    
  1041. exist( ch )
  1042. X{
  1043. X    if( where(ch, c ) >-1 )  return 0;
  1044. X    else if( where( ch, v1) > -1 ) return 1;
  1045. X    else if( where(ch, v2) >-1 ) return 2;
  1046. X    else if( where(ch, v3) >-1 ) return 3;
  1047. X    return 4;
  1048. X}
  1049. where( ch, str )
  1050. char ch;
  1051. char *str;
  1052. X{
  1053. X    int i, len;
  1054. X
  1055. X    len=strlen(str);
  1056. X    for(i=0; i<len ; i++ ) 
  1057. X        if( ch == str[i] )  return i;
  1058. X    return -1;
  1059. X}
  1060. XError(str)
  1061. char *str;
  1062. X{
  1063. X    puts(str);
  1064. X}
  1065. Quit()
  1066. X{
  1067. X    exit(0);
  1068. X}
  1069. X
  1070. END_OF_FILE
  1071. if test 7705 -ne `wc -c <'banner-5/sban.c'`; then
  1072.     echo shar: \"'banner-5/sban.c'\" unpacked with wrong size!
  1073. fi
  1074. # end of 'banner-5/sban.c'
  1075. fi
  1076. if test -f 'banner-8/banner.c' -a "${1}" != "-c" ; then 
  1077.   echo shar: Will not clobber existing file \"'banner-8/banner.c'\"
  1078. else
  1079. echo shar: Extracting \"'banner-8/banner.c'\" \(9151 characters\)
  1080. sed "s/^X//" >'banner-8/banner.c' <<'END_OF_FILE'
  1081. X/* From: amos shapir <amos@cs.huji.ac.il> */
  1082. X/* modified by Frank Kaefer <fkk@stasys.sta.sub.org> */
  1083. X
  1084. X/*
  1085. X * small banner 8x8 matrix
  1086. X */
  1087. X
  1088. X#include <stdio.h>
  1089. extern char chrtab[][8];
  1090. X#ifdef HEBREW
  1091. extern char htab[][8];
  1092. X#endif HEBREW
  1093. X#define NMSG    80
  1094. X
  1095. main(argc, argv)
  1096. char **argv;
  1097. X{
  1098. X    register char *sp;
  1099. X    register int i, j, t, j1, t1;
  1100. X    static char msg[NMSG];
  1101. X    int hebrew = 0, shadow = 0;
  1102. X
  1103. X    while(argc > 1 && argv[1][0] == '-') {
  1104. X        argc--;
  1105. X        argv++;
  1106. X        switch(argv[0][1]) {
  1107. X#ifdef HEBREW
  1108. X        case 'h':
  1109. X            hebrew = 1;
  1110. X            break;
  1111. X#endif HEBREW
  1112. X        case 's':
  1113. X            shadow = 1;
  1114. X            break;
  1115. X        }
  1116. X    }
  1117. X    if(argc > 1)
  1118. X        strncpy(msg, *++argv, NMSG);
  1119. X    else {
  1120. X        fputs("Message: ", stderr);
  1121. X        for(sp=msg, i=0; (*sp++ = getchar())!='\n' && i<NMSG-1; i++)
  1122. X            ;
  1123. X        *--sp = '\0';
  1124. X    }
  1125. X
  1126. X    for (i=0; i<8; i++) {
  1127. X        if(shadow)
  1128. X            for (j=i; j<7; j++)
  1129. X                putchar(' ');
  1130. X        for (sp = msg; *sp; sp++) {
  1131. X            if((t = *sp) == '\\') {
  1132. X                for(t=0,j=0;j<3 && *++sp>='0' && *sp<='7'; j++)
  1133. X                    t = t*8 + *sp - '0';
  1134. X                if(j == 0) {
  1135. X                    t = *sp;
  1136. X                    if(t == 'h') {
  1137. X                        hebrew = 1;
  1138. X                        continue;
  1139. X                    } else if(t == 'e') {
  1140. X                        hebrew = 0;
  1141. X                        continue;
  1142. X                    }
  1143. X                } else if(j < 3)
  1144. X                    sp--;
  1145. X            } else
  1146. X                t = *sp;
  1147. X            if(hebrew) {
  1148. X                if(shadow && i<7)
  1149. X#ifdef HEBREW
  1150. X                    t1 = htab[t & 037][i+1];
  1151. X                t = htab[t & 037][i];
  1152. X#else HEBREW
  1153. X                    ;
  1154. X                ;
  1155. X#endif HEBREW
  1156. X            } else {
  1157. X                if(shadow && i<7)
  1158. X                    t1 = chrtab[t & 0177][i+1];
  1159. X                t = chrtab[t & 0177][i];
  1160. X            }
  1161. X            if(shadow) {
  1162. X                for (j1=0, j=0200; (j|j1)!=0; j1=j, j >>= 1)
  1163. X                    putchar((j&t) ? (j&t1) ? ' ' : '_'
  1164. X                     : (j1&t) ? '/' : ' ');
  1165. X            } else {
  1166. X                for (j=0200; j!=0; j >>= 1)
  1167. X                    putchar((j&t) ? '#' : ' ');
  1168. X            }
  1169. X        }
  1170. X        putchar('\n');
  1171. X    }
  1172. X}
  1173. X
  1174. X/* char generator table from IBM PC */
  1175. char chrtab[128][8] = {
  1176. X    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    /* 00 */
  1177. X    0x7E, 0x81, 0xA5, 0x81, 0xBD, 0x99, 0x81, 0x7E,    /* 01 */
  1178. X    0x7E, 0xFF, 0xDB, 0xFF, 0xC3, 0xE7, 0xFF, 0x7E,    /* 02 */
  1179. X    0x6C, 0xFE, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00,    /* 03 */
  1180. X    0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, 0x00,    /* 04 */
  1181. X    0x38, 0x7C, 0x38, 0xFE, 0xFE, 0x7C, 0x38, 0x7C,    /* 05 */
  1182. X    0x10, 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x7C,    /* 06 */
  1183. X    0x00, 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, 0x00,    /* 07 */
  1184. X    0xFF, 0xFF, 0xE7, 0xC3, 0xC3, 0xE7, 0xFF, 0xFF,    /* 08 */
  1185. X    0x00, 0x3C, 0x66, 0x42, 0x42, 0x66, 0x3C, 0x00,    /* 09 */
  1186. X    0xFF, 0xC3, 0x99, 0xBD, 0xBD, 0x99, 0xC3, 0xFF,    /* 0A */
  1187. X    0x0F, 0x07, 0x0F, 0x7D, 0xCC, 0xCC, 0xCC, 0x78,    /* 0B */
  1188. X    0x3C, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18,    /* 0C */
  1189. X    0x3F, 0x33, 0x3F, 0x30, 0x30, 0x70, 0xF0, 0xE0,    /* 0D */
  1190. X    0x7F, 0x63, 0x7F, 0x63, 0x63, 0x67, 0xE6, 0xC0,    /* 0E */
  1191. X    0x99, 0x5A, 0x3C, 0xE7, 0xE7, 0x3C, 0x5A, 0x99,    /* 0F */
  1192. X    0x80, 0xE0, 0xF8, 0xFE, 0xF8, 0xE0, 0x80, 0x00,    /* 10 */
  1193. X    0x02, 0x0E, 0x3E, 0xFE, 0x3E, 0x0E, 0x02, 0x00,    /* 11 */
  1194. X    0x18, 0x3C, 0x7E, 0x18, 0x18, 0x7E, 0x3C, 0x18,    /* 12 */
  1195. X    0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00,    /* 13 */
  1196. X    0x7F, 0xDB, 0xDB, 0x7B, 0x1B, 0x1B, 0x1B, 0x00,    /* 14 */
  1197. X    0x3E, 0x63, 0x38, 0x6C, 0x6C, 0x38, 0xCC, 0x78,    /* 15 */
  1198. X    0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x00,    /* 16 */
  1199. X    0x18, 0x3C, 0x7E, 0x18, 0x7E, 0x3C, 0x18, 0xFF,    /* 17 */
  1200. X    0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x00,    /* 18 */
  1201. X    0x18, 0x18, 0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00,    /* 19 */
  1202. X    0x00, 0x18, 0x0C, 0xFE, 0x0C, 0x18, 0x00, 0x00,    /* 1A */
  1203. X    0x00, 0x30, 0x60, 0xFE, 0x60, 0x30, 0x00, 0x00,    /* 1B */
  1204. X    0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFE, 0x00, 0x00,    /* 1C */
  1205. X    0x00, 0x24, 0x66, 0xFF, 0x66, 0x24, 0x00, 0x00,    /* 1D */
  1206. X    0x00, 0x18, 0x3C, 0x7E, 0xFF, 0xFF, 0x00, 0x00,    /* 1E */
  1207. X    0x00, 0xFF, 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00,    /* 1F */
  1208. X    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    /* 20 */
  1209. X    0x30, 0x78, 0x78, 0x30, 0x30, 0x00, 0x30, 0x00,    /* 21 */
  1210. X    0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00,    /* 22 */
  1211. X    0x6C, 0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00,    /* 23 */
  1212. X    0x30, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x30, 0x00,    /* 24 */
  1213. X    0x00, 0xC6, 0xCC, 0x18, 0x30, 0x66, 0xC6, 0x00,    /* 25 */
  1214. X    0x38, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0x76, 0x00,    /* 26 */
  1215. X    0x60, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,    /* 27 */
  1216. X    0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00,    /* 28 */
  1217. X    0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00,    /* 29 */
  1218. X    0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00,    /* 2A */
  1219. X    0x00, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x00, 0x00,    /* 2B */
  1220. X    0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x60,    /* 2C */
  1221. X    0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00,    /* 2D */
  1222. X    0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00,    /* 2E */
  1223. X    0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x80, 0x00,    /* 2F */
  1224. X    0x7C, 0xC6, 0xCE, 0xDE, 0xF6, 0xE6, 0x7C, 0x00,    /* 30 */
  1225. X    0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0xFC, 0x00,    /* 31 */
  1226. X    0x78, 0xCC, 0x0C, 0x38, 0x60, 0xCC, 0xFC, 0x00,    /* 32 */
  1227. X    0x78, 0xCC, 0x0C, 0x38, 0x0C, 0xCC, 0x78, 0x00,    /* 33 */
  1228. X    0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x1E, 0x00,    /* 34 */
  1229. X    0xFC, 0xC0, 0xF8, 0x0C, 0x0C, 0xCC, 0x78, 0x00,    /* 35 */
  1230. X    0x38, 0x60, 0xC0, 0xF8, 0xCC, 0xCC, 0x78, 0x00,    /* 36 */
  1231. X    0xFC, 0xCC, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x00,    /* 37 */
  1232. X    0x78, 0xCC, 0xCC, 0x78, 0xCC, 0xCC, 0x78, 0x00,    /* 38 */
  1233. X    0x78, 0xCC, 0xCC, 0x7C, 0x0C, 0x18, 0x70, 0x00,    /* 39 */
  1234. X    0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x00,    /* 3A */
  1235. X    0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x60,    /* 3B */
  1236. X    0x18, 0x30, 0x60, 0xC0, 0x60, 0x30, 0x18, 0x00,    /* 3C */
  1237. X    0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00,    /* 3D */
  1238. X    0x60, 0x30, 0x18, 0x0C, 0x18, 0x30, 0x60, 0x00,    /* 3E */
  1239. X    0x78, 0xCC, 0x0C, 0x18, 0x30, 0x00, 0x30, 0x00,    /* 3F */
  1240. X    0x7C, 0xC6, 0xDE, 0xDE, 0xDE, 0xC0, 0x78, 0x00,    /* 40 */
  1241. X    0x30, 0x78, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0x00,    /* 41 */
  1242. X    0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00,    /* 42 */
  1243. X    0x3C, 0x66, 0xC0, 0xC0, 0xC0, 0x66, 0x3C, 0x00,    /* 43 */
  1244. X    0xF8, 0x6C, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00,    /* 44 */
  1245. X    0xFE, 0x62, 0x68, 0x78, 0x68, 0x62, 0xFE, 0x00,    /* 45 */
  1246. X    0xFE, 0x62, 0x68, 0x78, 0x68, 0x60, 0xF0, 0x00,    /* 46 */
  1247. X    0x3C, 0x66, 0xC0, 0xC0, 0xCE, 0x66, 0x3E, 0x00,    /* 47 */
  1248. X    0xCC, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0xCC, 0x00,    /* 48 */
  1249. X    0x78, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,    /* 49 */
  1250. X    0x1E, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, 0x00,    /* 4A */
  1251. X    0xE6, 0x66, 0x6C, 0x78, 0x6C, 0x66, 0xE6, 0x00,    /* 4B */
  1252. X    0xF0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00,    /* 4C */
  1253. X    0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00,    /* 4D */
  1254. X    0xC6, 0xE6, 0xF6, 0xDE, 0xCE, 0xC6, 0xC6, 0x00,    /* 4E */
  1255. X    0x38, 0x6C, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x00,    /* 4F */
  1256. X    0xFC, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00,    /* 50 */
  1257. X    0x78, 0xCC, 0xCC, 0xCC, 0xDC, 0x78, 0x1C, 0x00,    /* 51 */
  1258. X    0xFC, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0xE6, 0x00,    /* 52 */
  1259. X    0x78, 0xCC, 0xE0, 0x70, 0x1C, 0xCC, 0x78, 0x00,    /* 53 */
  1260. X    0xFC, 0xB4, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,    /* 54 */
  1261. X    0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x00,    /* 55 */
  1262. X    0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00,    /* 56 */
  1263. X    0xC6, 0xC6, 0xC6, 0xD6, 0xFE, 0xEE, 0xC6, 0x00,    /* 57 */
  1264. X    0xC6, 0xC6, 0x6C, 0x38, 0x38, 0x6C, 0xC6, 0x00,    /* 58 */
  1265. X    0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x30, 0x78, 0x00,    /* 59 */
  1266. X    0xFE, 0xC6, 0x8C, 0x18, 0x32, 0x66, 0xFE, 0x00,    /* 5A */
  1267. X    0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x00,    /* 5B */
  1268. X    0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x02, 0x00,    /* 5C */
  1269. X    0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00,    /* 5D */
  1270. X    0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00,    /* 5E */
  1271. X    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,    /* 5F */
  1272. X    0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,    /* 60 */
  1273. X    0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00,    /* 61 */
  1274. X    0xE0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0xDC, 0x00,    /* 62 */
  1275. X    0x00, 0x00, 0x78, 0xCC, 0xC0, 0xCC, 0x78, 0x00,    /* 63 */
  1276. X    0x1C, 0x0C, 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00,    /* 64 */
  1277. X    0x00, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00,    /* 65 */
  1278. X    0x38, 0x6C, 0x60, 0xF0, 0x60, 0x60, 0xF0, 0x00,    /* 66 */
  1279. X    0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8,    /* 67 */
  1280. X    0xE0, 0x60, 0x6C, 0x76, 0x66, 0x66, 0xE6, 0x00,    /* 68 */
  1281. X    0x30, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00,    /* 69 */
  1282. X    0x0C, 0x00, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78,    /* 6A */
  1283. X    0xE0, 0x60, 0x66, 0x6C, 0x78, 0x6C, 0xE6, 0x00,    /* 6B */
  1284. X    0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,    /* 6C */
  1285. X    0x00, 0x00, 0xCC, 0xFE, 0xFE, 0xD6, 0xC6, 0x00,    /* 6D */
  1286. X    0x00, 0x00, 0xF8, 0xCC, 0xCC, 0xCC, 0xCC, 0x00,    /* 6E */
  1287. X    0x00, 0x00, 0x78, 0xCC, 0xCC, 0xCC, 0x78, 0x00,    /* 6F */
  1288. X    0x00, 0x00, 0xDC, 0x66, 0x66, 0x7C, 0x60, 0xF0,    /* 70 */
  1289. X    0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0x1E,    /* 71 */
  1290. X    0x00, 0x00, 0xDC, 0x76, 0x66, 0x60, 0xF0, 0x00,    /* 72 */
  1291. X    0x00, 0x00, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x00,    /* 73 */
  1292. X    0x10, 0x30, 0x7C, 0x30, 0x30, 0x34, 0x18, 0x00,    /* 74 */
  1293. X    0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00,    /* 75 */
  1294. X    0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00,    /* 76 */
  1295. X    0x00, 0x00, 0xC6, 0xD6, 0xFE, 0xFE, 0x6C, 0x00,    /* 77 */
  1296. X    0x00, 0x00, 0xC6, 0x6C, 0x38, 0x6C, 0xC6, 0x00,    /* 78 */
  1297. X    0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8,    /* 79 */
  1298. X    0x00, 0x00, 0xFC, 0x98, 0x30, 0x64, 0xFC, 0x00,    /* 7A */
  1299. X    0x1C, 0x30, 0x30, 0xE0, 0x30, 0x30, 0x1C, 0x00,    /* 7B */
  1300. X    0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00,    /* 7C */
  1301. X    0xE0, 0x30, 0x30, 0x1C, 0x30, 0x30, 0xE0, 0x00,    /* 7D */
  1302. X    0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    /* 7E */
  1303. X    0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0x00,    /* 7F */
  1304. X};
  1305. END_OF_FILE
  1306. if test 9151 -ne `wc -c <'banner-8/banner.c'`; then
  1307.     echo shar: \"'banner-8/banner.c'\" unpacked with wrong size!
  1308. fi
  1309. # end of 'banner-8/banner.c'
  1310. fi
  1311. if test -f 'banner-8/banner.c-org' -a "${1}" != "-c" ; then 
  1312.   echo shar: Will not clobber existing file \"'banner-8/banner.c-org'\"
  1313. else
  1314. echo shar: Extracting \"'banner-8/banner.c-org'\" \(8985 characters\)
  1315. sed "s/^X//" >'banner-8/banner.c-org' <<'END_OF_FILE'
  1316. X/* From: amos shapir <amos@cs.huji.ac.il> */
  1317. X
  1318. X/*
  1319. X * small banner 8x8 matrix
  1320. X */
  1321. X
  1322. X#include <stdio.h>
  1323. extern char chrtab[][8];
  1324. extern char htab[][8];
  1325. X#define NMSG    80
  1326. X
  1327. main(argc, argv)
  1328. char **argv;
  1329. X{
  1330. X    register char *sp;
  1331. X    register int i, j, t, j1, t1;
  1332. X    static char msg[NMSG];
  1333. X    int hebrew = 0, shadow = 0;
  1334. X
  1335. X    while(argc > 1 && argv[1][0] == '-') {
  1336. X        argc--;
  1337. X        argv++;
  1338. X        switch(argv[0][1]) {
  1339. X        case 'h':
  1340. X            hebrew = 1;
  1341. X            break;
  1342. X        case 's':
  1343. X            shadow = 1;
  1344. X            break;
  1345. X        }
  1346. X    }
  1347. X    if(argc > 1)
  1348. X        strncpy(msg, *++argv, NMSG);
  1349. X    else {
  1350. X        fputs("Message: ", stderr);
  1351. X        for(sp=msg, i=0; (*sp++ = getchar())!='\n' && i<NMSG-1; i++)
  1352. X            ;
  1353. X        *--sp = '\0';
  1354. X    }
  1355. X
  1356. X    for (i=0; i<8; i++) {
  1357. X        if(shadow)
  1358. X            for (j=i; j<7; j++)
  1359. X                putchar(' ');
  1360. X        for (sp = msg; *sp; sp++) {
  1361. X            if((t = *sp) == '\\') {
  1362. X                for(t=0,j=0;j<3 && *++sp>='0' && *sp<='7'; j++)
  1363. X                    t = t*8 + *sp - '0';
  1364. X                if(j == 0) {
  1365. X                    t = *sp;
  1366. X                    if(t == 'h') {
  1367. X                        hebrew = 1;
  1368. X                        continue;
  1369. X                    } else if(t == 'e') {
  1370. X                        hebrew = 0;
  1371. X                        continue;
  1372. X                    }
  1373. X                } else if(j < 3)
  1374. X                    sp--;
  1375. X            } else
  1376. X                t = *sp;
  1377. X            if(hebrew) {
  1378. X                if(shadow && i<7)
  1379. X                    t1 = htab[t & 037][i+1];
  1380. X                t = htab[t & 037][i];
  1381. X            } else {
  1382. X                if(shadow && i<7)
  1383. X                    t1 = chrtab[t & 0177][i+1];
  1384. X                t = chrtab[t & 0177][i];
  1385. X            }
  1386. X            if(shadow) {
  1387. X                for (j1=0, j=0200; (j|j1)!=0; j1=j, j >>= 1)
  1388. X                    putchar((j&t) ? (j&t1) ? ' ' : '_'
  1389. X                     : (j1&t) ? '/' : ' ');
  1390. X            } else {
  1391. X                for (j=0200; j!=0; j >>= 1)
  1392. X                    putchar((j&t) ? '#' : ' ');
  1393. X            }
  1394. X        }
  1395. X        putchar('\n');
  1396. X    }
  1397. X}
  1398. X
  1399. X/* char generator table from IBM PC */
  1400. char chrtab[128][8] = {
  1401. X    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    /* 00 */
  1402. X    0x7E, 0x81, 0xA5, 0x81, 0xBD, 0x99, 0x81, 0x7E,    /* 01 */
  1403. X    0x7E, 0xFF, 0xDB, 0xFF, 0xC3, 0xE7, 0xFF, 0x7E,    /* 02 */
  1404. X    0x6C, 0xFE, 0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00,    /* 03 */
  1405. X    0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x10, 0x00,    /* 04 */
  1406. X    0x38, 0x7C, 0x38, 0xFE, 0xFE, 0x7C, 0x38, 0x7C,    /* 05 */
  1407. X    0x10, 0x10, 0x38, 0x7C, 0xFE, 0x7C, 0x38, 0x7C,    /* 06 */
  1408. X    0x00, 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, 0x00,    /* 07 */
  1409. X    0xFF, 0xFF, 0xE7, 0xC3, 0xC3, 0xE7, 0xFF, 0xFF,    /* 08 */
  1410. X    0x00, 0x3C, 0x66, 0x42, 0x42, 0x66, 0x3C, 0x00,    /* 09 */
  1411. X    0xFF, 0xC3, 0x99, 0xBD, 0xBD, 0x99, 0xC3, 0xFF,    /* 0A */
  1412. X    0x0F, 0x07, 0x0F, 0x7D, 0xCC, 0xCC, 0xCC, 0x78,    /* 0B */
  1413. X    0x3C, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18,    /* 0C */
  1414. X    0x3F, 0x33, 0x3F, 0x30, 0x30, 0x70, 0xF0, 0xE0,    /* 0D */
  1415. X    0x7F, 0x63, 0x7F, 0x63, 0x63, 0x67, 0xE6, 0xC0,    /* 0E */
  1416. X    0x99, 0x5A, 0x3C, 0xE7, 0xE7, 0x3C, 0x5A, 0x99,    /* 0F */
  1417. X    0x80, 0xE0, 0xF8, 0xFE, 0xF8, 0xE0, 0x80, 0x00,    /* 10 */
  1418. X    0x02, 0x0E, 0x3E, 0xFE, 0x3E, 0x0E, 0x02, 0x00,    /* 11 */
  1419. X    0x18, 0x3C, 0x7E, 0x18, 0x18, 0x7E, 0x3C, 0x18,    /* 12 */
  1420. X    0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00,    /* 13 */
  1421. X    0x7F, 0xDB, 0xDB, 0x7B, 0x1B, 0x1B, 0x1B, 0x00,    /* 14 */
  1422. X    0x3E, 0x63, 0x38, 0x6C, 0x6C, 0x38, 0xCC, 0x78,    /* 15 */
  1423. X    0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x00,    /* 16 */
  1424. X    0x18, 0x3C, 0x7E, 0x18, 0x7E, 0x3C, 0x18, 0xFF,    /* 17 */
  1425. X    0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x00,    /* 18 */
  1426. X    0x18, 0x18, 0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00,    /* 19 */
  1427. X    0x00, 0x18, 0x0C, 0xFE, 0x0C, 0x18, 0x00, 0x00,    /* 1A */
  1428. X    0x00, 0x30, 0x60, 0xFE, 0x60, 0x30, 0x00, 0x00,    /* 1B */
  1429. X    0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xFE, 0x00, 0x00,    /* 1C */
  1430. X    0x00, 0x24, 0x66, 0xFF, 0x66, 0x24, 0x00, 0x00,    /* 1D */
  1431. X    0x00, 0x18, 0x3C, 0x7E, 0xFF, 0xFF, 0x00, 0x00,    /* 1E */
  1432. X    0x00, 0xFF, 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00,    /* 1F */
  1433. X    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    /* 20 */
  1434. X    0x30, 0x78, 0x78, 0x30, 0x30, 0x00, 0x30, 0x00,    /* 21 */
  1435. X    0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00,    /* 22 */
  1436. X    0x6C, 0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00,    /* 23 */
  1437. X    0x30, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x30, 0x00,    /* 24 */
  1438. X    0x00, 0xC6, 0xCC, 0x18, 0x30, 0x66, 0xC6, 0x00,    /* 25 */
  1439. X    0x38, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0x76, 0x00,    /* 26 */
  1440. X    0x60, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,    /* 27 */
  1441. X    0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00,    /* 28 */
  1442. X    0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00,    /* 29 */
  1443. X    0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00,    /* 2A */
  1444. X    0x00, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x00, 0x00,    /* 2B */
  1445. X    0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x60,    /* 2C */
  1446. X    0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00,    /* 2D */
  1447. X    0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00,    /* 2E */
  1448. X    0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x80, 0x00,    /* 2F */
  1449. X    0x7C, 0xC6, 0xCE, 0xDE, 0xF6, 0xE6, 0x7C, 0x00,    /* 30 */
  1450. X    0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0xFC, 0x00,    /* 31 */
  1451. X    0x78, 0xCC, 0x0C, 0x38, 0x60, 0xCC, 0xFC, 0x00,    /* 32 */
  1452. X    0x78, 0xCC, 0x0C, 0x38, 0x0C, 0xCC, 0x78, 0x00,    /* 33 */
  1453. X    0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x1E, 0x00,    /* 34 */
  1454. X    0xFC, 0xC0, 0xF8, 0x0C, 0x0C, 0xCC, 0x78, 0x00,    /* 35 */
  1455. X    0x38, 0x60, 0xC0, 0xF8, 0xCC, 0xCC, 0x78, 0x00,    /* 36 */
  1456. X    0xFC, 0xCC, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x00,    /* 37 */
  1457. X    0x78, 0xCC, 0xCC, 0x78, 0xCC, 0xCC, 0x78, 0x00,    /* 38 */
  1458. X    0x78, 0xCC, 0xCC, 0x7C, 0x0C, 0x18, 0x70, 0x00,    /* 39 */
  1459. X    0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x00,    /* 3A */
  1460. X    0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x60,    /* 3B */
  1461. X    0x18, 0x30, 0x60, 0xC0, 0x60, 0x30, 0x18, 0x00,    /* 3C */
  1462. X    0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00,    /* 3D */
  1463. X    0x60, 0x30, 0x18, 0x0C, 0x18, 0x30, 0x60, 0x00,    /* 3E */
  1464. X    0x78, 0xCC, 0x0C, 0x18, 0x30, 0x00, 0x30, 0x00,    /* 3F */
  1465. X    0x7C, 0xC6, 0xDE, 0xDE, 0xDE, 0xC0, 0x78, 0x00,    /* 40 */
  1466. X    0x30, 0x78, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0x00,    /* 41 */
  1467. X    0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00,    /* 42 */
  1468. X    0x3C, 0x66, 0xC0, 0xC0, 0xC0, 0x66, 0x3C, 0x00,    /* 43 */
  1469. X    0xF8, 0x6C, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00,    /* 44 */
  1470. X    0xFE, 0x62, 0x68, 0x78, 0x68, 0x62, 0xFE, 0x00,    /* 45 */
  1471. X    0xFE, 0x62, 0x68, 0x78, 0x68, 0x60, 0xF0, 0x00,    /* 46 */
  1472. X    0x3C, 0x66, 0xC0, 0xC0, 0xCE, 0x66, 0x3E, 0x00,    /* 47 */
  1473. X    0xCC, 0xCC, 0xCC, 0xFC, 0xCC, 0xCC, 0xCC, 0x00,    /* 48 */
  1474. X    0x78, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,    /* 49 */
  1475. X    0x1E, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, 0x00,    /* 4A */
  1476. X    0xE6, 0x66, 0x6C, 0x78, 0x6C, 0x66, 0xE6, 0x00,    /* 4B */
  1477. X    0xF0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00,    /* 4C */
  1478. X    0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00,    /* 4D */
  1479. X    0xC6, 0xE6, 0xF6, 0xDE, 0xCE, 0xC6, 0xC6, 0x00,    /* 4E */
  1480. X    0x38, 0x6C, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x00,    /* 4F */
  1481. X    0xFC, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00,    /* 50 */
  1482. X    0x78, 0xCC, 0xCC, 0xCC, 0xDC, 0x78, 0x1C, 0x00,    /* 51 */
  1483. X    0xFC, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0xE6, 0x00,    /* 52 */
  1484. X    0x78, 0xCC, 0xE0, 0x70, 0x1C, 0xCC, 0x78, 0x00,    /* 53 */
  1485. X    0xFC, 0xB4, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,    /* 54 */
  1486. X    0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x00,    /* 55 */
  1487. X    0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00,    /* 56 */
  1488. X    0xC6, 0xC6, 0xC6, 0xD6, 0xFE, 0xEE, 0xC6, 0x00,    /* 57 */
  1489. X    0xC6, 0xC6, 0x6C, 0x38, 0x38, 0x6C, 0xC6, 0x00,    /* 58 */
  1490. X    0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x30, 0x78, 0x00,    /* 59 */
  1491. X    0xFE, 0xC6, 0x8C, 0x18, 0x32, 0x66, 0xFE, 0x00,    /* 5A */
  1492. X    0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x00,    /* 5B */
  1493. X    0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x02, 0x00,    /* 5C */
  1494. X    0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00,    /* 5D */
  1495. X    0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00,    /* 5E */
  1496. X    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,    /* 5F */
  1497. X    0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,    /* 60 */
  1498. X    0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x76, 0x00,    /* 61 */
  1499. X    0xE0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0xDC, 0x00,    /* 62 */
  1500. X    0x00, 0x00, 0x78, 0xCC, 0xC0, 0xCC, 0x78, 0x00,    /* 63 */
  1501. X    0x1C, 0x0C, 0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00,    /* 64 */
  1502. X    0x00, 0x00, 0x78, 0xCC, 0xFC, 0xC0, 0x78, 0x00,    /* 65 */
  1503. X    0x38, 0x6C, 0x60, 0xF0, 0x60, 0x60, 0xF0, 0x00,    /* 66 */
  1504. X    0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8,    /* 67 */
  1505. X    0xE0, 0x60, 0x6C, 0x76, 0x66, 0x66, 0xE6, 0x00,    /* 68 */
  1506. X    0x30, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00,    /* 69 */
  1507. X    0x0C, 0x00, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78,    /* 6A */
  1508. X    0xE0, 0x60, 0x66, 0x6C, 0x78, 0x6C, 0xE6, 0x00,    /* 6B */
  1509. X    0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00,    /* 6C */
  1510. X    0x00, 0x00, 0xCC, 0xFE, 0xFE, 0xD6, 0xC6, 0x00,    /* 6D */
  1511. X    0x00, 0x00, 0xF8, 0xCC, 0xCC, 0xCC, 0xCC, 0x00,    /* 6E */
  1512. X    0x00, 0x00, 0x78, 0xCC, 0xCC, 0xCC, 0x78, 0x00,    /* 6F */
  1513. X    0x00, 0x00, 0xDC, 0x66, 0x66, 0x7C, 0x60, 0xF0,    /* 70 */
  1514. X    0x00, 0x00, 0x76, 0xCC, 0xCC, 0x7C, 0x0C, 0x1E,    /* 71 */
  1515. X    0x00, 0x00, 0xDC, 0x76, 0x66, 0x60, 0xF0, 0x00,    /* 72 */
  1516. X    0x00, 0x00, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x00,    /* 73 */
  1517. X    0x10, 0x30, 0x7C, 0x30, 0x30, 0x34, 0x18, 0x00,    /* 74 */
  1518. X    0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00,    /* 75 */
  1519. X    0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x78, 0x30, 0x00,    /* 76 */
  1520. X    0x00, 0x00, 0xC6, 0xD6, 0xFE, 0xFE, 0x6C, 0x00,    /* 77 */
  1521. X    0x00, 0x00, 0xC6, 0x6C, 0x38, 0x6C, 0xC6, 0x00,    /* 78 */
  1522. X    0x00, 0x00, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xF8,    /* 79 */
  1523. X    0x00, 0x00, 0xFC, 0x98, 0x30, 0x64, 0xFC, 0x00,    /* 7A */
  1524. X    0x1C, 0x30, 0x30, 0xE0, 0x30, 0x30, 0x1C, 0x00,    /* 7B */
  1525. X    0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00,    /* 7C */
  1526. X    0xE0, 0x30, 0x30, 0x1C, 0x30, 0x30, 0xE0, 0x00,    /* 7D */
  1527. X    0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    /* 7E */
  1528. X    0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0x00,    /* 7F */
  1529. X};
  1530. END_OF_FILE
  1531. if test 8985 -ne `wc -c <'banner-8/banner.c-org'`; then
  1532.     echo shar: \"'banner-8/banner.c-org'\" unpacked with wrong size!
  1533. fi
  1534. # end of 'banner-8/banner.c-org'
  1535. fi
  1536. if test -f 'cursive-1/cursive.c' -a "${1}" != "-c" ; then 
  1537.   echo shar: Will not clobber existing file \"'cursive-1/cursive.c'\"
  1538. else
  1539. echo shar: Extracting \"'cursive-1/cursive.c'\" \(6630 characters\)
  1540. sed "s/^X//" >'cursive-1/cursive.c' <<'END_OF_FILE'
  1541. X/*        CURSIVE SIGNATURE PROGRAM        Version 0.10
  1542. X *              (c) 1985 - Jan Wolter
  1543. X *
  1544. X *  Purpose:    This program translates text into crude cursive script.
  1545. X *        It works on any terminal with a fairly normal character
  1546. X *        set (must have backslashes and underscores and suchlike).
  1547. X *        The font includes all upper and lower case letters, most
  1548. X *        punctuation, and a few symbols.  No numbers are included
  1549. X *        (It's difficult to make a nice italicized set of numbers).
  1550. X *        Cursive was originally written to generate fancy signatures
  1551. X *        for electronic mail messages, but other uses may occur to
  1552. X *        you.  The attractiveness of the font varies greatly with
  1553. X *        the display device.
  1554. X *
  1555. X *  Usage:    If no command line arguments are given, cursive reads the
  1556. X *        text to translate from standard input.  Otherwise the args
  1557. X *        are translated (e.g. "cursive Jan Wolter" prints my name).
  1558. X *        Output is always to standard output.  A couple command line
  1559. X *        arguments are recognized:
  1560. X *
  1561. X *          -in    Sets the amount of space to insert between letters.
  1562. X *            The default is "-i1".  "-i0" gives interesting
  1563. X *            results.
  1564. X *          -tn    Sets the length of the trailing line off the end
  1565. X *            of each word.  The default is "-t1".
  1566. X *
  1567. X *        One character in the text is treated in a special way:
  1568. X *
  1569. X *          '_'   Can be inserted in text to slightly lengthen the
  1570. X *            the spacing between two letters, or add a longer
  1571. X *            tail to the end of a word.
  1572. X *
  1573. X *  Internals:    Unfortunately, the program is a kludge and the font is
  1574. X *        somewhat difficult to edit.  It should be easy to port
  1575. X *        though.  Systems with short integers or unsigned characters
  1576. X *        should be no problem.  You should probably run "xstr" on the
  1577. X *        font.c file, but if you haven't got "xstr", just compiling it
  1578. X *        the usual way works fine.
  1579. X *
  1580. X *  Copyright:    Both the cursive program and the font it generates are
  1581. X *        copyrighted by yours truly.  However, both may be used
  1582. X *        and distributed freely.  You even have my permission to
  1583. X *        sell it, or include in it a system that you sell.  I only
  1584. X *        ask that my name be retained on this program, or any direct
  1585. X *        decendents of this program with approximately the same
  1586. X *        visibility as in this posting.
  1587. X *
  1588. X *  Mail:    I'm interested in any comments you have on this program.
  1589. X *        I can be mailed at "janc@crim.eecs.umich.edu".  Better yet,
  1590. X *        if you are into teleconferencing, call M-Net at (313) 994-6333
  1591. X *        and type "newuser" at the "login:" prompt to give yourself an
  1592. X *        account.  Send mail to janc, or join the "ugames" conference.
  1593. X *
  1594. X *        Have fun,
  1595. X *                  ___                _     __  _
  1596. X *                 (   >              ' )   /   // _/_
  1597. X *                  __/___.  ____      / / / __|/  /  _  __
  1598. X *                 / / (_/|_/ / <__   (_(_/ (_) \_<__</_/ (__
  1599. X *                <_/
  1600. X */
  1601. X
  1602. X#include <stdio.h>
  1603. X#include "cursive.h"
  1604. X
  1605. char *buffer[6];    /* memory buffers to build up line in */
  1606. int c[6];        /* current index in each of the buffer lines */
  1607. int tail[6];        /* which buffer lines have tails in them */
  1608. int lasttail;        /* which line was the last letter's tail */
  1609. int space;        /* how much white space before the next letter */
  1610. int interspace = 1;    /* how much to spread adjacent letters out */
  1611. int taillen = 1;    /* how long the tails on ends of words should be */
  1612. char firstletter;    /* is this the first letter on the line? */
  1613. char message[256] = "";    /* message to print */
  1614. X
  1615. char *malloc();
  1616. X
  1617. main(argc,argv)
  1618. int argc;
  1619. char **argv;
  1620. X{
  1621. int i;
  1622. char *s,*m;
  1623. char ch;
  1624. X
  1625. X    m = message;
  1626. X    for (i = 1; i < argc; i++)
  1627. X    {
  1628. X        if (*argv[i] == '-')
  1629. X            switch(ch = argv[i][1])
  1630. X            {
  1631. X            case 'i':
  1632. X            case 't':
  1633. X                s = argv[i]+2;
  1634. X                if (*s == '\000')
  1635. X                    if (++i < argc)
  1636. X                        s = argv[i];
  1637. X                if (*s < '0' || *s > '9')
  1638. X                {
  1639. X                    printf("%s: Illegal value %s\n",
  1640. X                        argv[0],s);
  1641. X                    exit(1);
  1642. X                }
  1643. X                if (ch == 'i')
  1644. X                    interspace = atoi(s);
  1645. X                else
  1646. X                    taillen = atoi(s);
  1647. X                break;
  1648. X            default:
  1649. X                printf("usage: %s [-tn] [-in] message\n",
  1650. X                    argv[0]);
  1651. X                exit(1);
  1652. X            }
  1653. X        else
  1654. X        {
  1655. X            if (m != message)
  1656. X                *(m++) = ' ';
  1657. X            for (s=argv[i]; *s != '\000'; s++)
  1658. X                *(m++) = *s;
  1659. X        }
  1660. X    }
  1661. X    /* Do the deed */
  1662. X    if (m != message)
  1663. X    {
  1664. X        /* Message from the arg list */
  1665. X        *(m++) = 0;
  1666. X        prline(message);
  1667. X    }
  1668. X    else
  1669. X    {
  1670. X        /* Message from standard input */
  1671. X        while (gets(message) != NULL)
  1672. X            prline(message);
  1673. X    }
  1674. X}
  1675. X
  1676. X
  1677. X/* Add the given letter to the end of the current line */
  1678. X
  1679. place(let)
  1680. struct letter *let;
  1681. X{
  1682. int i,j,n;
  1683. int col;
  1684. int max = -10000;
  1685. char pad;
  1686. char *l;
  1687. X
  1688. X    if (firstletter)
  1689. X    {
  1690. X        col = space;        /* Leading spaces */
  1691. X        firstletter = 0;
  1692. X    }
  1693. X    else
  1694. X    {
  1695. X        /* Find the furthest left position we can place this letter */
  1696. X        for(i=0; i<6; i++)
  1697. X        {
  1698. X            if (let->line[i][0] != '\000' &&
  1699. X                (col = c[i] - let->spcs[i]) > max)
  1700. X                max = col;
  1701. X        }
  1702. X
  1703. X        /* Insert some spaces between letters */
  1704. X        col = max + space + interspace;
  1705. X    }
  1706. X
  1707. X    for(i=0; i<6; i++)
  1708. X
  1709. X        /* If Nothing on this Line, Skip It */
  1710. X        if (let->line[i][0] != '\000')
  1711. X        {
  1712. X            /* Number of Spaces to Put on this Line? */
  1713. X            n = col - c[i] + let->spcs[i];
  1714. X
  1715. X            /* Flyers off Ends of Letters */
  1716. X            if (tail[i])
  1717. X                for (j = 0;
  1718. X                     j < 5 && n > space + 2; j++,n--)
  1719. X                    buffer[i][c[i]++] = '_';
  1720. X
  1721. X            /* Connecting Lines Between Letters */
  1722. X            pad = (lasttail == i && let->tailin == i) ? '_' : ' ';
  1723. X
  1724. X            /* In the middle of the intersection of South and */
  1725. X            /* East University, someone is playing the piano. */
  1726. X            for ( ; n > 0; n--)
  1727. X                buffer[i][c[i]++] = pad;
  1728. X
  1729. X            /* Copy in the letter text */
  1730. X            for (l = let->line[i]; *l != '\000'; l++)
  1731. X                buffer[i][c[i]++] = *l;
  1732. X
  1733. X            tail[i] = (i == let->tailout);
  1734. X        }
  1735. X
  1736. X    lasttail = let->tailout;
  1737. X    space = 0;
  1738. X}
  1739. X
  1740. X/* Lengthen the last trailer by n */
  1741. tailer(n)
  1742. int n;
  1743. X{
  1744. int j;
  1745. X    if (lasttail >= 0)
  1746. X        for (j = 0; j < n; j++)
  1747. X            buffer[lasttail][c[lasttail]++] = '_';
  1748. X}
  1749. X
  1750. X/* Handle a line */
  1751. prline(s)
  1752. char *s;
  1753. X{
  1754. int l,i;
  1755. char *ch;
  1756. short lcode;
  1757. X
  1758. X    lasttail = -1;
  1759. X    firstletter = 1;
  1760. X    space = 0;
  1761. X    /* Get some memory to put the output into */
  1762. X    l = strlen(s) * (CHARWIDTH + interspace);
  1763. X    for (i=0;i<6;i++)
  1764. X    {
  1765. X        buffer[i] = malloc((unsigned)l);
  1766. X        tail[i] = c[i] = 0;
  1767. X    }
  1768. X
  1769. X    /* do each letter */
  1770. X    for (ch=s; *ch != '\000'; ch++)
  1771. X    {
  1772. X
  1773. X        *ch &= '\177';
  1774. X        /* Find the letter */
  1775. X        lcode = (lasttail != 2) ? code1[*ch] : code2[*ch];
  1776. X        if (lcode >= 0)
  1777. X            place(&list[lcode]);
  1778. X        else
  1779. X            /* Various Special characters */
  1780. X            switch(lcode)
  1781. X            {
  1782. X            case SP:
  1783. X                /* Insert white space before next letter */
  1784. X                tailer(taillen);
  1785. X                space += 3;
  1786. X                lasttail = -1;
  1787. X                break;
  1788. X            case ST:
  1789. X                /* Lengthen the last tail */
  1790. X                if (lasttail >= 0)
  1791. X                    buffer[lasttail][c[lasttail]++] = '_';
  1792. X                break;
  1793. X            }
  1794. X    }
  1795. X    tailer(taillen);
  1796. X
  1797. X    /* print the line and release the memory */
  1798. X    for (i=0;i<6;i++)
  1799. X    {
  1800. X        buffer[i][c[i]++] = '\n';
  1801. X        write(1,buffer[i],c[i]);
  1802. X        free(buffer[i]);
  1803. X    }
  1804. X}
  1805. END_OF_FILE
  1806. if test 6630 -ne `wc -c <'cursive-1/cursive.c'`; then
  1807.     echo shar: \"'cursive-1/cursive.c'\" unpacked with wrong size!
  1808. fi
  1809. # end of 'cursive-1/cursive.c'
  1810. fi
  1811. if test -f 'cursive-1/font.c' -a "${1}" != "-c" ; then 
  1812.   echo shar: Will not clobber existing file \"'cursive-1/font.c'\"
  1813. else
  1814. echo shar: Extracting \"'cursive-1/font.c'\" \(11667 characters\)
  1815. sed "s/^X//" >'cursive-1/font.c' <<'END_OF_FILE'
  1816. X/* CURSIVE FONT FILE
  1817. X *
  1818. X * This font is copyrighted by Jan Wolter.  See notes in "cursive.c".
  1819. X *
  1820. X * Several of the letters are rather ugly, but the wonder is not how
  1821. X * well it sings.  A few uppercase letters are a bit too tall.  The
  1822. X * font has to some extent been chosen to make my name look good to me.
  1823. X * Those of you with different names will have to take pot luck, or fix
  1824. X * it to taste.  Editing this file must be done with some care.  The
  1825. X * numbers on the defines must match the index numbers of the letter
  1826. X * in the list[] structure.  The six numbers after the character are how
  1827. X * many blank spaces must be added to the beginning of each of the six
  1828. X * scan lines to make them line up.  The last two numbers are the scan
  1829. X * line numbers in which the character is connected to the preceeding and
  1830. X * succeeding characters.  -1 means it isn't.  There are two versions of
  1831. X * each lower case letter, one with the line coming in on line 2, and one
  1832. X * with the line coming in on line 3.
  1833. X */
  1834. X
  1835. X#include "cursive.h"
  1836. X
  1837. struct letter list[] = {
  1838. X
  1839. X#define LA  0        /* a type 1 */ 
  1840. X    { {
  1841. X    "",
  1842. X    "",
  1843. X     "__.",
  1844. X    "(_/|",
  1845. X    "",
  1846. X    ""
  1847. X    },
  1848. X    {0,0,1,0,0,0},
  1849. X    3,3
  1850. X    },
  1851. X
  1852. X#define LB  1        /* b type 1 */
  1853. X    { {
  1854. X    "",
  1855. X      "/",
  1856. X      "/_",
  1857. X    "/_)",
  1858. X    "",
  1859. X    ""
  1860. X    },
  1861. X    {0,2,1,0,0,0},
  1862. X    3,2
  1863. X    },
  1864. X
  1865. X#define LC  2        /* c type 1 */
  1866. X    { {
  1867. X    "",
  1868. X    "",
  1869. X     "_.",
  1870. X    "(_",
  1871. X    "",
  1872. X    ""}
  1873. X    ,
  1874. X    {0,0,1,0,0,0},
  1875. X    3,3
  1876. X    },
  1877. X
  1878. X#define LD  3        /* d type 1 */
  1879. X    { {
  1880. X    "",
  1881. X        "/",
  1882. X     "__/",
  1883. X    "(_/",
  1884. X    "",
  1885. X    ""
  1886. X    },
  1887. X    {0,4,1,0,0,0},
  1888. X    3,3
  1889. X    },
  1890. X
  1891. X#define LE  4        /* e type 1 */
  1892. X    { {
  1893. X    "",
  1894. X    "",
  1895. X     "_",
  1896. X    "</",
  1897. X    "",
  1898. X    ""
  1899. X    },
  1900. X    {0,0,1,0,0,0},
  1901. X    3,3
  1902. X    },
  1903. X
  1904. X#define LF  5        /* f type 1 */
  1905. X    { {
  1906. X    "",
  1907. X        "/)",
  1908. X       "// ",
  1909. X      "//",
  1910. X     "/>",
  1911. X    "</ "
  1912. X    },
  1913. X    {0,4,3,2,1,0},
  1914. X    3,3
  1915. X    },
  1916. X
  1917. X#define LG  6        /* g type 1 */
  1918. X    { {
  1919. X    "",
  1920. X    "",
  1921. X     "_,",
  1922. X    "(_)",
  1923. X     "/|",
  1924. X    "|/"
  1925. X    },
  1926. X    {0,0,1,0,1,0},
  1927. X    3,3
  1928. X    },
  1929. X
  1930. X#define LH  7        /* h type 1 */
  1931. X    { {
  1932. X    "",
  1933. X      "/",
  1934. X     "/_",
  1935. X    "/ /",
  1936. X    "",
  1937. X    ""
  1938. X    },
  1939. X    {0,2,1,0,0,0},
  1940. X    3,3
  1941. X    },
  1942. X
  1943. X#define LI  8        /* i type 1 */
  1944. X    { {
  1945. X    "",
  1946. X    "",
  1947. X     "o",
  1948. X    "<",
  1949. X    "",
  1950. X    ""
  1951. X    },
  1952. X    {0,0,1,0,0,0},
  1953. X    3,3
  1954. X    },
  1955. X
  1956. X#define LJ  9        /* j type 1 */
  1957. X    { {
  1958. X    "",
  1959. X    "",
  1960. X        "o",
  1961. X       "/",
  1962. X      "/",
  1963. X    "-'"
  1964. X    },
  1965. X    {0,0,4,3,2,0},
  1966. X    3,3
  1967. X    },
  1968. X
  1969. X#define LK 10        /* k type 1 */
  1970. X    { {
  1971. X    "",
  1972. X      "/",
  1973. X     "/_ ",
  1974. X    "/ <",
  1975. X    "",
  1976. X    ""
  1977. X    },
  1978. X    {0,2,1,0,0,0},
  1979. X    3,3
  1980. X    },
  1981. X
  1982. X#define LL 11        /* l type 1 */
  1983. X    { {
  1984. X       "_",
  1985. X      "//",
  1986. X     "//",
  1987. X    "</",
  1988. X    "",
  1989. X    ""
  1990. X    },
  1991. X    {3,2,1,0,0,0},
  1992. X    3,3
  1993. X    },
  1994. X
  1995. X#define LM 12        /* m type 1 */
  1996. X    { {
  1997. X    "",
  1998. X    "",
  1999. X     "______",
  2000. X    "/ / / <",
  2001. X    "",
  2002. X    ""
  2003. X    },
  2004. X    {0,0,1,0,0,0},
  2005. X    3,3
  2006. X    },
  2007. X
  2008. X#define LN 13        /* n type 1 */
  2009. X    { {
  2010. X    "",
  2011. X    "",
  2012. X     "____",
  2013. X    "/ / <",
  2014. X    "",
  2015. X    ""
  2016. X    },
  2017. X    {0,0,1,0,0,0},
  2018. X    3,3
  2019. X    },
  2020. X
  2021. X#define LO 14        /* o type 1 */
  2022. X    { {
  2023. X    "",
  2024. X    "",
  2025. X     "_",
  2026. X    "(_)",
  2027. X    "",
  2028. X    ""
  2029. X    },
  2030. X    {0,0,1,0,0,0},
  2031. X    3,2
  2032. X    },
  2033. X
  2034. X#define LP 15        /* p type 1 */
  2035. X    { {
  2036. X    "",
  2037. X    "",
  2038. X       "_",
  2039. X      "/_)",
  2040. X     "/",
  2041. X    "'"
  2042. X    },
  2043. X    {0,0,3,2,1,0},
  2044. X    3,3
  2045. X    },
  2046. X
  2047. X#define LQ 16        /* q type 1 */
  2048. X    { {
  2049. X    "",
  2050. X    "",
  2051. X     "_,",
  2052. X    "(_)",
  2053. X     "/>",
  2054. X    "|/"
  2055. X    },
  2056. X    {0,0,1,0,1,0},
  2057. X    3,3
  2058. X    },
  2059. X
  2060. X#define LR 17        /* r type 1 */
  2061. X    { {
  2062. X    "",
  2063. X    "",
  2064. X     "__",
  2065. X    "/ (",
  2066. X    "",
  2067. X    ""
  2068. X    },
  2069. X    {0,0,1,0,0,0},
  2070. X    3,3
  2071. X    },
  2072. X
  2073. X#define LS 18        /* s type 1 */
  2074. X    { {
  2075. X    "",
  2076. X    "",
  2077. X     "_",
  2078. X    "/_)",
  2079. X    "",
  2080. X    ""
  2081. X    },
  2082. X    {0,0,1,0,0,0},
  2083. X    3,3
  2084. X    },
  2085. X
  2086. X#define LT 19        /* t type 1 */
  2087. X    { {
  2088. X    "",
  2089. X     "_/_",
  2090. X     "/",
  2091. X    "<_",
  2092. X    "",
  2093. X    ""
  2094. X    },
  2095. X    {0,1,1,0,0,0},
  2096. X    3,3
  2097. X    },
  2098. X
  2099. X#define LU 20        /* u type 1 */
  2100. X    { {
  2101. X    "",
  2102. X    "",
  2103. X     ". .",
  2104. X    "(_/",
  2105. X    "",
  2106. X    ""
  2107. X    },
  2108. X    {0,0,1,0,0,0},
  2109. X    3,3
  2110. X    },
  2111. X
  2112. X#define LV 21        /* v type 1 */
  2113. X    { {
  2114. X    "",
  2115. X    "",
  2116. X    ", ",
  2117. X    "\\/",
  2118. X    "",
  2119. X    ""
  2120. X    },
  2121. X    {0,0,0,0,0,0},
  2122. X    3,2
  2123. X    },
  2124. X
  2125. X#define LW 22        /* w type 1 */
  2126. X    { {
  2127. X    "",
  2128. X    "",
  2129. X     ", , ,",
  2130. X    "(_(_/",
  2131. X    "",
  2132. X    ""
  2133. X    },
  2134. X    {0,0,1,0,0,0},
  2135. X    3,3
  2136. X    },
  2137. X
  2138. X#define LX 23        /* x type 1 */
  2139. X    { {
  2140. X    "",
  2141. X    "",
  2142. X     "_.,",
  2143. X    "/ /\\",
  2144. X    "",
  2145. X    ""
  2146. X    },
  2147. X    {0,0,1,0,0,0},
  2148. X    3,3
  2149. X    },
  2150. X
  2151. X#define LY 24        /* y type 1 */
  2152. X    { {
  2153. X    "",
  2154. X    "",
  2155. X     "__  ,",
  2156. X    "/ (_/",
  2157. X       "/",
  2158. X      "'"
  2159. X     },
  2160. X    {0,0,1,0,3,2},
  2161. X    3,3
  2162. X    },
  2163. X
  2164. X#define LZ 25        /* z type 1 */
  2165. X    { {
  2166. X    "",
  2167. X    "",
  2168. X     "__.",
  2169. X    "/  |",
  2170. X      "(|",
  2171. X    ""
  2172. X    },
  2173. X    {0,0,1,0,2,0},
  2174. X    3,3
  2175. X    },
  2176. X
  2177. X#define NA 26        /* a type 2 */
  2178. X    { {
  2179. X    "",
  2180. X    "",
  2181. X     "__.",
  2182. X    "(_/|",
  2183. X    "",
  2184. X    ""
  2185. X    },
  2186. X    {0,0,1,0,0,0},
  2187. X    2,3
  2188. X    },
  2189. X
  2190. X#define NB 27        /* b type 2 */
  2191. X    { {
  2192. X    "",
  2193. X      "/",
  2194. X     "/_",
  2195. X    "/_)",
  2196. X    "",
  2197. X    ""
  2198. X    },
  2199. X    {0,2,1,0,0,0},
  2200. X    2,2
  2201. X    },
  2202. X
  2203. X#define NC 28        /* c type 2 */
  2204. X    { {
  2205. X    "",
  2206. X    "",
  2207. X    "__.",
  2208. X    "(_",
  2209. X    "",
  2210. X    ""
  2211. X    },
  2212. X    {0,0,0,0,0,0},
  2213. X    2,3
  2214. X    },
  2215. X
  2216. X#define ND 29        /* d type 2 */
  2217. X    { {
  2218. X    "",
  2219. X        "/",
  2220. X    "___/",
  2221. X    "(_/",
  2222. X    "",
  2223. X    ""
  2224. X    },
  2225. X    {0,4,0,0,0,0},
  2226. X    2,3
  2227. X    },
  2228. X
  2229. X#define NE 30        /* e type 2 */
  2230. X    { {
  2231. X    "",
  2232. X    "",
  2233. X     "/>",
  2234. X    "(_",
  2235. X    "",
  2236. X    ""
  2237. X    },
  2238. X    {0,0,1,0,0,0},
  2239. X    2,3
  2240. X    },
  2241. X
  2242. X#define NF 31        /* f type 2 */
  2243. X    { {
  2244. X    "",
  2245. X        "/)",
  2246. X       "//",
  2247. X      "/_",
  2248. X     "/>",
  2249. X    "</"
  2250. X    },
  2251. X    {0,4,3,2,1,0},
  2252. X    2,3
  2253. X    },
  2254. X
  2255. X#define NG 32        /* g type 2 */
  2256. X    { {
  2257. X    "",
  2258. X    "",
  2259. X    "__,",
  2260. X    "(_)",
  2261. X     "/|",
  2262. X    "|/"
  2263. X    },
  2264. X    {0,0,0,0,1,0},
  2265. X    2,3
  2266. X    },
  2267. X
  2268. X#define NH 33        /* h type 2 */
  2269. X    { {
  2270. X    "",
  2271. X      "/",
  2272. X     "/_",
  2273. X    "/ /",
  2274. X    "",
  2275. X    ""
  2276. X    },
  2277. X    {0,2,1,0,0,0},
  2278. X    2,3
  2279. X    },
  2280. X
  2281. X#define NI 34        /* i type 2 */
  2282. X    { {
  2283. X    "",
  2284. X    "",
  2285. X     "o",
  2286. X    "<_",
  2287. X    "",
  2288. X    ""
  2289. X    },
  2290. X    {0,0,1,0,0,0},
  2291. X    2,3
  2292. X    },
  2293. X
  2294. X#define NJ 35        /* j type 2 */
  2295. X    { {
  2296. X    "",
  2297. X    "",
  2298. X       "_o",
  2299. X       "/_",
  2300. X      "/",
  2301. X    "-'"
  2302. X    },
  2303. X    {0,0,3,3,2,0},
  2304. X    2,3
  2305. X    },
  2306. X
  2307. X#define NK 36        /* k type 2 */
  2308. X    { {
  2309. X    "",
  2310. X      "/",
  2311. X     "/_",
  2312. X    "/ <",
  2313. X    "",
  2314. X    ""
  2315. X    },
  2316. X    {0,2,1,0,0,0},
  2317. X    2,3
  2318. X    },
  2319. X
  2320. X#define NL 37        /* l type 2 */
  2321. X    { {
  2322. X      "_",
  2323. X     "//",
  2324. X    "|/",
  2325. X     "\\",
  2326. X    "",
  2327. X    ""
  2328. X    },
  2329. X    {2,1,0,1,0,0},
  2330. X    2,3
  2331. X    },
  2332. X
  2333. X#define NM 38        /* m type 2 */
  2334. X    { {
  2335. X    "",
  2336. X    "",
  2337. X    "_______",
  2338. X    "/ / / <",
  2339. X    "",
  2340. X    ""
  2341. X    },
  2342. X    {0,0,0,0,0,0},
  2343. X    2,3
  2344. X    },
  2345. X
  2346. X#define NN 39        /* n type 2 */
  2347. X    { {
  2348. X    "",
  2349. X    "",
  2350. X    "_____",
  2351. X    "/ / <",
  2352. X    "",
  2353. X    ""
  2354. X    },
  2355. X    {0,0,0,0,0,0},
  2356. X    2,3
  2357. X    },
  2358. X
  2359. X#define NO 40        /* o type 2 */
  2360. X    { {
  2361. X    "",
  2362. X    "",
  2363. X    "___",
  2364. X    "(_)",
  2365. X    "",
  2366. X    ""
  2367. X    },
  2368. X    {0,0,0,0,0,0},
  2369. X    2,2
  2370. X    },
  2371. X
  2372. X#define NP 41        /* p type 2 */
  2373. X    { {
  2374. X    "",
  2375. X    "",
  2376. X      "__",
  2377. X      "/_)",
  2378. X     "/",
  2379. X    "'"
  2380. X    },
  2381. X    {0,0,2,2,1,0},
  2382. X    2,3
  2383. X    },
  2384. X
  2385. X#define NQ 42        /* q type 2 */
  2386. X    { {
  2387. X    "",
  2388. X    "",
  2389. X    "__,",
  2390. X    "(_)",
  2391. X     "/>",
  2392. X    "|/"
  2393. X    },
  2394. X    {0,0,0,0,1,0},
  2395. X    2,3
  2396. X    },
  2397. X
  2398. X#define NR 43        /* r type 2 */
  2399. X    { {
  2400. X    "",
  2401. X    "",
  2402. X    ",_",
  2403. X     "(",
  2404. X    "",
  2405. X    ""
  2406. X    },
  2407. X    {0,0,0,1,0,0},
  2408. X    2,3
  2409. X    },
  2410. X
  2411. X#define NS 44        /* s type 2 */
  2412. X    { {
  2413. X    "",
  2414. X    "",
  2415. X    "___ ",
  2416. X     "\\_)_",
  2417. X    "",
  2418. X    ""
  2419. X    },
  2420. X    {0,0,0,1,0,0},
  2421. X    2,3
  2422. X    },
  2423. X
  2424. X#define NT 45        /* t type 2 */
  2425. X    { {
  2426. X    "",
  2427. X     "_/_",
  2428. X    "_/",
  2429. X    "(_",
  2430. X    "",
  2431. X    ""
  2432. X    },
  2433. X    {0,1,0,0,0,0},
  2434. X    2,3
  2435. X    },
  2436. X
  2437. X#define NU 46        /* u type 2 */
  2438. X    { {
  2439. X    "",
  2440. X    "",
  2441. X    "_. .",
  2442. X    "(_/",
  2443. X    "",
  2444. X    ""
  2445. X    },
  2446. X    {0,0,0,0,0,0},
  2447. X    2,3
  2448. X    },
  2449. X
  2450. X#define NV 47        /* v type 2 */
  2451. X    { {
  2452. X    "",
  2453. X    "",
  2454. X    "  .",
  2455. X    "\\/",
  2456. X    "",
  2457. X    ""
  2458. X    },
  2459. X    {0,0,0,0,0,0},
  2460. X    2,3
  2461. X    },
  2462. X
  2463. X#define NW 48        /* w type 2 */
  2464. X    { {
  2465. X    "",
  2466. X    "",
  2467. X    "_, , ,",
  2468. X    "(_(_/",
  2469. X    "",
  2470. X    ""
  2471. X    },
  2472. X    {0,0,0,0,0,0},
  2473. X    2,3
  2474. X    },
  2475. X
  2476. X#define NX 49        /* x type 2 */
  2477. X    { {
  2478. X    "",
  2479. X    "",
  2480. X    "_.,",
  2481. X     "/\\",
  2482. X    "",
  2483. X    ""
  2484. X    },
  2485. X    {0,0,0,1,0,0},
  2486. X    2,3
  2487. X    },
  2488. X
  2489. X#define NY 50        /* y type 2 */
  2490. X    { {
  2491. X    "",
  2492. X    "",
  2493. X    "_  ,",
  2494. X    "(_/__",
  2495. X     "/",
  2496. X    "'"
  2497. X    },
  2498. X    {0,0,0,0,1,0},
  2499. X    2,3
  2500. X    },
  2501. X
  2502. X#define NZ 51        /* z type 2 */
  2503. X    { {
  2504. X    "",
  2505. X    "",
  2506. X    "__.",
  2507. X      "|",
  2508. X     "(|",
  2509. X    ""
  2510. X    },
  2511. X    {0,0,0,2,1,0},
  2512. X    2,3
  2513. X    },
  2514. X
  2515. X#define UA 52        /* A */
  2516. X    { {
  2517. X       "__",
  2518. X      "/  )",
  2519. X     "/--/",
  2520. X    "/  (",
  2521. X    "",
  2522. X    ""
  2523. X    },
  2524. X    {3,2,1,0,0,0},
  2525. X    3,3
  2526. X    },
  2527. X
  2528. X#define UB 53        /* B  */
  2529. X    { {
  2530. X       "__",
  2531. X      "/  )",
  2532. X     "/--<",
  2533. X    "/___/",
  2534. X    "",
  2535. X    ""
  2536. X    },
  2537. X    {3,2,1,0,0,0},
  2538. X    3,3
  2539. X    },
  2540. X
  2541. X#define UC 54        /* C */
  2542. X    { {
  2543. X       "__",
  2544. X      "/  )",
  2545. X     "/",
  2546. X    "(__/",
  2547. X    "",
  2548. X    ""
  2549. X    },
  2550. X    {3,2,1,0,0,0},
  2551. X    -1,-1
  2552. X    },
  2553. X
  2554. X#define UD 55        /* D  */
  2555. X    { {
  2556. X       "__",
  2557. X      "/  )",
  2558. X     "/  /",
  2559. X    "/__/",
  2560. X    "",
  2561. X    ""
  2562. X    },
  2563. X    {3,2,1,0,0,0},
  2564. X    3,3
  2565. X    },
  2566. X
  2567. X#define UE 56        /* E */
  2568. X    { {
  2569. X       "__",
  2570. X      "/  `",
  2571. X     "/--",
  2572. X    "(___,",
  2573. X    "",
  2574. X    ""
  2575. X    },
  2576. X    {3,2,1,0,0,0},
  2577. X    -1,-1
  2578. X    },
  2579. X
  2580. X#define UF 57        /* F */
  2581. X    { {
  2582. X       "_____",
  2583. X       " /  '",
  2584. X     ",-/-,",
  2585. X    "(_/",
  2586. X    "",
  2587. X    ""
  2588. X    },
  2589. X    {3,3,1,0,0,0},
  2590. X    -1,-1
  2591. X    },
  2592. X
  2593. X#define UG 58        /* G */
  2594. X    { {
  2595. X      "()  ,",
  2596. X      "/`-'|",
  2597. X     "/   /",
  2598. X    "/__-<",
  2599. X    "",
  2600. X    ""
  2601. X    },
  2602. X    {2,2,1,0,0,0},
  2603. X    -1,3
  2604. X    },
  2605. X
  2606. X#define UH 59        /* H */
  2607. X    { {
  2608. X     "_    ,",
  2609. X    "' )  /",
  2610. X     "/--/",
  2611. X    "/  (",
  2612. X    "",
  2613. X    ""
  2614. X    },
  2615. X    {1,0,1,0,0,0},
  2616. X    -1,3
  2617. X    },
  2618. X
  2619. X#define UI 60        /* I */
  2620. X    { {
  2621. X         "_",
  2622. X        "| )",
  2623. X    ",---|/",
  2624. X     "\\_/ \\",
  2625. X    "",
  2626. X    ""
  2627. X    },
  2628. X    {5,4,0,1,0,0},
  2629. X    -1,3
  2630. X    },
  2631. X
  2632. X#define UJ 61        /* J */
  2633. X    { {
  2634. X      "___",
  2635. X     "(   >",
  2636. X      "__/",
  2637. X     "/ /",
  2638. X    "<_/",
  2639. X    ""
  2640. X    },
  2641. X    {2,1,2,1,0,0},
  2642. X    -1,2
  2643. X    },
  2644. X
  2645. X#define UK 62        /* K */
  2646. X    { {
  2647. X     "_   ,",
  2648. X    "' ) /",
  2649. X     "/-<",
  2650. X    "/   )",
  2651. X    "",
  2652. X    ""
  2653. X    },
  2654. X    {1,0,1,0,0,0},
  2655. X    -1,-1
  2656. X    },
  2657. X
  2658. X#define UL 63        /* L */
  2659. X    { {
  2660. X       "_",
  2661. X     "_//",
  2662. X     "/",
  2663. X    "/___",
  2664. X    "",
  2665. X    ""
  2666. X    },
  2667. X    {3,1,1,0,0,0},
  2668. X    -1,-1
  2669. X    },
  2670. X
  2671. X#define UM 64        /* M */
  2672. X    { {
  2673. X     "_ _ _",
  2674. X    "' ) ) )",
  2675. X     "/ / /",
  2676. X    "/ ' (",
  2677. X    "",
  2678. X    ""
  2679. X    },
  2680. X    {1,0,1,0,0,0},
  2681. X    -1,3
  2682. X    },
  2683. X
  2684. X#define UN 65        /* N */
  2685. X    { {
  2686. X     "_ __",
  2687. X    "' )  )",
  2688. X     "/  /",
  2689. X    "/  (",
  2690. X    "",
  2691. X    ""
  2692. X    },
  2693. X    {1,0,1,0,0,0},
  2694. X    -1,3
  2695. X    },
  2696. X
  2697. X#define UO 66        /* O */
  2698. X    { {
  2699. X       "__",
  2700. X      "/ ')",
  2701. X     "/  /",
  2702. X    "(__/",
  2703. X    "",
  2704. X    ""
  2705. X    },
  2706. X    {3,2,1,0,0,0},
  2707. X    -1,-1
  2708. X    },
  2709. X
  2710. X#define UP 67        /* P */
  2711. X    { {
  2712. X     "_ __",
  2713. X    "' )  )",
  2714. X     "/--'",
  2715. X    "/",
  2716. X    "",
  2717. X    ""
  2718. X    },
  2719. X    {1,0,1,0,0,0},
  2720. X    -1,-1
  2721. X    },
  2722. X
  2723. X#define UQ 68        /* Q */
  2724. X    { {
  2725. X       "__",
  2726. X      "/  )",
  2727. X     "/  /",
  2728. X    "(_\\/",
  2729. X       "`",
  2730. X    ""
  2731. X    },
  2732. X    {3,2,1,0,3,0},
  2733. X    -1,-1
  2734. X    },
  2735. X
  2736. X#define UR 69        /* R */
  2737. X    { {
  2738. X     "_ __",
  2739. X    "' )  )",
  2740. X     "/--'",
  2741. X    "/  \\",
  2742. X    "",
  2743. X    ""
  2744. X    },
  2745. X    {1,0,1,0,0,0},
  2746. X    -1,3
  2747. X    },
  2748. X
  2749. X#define US 70        /* S */
  2750. X    { {
  2751. X      "()",
  2752. X      "/\\",
  2753. X     "/  )",
  2754. X    "/__/_",
  2755. X    "",
  2756. X    ""
  2757. X    },
  2758. X    {2,2,1,0,0,0},
  2759. X    -1,3
  2760. X    },
  2761. X
  2762. X#define UT 71        /* T */
  2763. X    { {
  2764. X      "______",
  2765. X        "/  ",
  2766. X     "--/",
  2767. X    "(_/",
  2768. X    "",
  2769. X    ""
  2770. X    },
  2771. X    {2,4,1,0,0,0},
  2772. X    -1,-1
  2773. X    },
  2774. X
  2775. X#define UU 72        /* U */
  2776. X    { {
  2777. X     "_    _",
  2778. X    "' )  /",
  2779. X     "/  /",
  2780. X    "(__/",
  2781. X    "",
  2782. X    ""
  2783. X    },
  2784. X    {1,0,1,0,0,0},
  2785. X    -1,0
  2786. X    },
  2787. X
  2788. X#define UV 73        /* V */
  2789. X    { {
  2790. X     "_    ",
  2791. X    "' )  /",
  2792. X     "(  /",
  2793. X      "\\/",
  2794. X    "",
  2795. X    ""
  2796. X    },
  2797. X    {1,0,1,2,0,0},
  2798. X    -1,0
  2799. X    },
  2800. X
  2801. X#define UW 74        /* W */
  2802. X    { {
  2803. X     "_     ",
  2804. X    "' )   /",
  2805. X     "/ / /",
  2806. X    "(_(_/",
  2807. X    "",
  2808. X    ""
  2809. X    },
  2810. X    {1,0,1,0,0,0},
  2811. X    -1,0
  2812. X    },
  2813. X
  2814. X#define UX 75        /* X */
  2815. X    { {
  2816. X     "_   ,",
  2817. X    "' \\ /",
  2818. X       "X",
  2819. X      "/ \\",
  2820. X    "",
  2821. X    ""
  2822. X    },
  2823. X    {1,0,3,2,0,0},
  2824. X    -1,3
  2825. X    },
  2826. X
  2827. X#define UY 76        /* Y */
  2828. X    { {
  2829. X     "_    ,",
  2830. X    "' )  /",
  2831. X     "/  /",
  2832. X    "(__/",
  2833. X     "//",
  2834. X    "(/"
  2835. X    },
  2836. X    {1,0,1,0,1,0},
  2837. X    -1,3
  2838. X    },
  2839. X
  2840. X#define UZ 77        /* Z */
  2841. X    { {
  2842. X    "___",
  2843. X      "/",
  2844. X     "/",
  2845. X    "/__",
  2846. X    "",
  2847. X    ""
  2848. X    },
  2849. X    {0,2,1,0,0,0},
  2850. X    -1,-1
  2851. X    },
  2852. X
  2853. X#define PE 78         /* ! */
  2854. X    { {
  2855. X       "/",
  2856. X      "/",
  2857. X     "'",
  2858. X    "o",
  2859. X    "",
  2860. X    ""
  2861. X    },
  2862. X    {3,2,1,0,0,0},
  2863. X    -1,-1
  2864. X    },
  2865. X
  2866. X#define PU 79        /* " */
  2867. X    { {
  2868. X    "o o",
  2869. X    "' '",
  2870. X    "",
  2871. X    "",
  2872. X    "",
  2873. X    ""
  2874. X    },
  2875. X    {0,0,0,0,0,0},
  2876. X    -1,-1
  2877. X    },
  2878. X
  2879. X#define PX 80        /* # */
  2880. X    { {
  2881. X       "/ /",
  2882. X     "-/-/-",
  2883. X    "-/-/-",
  2884. X    "/ /",
  2885. X    "",
  2886. X    ""
  2887. X    },
  2888. X    {3,1,0,0,0,0},
  2889. X    -1,-1
  2890. X    },
  2891. X
  2892. X#define PK 81        /* $ */
  2893. X    { {
  2894. X      ",-/-",
  2895. X     "(_/",
  2896. X      "/ )",
  2897. X    "-/-'",
  2898. X    "",
  2899. X    ""
  2900. X    },
  2901. X    {2,1,2,0,0,0},
  2902. X    -1,-1
  2903. X    },
  2904. X
  2905. X#define PF 82        /* ' */
  2906. X    { {
  2907. X    "o",
  2908. X    "'",
  2909. X    "",
  2910. X    "",
  2911. X    "",
  2912. X    ""
  2913. X    },
  2914. X    {0,0,0,0,0,0},
  2915. X    -1,-1
  2916. X    },
  2917. X
  2918. X#define PC 83        /* , */
  2919. X    { {
  2920. X    "",
  2921. X    "",
  2922. X    "",
  2923. X    "o",
  2924. X    "'",
  2925. X    ""
  2926. X    },
  2927. X    {0,0,0,0,0,0},
  2928. X    -1,-1
  2929. X    },
  2930. X
  2931. X#define PM 84        /* - */
  2932. X    { {
  2933. X    "",
  2934. X    "",
  2935. X    "---",
  2936. X    "",
  2937. X    "",
  2938. X    ""
  2939. X    },
  2940. X    {0,0,0,0,0,0},
  2941. X    -1,-1
  2942. X    },
  2943. X
  2944. X#define PP 85        /* . */
  2945. X    { {
  2946. X    "",
  2947. X    "",
  2948. X    "",
  2949. X    "o",
  2950. X    "",
  2951. X    ""
  2952. X    },
  2953. X    {0,0,0,0,0,0},
  2954. X    -1,-1
  2955. X    },
  2956. X
  2957. X#define PD 86        /* : */
  2958. X    { {
  2959. X    "",
  2960. X      "o",
  2961. X    "",
  2962. X    "o",
  2963. X    "",
  2964. X    ""
  2965. X    },
  2966. X    {0,2,0,0,0,0},
  2967. X    -1,-1
  2968. X    },
  2969. X
  2970. X#define PS 87        /* ; */
  2971. X    { {
  2972. X    "",
  2973. X      "o",
  2974. X    "",
  2975. X    "o",
  2976. X    "'",
  2977. X    ""
  2978. X    },
  2979. X    {0,2,0,0,0,0},
  2980. X    -1,-1
  2981. X    },
  2982. X
  2983. X#define PQ 88        /* ? */
  2984. X    { {
  2985. X      "__",
  2986. X      "__)",
  2987. X     "/",
  2988. X    "o",
  2989. X    "",
  2990. X    ""
  2991. X    },
  2992. X    {2,2,1,0,0,0},
  2993. X    -1,-1
  2994. X    },
  2995. X
  2996. X#define PB 89        /* ` */
  2997. X    { {
  2998. X    "o",
  2999. X    "`",
  3000. X    "",
  3001. X    "",
  3002. X    "",
  3003. X    ""
  3004. X    },
  3005. X    {0,0,0,0,0,0},
  3006. X    -1,-1
  3007. X    }
  3008. X    };
  3009. X
  3010. short code1[] = {
  3011. X     /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15 */
  3012. X    XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX,
  3013. X    XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX,
  3014. X    SP, PE, PU, PX, PK, XX, XX, PF, XX, XX, XX, XX, PC, PM, PP, XX,
  3015. X    SN, SN, SN, SN, SN, SN, SN, SN, SN, SN, PD, PS, XX, XX, XX, PQ,
  3016. X    XX, UA, UB, UC, UD, UE, UF, UG, UH, UI, UJ, UK, UL, UM, UN, UO,
  3017. X    UP, UQ, UR, US, UT, UU, UV, UW, UX, UY, UZ, XX, XX, XX, XX, ST,
  3018. X    PB, LA, LB, LC, LD, LE, LF, LG, LH, LI, LJ, LK, LL, LM, LN, LO,
  3019. X    LP, LQ, LR, LS, LT, LU, LV, LW, LX, LY, LZ, XX, XX, XX, XX, XX };
  3020. X
  3021. short code2[] = {
  3022. X     /*  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15 */
  3023. X    XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX,
  3024. X    XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX,
  3025. X    SP, PE, PU, PX, PK, XX, XX, PF, XX, XX, XX, XX, PC, PM, PP, XX,
  3026. X    SN, SN, SN, SN, SN, SN, SN, SN, SN, SN, PD, PS, XX, XX, XX, PQ,
  3027. X    XX, UA, UB, UC, UD, UE, UF, UG, UH, UI, UJ, UK, UL, UM, UN, UO,
  3028. X    UP, UQ, UR, US, UT, UU, UV, UW, UX, UY, UZ, XX, XX, XX, XX, ST,
  3029. X    PB, NA, NB, NC, ND, NE, NF, NG, NH, NI, NJ, NK, NL, NM, NN, NO,
  3030. X    NP, NQ, NR, NS, NT, NU, NV, NW, NX, NY, NZ, XX, XX, XX, XX, XX };
  3031. END_OF_FILE
  3032. if test 11667 -ne `wc -c <'cursive-1/font.c'`; then
  3033.     echo shar: \"'cursive-1/font.c'\" unpacked with wrong size!
  3034. fi
  3035. # end of 'cursive-1/font.c'
  3036. fi
  3037. if test -f 'cursive-2/cursive.c' -a "${1}" != "-c" ; then 
  3038.   echo shar: Will not clobber existing file \"'cursive-2/cursive.c'\"
  3039. else
  3040. echo shar: Extracting \"'cursive-2/cursive.c'\" \(7070 characters\)
  3041. sed "s/^X//" >'cursive-2/cursive.c' <<'END_OF_FILE'
  3042. X/*        CURSIVE SIGNATURE PROGRAM        Version 0.10
  3043. X *              (c) 1985 - Jan Wolter
  3044. X *
  3045. X *  Purpose:    This program translates text into crude cursive script.
  3046. X *        It works on any terminal with a fairly normal character
  3047. X *        set (must have backslashes and underscores and suchlike).
  3048. X *        The font includes all upper and lower case letters, most
  3049. X *        punctuation, and a few symbols.  No numbers are included
  3050. X *        (It's difficult to make a nice italicized set of numbers).
  3051. X *        Cursive was originally written to generate fancy signatures
  3052. X *        for electronic mail messages, but other uses may occur to
  3053. X *        you.  The attractiveness of the font varies greatly with
  3054. X *        the display device.
  3055. X *
  3056. X *  Usage:    If no command line arguments are given, cursive reads the
  3057. X *        text to translate from standard input.  Otherwise the args
  3058. X *        are translated (e.g. "cursive Jan Wolter" prints my name).
  3059. X *        Output is always to standard output.  A couple command line
  3060. X *        arguments are recognized:
  3061. X *
  3062. X *          -in    Sets the amount of space to insert between letters.
  3063. X *            The default is "-i1".  "-i0" gives interesting
  3064. X *            results.
  3065. X *          -tn    Sets the length of the trailing line off the end
  3066. X *            of each word.  The default is "-t1".
  3067. X *
  3068. X *        One character in the text is treated in a special way:
  3069. X *
  3070. X *          '_'   Can be inserted in text to slightly lengthen the
  3071. X *            the spacing between two letters, or add a longer
  3072. X *            tail to the end of a word.
  3073. X *
  3074. X *  Internals:    Unfortunately, the program is a kludge and the font is
  3075. X *        somewhat difficult to edit.  It should be easy to port
  3076. X *        though.  Systems with short integers or unsigned characters
  3077. X *        should be no problem.  You should probably run "xstr" on the
  3078. X *        font.c file, but if you haven't got "xstr", just compiling it
  3079. X *        the usual way works fine.
  3080. X *
  3081. X *  Copyright:    Both the cursive program and the font it generates are
  3082. X *        copyrighted by yours truly.  However, both may be used
  3083. X *        and distributed freely.  You even have my permission to
  3084. X *        sell it, or include in it a system that you sell.  I only
  3085. X *        ask that my name be retained on this program, or any direct
  3086. X *        decendents of this program with approximately the same
  3087. X *        visibility as in this posting.
  3088. X *
  3089. X *  Mail:    I'm interested in any comments you have on this program.
  3090. X *        I can be mailed at "janc@crim.eecs.umich.edu".  Better yet,
  3091. X *        if you are into teleconferencing, call M-Net at (313) 994-6333
  3092. X *        and type "newuser" at the "login:" prompt to give yourself an
  3093. X *        account.  Send mail to janc, or join the "ugames" conference.
  3094. X *
  3095. X *        Have fun,
  3096. X *                  ___                _     __  _
  3097. X *                 (   >              ' )   /   // _/_
  3098. X *                  __/___.  ____      / / / __|/  /  _  __
  3099. X *                 / / (_/|_/ / <__   (_(_/ (_) \_<__</_/ (__
  3100. X *                <_/
  3101. X */
  3102. X
  3103. X/*
  3104. X * $Log:    cursive.c,v $
  3105. X * Revision 1.2  87/12/05  09:18:09  hyc
  3106. X * Added #ifdef's for MTS CBell, or Bell Labs C in MTS.
  3107. X * (The Michigan Terminal System, our homegrown IBM 370 OS. Funstuff.
  3108. X *  But hey, it was the first 370 OS with a real filesystem...  }-)
  3109. X * 
  3110. X */
  3111. X
  3112. X#include <stdio.h>
  3113. X#include "cursive.h"
  3114. X
  3115. char *buffer[6];    /* memory buffers to build up line in */
  3116. int c[6];        /* current index in each of the buffer lines */
  3117. int tail[6];        /* which buffer lines have tails in them */
  3118. int lasttail;        /* which line was the last letter's tail */
  3119. int space;        /* how much white space before the next letter */
  3120. int interspace = 1;    /* how much to spread adjacent letters out */
  3121. int taillen = 1;    /* how long the tails on ends of words should be */
  3122. char firstletter;    /* is this the first letter on the line? */
  3123. char message[256] = "";    /* message to print */
  3124. X
  3125. char *malloc();
  3126. X
  3127. main(argc,argv)
  3128. int argc;
  3129. char **argv;
  3130. X{
  3131. int i;
  3132. char *s,*m;
  3133. char ch;
  3134. X
  3135. X    m = message;
  3136. X    for (i = 1; i < argc; i++)
  3137. X    {
  3138. X        if (*argv[i] == '-')
  3139. X            switch(ch = argv[i][1])
  3140. X            {
  3141. X            case 'i':
  3142. X            case 't':
  3143. X                s = argv[i]+2;
  3144. X                if (*s == '\000')
  3145. X                    if (++i < argc)
  3146. X                        s = argv[i];
  3147. X                if (*s < '0' || *s > '9')
  3148. X                {
  3149. X                    printf("%s: Illegal value %s\n",
  3150. X                        argv[0],s);
  3151. X                    exit(1);
  3152. X                }
  3153. X                if (ch == 'i')
  3154. X                    interspace = atoi(s);
  3155. X                else
  3156. X                    taillen = atoi(s);
  3157. X                break;
  3158. X            default:
  3159. X                printf("usage: %s [-tn] [-in] message\n",
  3160. X                    argv[0]);
  3161. X                exit(1);
  3162. X            }
  3163. X        else
  3164. X        {
  3165. X            if (m != message)
  3166. X                *(m++) = ' ';
  3167. X            for (s=argv[i]; *s != '\000'; s++)
  3168. X                *(m++) = *s;
  3169. X        }
  3170. X    }
  3171. X    /* Do the deed */
  3172. X    if (m != message)
  3173. X    {
  3174. X        /* Message from the arg list */
  3175. X        *(m++) = 0;
  3176. X        prline(message);
  3177. X    }
  3178. X    else
  3179. X    {
  3180. X        /* Message from standard input */
  3181. X        while (gets(message) != NULL)
  3182. X            prline(message);
  3183. X    }
  3184. X}
  3185. X
  3186. X
  3187. X/* Add the given letter to the end of the current line */
  3188. X
  3189. place(let)
  3190. struct letter *let;
  3191. X{
  3192. int i,j,n;
  3193. int col;
  3194. int max = -10000;
  3195. char pad;
  3196. char *l;
  3197. X
  3198. X    if (firstletter)
  3199. X    {
  3200. X        col = space;        /* Leading spaces */
  3201. X        firstletter = 0;
  3202. X    }
  3203. X    else
  3204. X    {
  3205. X        /* Find the furthest left position we can place this letter */
  3206. X        for(i=0; i<6; i++)
  3207. X        {
  3208. X            if (let->line[i][0] != '\000' &&
  3209. X                (col = c[i] - let->spcs[i]) > max)
  3210. X                max = col;
  3211. X        }
  3212. X
  3213. X        /* Insert some spaces between letters */
  3214. X        col = max + space + interspace;
  3215. X    }
  3216. X
  3217. X    for(i=0; i<6; i++)
  3218. X
  3219. X        /* If Nothing on this Line, Skip It */
  3220. X        if (let->line[i][0] != '\000')
  3221. X        {
  3222. X            /* Number of Spaces to Put on this Line? */
  3223. X            n = col - c[i] + let->spcs[i];
  3224. X
  3225. X            /* Flyers off Ends of Letters */
  3226. X            if (tail[i])
  3227. X                for (j = 0;
  3228. X                     j < 5 && n > space + 2; j++,n--)
  3229. X                    buffer[i][c[i]++] = '_';
  3230. X
  3231. X            /* Connecting Lines Between Letters */
  3232. X            pad = (lasttail == i && let->tailin == i) ? '_' : ' ';
  3233. X
  3234. X            /* In the middle of the intersection of South and */
  3235. X            /* East University, someone is playing the piano. */
  3236. X            for ( ; n > 0; n--)
  3237. X                buffer[i][c[i]++] = pad;
  3238. X
  3239. X            /* Copy in the letter text */
  3240. X            for (l = let->line[i]; *l != '\000'; l++)
  3241. X                buffer[i][c[i]++] = *l;
  3242. X
  3243. X            tail[i] = (i == let->tailout);
  3244. X        }
  3245. X
  3246. X    lasttail = let->tailout;
  3247. X    space = 0;
  3248. X}
  3249. X
  3250. X/* Lengthen the last trailer by n */
  3251. tailer(n)
  3252. int n;
  3253. X{
  3254. int j;
  3255. X    if (lasttail >= 0)
  3256. X        for (j = 0; j < n; j++)
  3257. X            buffer[lasttail][c[lasttail]++] = '_';
  3258. X}
  3259. X
  3260. X/* Handle a line */
  3261. prline(s)
  3262. char *s;
  3263. X{
  3264. int l,i;
  3265. char *ch;
  3266. short lcode;
  3267. X
  3268. X#ifdef mts
  3269. X
  3270. int mode=&0x040, lnum=0;
  3271. X
  3272. X    etoa(s,strlen(s));
  3273. X#endif
  3274. X    lasttail = -1;
  3275. X    firstletter = 1;
  3276. X    space = 0;
  3277. X    /* Get some memory to put the output into */
  3278. X    l = strlen(s) * (CHARWIDTH + interspace);
  3279. X    for (i=0;i<6;i++)
  3280. X    {
  3281. X        buffer[i] = malloc((unsigned)l);
  3282. X        tail[i] = c[i] = 0;
  3283. X    }
  3284. X
  3285. X    /* do each letter */
  3286. X    for (ch=s; *ch != '\000'; ch++)
  3287. X    {
  3288. X
  3289. X        *ch &= '\177';
  3290. X        /* Find the letter */
  3291. X        lcode = (lasttail != 2) ? code1[*ch] : code2[*ch];
  3292. X        if (lcode >= 0)
  3293. X            place(&list[lcode]);
  3294. X        else
  3295. X            /* Various Special characters */
  3296. X            switch(lcode)
  3297. X            {
  3298. X            case SP:
  3299. X                /* Insert white space before next letter */
  3300. X                tailer(taillen);
  3301. X                space += 3;
  3302. X                lasttail = -1;
  3303. X                break;
  3304. X            case ST:
  3305. X                /* Lengthen the last tail */
  3306. X                if (lasttail >= 0)
  3307. X                    buffer[lasttail][c[lasttail]++] = '_';
  3308. X                break;
  3309. X            }
  3310. X    }
  3311. X    tailer(taillen);
  3312. X
  3313. X    /* print the line and release the memory */
  3314. X    for (i=0;i<6;i++)
  3315. X    {
  3316. X#ifdef mts
  3317. X        lcode=(short)c[i];
  3318. X        mtswrite(buffer[i],&lcode,&mod,&lnum,"SPRINT  ");
  3319. X#else mts
  3320. X        buffer[i][c[i]++] = '\n';
  3321. X        write(1,buffer[i],c[i]);
  3322. X#endif mts
  3323. X        free(buffer[i]);
  3324. X    }
  3325. X}
  3326. END_OF_FILE
  3327. if test 7070 -ne `wc -c <'cursive-2/cursive.c'`; then
  3328.     echo shar: \"'cursive-2/cursive.c'\" unpacked with wrong size!
  3329. fi
  3330. # end of 'cursive-2/cursive.c'
  3331. fi
  3332. if test -f 'gothic/gothic.c' -a "${1}" != "-c" ; then 
  3333.   echo shar: Will not clobber existing file \"'gothic/gothic.c'\"
  3334. else
  3335. echo shar: Extracting \"'gothic/gothic.c'\" \(10692 characters\)
  3336. sed "s/^X//" >'gothic/gothic.c' <<'END_OF_FILE'
  3337. X/*
  3338. X * Print a line of text in Gothic (Black) Script. Very simple routine,
  3339. X * just a lot of data to worry about...
  3340. X *
  3341. X * Remember to escape all backslashes when editing characters...
  3342. X *  -- hyc, 12-29-91
  3343. X */
  3344. X
  3345. X#include <stdio.h>
  3346. X#include <ctype.h>
  3347. X
  3348. struct letter {
  3349. X    char *lines[9];
  3350. X} glyphs[96] = {
  3351. X  {    "  ",    /* space */
  3352. X    "  ",
  3353. X    "  ",
  3354. X    "  ",
  3355. X    "  ",
  3356. X    "  ",
  3357. X    "  ",
  3358. X    "  ",
  3359. X    "  " },
  3360. X
  3361. X  {    "   ",    /* ! bang */
  3362. X    "/\\ ",
  3363. X    "\\/ ",
  3364. X    "}{ ",
  3365. X    "\\/ ",
  3366. X    "   ",
  3367. X    "<> ",
  3368. X    "   ",
  3369. X    "   " },
  3370. X
  3371. X  {    "",    /* " double-quote */
  3372. X    "",
  3373. X    "",
  3374. X    "",
  3375. X    "",
  3376. X    "",
  3377. X    "",
  3378. X    "",
  3379. X    "" },
  3380. X
  3381. X  {    "",    /* # sharp */
  3382. X    "",
  3383. X    "",
  3384. X    "",
  3385. X    "",
  3386. X    "",
  3387. X    "",
  3388. X    "",
  3389. X    "" },
  3390. X
  3391. X  {    "",    /* $ dollar */
  3392. X    "",
  3393. X    "",
  3394. X    "",
  3395. X    "",
  3396. X    "",
  3397. X    "",
  3398. X    "",
  3399. X    "" },
  3400. X
  3401. X  {    "",    /* % per-cent */
  3402. X    "",
  3403. X    "",
  3404. X    "",
  3405. X    "",
  3406. X    "",
  3407. X    "",
  3408. X    "",
  3409. X    "" },
  3410. X
  3411. X  {    "",    /* & ampersand */
  3412. X    "",
  3413. X    "",
  3414. X    "",
  3415. X    "",
  3416. X    "",
  3417. X    "",
  3418. X    "",
  3419. X    "" },
  3420. X
  3421. X  {    "",    /* ' single quote */
  3422. X    "",
  3423. X    "",
  3424. X    "",
  3425. X    "",
  3426. X    "",
  3427. X    "",
  3428. X    "",
  3429. X    "" },
  3430. X
  3431. X  {    "",    /* ( left paren */
  3432. X    "",
  3433. X    "",
  3434. X    "",
  3435. X    "",
  3436. X    "",
  3437. X    "",
  3438. X    "",
  3439. X    "" },
  3440. X
  3441. X  {    "",    /* ) right paren */
  3442. X    "",
  3443. X    "",
  3444. X    "",
  3445. X    "",
  3446. X    "",
  3447. X    "",
  3448. X    "",
  3449. X    "" },
  3450. X
  3451. X  {    "",    /* * asterisk */
  3452. X    "",
  3453. X    "",
  3454. X    "",
  3455. X    "",
  3456. X    "",
  3457. X    "",
  3458. X    "",
  3459. X    "" },
  3460. X
  3461. X  {    "",    /* + plus */
  3462. X    "",
  3463. X    "",
  3464. X    "",
  3465. X    "",
  3466. X    "",
  3467. X    "",
  3468. X    "",
  3469. X    "" },
  3470. X
  3471. X  {    "",    /* , comma */
  3472. X    "",
  3473. X    "",
  3474. X    "",
  3475. X    "",
  3476. X    "",
  3477. X    "",
  3478. X    "",
  3479. X    "" },
  3480. X
  3481. X  {    "",    /* - hyphen */
  3482. X    "",
  3483. X    "",
  3484. X    "",
  3485. X    "",
  3486. X    "",
  3487. X    "",
  3488. X    "",
  3489. X    "" },
  3490. X
  3491. X  {    "   ",    /* . period */
  3492. X    "   ",
  3493. X    "   ",
  3494. X    "   ",
  3495. X    "   ",
  3496. X    "   ",
  3497. X    "<> ",
  3498. X    "   ",
  3499. X    "   " },
  3500. X
  3501. X  {    "",    /* / slash */
  3502. X    "",
  3503. X    "",
  3504. X    "",
  3505. X    "",
  3506. X    "",
  3507. X    "",
  3508. X    "",
  3509. X    "" },
  3510. X
  3511. X  {    "",    /* 0 */
  3512. X    "",
  3513. X    "",
  3514. X    "",
  3515. X    "",
  3516. X    "",
  3517. X    "",
  3518. X    "",
  3519. X    "" },
  3520. X
  3521. X  {    "",    /* 1 */
  3522. X    "",
  3523. X    "",
  3524. X    "",
  3525. X    "",
  3526. X    "",
  3527. X    "",
  3528. X    "",
  3529. X    "" },
  3530. X
  3531. X  {    "",    /* 2 */
  3532. X    "",
  3533. X    "",
  3534. X    "",
  3535. X    "",
  3536. X    "",
  3537. X    "",
  3538. X    "",
  3539. X    "" },
  3540. X
  3541. X  {    "",    /* 3 */
  3542. X    "",
  3543. X    "",
  3544. X    "",
  3545. X    "",
  3546. X    "",
  3547. X    "",
  3548. X    "",
  3549. X    "" },
  3550. X
  3551. X  {    "",    /* 4 */
  3552. X    "",
  3553. X    "",
  3554. X    "",
  3555. X    "",
  3556. X    "",
  3557. X    "",
  3558. X    "",
  3559. X    "" },
  3560. X
  3561. X  {    "",    /* 5 */
  3562. X    "",
  3563. X    "",
  3564. X    "",
  3565. X    "",
  3566. X    "",
  3567. X    "",
  3568. X    "",
  3569. X    "" },
  3570. X
  3571. X  {    "",    /* 6 */
  3572. X    "",
  3573. X    "",
  3574. X    "",
  3575. X    "",
  3576. X    "",
  3577. X    "",
  3578. X    "",
  3579. X    "" },
  3580. X
  3581. X  {    "",    /* 7 */
  3582. X    "",
  3583. X    "",
  3584. X    "",
  3585. X    "",
  3586. X    "",
  3587. X    "",
  3588. X    "",
  3589. X    "" },
  3590. X
  3591. X  {    "",    /* 8 */
  3592. X    "",
  3593. X    "",
  3594. X    "",
  3595. X    "",
  3596. X    "",
  3597. X    "",
  3598. X    "",
  3599. X    "" },
  3600. X
  3601. X  {    "",    /* 9 */
  3602. X    "",
  3603. X    "",
  3604. X    "",
  3605. X    "",
  3606. X    "",
  3607. X    "",
  3608. X    "",
  3609. X    "" },
  3610. X
  3611. X  {    "",    /* : */
  3612. X    "",
  3613. X    "",
  3614. X    "",
  3615. X    "",
  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#ifdef ITALIC
  3683. X  {    "           ",
  3684. X    " _--_,     ",
  3685. X    "   ,\\\\     ",
  3686. X    "  ~' \\\\    ",
  3687. X    "   |==\\\\   ",
  3688. X    "   |   \\\\. ",
  3689. X    " _---_  \\/ ",
  3690. X    "(          ",
  3691. X    "           " },
  3692. X#else
  3693. X  {    "  ___    ",
  3694. X    " -   -_, ",
  3695. X    "(  ~/||  ",
  3696. X    "(  / ||  ",
  3697. X    " \\/==||  ",
  3698. X    " /_ _||  ",
  3699. X    "(  - \\\\, ",
  3700. X    "         ",
  3701. X    "         " },
  3702. X#endif
  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. X    " /| |  |` ",
  3728. X    " || |==|| ",
  3729. X    "~|| |  |, ",
  3730. X    " ~-____,  ",
  3731. X    "(         ",
  3732. X    "          " },
  3733. X
  3734. X  {    "         ",
  3735. X    "  ,- _~, ",
  3736. X    " (' /| / ",
  3737. X    "((  ||/= ",
  3738. X    "((  ||   ",
  3739. X    " ( / |   ",
  3740. X    "  -____- ",
  3741. X    "         ",
  3742. X    "         " },
  3743. X
  3744. X#ifdef ITALIC
  3745. X  {    "  __    ",
  3746. X    "_// --_/",
  3747. X    "  ||    ",
  3748. X    " ~+|-/  ",
  3749. X    "  ||    ",
  3750. X    "  ||    ",
  3751. X    " ,/     ",
  3752. X    "        ",
  3753. X    "        " },
  3754. X#else
  3755. X  {    "    _ ,",
  3756. X    "  ,- - ",
  3757. X    " _||_  ",
  3758. X    "' ||   ",
  3759. X    "  ||   ",
  3760. X    "  |,   ",
  3761. X    "_-/    ",
  3762. X    "       ",
  3763. X    "       " },
  3764. X#endif
  3765. X
  3766. X  {    "    __ ,  ",
  3767. X    "  ,-| ~   ",
  3768. X    " ('||/__, ",
  3769. X    "(( |||  | ",
  3770. X    "(( |||==| ",
  3771. X    " ( / |  , ",
  3772. X    "  -____/  ",
  3773. X    "          ",
  3774. X    "          " },
  3775. X
  3776. X  {    "          ",
  3777. X    "_-_-      ",
  3778. X    "  /,      ",
  3779. X    "  || __   ",
  3780. X    " ~||-  -  ",
  3781. X    "  ||===|| ",
  3782. X    " ( \\_, |  ",
  3783. X    "       `  ",
  3784. X    "          " },
  3785. X
  3786. X  {    "     ",
  3787. X    "_-_, ",
  3788. X    "  // ",
  3789. X    "  || ",
  3790. X    " ~|| ",
  3791. X    "  || ",
  3792. X    "_-_, ",
  3793. X    "     ",
  3794. X    "     " },
  3795. X
  3796. X  {    "      ",
  3797. X    " _-_,,",
  3798. X    "(  // ",
  3799. X    "  _|| ",
  3800. X    "  _|| ",
  3801. X    "   || ",
  3802. X    "-__-, ",
  3803. X    "      ",
  3804. X    "      " },
  3805. X
  3806. X  {    "         ",
  3807. X    "_-_-,    ",
  3808. X    "  // ,   ",
  3809. X    "  ||/\\\\  ",
  3810. X    " ~|| <   ",
  3811. X    "  ||/\\\\  ",
  3812. X    " _-__,\\\\,",
  3813. X    "         ",
  3814. X    "         " },
  3815. X
  3816. X  {    "        ",
  3817. X    "_-_-    ",
  3818. X    " /,     ",
  3819. X    " ||     ",
  3820. X    "~||     ",
  3821. X    " ||     ",
  3822. X    "(  -__, ",
  3823. X    "        ",
  3824. X    "        " },
  3825. X
  3826. X  {    "          ",
  3827. X    "  /\\\\,/\\\\,",
  3828. X    " /| || || ",
  3829. X    " || || || ",
  3830. X    " ||=|= || ",
  3831. X    "~|| || || ",
  3832. X    " |, \\\\,\\\\,",
  3833. X    "_-        ",
  3834. X    "          " },
  3835. X
  3836. X  {    "    __   ",
  3837. X    "   /  -, ",
  3838. X    "  ||   ) ",
  3839. X    " ~||---) ",
  3840. X    " ~||---, ",
  3841. X    " ~||  /  ",
  3842. X    "  |, /   ",
  3843. X    "-_-  --~ ",
  3844. X    "         " },
  3845. X
  3846. X  {    "    __     ",
  3847. X    "  ,-||-,   ",
  3848. X    " ('|||  )  ",
  3849. X    "(( |||--)) ",
  3850. X    "(( |||--)) ",
  3851. X    " ( / |  )  ",
  3852. X    "  -____-   ",
  3853. X    "           ",
  3854. X    "           " },
  3855. X
  3856. X  {    "         ",
  3857. X    "-__ /\\\\  ",
  3858. X    "  ||  \\\\ ",
  3859. X    " /||__|| ",
  3860. X    " \\||__|| ",
  3861. X    "  ||  |, ",
  3862. X    "_-||-_/  ",
  3863. X    "  ||     ",
  3864. X    "         " },
  3865. X
  3866. X  {    "    __     ",
  3867. X    "  ,-||-,   ",
  3868. X    " ('|||  )  ",
  3869. X    "(( |||--)) ",
  3870. X    "(( |||--)) ",
  3871. X    " ( / |  )  ",
  3872. X    "  -____-\\\\ ",
  3873. X    "           ",
  3874. X    "           " },
  3875. X
  3876. X  {    "        ",
  3877. X    "-__ /\\  ",
  3878. X    "  || \\, ",
  3879. X    " /|| /  ",
  3880. X    " \\||/-  ",
  3881. X    "  ||  \\ ",
  3882. X    "_---_-|,",
  3883. X    "        ",
  3884. X    "        " },
  3885. X
  3886. X  {    "        ",
  3887. X    "  -_-/  ",
  3888. X    " (_ /   ",
  3889. X    "(_ --_  ",
  3890. X    "  --_ ) ",
  3891. X    " _/  )) ",
  3892. X    "(_-_-   ",
  3893. X    "        ",
  3894. X    "        " },
  3895. X
  3896. X  {    " ___        ",
  3897. X    "-   ---___- ",
  3898. X    "   (' ||    ",
  3899. X    "  ((  ||    ",
  3900. X    " ((   ||    ",
  3901. X    "  (( //     ",
  3902. X    "    -____-  ",
  3903. X    "            ",
  3904. X    "            " },
  3905. X
  3906. X  {    " _ _    _ ,",
  3907. X    "- - /  - - ",
  3908. X    "  ('||  || ",
  3909. X    " (( ||--|| ",
  3910. X    " (( ||--|| ",
  3911. X    " (( /   || ",
  3912. X    "   -___-\\\\,",
  3913. X    "           ",
  3914. X    "           " },
  3915. X
  3916. X  {    " _      ",
  3917. X    "- - _-  ",
  3918. X    "  )-  ) ",
  3919. X    "  )___) ",
  3920. X    " ~)___) ",
  3921. X    "  )  )  ",
  3922. X    " /-_/   ",
  3923. X    "        ",
  3924. X    "        " },
  3925. X
  3926. X  {    " _        ",
  3927. X    "- - /, /, ",
  3928. X    "  )/ )/ ) ",
  3929. X    "  )__)__) ",
  3930. X    " ~)__)__) ",
  3931. X    "  )  )  ) ",
  3932. X    " /-_/-_/  ",
  3933. X    "          ",
  3934. X    "          " },
  3935. X
  3936. X  {    " _       ",
  3937. X    "- -    /`",
  3938. X    "  \\\\  /  ",
  3939. X    "   \\\\/   ",
  3940. X    "  ==/\\== ",
  3941. X    "   / \\\\  ",
  3942. X    "\\\\/   \\\\,",
  3943. X    "         ",
  3944. X    "         " },
  3945. X
  3946. X  {    "         ",
  3947. X    "-_   _   ",
  3948. X    "  |,- `  ",
  3949. X    " ~||__)) ",
  3950. X    " ~||__)) ",
  3951. X    "  |_ _,  ",
  3952. X    " -' -    ",
  3953. X    "( _-_    ",
  3954. X    " -   '   " },
  3955. X
  3956. X  {    "      ",
  3957. X    "_-___ ",
  3958. X    "    / ",
  3959. X    "   /  ",
  3960. X    " =/=  ",
  3961. X    " /    ",
  3962. X    "/-__- ",
  3963. X    "      ",
  3964. X    "      " },
  3965. X
  3966. X  {    "",
  3967. X    "",
  3968. X    "",
  3969. X    "",
  3970. X    "",
  3971. X    "",
  3972. X    "",
  3973. X    "",
  3974. X    "" },
  3975. X
  3976. X  {    "",
  3977. X    "",
  3978. X    "",
  3979. X    "",
  3980. X    "",
  3981. X    "",
  3982. X    "",
  3983. X    "",
  3984. X    "" },
  3985. X
  3986. X  {    "",
  3987. X    "",
  3988. X    "",
  3989. X    "",
  3990. X    "",
  3991. X    "",
  3992. X    "",
  3993. X    "",
  3994. X    "" },
  3995. X
  3996. X  {    "",
  3997. X    "",
  3998. X    "",
  3999. X    "",
  4000. X    "",
  4001. X    "",
  4002. X    "",
  4003. X    "",
  4004. X    "" },
  4005. X
  4006. X  {    "",
  4007. X    "",
  4008. X    "",
  4009. X    "",
  4010. X    "",
  4011. X    "",
  4012. X    "",
  4013. X    "",
  4014. X    "" },
  4015. X
  4016. X  {    "",
  4017. X    "",
  4018. X    "",
  4019. X    "",
  4020. X    "",
  4021. X    "",
  4022. X    "",
  4023. X    "",
  4024. X    "" },
  4025. X#ifdef ITALIC
  4026. X  {    "       ",
  4027. X    "       ",
  4028. X    "       ",
  4029. X    " _-_   ",
  4030. X    "|| \\\\, ",
  4031. X    "|| ||  ",
  4032. X    "\\\\/\\\\, ",
  4033. X    "       ",
  4034. X    "       " },
  4035. X#else
  4036. X  {    "      ",
  4037. X    "      ",
  4038. X    "  _   ",
  4039. X    " < \\, ",
  4040. X    " /-|| ",
  4041. X    "(( || ",
  4042. X    " \\/\\\\ ",
  4043. X    "      ",
  4044. X    "      " },
  4045. X#endif
  4046. X
  4047. X  {    "      ",
  4048. X    ",,    ",
  4049. X    "||    ",
  4050. X    "||/|, ",
  4051. X    "|| || ",
  4052. X    "|| |' ",
  4053. X    "\\\\/   ",
  4054. X    "      ",
  4055. X    "      " },
  4056. X
  4057. X  {    "     ",
  4058. X    "     ",
  4059. X    "     ",
  4060. X    " _-_ ",
  4061. X    "||   ",
  4062. X    "||   ",
  4063. X    "\\\\,/ ",
  4064. X    "     ",
  4065. X    "     " },
  4066. X#ifdef ITALIC
  4067. X  {    "        ",
  4068. X    "     ,  ",
  4069. X    "    ||  ",
  4070. X    " _-_||  ",
  4071. X    "|| \\\\|  ",
  4072. X    "||  ||  ",
  4073. X    " \\\\/\\\\, ",
  4074. X    "        ",
  4075. X    "        " },
  4076. X#else
  4077. X  {    "      ",
  4078. X    " |\\   ",
  4079. X    "  \\\\  ",
  4080. X    " / \\\\ ",
  4081. X    "|| || ",
  4082. X    "|| || ",
  4083. X    " \\\\/  ",
  4084. X    "      ",
  4085. X    "      " },
  4086. X#endif
  4087. X  {    "      ",
  4088. X    "      ",
  4089. X    "      ",
  4090. X    " _-_  ",
  4091. X    "|| \\\\ ",
  4092. X    "||/   ",
  4093. X    "\\\\,/  ",
  4094. X    "      ",
  4095. X    "      " },
  4096. X
  4097. X  {    "     ",
  4098. X    "  /\\ ",
  4099. X    " ||  ",
  4100. X    "=||= ",
  4101. X    " ||  ",
  4102. X    " ||  ",
  4103. X    " \\\\, ",
  4104. X    "     ",
  4105. X    "     " },
  4106. X
  4107. X  {    "      ",
  4108. X    "      ",
  4109. X    "  _   ",
  4110. X    " / \\\\ ",
  4111. X    "|| || ",
  4112. X    "|| || ",
  4113. X    "\\\\_-| ",
  4114. X    " /  \\ ",
  4115. X    "'----`" },
  4116. X#ifdef ITALIC
  4117. X  {    "      ",
  4118. X    " ,    ",
  4119. X    "||    ",
  4120. X    "||,<> ",
  4121. X    "|| || ",
  4122. X    "|| || ",
  4123. X    "<>,|| ",
  4124. X    "   |/ ",
  4125. X    "  ./  " },
  4126. X
  4127. X  {    "   ",
  4128. X    "   ",
  4129. X    "<> ",
  4130. X    "-_ ",
  4131. X    "|| ",
  4132. X    "|| ",
  4133. X    "\\\\,",
  4134. X    "   ",
  4135. X    "   " },
  4136. X#else
  4137. X  {    "      ",
  4138. X    ",,    ",
  4139. X    "||    ",
  4140. X    "||/\\\\ ",
  4141. X    "|| || ",
  4142. X    "|| || ",
  4143. X    "\\\\ |/ ",
  4144. X    "  _/  ",
  4145. X    "      " },
  4146. X
  4147. X  {    "   ",
  4148. X    "   ",
  4149. X    " ' ",
  4150. X    "\\\\ ",
  4151. X    "|| ",
  4152. X    "|| ",
  4153. X    "\\\\ ",
  4154. X    "   ",
  4155. X    "   " },
  4156. X#endif
  4157. X  {    "   ",
  4158. X    "   ",
  4159. X    " ' ",
  4160. X    "\\\\ ",
  4161. X    "|| ",
  4162. X    "|| ",
  4163. X    "|| ",
  4164. X    "|; ",
  4165. X    "/  " },
  4166. X
  4167. X  {    "     ",
  4168. X    ",,   ",
  4169. X    "||   ",
  4170. X    "||/\\ ",
  4171. X    "||_< ",
  4172. X    "|| | ",
  4173. X    "\\\\,\\ ",
  4174. X    "     ",
  4175. X    "     " },
  4176. X
  4177. X  {    "   ",
  4178. X    ",, ",
  4179. X    "|| ",
  4180. X    "|| ",
  4181. X    "|| ",
  4182. X    "|| ",
  4183. X    "\\\\ ",
  4184. X    "   ",
  4185. X    "   " },
  4186. X
  4187. X  {    "         ",
  4188. X    "         ",
  4189. X    "         ",
  4190. X    "\\\\/\\\\/\\\\ ",
  4191. X    "|| || || ",
  4192. X    "|| || || ",
  4193. X    "\\\\ \\\\ \\\\ ",
  4194. X    "         ",
  4195. X    "         " },
  4196. X
  4197. X  {    "      ",
  4198. X    "      ",
  4199. X    "      ",
  4200. X    "\\\\/\\\\ ",
  4201. X    "|| || ",
  4202. X    "|| || ",
  4203. X    "\\\\ \\\\ ",
  4204. X    "      ",
  4205. X    "      " },
  4206. X
  4207. X  {    "      ",
  4208. X    "      ",
  4209. X    "      ",
  4210. X    " /'\\\\ ",
  4211. X    "|| || ",
  4212. X    "|| || ",
  4213. X    "\\\\,/  ",
  4214. X    "      ",
  4215. X    "      " },
  4216. X
  4217. X  {    "      ",
  4218. X    "      ",
  4219. X    "      ",
  4220. X    "-_-_  ",
  4221. X    "|| \\\\ ",
  4222. X    "|| || ",
  4223. X    "||-'  ",
  4224. X    "|/    ",
  4225. X    "'     " },
  4226. X
  4227. X  {    "      ",
  4228. X    "      ",
  4229. X    "      ",
  4230. X    " /'\\\\ ",
  4231. X    "|| || ",
  4232. X    "|| || ",
  4233. X    "\\\\,|| ",
  4234. X    "   || ",
  4235. X    "   '` " },
  4236. X
  4237. X  {    "      ",
  4238. X    "      ",
  4239. X    "      ",
  4240. X    ",._-_ ",
  4241. X    " ||   ",
  4242. X    " ||   ",
  4243. X    " \\\\,  ",
  4244. X    "      ",
  4245. X    "      " },
  4246. X
  4247. X  {    "      ",
  4248. X    "      ",
  4249. X    "      ",
  4250. X    " _-_, ",
  4251. X    "||_.  ",
  4252. X    " ~ || ",
  4253. X    ",-_-  ",
  4254. X    "      ",
  4255. X    "      " },
  4256. X
  4257. X  {    "     ",
  4258. X    "  ,  ",
  4259. X    " ||  ",
  4260. X    "=||= ",
  4261. X    " ||  ",
  4262. X    " ||  ",
  4263. X    " \\\\, ",
  4264. X    "     ",
  4265. X    "     " },
  4266. X
  4267. X  {    "      ",
  4268. X    "      ",
  4269. X    "      ",
  4270. X    "\\\\ \\\\ ",
  4271. X    "|| || ",
  4272. X    "|| || ",
  4273. X    "\\\\/\\\\ ",
  4274. X    "      ",
  4275. X    "      " },
  4276. X
  4277. X  {    "     ",
  4278. X    "     ",
  4279. X    ";    ",
  4280. X    "\\\\/\\ ",
  4281. X    "|| | ",
  4282. X    "|| | ",
  4283. X    "\\\\/  ",
  4284. X    "     ",
  4285. X    "     " },
  4286. X
  4287. X  {    "       ",
  4288. X    "       ",
  4289. X    ";      ",
  4290. X    "\\\\/\\/\\ ",
  4291. X    "|| | | ",
  4292. X    "|| | | ",
  4293. X    "\\\\/\\\\/ ",
  4294. X    "       ",
  4295. X    "       " },
  4296. X
  4297. X  {    "      ",
  4298. X    "      ",
  4299. X    ",     ",
  4300. X    "\\\\ /` ",
  4301. X    " \\\\   ",
  4302. X    " /\\\\  ",
  4303. X    "/  \\; ",
  4304. X    "      ",
  4305. X    "      " },
  4306. X#ifdef ITALIC
  4307. X  {    "      ",
  4308. X    "      ",
  4309. X    "      ",
  4310. X    "-_ -_ ",
  4311. X    "|| || ",
  4312. X    "|| || ",
  4313. X    "\\\\,|| ",
  4314. X    "   |/ ",
  4315. X    "  ./  " },
  4316. X#else
  4317. X  {    "       ",
  4318. X    "       ",
  4319. X    "       ",
  4320. X    "'\\\\/\\\\ ",
  4321. X    " || ;' ",
  4322. X    " ||/   ",
  4323. X    " |/    ",
  4324. X    "(      ",
  4325. X    " -_-   " },
  4326. X
  4327. X#endif
  4328. X  {    "    ",
  4329. X    "    ",
  4330. X    "    ",
  4331. X    "/\\\\ ",
  4332. X    " /  ",
  4333. X    "/\\\\ ",
  4334. X    " || ",
  4335. X    " /  ",
  4336. X    "(,  " },
  4337. X
  4338. X  {    "",
  4339. X    "",
  4340. X    "",
  4341. X    "",
  4342. X    "",
  4343. X    "",
  4344. X    "",
  4345. X    "",
  4346. X    "" },
  4347. X
  4348. X  {    "",
  4349. X    "",
  4350. X    "",
  4351. X    "",
  4352. X    "",
  4353. X    "",
  4354. X    "",
  4355. X    "",
  4356. X    "" },
  4357. X
  4358. X  {    "",
  4359. X    "",
  4360. X    "",
  4361. X    "",
  4362. X    "",
  4363. X    "",
  4364. X    "",
  4365. X    "",
  4366. X    "" },
  4367. X
  4368. X  {    "",
  4369. X    "",
  4370. X    "",
  4371. X    "",
  4372. X    "",
  4373. X    "",
  4374. X    "",
  4375. X    "",
  4376. X    "" }
  4377. X    };
  4378. X
  4379. main(argc,argv)
  4380. int argc; char *argv[];
  4381. X{
  4382. X    char buffer[256];
  4383. X
  4384. X    if (argc < 2) { /* read message from stdin */
  4385. X        while (gets (buffer) != NULL)
  4386. X            print (buffer);
  4387. X    } else {
  4388. X        for (--argc; argc != 1; argc--) {
  4389. X            argv[argc]--;
  4390. X            *argv[argc]=' ';
  4391. X        }
  4392. X        print (argv[1]);
  4393. X    }
  4394. X}
  4395. X
  4396. print(buf)
  4397. char *buf;
  4398. X{
  4399. X    register int i;
  4400. X    register char *ptr;
  4401. X
  4402. X    for (i=0; i<9; i++) {
  4403. X        for (ptr=buf;*ptr;ptr++) {
  4404. X            if (isprint (*ptr))
  4405. X                fputs(glyphs[*ptr-' '].lines[i], stdout);
  4406. X            else
  4407. X                fputs(glyphs[0].lines[i], stdout);
  4408. X        }
  4409. X        putchar('\n');
  4410. X    }
  4411. X    putchar('\n');
  4412. X}
  4413. END_OF_FILE
  4414. if test 10692 -ne `wc -c <'gothic/gothic.c'`; then
  4415.     echo shar: \"'gothic/gothic.c'\" unpacked with wrong size!
  4416. fi
  4417. # end of 'gothic/gothic.c'
  4418. fi
  4419. echo shar: End of archive 2 \(of 5\).
  4420. cp /dev/null ark2isdone
  4421. MISSING=""
  4422. for I in 1 2 3 4 5 ; do
  4423.     if test ! -f ark${I}isdone ; then
  4424.     MISSING="${MISSING} ${I}"
  4425.     fi
  4426. done
  4427. if test "${MISSING}" = "" ; then
  4428.     echo You have unpacked all 5 archives.
  4429.     rm -f ark[1-9]isdone
  4430. else
  4431.     echo You still need to unpack the following archives:
  4432.     echo "        " ${MISSING}
  4433. fi
  4434. ##  End of shell archive.
  4435. exit 0
  4436.