home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume1 / 8707 / 57 < prev    next >
Encoding:
Internet Message Format  |  1990-07-13  |  21.6 KB

  1. From: abcscnuk@csun.UUCP (Naoto Kimura)
  2. Newsgroups: comp.sources.misc
  3. Subject: A program to output block characters
  4. Message-ID: <3265@ncoast.UUCP>
  5. Date: 21 Jul 87 01:24:13 GMT
  6. Sender: allbery@ncoast.UUCP
  7. Organization: California State University, Northridge
  8. Lines: 1460
  9. Approved: allbery@ncoast.UUCP
  10. X-Archive: comp.sources.misc/8707/57
  11.  
  12.     I kinda got tired of using the banner program, so I decided to write
  13. one of my own.   I suppose someone has already posted one, but I decided
  14. to post anyway.
  15.  
  16. Output of banner:  (note lack of lowercase -- lower case is really
  17.             smaller version of upper case letters          )
  18.  
  19.    #            ######           #####
  20.   # #      ##   #     #  #####  #     #   ####
  21.  #   #    #  #  #     #  #    # #        #    #
  22. #     #  #    # ######   #####  #        #
  23. #######  ###### #     #  #    # #        #
  24. #     #  #    # #     #  #    # #     #  #    #
  25. #     #  #    # ######   #####   #####    ####
  26.  
  27. Output of my program:
  28.  
  29.     @@@              @@@@@@@@  @           @@@@@          
  30.    @   @             @       @ @          @     @         
  31.   @     @   @@@@@@   @       @ @ @@@@@   @       @  @@@@@ 
  32.  @       @        @  @@@@@@@@  @@     @  @         @     @
  33.  @@@@@@@@@  @@@@@@@  @       @ @       @ @       @ @      
  34.  @       @ @     @@  @       @ @@     @   @     @  @     @
  35.  @       @  @@@@@ @@ @@@@@@@@  @ @@@@@     @@@@@    @@@@@ 
  36.                                                           
  37.  
  38.                 //-n-\\                    Naoto Kimura
  39.         _____---=======---_____                (csun!abcscnuk)
  40.     ====____\   /.. ..\   /____====
  41.   //         ---\__O__/---        \\    Enterprise... Surrender or we'll
  42.   \_\                            /_/    send back your *&^$% tribbles !!
  43. ------ cut here ------ cut here ------ cut here ------ cut here ------
  44. #! /bin/sh
  45. # This is a shell archive, meaning:
  46. # 1. Remove everything above the #! /bin/sh line.
  47. # 2. Save the resulting text in a file.
  48. # 3. Execute the file with /bin/sh (not csh) to create the files:
  49. #    block
  50. # This archive created: Mon Jul 20 00:13:03 1987
  51. export PATH; PATH=/bin:$PATH
  52. if test ! -d 'block'
  53. then
  54.     echo shar: creating directory "'block'"
  55.     mkdir 'block'
  56. fi
  57. echo shar: entering directory "'block'"
  58. cd 'block'
  59. echo shar: extracting "'data.c'" '(19204 characters)'
  60. if test -f 'data.c'
  61. then
  62.     echo shar: will not over-write existing file "'data.c'"
  63. else
  64. sed 's/^    X//' << \SHAR_EOF > 'data.c'
  65.     Xchar *data[][10] = {
  66.     X    { /* ^@ */
  67.     X        "", "", "", "", "", "", "", "", "", "",
  68.     X    },
  69.     X    { /* ^A */
  70.     X        "", "", "", "", "", "", "", "", "", "",
  71.     X    },
  72.     X    { /* ^B */
  73.     X        "", "", "", "", "", "", "", "", "", "",
  74.     X    },
  75.     X    { /* ^C */
  76.     X        "", "", "", "", "", "", "", "", "", "",
  77.     X    },
  78.     X    { /* ^D */
  79.     X        "", "", "", "", "", "", "", "", "", "",
  80.     X    },
  81.     X    { /* ^E */
  82.     X        "", "", "", "", "", "", "", "", "", "",
  83.     X    },
  84.     X    { /* ^F */
  85.     X        "", "", "", "", "", "", "", "", "", "",
  86.     X    },
  87.     X    { /* ^G */
  88.     X        "", "", "", "", "", "", "", "", "", "",
  89.     X    },
  90.     X    { /* ^H */
  91.     X        "", "", "", "", "", "", "", "", "", "",
  92.     X    },
  93.     X    { /* ^I */
  94.     X        "", "", "", "", "", "", "", "", "", "",
  95.     X    },
  96.     X    { /* ^J */
  97.     X        "", "", "", "", "", "", "", "", "", "",
  98.     X    },
  99.     X    { /* ^K */
  100.     X        "", "", "", "", "", "", "", "", "", "",
  101.     X    },
  102.     X    { /* ^L */
  103.     X        "", "", "", "", "", "", "", "", "", "",
  104.     X    },
  105.     X    { /* ^M */
  106.     X        "", "", "", "", "", "", "", "", "", "",
  107.     X    },
  108.     X    { /* ^N */
  109.     X        "", "", "", "", "", "", "", "", "", "",
  110.     X    },
  111.     X    { /* ^O */
  112.     X        "", "", "", "", "", "", "", "", "", "",
  113.     X    },
  114.     X    { /* ^P */
  115.     X        "", "", "", "", "", "", "", "", "", "",
  116.     X    },
  117.     X    { /* ^Q */
  118.     X        "", "", "", "", "", "", "", "", "", "",
  119.     X    },
  120.     X    { /* ^R */
  121.     X        "", "", "", "", "", "", "", "", "", "",
  122.     X    },
  123.     X    { /* ^S */
  124.     X        "", "", "", "", "", "", "", "", "", "",
  125.     X    },
  126.     X    { /* ^T */
  127.     X        "", "", "", "", "", "", "", "", "", "",
  128.     X    },
  129.     X    { /* ^U */
  130.     X        "", "", "", "", "", "", "", "", "", "",
  131.     X    },
  132.     X    { /* ^V */
  133.     X        "", "", "", "", "", "", "", "", "", "",
  134.     X    },
  135.     X    { /* ^W */
  136.     X        "", "", "", "", "", "", "", "", "", "",
  137.     X    },
  138.     X    { /* ^X */
  139.     X        "", "", "", "", "", "", "", "", "", "",
  140.     X    },
  141.     X    { /* ^Y */
  142.     X        "", "", "", "", "", "", "", "", "", "",
  143.     X    },
  144.     X    { /* ^Z */
  145.     X        "", "", "", "", "", "", "", "", "", "",
  146.     X    },
  147.     X    { /* ^[ */
  148.     X        "", "", "", "", "", "", "", "", "", "",
  149.     X    },
  150.     X    { /* ^\ */
  151.     X        "", "", "", "", "", "", "", "", "", "",
  152.     X    },
  153.     X    { /* ^] */
  154.     X        "", "", "", "", "", "", "", "", "", "",
  155.     X    },
  156.     X    { /* ^^ */
  157.     X        "", "", "", "", "", "", "", "", "", "",
  158.     X    },
  159.     X    { /* ^_ */
  160.     X        "", "", "", "", "", "", "", "", "", "",
  161.     X    },
  162.     X    { /* *SPC* */
  163.     X        "         ",
  164.     X        "         "
  165.     X    },
  166.     X    { /* ! */
  167.     X        "@@@",
  168.     X        " @ ",
  169.     X        "   ",
  170.     X        "@@@",
  171.     X        "   ",
  172.     X        "   "
  173.     X    },
  174.     X    { /* " */
  175.     X        "@@@ @@@",
  176.     X        " @   @ ",
  177.     X        "@   @  ",
  178.     X        "       ",
  179.     X        "       "
  180.     X    },
  181.     X    { /* # */
  182.     X        "         ",
  183.     X        "  @   @  ",
  184.     X        "@@@@@@@@@",
  185.     X        "  @   @  ",
  186.     X        "@@@@@@@@@",
  187.     X        "  @   @  ",
  188.     X        "         ",
  189.     X        "         "
  190.     X    },
  191.     X    { /* $ */
  192.     X        "    @    ",
  193.     X        " @@@@@@@ ",
  194.     X        "@   @    ",
  195.     X        " @@@@@@@ ",
  196.     X        "    @   @",
  197.     X        " @@@@@@@ ",
  198.     X        "    @    ",
  199.     X        "         ",
  200.     X        "         "
  201.     X    },
  202.     X    { /* % */
  203.     X        "@@    @",
  204.     X        "@@   @ ",
  205.     X        "    @  ",
  206.     X        "   @   ",
  207.     X        "  @    ",
  208.     X        " @   @@",
  209.     X        "@    @@",
  210.     X        "       ",
  211.     X        "       "
  212.     X    },
  213.     X    { /* & */
  214.     X        " @@@   ",
  215.     X        "@   @  ",
  216.     X        " @ @   ",
  217.     X        "  @@   ",
  218.     X        " @  @ @",
  219.     X        "@    @ ",
  220.     X        " @@@@ @",
  221.     X        "       ",
  222.     X        "       "
  223.     X    },
  224.     X    { /* ' */
  225.     X        "@@@",
  226.     X        " @ ",
  227.     X        "@  ",
  228.     X        "   ",
  229.     X        "   "
  230.     X    },
  231.     X    { /* ( */
  232.     X        "  @",
  233.     X        " @ ",
  234.     X        "@  ",
  235.     X        " @ ",
  236.     X        "  @",
  237.     X        "   ",
  238.     X        "   "
  239.     X    },
  240.     X    { /* ) */
  241.     X        "@  ",
  242.     X        " @ ",
  243.     X        "  @",
  244.     X        " @ ",
  245.     X        "@  ",
  246.     X        "   ",
  247.     X        "   "
  248.     X    },
  249.     X    { /* * */
  250.     X        "   @   ",
  251.     X        "@  @  @",
  252.     X        " @ @ @ ",
  253.     X        "  @@@  ",
  254.     X        " @ @ @ ",
  255.     X        "@  @  @",
  256.     X        "   @   ",
  257.     X        "       ",
  258.     X        "       "
  259.     X    },
  260.     X    { /* + */
  261.     X        "         ",
  262.     X        "    @    ",
  263.     X        "@@@@@@@@@",
  264.     X        "    @    ",
  265.     X        "         ",
  266.     X        "         "
  267.     X    },
  268.     X    { /* , */
  269.     X        "   ",
  270.     X        "@@@",
  271.     X        " @ ",
  272.     X        "@  ",
  273.     X        "   "
  274.     X    },
  275.     X    { /* - */
  276.     X        "         ",
  277.     X        "@@@@@@@@@",
  278.     X        "         ",
  279.     X        "         "
  280.     X    },
  281.     X    { /* . */
  282.     X        "   ",
  283.     X        "@@@",
  284.     X        "   ",
  285.     X        "   "
  286.     X    },
  287.     X    { /* / */
  288.     X        "      @",
  289.     X        "     @ ",
  290.     X        "    @  ",
  291.     X        "   @   ",
  292.     X        "  @    ",
  293.     X        " @     ",
  294.     X        "@      ",
  295.     X        "       ",
  296.     X        "       "
  297.     X    },
  298.     X    { /* 0 */
  299.     X        "  @@@@@  ",
  300.     X        " @    @@ ",
  301.     X        "@    @  @",
  302.     X        "@   @   @",
  303.     X        "@  @    @",
  304.     X        " @@    @ ",
  305.     X        "  @@@@@  ",
  306.     X        "         ",
  307.     X        "         "
  308.     X    },
  309.     X    { /* 1 */
  310.     X        " @ ",
  311.     X        "@@ ",
  312.     X        " @ ",
  313.     X        "@@@",
  314.     X        "   ",
  315.     X        "   "
  316.     X    },
  317.     X    { /* 2 */
  318.     X        " @@@@@@@ ",
  319.     X        "@       @",
  320.     X        "        @",
  321.     X        "  @@@@@@ ",
  322.     X        " @       ",
  323.     X        "@        ",
  324.     X        "@@@@@@@@@",
  325.     X        "         ",
  326.     X        "         "
  327.     X    },
  328.     X    { /* 3 */
  329.     X        " @@@@@@@ ",
  330.     X        "@       @",
  331.     X        "        @",
  332.     X        "  @@@@@@ ",
  333.     X        "        @",
  334.     X        "@       @",
  335.     X        " @@@@@@@ ",
  336.     X        "         ",
  337.     X        "         "
  338.     X    },
  339.     X    { /* 4 */
  340.     X        "   @@@@  ",
  341.     X        "  @   @  ",
  342.     X        " @    @  ",
  343.     X        "@     @  ",
  344.     X        "@@@@@@@@@",
  345.     X        "      @  ",
  346.     X        "         ",
  347.     X        "         "
  348.     X    },
  349.     X    { /* 5 */
  350.     X        "@@@@@@@@@",
  351.     X        "@        ",
  352.     X        "@@@@@@@@ ",
  353.     X        "        @",
  354.     X        "@       @",
  355.     X        " @@@@@@@ ",
  356.     X        "         ",
  357.     X        "         "
  358.     X    },
  359.     X    { /* 6 */
  360.     X        " @@@@@@@ ",
  361.     X        "@       @",
  362.     X        "@        ",
  363.     X        "@@@@@@@@ ",
  364.     X        "@       @",
  365.     X        " @@@@@@@ ",
  366.     X        "         ",
  367.     X        "         "
  368.     X    },
  369.     X    { /* 7 */
  370.     X        "@@@@@@@@@",
  371.     X        "       @ ",
  372.     X        "      @  ",
  373.     X        "     @   ",
  374.     X        "    @    ",
  375.     X        "         ",
  376.     X        "         "
  377.     X    },
  378.     X    { /* 8 */
  379.     X        " @@@@@@@ ",
  380.     X        "@       @",
  381.     X        " @@@@@@@ ",
  382.     X        "@       @",
  383.     X        " @@@@@@@ ",
  384.     X        "         ",
  385.     X        "         "
  386.     X    },
  387.     X    { /* 9 */
  388.     X        " @@@@@@@ ",
  389.     X        "@       @",
  390.     X        " @@@@@@@@",
  391.     X        "        @",
  392.     X        "@       @",
  393.     X        " @@@@@@@ ",
  394.     X        "         ",
  395.     X        "         "
  396.     X    },
  397.     X    { /* : */
  398.     X        "   ",
  399.     X        "@@@",
  400.     X        "   ",
  401.     X        "@@@",
  402.     X        "   ",
  403.     X        "   "
  404.     X    },
  405.     X    { /* ; */
  406.     X        "   ",
  407.     X        "@@@",
  408.     X        "   ",
  409.     X        "@@@",
  410.     X        " @ ",
  411.     X        "@  ",
  412.     X        "   "
  413.     X    },
  414.     X    { /* < */
  415.     X        "      @@",
  416.     X        "    @@  ",
  417.     X        "  @@    ",
  418.     X        "@@      ",
  419.     X        "  @@    ",
  420.     X        "    @@  ",
  421.     X        "      @@",
  422.     X        "        ",
  423.     X        "        "
  424.     X    },
  425.     X    { /* = */
  426.     X        "         ",
  427.     X        "@@@@@@@@@",
  428.     X        "         ",
  429.     X        "@@@@@@@@@",
  430.     X        "         ",
  431.     X    },
  432.     X    { /* > */
  433.     X        "@@      ",
  434.     X        "  @@    ",
  435.     X        "    @@  ",
  436.     X        "      @@",
  437.     X        "    @@  ",
  438.     X        "  @@    ",
  439.     X        "@@      ",
  440.     X        "        ",
  441.     X        "        "
  442.     X    },
  443.     X    { /* ? */
  444.     X        " @@@@@@@ ",
  445.     X        "@       @",
  446.     X        "        @",
  447.     X        "    @@@@ ",
  448.     X        "    @    ",
  449.     X        "         ",
  450.     X        "    @    ",
  451.     X        "         ",
  452.     X        "         "
  453.     X    },
  454.     X    { /* @ */
  455.     X        " @@@@@@@ ",
  456.     X        "@       @",
  457.     X        "@  @@@  @",
  458.     X        "@ @  @  @",
  459.     X        "@  @@@@@ ",
  460.     X        "@        ",
  461.     X        " @@@@@@@ ",
  462.     X        "         ",
  463.     X        "         "
  464.     X    },
  465.     X    { /* A */
  466.     X        "   @@@   ",
  467.     X        "  @   @  ",
  468.     X        " @     @ ",
  469.     X        "@       @",
  470.     X        "@@@@@@@@@",
  471.     X        "@       @",
  472.     X        "         ",
  473.     X        "         "
  474.     X    },
  475.     X    { /* B */
  476.     X        "@@@@@@@@ ",
  477.     X        "@       @",
  478.     X        "@@@@@@@@ ",
  479.     X        "@       @",
  480.     X        "@@@@@@@@ ",
  481.     X        "         ",
  482.     X        "         "
  483.     X    },
  484.     X    { /* C */
  485.     X        "  @@@@@  ",
  486.     X        " @     @ ",
  487.     X        "@       @",
  488.     X        "@        ",
  489.     X        "@       @",
  490.     X        " @     @ ",
  491.     X        "  @@@@@  ",
  492.     X        "         ",
  493.     X        "         "
  494.     X    },
  495.     X    { /* D */
  496.     X        "@@@@@@@  ",
  497.     X        "@      @ ",
  498.     X        "@       @",
  499.     X        "@      @ ",
  500.     X        "@@@@@@@  ",
  501.     X        "         ",
  502.     X        "         "
  503.     X    },
  504.     X    { /* E */
  505.     X        "@@@@@@@@@",
  506.     X        "@        ",
  507.     X        "@@@@@@@  ",
  508.     X        "@        ",
  509.     X        "@@@@@@@@@",
  510.     X        "         ",
  511.     X        "         "
  512.     X    },
  513.     X    { /* F */
  514.     X        "@@@@@@@@@",
  515.     X        "@        ",
  516.     X        "@@@@@@@  ",
  517.     X        "@        ",
  518.     X        "         ",
  519.     X        "         "
  520.     X    },
  521.     X    { /* G */
  522.     X        "  @@@@@@ ",
  523.     X        " @      @",
  524.     X        "@        ",
  525.     X        "@    @@@@",
  526.     X        "@       @",
  527.     X        " @     @@",
  528.     X        "  @@@@@ @",
  529.     X        "         ",
  530.     X        "         "
  531.     X    },
  532.     X    { /* H */
  533.     X        "@       @",
  534.     X        "@@@@@@@@@",
  535.     X        "@       @",
  536.     X        "         ",
  537.     X        "         "
  538.     X    },
  539.     X    { /* I */
  540.     X        "@@@@@",
  541.     X        "  @  ",
  542.     X        "@@@@@",
  543.     X        "     ",
  544.     X        "     "
  545.     X    },
  546.     X    { /* J */
  547.     X        "      @@@",
  548.     X        "       @ ",
  549.     X        "@      @ ",
  550.     X        " @    @  ",
  551.     X        "  @@@@   ",
  552.     X        "         ",
  553.     X        "         "
  554.     X    },
  555.     X    { /* K */
  556.     X        "@       @",
  557.     X        "@      @ ",
  558.     X        "@     @  ",
  559.     X        "@@@@@@   ",
  560.     X        "@     @  ",
  561.     X        "@      @ ",
  562.     X        "@       @",
  563.     X        "         ",
  564.     X        "         "
  565.     X    },
  566.     X    { /* L */
  567.     X        "@        ",
  568.     X        "@@@@@@@@@",
  569.     X        "         ",
  570.     X        "         "
  571.     X    },
  572.     X    { /* M */
  573.     X        "@       @",
  574.     X        "@@     @@",
  575.     X        "@ @   @ @",
  576.     X        "@  @ @  @",
  577.     X        "@   @   @",
  578.     X        "@       @",
  579.     X        "         ",
  580.     X        "         "
  581.     X    },
  582.     X    { /* N */
  583.     X        "@      @",
  584.     X        "@@     @",
  585.     X        "@ @    @",
  586.     X        "@  @   @",
  587.     X        "@   @  @",
  588.     X        "@    @ @",
  589.     X        "@     @@",
  590.     X        "        ",
  591.     X        "        "
  592.     X    },
  593.     X    { /* O */
  594.     X        "  @@@@@  ",
  595.     X        " @     @ ",
  596.     X        "@       @",
  597.     X        " @     @ ",
  598.     X        "  @@@@@  ",
  599.     X        "         ",
  600.     X        "         "
  601.     X    },
  602.     X    { /* P */
  603.     X        "@@@@@@@@ ",
  604.     X        "@       @",
  605.     X        "@@@@@@@@ ",
  606.     X        "@        ",
  607.     X        "         ",
  608.     X        "         "
  609.     X    },
  610.     X    { /* Q */
  611.     X        "  @@@@@  ",
  612.     X        " @     @ ",
  613.     X        "@       @",
  614.     X        "@     @ @",
  615.     X        " @     @ ",
  616.     X        "  @@@@@ @",
  617.     X        "         ",
  618.     X        "         "
  619.     X    },
  620.     X    { /* R */
  621.     X        "@@@@@@@@ ",
  622.     X        "@       @",
  623.     X        "@@@@@@@@ ",
  624.     X        "@     @  ",
  625.     X        "@      @ ",
  626.     X        "@       @",
  627.     X        "         ",
  628.     X        "         "
  629.     X    },
  630.     X    { /* S */
  631.     X        " @@@@@@@ ",
  632.     X        "@       @",
  633.     X        "@        ",
  634.     X        " @@@@@@@ ",
  635.     X        "        @",
  636.     X        "@       @",
  637.     X        " @@@@@@@ ",
  638.     X        "         ",
  639.     X        "         "
  640.     X    },
  641.     X    { /* T */
  642.     X        "@@@@@@@@@",
  643.     X        "    @    ",
  644.     X        "         ",
  645.     X        "         "
  646.     X    },
  647.     X    { /* U */
  648.     X        "@       @",
  649.     X        " @     @ ",
  650.     X        "  @@@@@  ",
  651.     X        "         ",
  652.     X        "         "
  653.     X    },
  654.     X    { /* V */
  655.     X        "@       @",
  656.     X        " @     @ ",
  657.     X        "  @   @  ",
  658.     X        "   @@@   ",
  659.     X        "         ",
  660.     X        "         "
  661.     X    },
  662.     X    { /* W */
  663.     X        "@       @",
  664.     X        "@   @   @",
  665.     X        "@  @ @  @",
  666.     X        "@ @   @ @",
  667.     X        "@@     @@",
  668.     X        "@       @",
  669.     X        "         ",
  670.     X        "         "
  671.     X    },
  672.     X    { /* X */
  673.     X        "@       @",
  674.     X        " @     @ ",
  675.     X        "  @   @  ",
  676.     X        "   @@@   ",
  677.     X        "  @   @  ",
  678.     X        " @     @ ",
  679.     X        "@       @",
  680.     X        "         ",
  681.     X        "         "
  682.     X    },
  683.     X    { /* Y */
  684.     X        "@       @",
  685.     X        " @     @ ",
  686.     X        "  @   @  ",
  687.     X        "   @ @   ",
  688.     X        "    @    ",
  689.     X        "         ",
  690.     X        "         "
  691.     X    },
  692.     X    { /* Z */
  693.     X        "@@@@@@@@@",
  694.     X        "       @ ",
  695.     X        "     @@  ",
  696.     X        "    @    ",
  697.     X        "  @@     ",
  698.     X        " @       ",
  699.     X        "@@@@@@@@@",
  700.     X        "         ",
  701.     X        "         "
  702.     X    },
  703.     X    { /* [ */
  704.     X        "@@@@@",
  705.     X        "@    ",
  706.     X        "@@@@@",
  707.     X        "     ",
  708.     X        "     "
  709.     X    },
  710.     X    { /* \ */
  711.     X        "@      ",
  712.     X        " @     ",
  713.     X        "  @    ",
  714.     X        "   @   ",
  715.     X        "    @  ",
  716.     X        "     @ ",
  717.     X        "      @",
  718.     X        "       ",
  719.     X        "       "
  720.     X    },
  721.     X    { /* ] */
  722.     X        "@@@@@",
  723.     X        "    @",
  724.     X        "@@@@@",
  725.     X        "     ",
  726.     X        "     "
  727.     X    },
  728.     X    { /* ^ */
  729.     X        "   @   ",
  730.     X        "  @ @  ",
  731.     X        " @   @ ",
  732.     X        "@     @",
  733.     X        "       ",
  734.     X        "       "
  735.     X    },
  736.     X    { /* _ */
  737.     X        "         ",
  738.     X        "@@@@@@@@@",
  739.     X        "         ",
  740.     X        "         "
  741.     X    },
  742.     X    { /* ` */
  743.     X        "@@@",
  744.     X        " @ ",
  745.     X        "  @",
  746.     X        "   ",
  747.     X        "   "
  748.     X    },
  749.     X    
  750.     X    { /* a */
  751.     X        "         ",
  752.     X        " @@@@@@  ",
  753.     X        "       @ ",
  754.     X        " @@@@@@@ ",
  755.     X        "@     @@ ",
  756.     X        " @@@@@ @@",
  757.     X        "         ",
  758.     X        "         "
  759.     X    },
  760.     X    { /* b */
  761.     X        "@        ",
  762.     X        "@ @@@@@  ",
  763.     X        "@@     @ ",
  764.     X        "@       @",
  765.     X        "@@     @ ",
  766.     X        "@ @@@@@  ",
  767.     X        "         ",
  768.     X        "         "
  769.     X    },
  770.     X    { /* c */
  771.     X        "       ",
  772.     X        " @@@@@ ",
  773.     X        "@     @",
  774.     X        "@      ",
  775.     X        "@     @",
  776.     X        " @@@@@ ",
  777.     X        "       ",
  778.     X        "       "
  779.     X    },
  780.     X    { /* d */
  781.     X        "        @",
  782.     X        "  @@@@@ @",
  783.     X        " @     @@",
  784.     X        "@       @",
  785.     X        " @     @@",
  786.     X        "  @@@@@ @",
  787.     X        "         ",
  788.     X        "         "
  789.     X    },
  790.     X    { /* e */
  791.     X        "         ",
  792.     X        " @@@@@@@ ",
  793.     X        "@       @",
  794.     X        "@@@@@@@@@",
  795.     X        "@        ",
  796.     X        " @@@@@@@ ",
  797.     X        "         ",
  798.     X        "         "
  799.     X    },
  800.     X    { /* f */
  801.     X        "  @@ ",
  802.     X        " @  @",
  803.     X        " @   ",
  804.     X        "@@@@@",
  805.     X        " @   ",
  806.     X        "     ",
  807.     X        "     "
  808.     X    },
  809.     X    { /* g */
  810.     X        "       ",
  811.     X        " @@@@ @",
  812.     X        "@    @@",
  813.     X        "@     @",
  814.     X        "@    @@",
  815.     X        " @@@@ @",
  816.     X        "      @",
  817.     X        " @@@@@ "
  818.     X    },
  819.     X    { /* h */
  820.     X        "@       ",
  821.     X        "@ @@@@@ ",
  822.     X        "@@     @",
  823.     X        "@      @",
  824.     X        "        ",
  825.     X        "        "
  826.     X    },
  827.     X    { /* i */
  828.     X        "    ",
  829.     X        "@   ",
  830.     X        "    ",
  831.     X        "@   ",
  832.     X        "@  @",
  833.     X        " @@ ",
  834.     X        "    ",
  835.     X        "    "
  836.     X    },
  837.     X    { /* j */
  838.     X        "        ",
  839.     X        "       @",
  840.     X        "        ",
  841.     X        "       @",
  842.     X        "@      @",
  843.     X        " @    @ ",
  844.     X        "  @@@@  "
  845.     X    },
  846.     X    { /* k */
  847.     X        "@     ",
  848.     X        "@    @",
  849.     X        "@   @ ",
  850.     X        "@@@@  ",
  851.     X        "@   @ ",
  852.     X        "@    @",
  853.     X        "      ",
  854.     X        "      "
  855.     X    },
  856.     X    { /* l */
  857.     X        "@@ ",
  858.     X        " @ ",
  859.     X        "@@@",
  860.     X        "   ",
  861.     X        "   "
  862.     X    },
  863.     X    { /* m */
  864.     X        "         ",
  865.     X        "@ @@ @@@ ",
  866.     X        "@@  @   @",
  867.     X        "@   @   @",
  868.     X        "         ",
  869.     X        "         "
  870.     X    },
  871.     X    { /* n */
  872.     X        "         ",
  873.     X        "@ @@@@@  ",
  874.     X        "@@     @ ",
  875.     X        "@       @",
  876.     X        "         ",
  877.     X        "         "
  878.     X    },
  879.     X    { /* o */
  880.     X        "         ",
  881.     X        "  @@@@@  ",
  882.     X        " @     @ ",
  883.     X        "@       @",
  884.     X        " @     @ ",
  885.     X        "  @@@@@  ",
  886.     X        "         ",
  887.     X        "         "
  888.     X    },
  889.     X    { /* p */
  890.     X        "         ",
  891.     X        "@ @@@@@  ",
  892.     X        "@@     @ ",
  893.     X        "@       @",
  894.     X        "@@     @ ",
  895.     X        "@ @@@@@  ",
  896.     X        "@        ",
  897.     X        "@        "
  898.     X    },
  899.     X    { /* q */
  900.     X        "         ",
  901.     X        "  @@@@@ @",
  902.     X        " @     @@",
  903.     X        "@       @",
  904.     X        " @     @@",
  905.     X        "  @@@@@ @",
  906.     X        "        @",
  907.     X        "        @"
  908.     X    },
  909.     X    { /* r */
  910.     X        "     ",
  911.     X        "@ @@ ",
  912.     X        "@@  @",
  913.     X        "@    ",
  914.     X        "     ",
  915.     X        "     "
  916.     X    },
  917.     X    { /* s */
  918.     X        "         ",
  919.     X        " @@@@@@@ ",
  920.     X        "@        ",
  921.     X        " @@@@@@@ ",
  922.     X        "        @",
  923.     X        " @@@@@@@ ",
  924.     X        "         ",
  925.     X        "         "
  926.     X    },
  927.     X    { /* t */
  928.     X        "       ",
  929.     X        "   @   ",
  930.     X        "@@@@@@@",
  931.     X        "   @   ",
  932.     X        "   @  @",
  933.     X        "    @@ ",
  934.     X        "       ",
  935.     X        "       "
  936.     X    },
  937.     X    { /* u */
  938.     X        "         ",
  939.     X        "@       @",
  940.     X        " @     @@",
  941.     X        "  @@@@@ @",
  942.     X        "         ",
  943.     X        "         "
  944.     X    },
  945.     X    { /* v */
  946.     X        "         ",
  947.     X        "@       @",
  948.     X        " @     @ ",
  949.     X        "  @   @  ",
  950.     X        "   @@@   ",
  951.     X        "         ",
  952.     X        "         "
  953.     X    },
  954.     X    { /* w */
  955.     X        "         ",
  956.     X        "@       @",
  957.     X        "@   @   @",
  958.     X        " @@@ @@@ ",
  959.     X        "         ",
  960.     X        "         "
  961.     X    },
  962.     X    { /* x */
  963.     X        "       ",
  964.     X        "@     @",
  965.     X        " @   @ ",
  966.     X        "  @@@  ",
  967.     X        " @   @ ",
  968.     X        "@     @",
  969.     X        "       ",
  970.     X        "       "
  971.     X    },
  972.     X    { /* y */
  973.     X        "       ",
  974.     X        "@     @",
  975.     X        " @@@@@@",
  976.     X        "      @",
  977.     X        " @@@@@ "
  978.     X    },
  979.     X    { /* z */
  980.     X        "       ",
  981.     X        "@@@@@@@",
  982.     X        "    @@ ",
  983.     X        "   @   ",
  984.     X        " @@    ",
  985.     X        "@@@@@@@",
  986.     X        "       ",
  987.     X        "       "
  988.     X    },
  989.     X    { /* { */
  990.     X        "  @@@",
  991.     X        " @   ",
  992.     X        "@    ",
  993.     X        " @   ",
  994.     X        "  @@@",
  995.     X        "     ",
  996.     X        "     "
  997.     X    },
  998.     X    { /* | */
  999.     X        "@",
  1000.     X        " ",
  1001.     X        "@",
  1002.     X        " ",
  1003.     X        " "
  1004.     X    },
  1005.     X    { /* } */
  1006.     X        "@@@  ",
  1007.     X        "   @ ",
  1008.     X        "    @",
  1009.     X        "   @ ",
  1010.     X        "@@@  ",
  1011.     X        "     ",
  1012.     X        "     "
  1013.     X    },
  1014.     X    { /* ~ */
  1015.     X        "         ",
  1016.     X        "  @@    @",
  1017.     X        " @  @  @ ",
  1018.     X        "@    @@  ",
  1019.     X        "         ",
  1020.     X        "         "
  1021.     X    },
  1022.     X    { /* *DEL* */
  1023.     X        "@@@@@@@@@",
  1024.     X        "         ",
  1025.     X        "         "
  1026.     X    }
  1027.     X    };
  1028. SHAR_EOF
  1029. if test 19204 -ne "`wc -c < 'data.c'`"
  1030. then
  1031.     echo shar: error transmitting "'data.c'" '(should have been 19204 characters)'
  1032. fi
  1033. fi # end of overwriting check
  1034. echo shar: extracting "'TODO'" '(259 characters)'
  1035. if test -f 'TODO'
  1036. then
  1037.     echo shar: will not over-write existing file "'TODO'"
  1038. else
  1039. sed 's/^    X//' << \SHAR_EOF > 'TODO'
  1040.     X8702.171220
  1041.     X
  1042.     X*    Set up with display buffer instead of stream to allow for adding
  1043.     X    special features.
  1044.     X    (added: 8702.201336)
  1045.     X
  1046.     X8702.201337
  1047.     X
  1048.     X*    Set up to use flag to set print width, possibly add feature to
  1049.     X    use an environment variable.
  1050.     X
  1051.     X*    Modify to use font files.
  1052. SHAR_EOF
  1053. if test 259 -ne "`wc -c < 'TODO'`"
  1054. then
  1055.     echo shar: error transmitting "'TODO'" '(should have been 259 characters)'
  1056. fi
  1057. fi # end of overwriting check
  1058. echo shar: extracting "'Makefile'" '(96 characters)'
  1059. if test -f 'Makefile'
  1060. then
  1061.     echo shar: will not over-write existing file "'Makefile'"
  1062. else
  1063. sed 's/^    X//' << \SHAR_EOF > 'Makefile'
  1064.     Xblock: block.o data.o
  1065.     X    cc block.o data.o -o block
  1066.     X
  1067.     Xprtout: *.c TODO
  1068.     X    pr TODO *.c | PRMAN -setup
  1069. SHAR_EOF
  1070. if test 96 -ne "`wc -c < 'Makefile'`"
  1071. then
  1072.     echo shar: error transmitting "'Makefile'" '(should have been 96 characters)'
  1073. fi
  1074. fi # end of overwriting check
  1075. echo shar: extracting "'block.c'" '(1401 characters)'
  1076. if test -f 'block.c'
  1077. then
  1078.     echo shar: will not over-write existing file "'block.c'"
  1079. else
  1080. sed 's/^    X//' << \SHAR_EOF > 'block.c'
  1081.     X#include <stdio.h>
  1082.     X#include <string.h>
  1083.     X
  1084.     X#define LINES          10
  1085.     X#define BUFFERSIZE    1024
  1086.     X
  1087.     Xextern char    *data[][LINES];
  1088.     X
  1089.     Xchar        buffer[LINES][BUFFERSIZE+1];
  1090.     X
  1091.     Xint min(a,b)
  1092.     Xint    a,
  1093.     X    b;
  1094.     X{
  1095.     X    if (a>b)
  1096.     X    return(b);
  1097.     X    return(a);
  1098.     X}
  1099.     X
  1100.     Xmain(argc,argv)
  1101.     Xint    argc;
  1102.     Xchar    **argv;
  1103.     X{
  1104.     X    short    i,
  1105.     X        j,
  1106.     X        k,
  1107.     X        l,
  1108.     X        m,
  1109.     X        idx,
  1110.     X        idx2,
  1111.     X        al,
  1112.     X        sw,
  1113.     X        tmp,
  1114.     X        tmp2;
  1115.     X    char    *p,
  1116.     X        *ptr;
  1117.     X
  1118.     X    while (--argc) {
  1119.     X    argv++;
  1120.     X/*
  1121.     X    for (i=0; i<LINES; i++) {
  1122.     X        p = *argv;
  1123.     X        while (*p != '\0')
  1124.     X        printf("%s ",data[*p++][i]);
  1125.     X        printf("\n");
  1126.     X    }
  1127.     X*/
  1128.     X    p = *argv;
  1129.     X    idx = 0;
  1130.     X    idx2 = 0;
  1131.     X    for (i=0; i<LINES; i++)
  1132.     X        for (j=0; j<BUFFERSIZE; j++)
  1133.     X        buffer[i][j] = ' ';
  1134.     X    while (*p != '\0') {
  1135.     X        al = strlen(data[*p][0]);
  1136.     X        sw = al;
  1137.     X        l = 0; m = 0;
  1138.     X        for (i=0; i<LINES; i++) {
  1139.     X        for (j=1; j<=idx2 && buffer[i][idx-j]==' '; j++);
  1140.     X        for (k=0; *p!=' ' && k<al && data[*p][i][k]==' '; k++);
  1141.     X        sw = min(sw,j+k);
  1142.     X        if (i) {
  1143.     X            sw = min(sw,j+m);
  1144.     X            sw = min(sw,l+k);
  1145.     X        }
  1146.     X        l = j; m = k;
  1147.     X        }
  1148.     X        if (sw)
  1149.     X        --sw;
  1150.     X        tmp = idx + al - sw;
  1151.     X        tmp2 = idx-sw+1;
  1152.     X        for (i=0; i<LINES; i++)
  1153.     X        for (j=0; j<min(al,BUFFERSIZE-tmp); j++)
  1154.     X            if (data[*p][i][j]!=' ')
  1155.     X            buffer[i][tmp2+j]=data[*p][i][j];
  1156.     X        idx2 = ( *p==' ' ? 0 : tmp);
  1157.     X        idx = tmp + 1;
  1158.     X        p++;
  1159.     X        if (idx>=BUFFERSIZE) {
  1160.     X        idx = BUFFERSIZE;
  1161.     X        *p = '\0';
  1162.     X        }
  1163.     X    }
  1164.     X    for (i=0; i<LINES; i++) {
  1165.     X        buffer[i][idx] = '\0';
  1166.     X        printf("%s\n",buffer[i]);
  1167.     X    }
  1168.     X    }
  1169.     X}
  1170. SHAR_EOF
  1171. if test 1401 -ne "`wc -c < 'block.c'`"
  1172. then
  1173.     echo shar: error transmitting "'block.c'" '(should have been 1401 characters)'
  1174. fi
  1175. fi # end of overwriting check
  1176. echo shar: done with directory "'block'"
  1177. cd ..
  1178. #    End of shell archive
  1179. exit 0
  1180.