home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume8 / dca2troff / ebtab.h < prev    next >
C/C++ Source or Header  |  1987-02-18  |  9KB  |  283 lines

  1. /* table of EBCDIC characters                *
  2.  * 1st entry is character use type            *
  3.  *    0    forget it                *
  4.  *    1    simple translate to string        *
  5.  *    2    single byte control            *
  6.  *    3    "csp" for multibyte control        *
  7.  *    4    accented character            *
  8.  *    5    troff special character            *
  9.  *    6    non-troff special character        *
  10.  *                            *
  11.  * 2nd entry is a string, use depends on type        *
  12.  *      1    string to output            *
  13.  *    2    unused                    *
  14.  *    3    unused                    *
  15.  *    4    accent <SPACE> character        *
  16.  *    5    string to output            *
  17.  *    6    if string then output            *
  18.  *        if no string ( NULL ) then special    *
  19.  *        character local processing required    *
  20.  *                            */
  21.  
  22. struct echar {
  23.     int type;
  24.     char *arg;
  25. } ebaray[] = {
  26.         0, "",        /* 0x00 - NULL */
  27.         0, "",        /* 0x01 - xx*/
  28.         0, "",        /* 0x02 - xx*/
  29.         0, "",        /* 0x03 - xx*/
  30.         0, "",        /* 0x04 - xx*/
  31.         2, "\t",    /* 0x05 - horizontal tab */
  32.         2, "\n.br\n",    /* 0x06 - required carrier return */
  33.         0, "",        /* 0x07 - xx*/
  34.         0, "",        /* 0x08 - xx*/
  35.         2, "\u",    /* 0x09 - superscript */
  36.         0, "",        /* 0x0a - xx*/
  37.         0, "",        /* 0x0b - xx*/
  38.         2, "\n",    /* 0x0c - page end */
  39.         2, "\n",    /* 0x0d - zero index carrier return */
  40.         0, "",        /* 0x0e - xx*/
  41.         0, "",        /* 0x0f - xx*/
  42.         0, "",        /* 0x10 - xx*/
  43.         0, "",        /* 0x11 - xx*/
  44.         0, "",        /* 0x12 - xx*/
  45.         0, "",        /* 0x13 - xx*/
  46.         0, "",        /* 0x14 - xx*/
  47.         2, "\n",    /* 0x15 - carrier return*/
  48.         2, "\b",    /* 0x16 - backspace */
  49.         0, "",        /* 0x17 - xx*/
  50.         0, "",        /* 0x18 - xx*/
  51.         0, "",        /* 0x19 - xx*/
  52.         2, "",        /* 0x1a - unit backspace */
  53.         0, "",        /* 0x1b - xx*/
  54.         0, "",        /* 0x1c - xx*/
  55.         0, "",        /* 0x1d - xx*/
  56.         0, "",        /* 0x1e - xx*/
  57.         0, "",        /* 0x1f - xx*/
  58.         0, "",        /* 0x20 - xx*/
  59.         0, "",        /* 0x21 - xx*/
  60.         0, "",        /* 0x22 - xx*/
  61.         2, "",        /* 0x23 - word underscore */
  62.         0, "",        /* 0x24 - xx*/
  63.         2, "",        /* 0x25 - index */
  64.         0, "",        /* 0x26 - xx*/
  65.         0, "",        /* 0x27 - xx*/
  66.         0, "",        /* 0x28 - xx*/
  67.         0, "",        /* 0x29 - xx*/
  68.         0, "",        /* 0x2a - xx*/
  69.         3, "",        /* 0x2b - CSP */
  70.         0, "",        /* 0x2c - xx*/
  71.         0, "",        /* 0x2d - xx*/
  72.         0, "",        /* 0x2e - xx*/
  73.         0, "",        /* 0x2f - xx*/
  74.         0, "",        /* 0x30 - xx*/
  75.         0, "",        /* 0x31 - xx*/
  76.         0, "",        /* 0x32 - xx*/
  77.         2, "",        /* 0x33 - index return */
  78.         0, "",        /* 0x34 - xx*/
  79.         0, "",        /* 0x35 - xx*/
  80.         2, "\\h'-\\w'1'u'",    /* 0x36 - numeric backspace */
  81.         0, "",        /* 0x37 - xx*/
  82.         2, "\d",    /* 0x38 - subscript */
  83.         2, "",        /* 0x39 - indent tab */
  84.         2, "\n.bp\n",    /* 0x3a - required page end */
  85.         0, "",        /* 0x3b - xx*/
  86.         0, "",        /* 0x3c - xx*/
  87.         0, "",        /* 0x3d - xx*/
  88.         0, "",        /* 0x3e - xx*/
  89.         2, "",        /* 0x3f - substitute */
  90.         2, " ",        /* 0x40 - space */
  91.         2, " ",        /* 0x41 - required space */
  92.         4, "^ a",    /* 0x42 - a circumflex */
  93.         4, ".. a",    /* 0x43 - a diaeresis */
  94.         4, "' a",    /* 0x44 - a grave */
  95.         4, "` a",    /* 0x45 - a acute */
  96.         4, "~ a",    /* 0x46 - a tilde */
  97.         4, "de a",    /* 0x47 - a angstrom */
  98.         4, "cd c",    /* 0x48 - c cedilla */
  99.         4, "~ n",    /* 0x49 - n telde */
  100.         1, "[",        /* 0x4a - [ */
  101.         1, ".",        /* 0x4b - . */
  102.         1, "<",        /* 0x4c - < */
  103.         1, "(",        /* 0x4d - ( */
  104.         1, "+",        /* 0x4e - + */
  105.         1, "!",        /* 0x4f - ! */
  106.         1, "&",        /* 0x50 - & */
  107.         4, "` e",    /* 0x51 - e acute */
  108.         4, "^ e",    /* 0x52 - e circumflex */
  109.         4, ".. e",    /* 0x53 - e diaeresis */
  110.         4, "' e",    /* 0x54 - e grave */
  111.         4, "` i",    /* 0x55 - i acute */
  112.         4, "^ i",    /* 0x56 - i circumflex */
  113.         4, ".. i",    /* 0x57 - i diaeresis */
  114.         4, "' i",    /* 0x58 - i grave */
  115.         6, "\\(ss",    /* 0x59 - german sharp s */
  116.         1, "]",        /* 0x5a - ] */
  117.         1, "$",        /* 0x5b - $ */
  118.         1, "*",        /* 0x5c - * */
  119.         1, ")",        /* 0x5d - ) */
  120.         1, ";",        /* 0x5e - ; */
  121.         1, "^",        /* 0x5f - ^ */
  122.         2, "-",        /* 0x60 - required - */
  123.         1, "/",        /* 0x61 - / */
  124.         4, "^ A",    /* 0x62 - A circumflex */
  125.         4, ".. A",    /* 0x63 - A diaeresis */
  126.         4, "' A",    /* 0x64 - A grave */
  127.         4, "` A",    /* 0x65 - A acute */
  128.         4, "~ A",    /* 0x66 - A tilde */
  129.         4, "de A",    /* 0x67 - A angstrom */
  130.         4, "cd C",    /* 0x68 - C cedilla */
  131.         4, "~ N",    /* 0x69 - N tilde */
  132.         1, "|",        /* 0x6a - | */
  133.         1, ",",        /* 0x6b - , */
  134.         1, "%",        /* 0x6c - % */
  135.         1, "_",        /* 0x6d - _ */
  136.         1, ">",        /* 0x6e - > */
  137.         1, "?",        /* 0x6f - ? */
  138.         6, "\\(O/",    /* 0x70 - O slash */
  139.         4, "' E",    /* 0x71 - E acute */
  140.         4, "^ E",    /* 0x72 - E circumflex */
  141.         4, ".. E",    /* 0x73 - E diaresis */
  142.         4, "` E",    /* 0x74 - E grave */
  143.         4, "' I",    /* 0x75 - I acute */
  144.         4, "^ I",    /* 0x76 - I circumflex */
  145.         4, ".. I",    /* 0x77 - I diaresis */
  146.         4, "` I",    /* 0x78 - I grave */
  147.         5, "\(ag",    /* 0x79 - grave */
  148.         1, ":",        /* 0x7a - : */
  149.         1, "#",        /* 0x7b - # */
  150.         1, "@",        /* 0x7c - @ */
  151.         1, "\'",    /* 0x7d - ' */
  152.         1, "=",        /* 0x7e - = */
  153.         1, "\"",     /* 0x7f - " */
  154.         1, "/",        /* 0x80 - / */
  155.         1, "a",        /* 0x81 - a */
  156.         1, "b",        /* 0x82 - b */
  157.         1, "c",        /* 0x83 - c */
  158.         1, "d",        /* 0x84 - d */
  159.         1, "e",        /* 0x85 - e */
  160.         1, "f",        /* 0x86 - f */
  161.         1, "g",        /* 0x87 - g */
  162.         1, "h",        /* 0x88 - h */
  163.         1, "i",        /* 0x89 - i */
  164.         6, "",        /* 0x8a - European open quote */
  165.         6, "",        /* 0x8b - European close quote */
  166.         6, "",        /* 0x8c - d stroke */
  167.         4, "` y",    /* 0x8d - y acute */
  168.         6, "",        /* 0x8e - small letter thorn */
  169.         5, "\\(+-",    /* 0x8f - +- */
  170.         5, "\\(de",    /* 0x90 - degree */
  171.         1, "j",        /* 0x91 - j */
  172.         1, "k",        /* 0x92 - k */
  173.         1, "l",        /* 0x93 - l */
  174.         1, "m",        /* 0x94 - m */
  175.         1, "n",        /* 0x95 - n */
  176.         1, "o",        /* 0x96 - o */
  177.         1, "p",        /* 0x97 - p */
  178.         1, "q",        /* 0x98 - q */
  179.         1, "r",        /* 0x99 - r */
  180.         4, "_ a",    /* 0x9a - a underscore */
  181.         4, "_ o",    /* 0x9b - o underscore */
  182.         5, "\\(ae",    /* 0x9c - ae ligature */
  183.         4, "\\(cd",    /* 0x9d - Cedilla */
  184.         5, "\\(AE",    /* 0x9e - AE ligature */
  185.         6, "",        /* 0x9f - international currency symbol */
  186.         6, "",        /* 0xa0 - Micro */
  187.         1, "~",        /* 0xa1 - ~ */
  188.         1, "s",        /* 0xa2 - s */
  189.         1, "t",        /* 0xa3 - t */
  190.         1, "u",        /* 0xa4 - u */
  191.         1, "v",        /* 0xa5 - v */
  192.         1, "w",        /* 0xa6 - w */
  193.         1, "x",        /* 0xa7 - x */
  194.         1, "y",        /* 0xa8 - y */
  195.         1, "z",        /* 0xa9 - z */
  196.         6, "\\(!!",    /* 0xaa - inverted ! */
  197.         6, "\\(??",    /* 0xab - inverted ? */
  198.         6, "",        /* 0xac - D stroke */
  199.         4, "` Y",    /* 0xad - Y acute */
  200.         6, "",        /* 0xae - Capital Thorn */
  201.         5, "\\(co",    /* 0xaf - copyright */
  202.         5, "\\(ct",    /* 0xb0 - cent sign */
  203.         6, "",        /* 0xb1 - Pound sign */
  204.         6, "",        /* 0xb2 - Yen */
  205.         6, "",        /* 0xb3 - Peseta */
  206.         6, "",        /* 0xb4 - Floren, Guilder */
  207.         5, "\\(sc",    /* 0xb5 - section sign */
  208.         6, "\\(pa",    /* 0xb6 - paragraph sign */
  209.         5, "\\(14",    /* 0xb7 - one fourth */
  210.         5, "\\(12",    /* 0xb8 - one half */
  211.         5, "\\(34",    /* 0xb9 - three fourths*/
  212.         5, "\\(no",    /* 0xba - logical not */
  213.         5, "\\(or",    /* 0xbb - logical or */
  214.         6, "\\(mc",    /* 0xbc - overbar */
  215.         6, "\\(..",    /* 0xbd - diaeresis */
  216.         5, "\\(aa",    /* 0xbe - acute */
  217.         6, "",        /* 0xbf - double underscore */
  218.         1, "{",        /* 0xc0 - { */
  219.         1, "A",        /* 0xc1 - A */
  220.         1, "B",        /* 0xc2 - B */
  221.         1, "C",        /* 0xc3 - C */
  222.         1, "D",        /* 0xc4 - D */
  223.         1, "E",        /* 0xc5 - E */
  224.         1, "F",        /* 0xc6 - F */
  225.         1, "G",        /* 0xc7 - G */
  226.         1, "H",        /* 0xc8 - H */
  227.         1, "I",        /* 0xc9 - I */
  228.         2, "\\%",    /* 0xca - syllable hyphen */
  229.         4, "^ o",    /* 0xcb - o circumflex */
  230.         4, ".. o",    /* 0xcc - o diaresis */
  231.         4, "' o",    /* 0xcd - o grave */
  232.         4, "` o",    /* 0xce - o acute */
  233.         4, "~ o",    /* 0xcf - o tilde */
  234.         1, "}",        /* 0xd0 - } */
  235.         1, "J",        /* 0xd1 - J */
  236.         1, "K",        /* 0xd2 - K */
  237.         1, "L",        /* 0xd3 - L */
  238.         1, "M",        /* 0xd4 - M */
  239.         1, "N",        /* 0xd5 - N */
  240.         1, "O",        /* 0xd6 - O */
  241.         1, "P",        /* 0xd7 - P */
  242.         1, "Q",        /* 0xd8 - Q */
  243.         1, "R",        /* 0xd9 - R */
  244.         6, "\\(ui",    /* 0xda - dotless i */
  245.         4, "^ u",    /* 0xdb - u circumflex */
  246.         4, ".. u",    /* 0xdc - u diaresis */
  247.         4, "' u",    /* 0xdd - u grave */
  248.         4, "` u",    /* 0xde - u acute */
  249.         4, ".. y",    /* 0xdf - y diaresis */
  250.         1, "\\",    /* 0xe0 - \ */
  251.         2, "\\h'\\w'1'u'",    /* 0xe1 - numeric space */
  252.         1, "S",        /* 0xe2 - S */
  253.         1, "T",        /* 0xe3 - T */
  254.         1, "U",        /* 0xe4 - U */
  255.         1, "V",        /* 0xe5 - V */
  256.         1, "W",        /* 0xe6 - W */
  257.         1, "X",        /* 0xe7 - X */
  258.         1, "Y",        /* 0xe8 - Y */
  259.         1, "Z",        /* 0xe9 - Z */
  260.         6, "\\u\\s-22\\s+2\\d",    /* 0xea - superscript 2 */
  261.         4, "^ O",    /* 0xeb - O circumflex */
  262.         4, ".. O",    /* 0xec - O diaresis */
  263.         4, "' O",    /* 0xed - O grave */
  264.         4, "` O",    /* 0xee - O acute */
  265.         4, "~ O",    /* 0xef - O tilde */
  266.         1, "0",        /* 0xf0 - 0 */
  267.         1, "1",        /* 0xf1 - 1 */
  268.         1, "2",        /* 0xf2 - 2 */
  269.         1, "3",        /* 0xf3 - 3 */
  270.         1, "4",        /* 0xf4 - 4 */
  271.         1, "5",        /* 0xf5 - 5 */
  272.         1, "6",        /* 0xf6 - 6 */
  273.         1, "7",        /* 0xf7 - 7 */
  274.         1, "8",        /* 0xf8 - 8 */
  275.         1, "9",        /* 0xf9 - 9 */
  276.         6, "\\u\\s-23\\s+2\\d",    /* 0xfa - superscript 3 */
  277.         4, "^ U",    /* 0xfb - U circumflex */
  278.         4, ".. U",    /* 0xfc - U diaresis */
  279.         4, "' U",    /* 0xfd - U grave */
  280.         4, "` U",    /* 0xfe - U acute */
  281.         6, "",        /* 0xff - "Eight Ones" */
  282. };
  283.