home *** CD-ROM | disk | FTP | other *** search
/ Boldly Go Collection / version40.iso / TS / 17A / CURSIVE2.ZIP / CURSFONT.C next >
Text File  |  1991-12-29  |  17KB  |  1,216 lines

  1. /* CURSIVE FONT FILE
  2.  *
  3.  * This font is copyrighted by Jan Wolter.  See notes in "cursive.c".
  4.  *
  5.  * Several of the letters are rather ugly, but the wonder is not how
  6.  * well it sings.  A few uppercase letters are a bit too tall.    The
  7.  * font has to some extent been chosen to make my name look good to me.
  8.  * Those of you with different names will have to take pot luck, or fix
  9.  * it to taste.  Editing this file must be done with some care.  The
  10.  * numbers on the defines must match the index numbers of the letter
  11.  * in the list[] structure.  The six numbers after the character are how
  12.  * many blank spaces must be added to the beginning of each of the six
  13.  * scan lines to make them line up.  The last two numbers are the scan
  14.  * line numbers in which the character is connected to the preceeding and
  15.  * succeeding characters.  -1 means it isn't.  There are two versions of
  16.  * each lower case letter, one with the line coming in on line 2, and one
  17.  * with the line coming in on line 3.
  18.  */
  19.  
  20. #include "cursive.h"
  21.  
  22. struct letter list[] = {
  23.  
  24. #define LA  0           /* a type 1 */
  25.        { {
  26.        "",
  27.        "",
  28.     "__.",
  29.        "(_/|",
  30.        "",
  31.        ""
  32.        },
  33.        {0,0,1,0,0,0},
  34.        3,3
  35.        },
  36.  
  37. #define LB  1           /* b type 1 */
  38.        { {
  39.        "",
  40.      "/",
  41.     "/_",
  42.        "/_)",
  43.        "",
  44.        ""
  45.        },
  46.        {0,2,1,0,0,0},
  47.        3,2
  48.        },
  49.  
  50. #define LC  2           /* c type 1 */
  51.        { {
  52.        "",
  53.        "",
  54.     "_.",
  55.        "(_",
  56.        "",
  57.        ""}
  58.        ,
  59.        {0,0,1,0,0,0},
  60.        3,3
  61.        },
  62.  
  63. #define LD  3           /* d type 1 */
  64.        { {
  65.        "",
  66.        "/",
  67.     "__/",
  68.        "(_/",
  69.        "",
  70.        ""
  71.        },
  72.        {0,4,1,0,0,0},
  73.        3,3
  74.        },
  75.  
  76. #define LE  4           /* e type 1 */
  77.        { {
  78.        "",
  79.        "",
  80.     "_",
  81.        "</",
  82.        "",
  83.        ""
  84.        },
  85.        {0,0,1,0,0,0},
  86.        3,3
  87.        },
  88.  
  89. #define LF  5           /* f type 1 */
  90.        { {
  91.        "",
  92.        "/)",
  93.       "// ",
  94.      "//",
  95.     "/>",
  96.        "</ "
  97.        },
  98.        {0,4,3,2,1,0},
  99.        3,3
  100.        },
  101.  
  102. #define LG  6           /* g type 1 */
  103.        { {
  104.        "",
  105.        "",
  106.     "_,",
  107.        "(_)",
  108.     "/|",
  109.        "|/"
  110.        },
  111.        {0,0,1,0,1,0},
  112.        3,3
  113.        },
  114.  
  115. #define LH  7           /* h type 1 */
  116.        { {
  117.        "",
  118.      "/",
  119.     "/_",
  120.        "/ /",
  121.        "",
  122.        ""
  123.        },
  124.        {0,2,1,0,0,0},
  125.        3,3
  126.        },
  127.  
  128. #define LI  8           /* i type 1 */
  129.        { {
  130.        "",
  131.        "",
  132.     "o",
  133.        "<",
  134.        "",
  135.        ""
  136.        },
  137.        {0,0,1,0,0,0},
  138.        3,3
  139.        },
  140.  
  141. #define LJ  9           /* j type 1 */
  142.        { {
  143.        "",
  144.        "",
  145.        "o",
  146.       "/",
  147.      "/",
  148.        "-'"
  149.        },
  150.        {0,0,4,3,2,0},
  151.        3,3
  152.        },
  153.  
  154. #define LK 10           /* k type 1 */
  155.        { {
  156.        "",
  157.      "/",
  158.     "/_ ",
  159.        "/ <",
  160.        "",
  161.        ""
  162.        },
  163.        {0,2,1,0,0,0},
  164.        3,3
  165.        },
  166.  
  167. #define LL 11           /* l type 1 */
  168.        { {
  169.       "_",
  170.      "//",
  171.     "//",
  172.        "</",
  173.        "",
  174.        ""
  175.        },
  176.        {3,2,1,0,0,0},
  177.        3,3
  178.        },
  179.  
  180. #define LM 12           /* m type 1 */
  181.        { {
  182.        "",
  183.        "",
  184.     "______",
  185.        "/ / / <",
  186.        "",
  187.        ""
  188.        },
  189.        {0,0,1,0,0,0},
  190.        3,3
  191.        },
  192.  
  193. #define LN 13           /* n type 1 */
  194.        { {
  195.        "",
  196.        "",
  197.     "____",
  198.        "/ / <",
  199.        "",
  200.        ""
  201.        },
  202.        {0,0,1,0,0,0},
  203.        3,3
  204.        },
  205.  
  206. #define LO 14           /* o type 1 */
  207.        { {
  208.        "",
  209.        "",
  210.     "_",
  211.        "(_)",
  212.        "",
  213.        ""
  214.        },
  215.        {0,0,1,0,0,0},
  216.        3,2
  217.        },
  218.  
  219. #define LP 15           /* p type 1 */
  220.        { {
  221.        "",
  222.        "",
  223.       "_",
  224.      "/_)",
  225.     "/",
  226.        "'"
  227.        },
  228.        {0,0,3,2,1,0},
  229.        3,3
  230.        },
  231.  
  232. #define LQ 16           /* q type 1 */
  233.        { {
  234.        "",
  235.        "",
  236.     "_,",
  237.        "(_)",
  238.     "/>",
  239.        "|/"
  240.        },
  241.        {0,0,1,0,1,0},
  242.        3,3
  243.        },
  244.  
  245. #define LR 17           /* r type 1 */
  246.        { {
  247.        "",
  248.        "",
  249.     "__",
  250.        "/ (",
  251.        "",
  252.        ""
  253.        },
  254.        {0,0,1,0,0,0},
  255.        3,3
  256.        },
  257.  
  258. #define LS 18           /* s type 1 */
  259.        { {
  260.        "",
  261.        "",
  262.     "_",
  263.        "/_)",
  264.        "",
  265.        ""
  266.        },
  267.        {0,0,1,0,0,0},
  268.        3,3
  269.        },
  270.  
  271. #define LT 19           /* t type 1 */
  272.        { {
  273.        "",
  274.     "_/_",
  275.     "/",
  276.        "<_",
  277.        "",
  278.        ""
  279.        },
  280.        {0,1,1,0,0,0},
  281.        3,3
  282.        },
  283.  
  284. #define LU 20           /* u type 1 */
  285.        { {
  286.        "",
  287.        "",
  288.     ". .",
  289.        "(_/",
  290.        "",
  291.        ""
  292.        },
  293.        {0,0,1,0,0,0},
  294.        3,3
  295.        },
  296.  
  297. #define LV 21           /* v type 1 */
  298.        { {
  299.        "",
  300.        "",
  301.        ", ",
  302.        "\\/",
  303.        "",
  304.        ""
  305.        },
  306.        {0,0,0,0,0,0},
  307.        3,2
  308.        },
  309.  
  310. #define LW 22           /* w type 1 */
  311.        { {
  312.        "",
  313.        "",
  314.     ", , ,",
  315.        "(_(_/",
  316.        "",
  317.        ""
  318.        },
  319.        {0,0,1,0,0,0},
  320.        3,3
  321.        },
  322.  
  323. #define LX 23           /* x type 1 */
  324.        { {
  325.        "",
  326.        "",
  327.     "_.,",
  328.        "/ /\\",
  329.        "",
  330.        ""
  331.        },
  332.        {0,0,1,0,0,0},
  333.        3,3
  334.        },
  335.  
  336. #define LY 24           /* y type 1 */
  337.        { {
  338.        "",
  339.        "",
  340.     "__  ,",
  341.        "/ (_/",
  342.       "/",
  343.      "'"
  344.     },
  345.        {0,0,1,0,3,2},
  346.        3,3
  347.        },
  348.  
  349. #define LZ 25           /* z type 1 */
  350.        { {
  351.        "",
  352.        "",
  353.     "__.",
  354.        "/  |",
  355.      "(|",
  356.        ""
  357.        },
  358.        {0,0,1,0,2,0},
  359.        3,3
  360.        },
  361.  
  362. #define NA 26           /* a type 2 */
  363.        { {
  364.        "",
  365.        "",
  366.     "__.",
  367.        "(_/|",
  368.        "",
  369.        ""
  370.        },
  371.        {0,0,1,0,0,0},
  372.        2,3
  373.        },
  374.  
  375. #define NB 27           /* b type 2 */
  376.        { {
  377.        "",
  378.      "/",
  379.     "/_",
  380.        "/_)",
  381.        "",
  382.        ""
  383.        },
  384.        {0,2,1,0,0,0},
  385.        2,2
  386.        },
  387.  
  388. #define NC 28           /* c type 2 */
  389.        { {
  390.        "",
  391.        "",
  392.        "__.",
  393.        "(_",
  394.        "",
  395.        ""
  396.        },
  397.        {0,0,0,0,0,0},
  398.        2,3
  399.        },
  400.  
  401. #define ND 29           /* d type 2 */
  402.        { {
  403.        "",
  404.        "/",
  405.        "___/",
  406.        "(_/",
  407.        "",
  408.        ""
  409.        },
  410.        {0,4,0,0,0,0},
  411.        2,3
  412.        },
  413.  
  414. #define NE 30           /* e type 2 */
  415.        { {
  416.        "",
  417.        "",
  418.     "/>",
  419.        "(_",
  420.        "",
  421.        ""
  422.        },
  423.        {0,0,1,0,0,0},
  424.        2,3
  425.        },
  426.  
  427. #define NF 31           /* f type 2 */
  428.        { {
  429.        "",
  430.        "/)",
  431.       "//",
  432.      "/_",
  433.     "/>",
  434.        "</"
  435.        },
  436.        {0,4,3,2,1,0},
  437.        2,3
  438.        },
  439.  
  440. #define NG 32           /* g type 2 */
  441.        { {
  442.        "",
  443.        "",
  444.        "__,",
  445.        "(_)",
  446.     "/|",
  447.        "|/"
  448.        },
  449.        {0,0,0,0,1,0},
  450.        2,3
  451.        },
  452.  
  453. #define NH 33           /* h type 2 */
  454.        { {
  455.        "",
  456.      "/",
  457.     "/_",
  458.        "/ /",
  459.        "",
  460.        ""
  461.        },
  462.        {0,2,1,0,0,0},
  463.        2,3
  464.        },
  465.  
  466. #define NI 34           /* i type 2 */
  467.        { {
  468.        "",
  469.        "",
  470.     "o",
  471.        "<_",
  472.        "",
  473.        ""
  474.        },
  475.        {0,0,1,0,0,0},
  476.        2,3
  477.        },
  478.  
  479. #define NJ 35           /* j type 2 */
  480.        { {
  481.        "",
  482.        "",
  483.       "_o",
  484.       "/_",
  485.      "/",
  486.        "-'"
  487.        },
  488.        {0,0,3,3,2,0},
  489.        2,3
  490.        },
  491.  
  492. #define NK 36           /* k type 2 */
  493.        { {
  494.        "",
  495.      "/",
  496.     "/_",
  497.        "/ <",
  498.        "",
  499.        ""
  500.        },
  501.        {0,2,1,0,0,0},
  502.        2,3
  503.        },
  504.  
  505. #define NL 37           /* l type 2 */
  506.        { {
  507.      "_",
  508.     "//",
  509.        "|/",
  510.     "\\",
  511.        "",
  512.        ""
  513.        },
  514.        {2,1,0,1,0,0},
  515.        2,3
  516.        },
  517.  
  518. #define NM 38           /* m type 2 */
  519.        { {
  520.        "",
  521.        "",
  522.        "_______",
  523.        "/ / / <",
  524.        "",
  525.        ""
  526.        },
  527.        {0,0,0,0,0,0},
  528.        2,3
  529.        },
  530.  
  531. #define NN 39           /* n type 2 */
  532.        { {
  533.        "",
  534.        "",
  535.        "_____",
  536.        "/ / <",
  537.        "",
  538.        ""
  539.        },
  540.        {0,0,0,0,0,0},
  541.        2,3
  542.        },
  543.  
  544. #define NO 40           /* o type 2 */
  545.        { {
  546.        "",
  547.        "",
  548.        "___",
  549.        "(_)",
  550.        "",
  551.        ""
  552.        },
  553.        {0,0,0,0,0,0},
  554.        2,2
  555.        },
  556.  
  557. #define NP 41           /* p type 2 */
  558.        { {
  559.        "",
  560.        "",
  561.      "__",
  562.      "/_)",
  563.     "/",
  564.        "'"
  565.        },
  566.        {0,0,2,2,1,0},
  567.        2,3
  568.        },
  569.  
  570. #define NQ 42           /* q type 2 */
  571.        { {
  572.        "",
  573.        "",
  574.        "__,",
  575.        "(_)",
  576.     "/>",
  577.        "|/"
  578.        },
  579.        {0,0,0,0,1,0},
  580.        2,3
  581.        },
  582.  
  583. #define NR 43           /* r type 2 */
  584.        { {
  585.        "",
  586.        "",
  587.        ",_",
  588.     "(",
  589.        "",
  590.        ""
  591.        },
  592.        {0,0,0,1,0,0},
  593.        2,3
  594.        },
  595.  
  596. #define NS 44           /* s type 2 */
  597.        { {
  598.        "",
  599.        "",
  600.        "___ ",
  601.     "\\_)_",
  602.        "",
  603.        ""
  604.        },
  605.        {0,0,0,1,0,0},
  606.        2,3
  607.        },
  608.  
  609. #define NT 45           /* t type 2 */
  610.        { {
  611.        "",
  612.     "_/_",
  613.        "_/",
  614.        "(_",
  615.        "",
  616.        ""
  617.        },
  618.        {0,1,0,0,0,0},
  619.        2,3
  620.        },
  621.  
  622. #define NU 46           /* u type 2 */
  623.        { {
  624.        "",
  625.        "",
  626.        "_. .",
  627.        "(_/",
  628.        "",
  629.        ""
  630.        },
  631.        {0,0,0,0,0,0},
  632.        2,3
  633.        },
  634.  
  635. #define NV 47           /* v type 2 */
  636.        { {
  637.        "",
  638.        "",
  639.        "  .",
  640.        "\\/",
  641.        "",
  642.        ""
  643.        },
  644.        {0,0,0,0,0,0},
  645.        2,3
  646.        },
  647.  
  648. #define NW 48           /* w type 2 */
  649.        { {
  650.        "",
  651.        "",
  652.        "_, , ,",
  653.        "(_(_/",
  654.        "",
  655.        ""
  656.        },
  657.        {0,0,0,0,0,0},
  658.        2,3
  659.        },
  660.  
  661. #define NX 49           /* x type 2 */
  662.        { {
  663.        "",
  664.        "",
  665.        "_.,",
  666.     "/\\",
  667.        "",
  668.        ""
  669.        },
  670.        {0,0,0,1,0,0},
  671.        2,3
  672.        },
  673.  
  674. #define NY 50           /* y type 2 */
  675.        { {
  676.        "",
  677.        "",
  678.        "_  ,",
  679.        "(_/__",
  680.     "/",
  681.        "'"
  682.        },
  683.        {0,0,0,0,1,0},
  684.        2,3
  685.        },
  686.  
  687. #define NZ 51           /* z type 2 */
  688.        { {
  689.        "",
  690.        "",
  691.        "__.",
  692.      "|",
  693.     "(|",
  694.        ""
  695.        },
  696.        {0,0,0,2,1,0},
  697.        2,3
  698.        },
  699.  
  700. #define UA 52           /* A */
  701.        { {
  702.       "__",
  703.      "/  )",
  704.     "/--/",
  705.        "/  (",
  706.        "",
  707.        ""
  708.        },
  709.        {3,2,1,0,0,0},
  710.        3,3
  711.        },
  712.  
  713. #define UB 53           /* B  */
  714.        { {
  715.       "__",
  716.      "/  )",
  717.     "/--<",
  718.        "/___/",
  719.        "",
  720.        ""
  721.        },
  722.        {3,2,1,0,0,0},
  723.        3,3
  724.        },
  725.  
  726. #define UC 54           /* C */
  727.        { {
  728.       "__",
  729.      "/  )",
  730.     "/",
  731.        "(__/",
  732.        "",
  733.        ""
  734.        },
  735.        {3,2,1,0,0,0},
  736.        -1,-1
  737.        },
  738.  
  739. #define UD 55           /* D  */
  740.        { {
  741.       "__",
  742.      "/  )",
  743.     "/  /",
  744.        "/__/",
  745.        "",
  746.        ""
  747.        },
  748.        {3,2,1,0,0,0},
  749.        3,3
  750.        },
  751.  
  752. #define UE 56           /* E */
  753.        { {
  754.       "__",
  755.      "/  `",
  756.     "/--",
  757.        "(___,",
  758.        "",
  759.        ""
  760.        },
  761.        {3,2,1,0,0,0},
  762.        -1,-1
  763.        },
  764.  
  765. #define UF 57           /* F */
  766.        { {
  767.       "_____",
  768.       " /  '",
  769.     ",-/-,",
  770.        "(_/",
  771.        "",
  772.        ""
  773.        },
  774.        {3,3,1,0,0,0},
  775.        -1,-1
  776.        },
  777.  
  778. #define UG 58           /* G */
  779.        { {
  780.      "()  ,",
  781.      "/`-'|",
  782.     "/   /",
  783.        "/__-<",
  784.        "",
  785.        ""
  786.        },
  787.        {2,2,1,0,0,0},
  788.        -1,3
  789.        },
  790.  
  791. #define UH 59           /* H */
  792.        { {
  793.     "_    ,",
  794.        "' )  /",
  795.     "/--/",
  796.        "/  (",
  797.        "",
  798.        ""
  799.        },
  800.        {1,0,1,0,0,0},
  801.        -1,3
  802.        },
  803.  
  804. #define UI 60           /* I */
  805.        { {
  806.         "_",
  807.        "| )",
  808.        ",---|/",
  809.     "\\_/ \\",
  810.        "",
  811.        ""
  812.        },
  813.        {5,4,0,1,0,0},
  814.        -1,3
  815.        },
  816.  
  817. #define UJ 61           /* J */
  818.        { {
  819.      "___",
  820.     "(   >",
  821.      "__/",
  822.     "/ /",
  823.        "<_/",
  824.        ""
  825.        },
  826.        {2,1,2,1,0,0},
  827.        -1,2
  828.        },
  829.  
  830. #define UK 62           /* K */
  831.        { {
  832.     "_   ,",
  833.        "' ) /",
  834.     "/-<",
  835.        "/   )",
  836.        "",
  837.        ""
  838.        },
  839.        {1,0,1,0,0,0},
  840.        -1,-1
  841.        },
  842.  
  843. #define UL 63           /* L */
  844.        { {
  845.       "_",
  846.     "_//",
  847.     "/",
  848.        "/___",
  849.        "",
  850.        ""
  851.        },
  852.        {3,1,1,0,0,0},
  853.        -1,-1
  854.        },
  855.  
  856. #define UM 64           /* M */
  857.        { {
  858.     "_ _ _",
  859.        "' ) ) )",
  860.     "/ / /",
  861.        "/ ' (",
  862.        "",
  863.        ""
  864.        },
  865.        {1,0,1,0,0,0},
  866.        -1,3
  867.        },
  868.  
  869. #define UN 65           /* N */
  870.        { {
  871.     "_ __",
  872.        "' )  )",
  873.     "/  /",
  874.        "/  (",
  875.        "",
  876.        ""
  877.        },
  878.        {1,0,1,0,0,0},
  879.        -1,3
  880.        },
  881.  
  882. #define UO 66           /* O */
  883.        { {
  884.       "__",
  885.      "/ ')",
  886.     "/  /",
  887.        "(__/",
  888.        "",
  889.        ""
  890.        },
  891.        {3,2,1,0,0,0},
  892.        -1,-1
  893.        },
  894.  
  895. #define UP 67           /* P */
  896.        { {
  897.     "_ __",
  898.        "' )  )",
  899.     "/--'",
  900.        "/",
  901.        "",
  902.        ""
  903.        },
  904.        {1,0,1,0,0,0},
  905.        -1,-1
  906.        },
  907.  
  908. #define UQ 68           /* Q */
  909.        { {
  910.       "__",
  911.      "/  )",
  912.     "/  /",
  913.        "(_\\/",
  914.       "`",
  915.        ""
  916.        },
  917.        {3,2,1,0,3,0},
  918.        -1,-1
  919.        },
  920.  
  921. #define UR 69           /* R */
  922.        { {
  923.     "_ __",
  924.        "' )  )",
  925.     "/--'",
  926.        "/  \\",
  927.        "",
  928.        ""
  929.        },
  930.        {1,0,1,0,0,0},
  931.        -1,3
  932.        },
  933.  
  934. #define US 70           /* S */
  935.        { {
  936.      "()",
  937.      "/\\",
  938.     "/  )",
  939.        "/__/_",
  940.        "",
  941.        ""
  942.        },
  943.        {2,2,1,0,0,0},
  944.        -1,3
  945.        },
  946.  
  947. #define UT 71           /* T */
  948.        { {
  949.      "______",
  950.        "/  ",
  951.     "--/",
  952.        "(_/",
  953.        "",
  954.        ""
  955.        },
  956.        {2,4,1,0,0,0},
  957.        -1,-1
  958.        },
  959.  
  960. #define UU 72           /* U */
  961.        { {
  962.     "_    _",
  963.        "' )  /",
  964.     "/  /",
  965.        "(__/",
  966.        "",
  967.        ""
  968.        },
  969.        {1,0,1,0,0,0},
  970.        -1,0
  971.        },
  972.  
  973. #define UV 73           /* V */
  974.        { {
  975.     "_    ",
  976.        "' )  /",
  977.     "(  /",
  978.      "\\/",
  979.        "",
  980.        ""
  981.        },
  982.        {1,0,1,2,0,0},
  983.        -1,0
  984.        },
  985.  
  986. #define UW 74           /* W */
  987.        { {
  988.     "_     ",
  989.        "' )   /",
  990.     "/ / /",
  991.        "(_(_/",
  992.        "",
  993.        ""
  994.        },
  995.        {1,0,1,0,0,0},
  996.        -1,0
  997.        },
  998.  
  999. #define UX 75           /* X */
  1000.        { {
  1001.     "_   ,",
  1002.        "' \\ /",
  1003.       "X",
  1004.      "/ \\",
  1005.        "",
  1006.        ""
  1007.        },
  1008.        {1,0,3,2,0,0},
  1009.        -1,3
  1010.        },
  1011.  
  1012. #define UY 76           /* Y */
  1013.        { {
  1014.     "_    ,",
  1015.        "' )  /",
  1016.     "/  /",
  1017.        "(__/",
  1018.     "//",
  1019.        "(/"
  1020.        },
  1021.        {1,0,1,0,1,0},
  1022.        -1,3
  1023.        },
  1024.  
  1025. #define UZ 77           /* Z */
  1026.        { {
  1027.        "___",
  1028.      "/",
  1029.     "/",
  1030.        "/__",
  1031.        "",
  1032.        ""
  1033.        },
  1034.        {0,2,1,0,0,0},
  1035.        -1,-1
  1036.        },
  1037.  
  1038. #define PE 78           /* ! */
  1039.        { {
  1040.       "/",
  1041.      "/",
  1042.     "'",
  1043.        "o",
  1044.        "",
  1045.        ""
  1046.        },
  1047.        {3,2,1,0,0,0},
  1048.        -1,-1
  1049.        },
  1050.  
  1051. #define PU 79           /* " */
  1052.        { {
  1053.        "o o",
  1054.        "' '",
  1055.        "",
  1056.        "",
  1057.        "",
  1058.        ""
  1059.        },
  1060.        {0,0,0,0,0,0},
  1061.        -1,-1
  1062.        },
  1063.  
  1064. #define PX 80           /* # */
  1065.        { {
  1066.       "/ /",
  1067.     "-/-/-",
  1068.        "-/-/-",
  1069.        "/ /",
  1070.        "",
  1071.        ""
  1072.        },
  1073.        {3,1,0,0,0,0},
  1074.        -1,-1
  1075.        },
  1076.  
  1077. #define PK 81           /* $ */
  1078.        { {
  1079.      ",-/-",
  1080.     "(_/",
  1081.      "/ )",
  1082.        "-/-'",
  1083.        "",
  1084.        ""
  1085.        },
  1086.        {2,1,2,0,0,0},
  1087.        -1,-1
  1088.        },
  1089.  
  1090. #define PF 82           /* ' */
  1091.        { {
  1092.        "o",
  1093.        "'",
  1094.        "",
  1095.        "",
  1096.        "",
  1097.        ""
  1098.        },
  1099.        {0,0,0,0,0,0},
  1100.        -1,-1
  1101.        },
  1102.  
  1103. #define PC 83           /* , */
  1104.        { {
  1105.        "",
  1106.        "",
  1107.        "",
  1108.        "o",
  1109.        "'",
  1110.        ""
  1111.        },
  1112.        {0,0,0,0,0,0},
  1113.        -1,-1
  1114.        },
  1115.  
  1116. #define PM 84           /* - */
  1117.        { {
  1118.        "",
  1119.        "",
  1120.        "---",
  1121.        "",
  1122.        "",
  1123.        ""
  1124.        },
  1125.        {0,0,0,0,0,0},
  1126.        -1,-1
  1127.        },
  1128.  
  1129. #define PP 85           /* . */
  1130.        { {
  1131.        "",
  1132.        "",
  1133.        "",
  1134.        "o",
  1135.        "",
  1136.        ""
  1137.        },
  1138.        {0,0,0,0,0,0},
  1139.        -1,-1
  1140.        },
  1141.  
  1142. #define PD 86           /* : */
  1143.        { {
  1144.        "",
  1145.      "o",
  1146.        "",
  1147.        "o",
  1148.        "",
  1149.        ""
  1150.        },
  1151.        {0,2,0,0,0,0},
  1152.        -1,-1
  1153.        },
  1154.  
  1155. #define PS 87           /* ; */
  1156.        { {
  1157.        "",
  1158.      "o",
  1159.        "",
  1160.        "o",
  1161.        "'",
  1162.        ""
  1163.        },
  1164.        {0,2,0,0,0,0},
  1165.        -1,-1
  1166.        },
  1167.  
  1168. #define PQ 88           /* ? */
  1169.        { {
  1170.      "__",
  1171.      "__)",
  1172.     "/",
  1173.        "o",
  1174.        "",
  1175.        ""
  1176.        },
  1177.        {2,2,1,0,0,0},
  1178.        -1,-1
  1179.        },
  1180.  
  1181. #define PB 89           /* ` */
  1182.        { {
  1183.        "o",
  1184.        "`",
  1185.        "",
  1186.        "",
  1187.        "",
  1188.        ""
  1189.        },
  1190.        {0,0,0,0,0,0},
  1191.        -1,-1
  1192.        }
  1193.        };
  1194.  
  1195. short code1[] = {
  1196.      /*  0   1     2   3     4   5     6   7     8   9    10  11    12  13    14  15 */
  1197.        XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX,
  1198.        XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX,
  1199.        SP, PE, PU, PX, PK, XX, XX, PF, XX, XX, XX, XX, PC, PM, PP, XX,
  1200.        SN, SN, SN, SN, SN, SN, SN, SN, SN, SN, PD, PS, XX, XX, XX, PQ,
  1201.        XX, UA, UB, UC, UD, UE, UF, UG, UH, UI, UJ, UK, UL, UM, UN, UO,
  1202.        UP, UQ, UR, US, UT, UU, UV, UW, UX, UY, UZ, XX, XX, XX, XX, ST,
  1203.        PB, LA, LB, LC, LD, LE, LF, LG, LH, LI, LJ, LK, LL, LM, LN, LO,
  1204.        LP, LQ, LR, LS, LT, LU, LV, LW, LX, LY, LZ, XX, XX, XX, XX, XX };
  1205.  
  1206. short code2[] = {
  1207.      /*  0   1     2   3     4   5     6   7     8   9    10  11    12  13    14  15 */
  1208.        XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX,
  1209.        XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX,
  1210.        SP, PE, PU, PX, PK, XX, XX, PF, XX, XX, XX, XX, PC, PM, PP, XX,
  1211.        SN, SN, SN, SN, SN, SN, SN, SN, SN, SN, PD, PS, XX, XX, XX, PQ,
  1212.        XX, UA, UB, UC, UD, UE, UF, UG, UH, UI, UJ, UK, UL, UM, UN, UO,
  1213.        UP, UQ, UR, US, UT, UU, UV, UW, UX, UY, UZ, XX, XX, XX, XX, ST,
  1214.        PB, NA, NB, NC, ND, NE, NF, NG, NH, NI, NJ, NK, NL, NM, NN, NO,
  1215.        NP, NQ, NR, NS, NT, NU, NV, NW, NX, NY, NZ, XX, XX, XX, XX, XX };
  1216.