Annotation of 43BSDTahoe/usr.bin/roff/nroff_term/tabepson.c, revision 1.1.1.1

1.1       root        1: /*************************************************************************
                      2:  * This is 'tabepson.c' for an Epson FX80. Default spacing is elite.    *
                      3:  * This represents a combination and very slight modification of two    *
                      4:  *  nroff driving tables. Specifically :                                *
                      5:  *                                                                      *
                      6:  *     tablpr.c  by UCB Computing Center (the approximation of greek)    *
                      7:  *                                                                      *
                      8:  *     tabfx80p.c by [email protected] (Epson print mode switching) *
                      9:  *     replaces big curly bracket parts with the following:             *
                     10:  *                                                                      *
                     11:  *             PRINT MODE:               CHARACTER SEQUENCE             *
                     12:  *             FX80 set Double Strike          \(lt                     *
                     13:  *             FX80 cancels D.S.               \(lb                     *
                     14:  *             FX80 set Condensed              \(rt                     *
                     15:  *             FX80 cancels Condensed          \(rb                     *
                     16:  *             FX80 set Pica size              \(lk                     *
                     17:  *             FX80 set Elite size             \(rk                     *
                     18:  *             FX80 set Proportional           \(bv                     *
                     19:  *             FX80 set Expanded Mode          \(lf                     *
                     20:  *             FX80 cancel Expanded Mode       \(rf                     *
                     21:  *             FX80 underline on               \(lc                     *
                     22:  *             FX80 underline off              \(rc                     *
                     23:  *                                                                      *
                     24:  *  --> J. Michael Cherry, 1/18/85  molbio@ucblapis or                  *
                     25:  *                                 ucbvax!molbio!mike                   *
                     26:  *                                                                      *
                     27:  *************************************************************************/
                     28: 
                     29: #define INCH 240
                     30: 
                     31: struct {
                     32:           int bset;               /* terminal driver set          */
                     33:           int breset;             /* terminal driver reset        */
                     34:           int Hor;                /* horizontal resolution        */
                     35:           int Vert;               /* vetical resolution           */
                     36:           int Newline;            /* length on one line feed      */
                     37:           int Char;               /* character size increment     */
                     38:           int Em;                 /* em size                      */
                     39:           int Halfline;           /* length of half line feed     */
                     40:           int Adj;                /* white size increment         */
                     41:           char *twinit;           /* initialize string to printer */
                     42:           char *twrest;           /* reset string to printer      */
                     43:           char *twnl;             /* newline string               */
                     44:           char *hlr;              /* half-line-feed-reverse       */
                     45:           char *hlf;              /* half-line-feed-forward       */
                     46:           char *flr;              /* full-line-feed-reverse       */
                     47:           char *bdon;             /* bold-on string               */
                     48:           char *bdoff;            /* bold-off string              */
                     49:           char *ploton;           /* plot on string               */
                     50:           char *plotoff;          /* plot off string              */
                     51:           char *up;               /* these strings move as        */
                     52:           char *down;             /*     indicated in plot mode   */
                     53:           char *right;            /*     in best available        */
                     54:           char *left;             /*     resolution               */
                     55:           char *codetab[256-32];  /* see the table                */
                     56:           int zzz;
                     57:           } t = {
                     58: /*bset*/       0,
                     59: /*breset*/     0,
                     60: /*Hor*/                INCH/120,       /* must be consisten with plot increments */
                     61: /*Vert*/       INCH/48,        /* ditto */
                     62: /*Newline*/    INCH/6,
                     63: /*Char*/       INCH/12,        /* the character unit for the code table */
                     64: /*Em*/         INCH/12,        /* the nominal space size */
                     65: /*Halfline*/   INCH/12,
                     66: /*Adj*/                INCH/12,        /* the white caused by a single plot move */
                     67: /*twinit*/     "\033M",        /* invoke elite */
                     68: /*twrest*/     "\033@",        /* reset printer to deflauts */
                     69: /*twnl*/       "\n",           /* newline code        */
                     70: /*hlr*/                "\033j\022",
                     71: /*hlf*/                "\033J\022",    /* forward feed */
                     72: /*flr*/                "\033j\044",
                     73: /*bdon*/       "\033G",        /* Alternate chars.  '\fB' to invoke */
                     74: /*bdoff*/      "\033H",        /* Standard chars. '\fP' to invoke */
                     75: /*ploton*/     "",
                     76: /*plotoff*/    "",
                     77: /*up*/         "",
                     78: /*down*/       "",
                     79: /*right*/      "",
                     80: /*left*/       "",
                     81: 
                     82: "\001 ",       /*space*/
                     83: "\001!",       /*!*/
                     84: "\001\"",      /*"*/
                     85: "\001#",       /*#*/
                     86: "\001$",       /*$*/
                     87: "\001%",       /*%*/
                     88: "\001&",       /*&*/
                     89: "\001'",       /*' close*/
                     90: "\001(",       /*(*/
                     91: "\001)",       /*)*/
                     92: "\001*",       /***/
                     93: "\001+",       /*+*/
                     94: "\001,",       /*,*/
                     95: "\001-",       /*- hyphen*/
                     96: "\001.",       /*.*/
                     97: "\001/",       /*/*/
                     98: "\2010",       /*0*/
                     99: "\2011",       /*1*/
                    100: "\2012",       /*2*/
                    101: "\2013",       /*3*/
                    102: "\2014",       /*4*/
                    103: "\2015",       /*5*/
                    104: "\2016",       /*6*/
                    105: "\2017",       /*7*/
                    106: "\2018",       /*8*/
                    107: "\2019",       /*9*/
                    108: "\001:",       /*:*/
                    109: "\001;",       /*;*/
                    110: "\001<",       /*<*/
                    111: "\001=",       /*=*/
                    112: "\001>",       /*>*/
                    113: "\001?",       /*?*/
                    114: "\001@",       /*@*/
                    115: "\201A",       /*A*/
                    116: "\201B",       /*B*/
                    117: "\201C",       /*C*/
                    118: "\201D",       /*D*/
                    119: "\201E",       /*E*/
                    120: "\201F",       /*F*/
                    121: "\201G",       /*G*/
                    122: "\201H",       /*H*/
                    123: "\201I",       /*I*/
                    124: "\201J",       /*J*/
                    125: "\201K",       /*K*/
                    126: "\201L",       /*L*/
                    127: "\201M",       /*M*/
                    128: "\201N",       /*N*/
                    129: "\201O",       /*O*/
                    130: "\201P",       /*P*/
                    131: "\201Q",       /*Q*/
                    132: "\201R",       /*R*/
                    133: "\201S",       /*S*/
                    134: "\201T",       /*T*/
                    135: "\201U",       /*U*/
                    136: "\201V",       /*V*/
                    137: "\201W",       /*W*/
                    138: "\201X",       /*X*/
                    139: "\201Y",       /*Y*/
                    140: "\201Z",       /*Z*/
                    141: "\001[",       /*[*/
                    142: "\001\\",      /*\*/
                    143: "\001]",       /*]*/
                    144: "\001^",       /*^*/
                    145: "\001_",       /*_ dash*/
                    146: "\001`",       /*` open*/
                    147: "\201a",       /*a*/
                    148: "\201b",       /*b*/
                    149: "\201c",       /*c*/
                    150: "\201d",       /*d*/
                    151: "\201e",       /*e*/
                    152: "\201f",       /*f*/
                    153: "\201g",       /*g*/
                    154: "\201h",       /*h*/
                    155: "\201i",       /*i*/
                    156: "\201j",       /*j*/
                    157: "\201k",       /*k*/
                    158: "\201l",       /*l*/
                    159: "\201m",       /*m*/
                    160: "\201n",       /*n*/
                    161: "\201o",       /*o*/
                    162: "\201p",       /*p*/
                    163: "\201q",       /*q*/
                    164: "\201r",       /*r*/
                    165: "\201s",       /*s*/
                    166: "\201t",       /*t*/
                    167: "\201u",       /*u*/
                    168: "\201v",       /*v*/
                    169: "\201w",       /*w*/
                    170: "\201x",       /*x*/
                    171: "\201y",       /*y*/
                    172: "\201z",       /*z*/
                    173: "\001{",       /*{*/
                    174: "\001|",       /*|*/
                    175: "\001}",       /*}*/
                    176: "\001~",       /*~*/
                    177: "\001",                /* narrow sp */
                    178: "\001-",       /*hyphen*/
                    179: "\001\033j\003.\033J\003",     /*bullet*/
                    180: "\002\[]",     /*square*/
                    181: "\001-",       /*3/4 em*/
                    182: "\001_",       /*rule*/
                    183: "\0031/4",     /*1/4*/
                    184: "\0031/2",     /*1/2*/
                    185: "\0033/4",     /*3/4*/
                    186: "\001-",       /*minus*/
                    187: "\202fi",      /*fi*/
                    188: "\202fl",      /*fl*/
                    189: "\202ff",      /*ff*/
                    190: "\203ffi",     /*ffi*/
                    191: "\203ffl",     /*ffl*/
                    192: "\001\033j\013o\033J\013",     /*degree*/
                    193: "\001|\b\033j\002-\033J\002",  /*dagger*/
                    194: "\001 ",       /* section*/
                    195: "\001'",       /*foot mark*/
                    196: "\001'",       /*acute accent*/
                    197: "\001`",       /*grave accent*/
                    198: "\001_",       /*underrule*/
                    199: "\001/",       /*slash (longer)*/
                    200: "\001\0",      /*half narrow space => 1/12 em */
                    201: "\001 ",       /*unpaddable space*/
                    202: "\201o\b(",    /*alpha*/
                    203: "\2018\b|",    /*beta*/
                    204: "\201>\b/",    /*gamma*/
                    205: "\201d\b`",    /*delta*/
                    206: "\201C\b-",    /*epsilon*/
                    207: "\000\0",      /*zeta*/
                    208: "\201n",       /*eta*/
                    209: "\201o\b-",    /*theta*/
                    210: "\201i",       /*iota*/
                    211: "\201k",       /*kappa*/
                    212: "\201,\b\\",   /*lambda*/
                    213: "\201u",       /*mu*/
                    214: "\201v",       /*nu*/
                    215: "\000\0",      /*xi*/
                    216: "\201o",       /*omicron*/
                    217: "\202i\b~i\b~",        /*pi*/
                    218: "\201p",       /*rho*/
                    219: "\201o\b~",    /*sigma*/
                    220: "\201i\b~",    /*tau*/
                    221: "\201u",       /*upsilon*/
                    222: "\201o\b|",    /*phi*/
                    223: "\201x",       /*chi*/
                    224: "\201u\b|",    /*psi*/
                    225: "\201w",       /*omega*/
                    226: "\201I\b~",    /*Gamma*/
                    227: "\202/\b_\\\b_", /*Delta*/
                    228: "\201O\b-",    /*Theta*/
                    229: "\202/\\",     /*Lambda*/
                    230: "\201=\b_",    /*Xi*/
                    231: "\202TT",      /*Pi*/
                    232: "\201>\b_\b~",         /*Sigma*/
                    233: "\000",                /**/
                    234: "\201Y",       /*Upsilon*/
                    235: "\201O\b|",    /*Phi*/
                    236: "\201U\b|",    /*Psi*/
                    237: "\201O\b_",    /*Omega*/
                    238: "\001v\b/",    /*square root*/
                    239: "\000\0",      /*terminal sigma*/
                    240: "\001~",       /*root en*/
                    241: "\001>\b_",    /*>=*/
                    242: "\001<\b_",    /*<=*/
                    243: "\001=\b_",    /*identically equal*/
                    244: "\001-",       /*equation minus*/
                    245: "\001~\b_",    /*approx =*/
                    246: "\001~",       /*approximates*/
                    247: "\001=\b/",    /*not equal*/
                    248: "\002->",      /*right arrow*/
                    249: "\002<-",      /*left arrow*/
                    250: "\001|\b^",    /*up arrow*/
                    251: "\001|\bv",    /*down arrow*/
                    252: "\001=",       /*equation equal*/
                    253: "\001x",       /*multiply*/
                    254: "\001:\b-",    /*divide*/
                    255: "\001+\b_",    /*plus-minus*/
                    256: "\002(\b~)\b~",        /*cup (union)*/
                    257: "\002(\b_)\b_",        /*cap (intersection)*/
                    258: "\002(=",      /*subset of*/
                    259: "\002=)",      /*superset of*/
                    260: "\002(=\b_",   /*improper subset*/
                    261: "\002=\b_)",   /*improper superset*/
                    262: "\002oo",      /*infinity*/
                    263: "\001o\b`",    /*partial derivative*/
                    264: "\002\\\b~/\b~", /*gradient*/
                    265: "\000\0",      /*not*/
                    266: "\000\0",      /*integral sign*/
                    267: "\002oc",      /*proportional to*/
                    268: "\001O\b/",    /*empty set*/
                    269: "\001<\b-",    /*member of*/
                    270: "\001+",       /*equation plus*/
                    271: "\003(R)",     /*registered*/
                    272: "\003(C)",     /*copyright*/
                    273: "\001|",       /*box rule */
                    274: "\001c\b/",    /*cent sign*/
                    275: "\001|\b=",    /*dbl dagger*/
                    276: "\002=>",      /*right hand*/
                    277: "\002<=",      /*left hand*/
                    278: "\001*",       /*math * */
                    279: "\000\0",      /*bell system sign*/
                    280: "\001|",       /*or (was star)*/
                    281: "\001O",       /*circle*/
                    282: "\000\033G",   /* FX80 set Double Strike */    /* \(lt */
                    283: "\000\033H",   /* FX80 cancels D.S.  */        /* \(lb */
                    284: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.