Annotation of 42BSD/usr.bin/nroff/term/tabitoh12.c, revision 1.1.1.1

1.1       root        1: /*     tabitoh12.c     4.1     83/08/05        */
                      2: #define INCH 240
                      3: /*
                      4:  * C:Itoh Prowriter (dot matrix) 12 pitch
                      5:  * nroff driving table
                      6:  * by G. Rochlin, 15feb83
                      7:  * Because the c:itoh will backspace only in incremental mode,
                      8:  * need to write a program to place commands Esc[ and Esc] around ^H.
                      9:  * If you want true underline mode instead of _^Hx_^Hy, etc.,
                     10:  * have the script first replace _^Hx with EscXxEscY, etc.
                     11:  * Further refinements are possible to clean up files and
                     12:  * minimize throughput (e.g., delete all EscYEscX pairs).
                     13:  * In the terminal initialization (twinit) and exit (twrest)
                     14:  * strings, EscE sets 12-pitch. Twrest clears by commanding
                     15:  * Esc Y, Esc", and Esc$ to clear ul, bold, and "greek",
                     16:  * Esc] to restore logic-seek print, Escf and EscT24 to restore
                     17:  * forward linefeed at 6 lines/inch, Esc< for bidirectional
                     18:  * print, EscE, and ^M (\015) to clear the print buffer.
                     19:  * Since the itoh has no keyboard, you have to run it through
                     20:  * a video terminal or micro printer port.
                     21:  * The first twinit code (Esc`) and the last twrest code
                     22:  * (Esca) set the (proper) "transparent" or "buffered" print
                     23:  * mode for tvi950 and tvi925 and Freedom 100. This mode
                     24:  * is necessary on intelligent terminals to keep all the Esc
                     25:  * codes in the driver tables from scrambling the terminal's
                     26:  * brains.  (If you have a dumb terminal, almost any print
                     27:  * mode should be safe. Smart terminals without buffered print,
                     28:  * such as the tvi920, present problems.)
                     29:  * If you have a different terminal,
                     30:  * the shell script should also replace these codes with those
                     31:  * appropriate for your machine.  If you are using an sed
                     32:  * stream for the script, make sure to use single quotes to
                     33:  * isolate the ` from the shell.
                     34:  */
                     35: #define INCH 240
                     36: struct {
                     37:        int bset;
                     38:        int breset;
                     39:        int Hor;
                     40:        int Vert;
                     41:        int Newline;
                     42:        int Char;
                     43:        int Em;
                     44:        int Halfline;
                     45:        int Adj;
                     46:        char *twinit;
                     47:        char *twrest;
                     48:        char *twnl;
                     49:        char *hlr;
                     50:        char *hlf;
                     51:        char *flr;
                     52:        char *bdon;
                     53:        char *bdoff;
                     54:        char *ploton;
                     55:        char *plotoff;
                     56:        char *up;
                     57:        char *down;
                     58:        char *right;
                     59:        char *left;
                     60:        char *codetab[256-32];
                     61:        int zzz;
                     62:        } t = {
                     63: /*bset*/       0,
                     64: /*breset*/     0177420,
                     65: /*Hor*/                INCH/24,
                     66: /*Vert*/       INCH/48,
                     67: /*Newline*/    INCH/6,
                     68: /*Char*/       INCH/12,
                     69: /*Em*/         INCH/12,
                     70: /*Halfline*/   INCH/12,
                     71: /*Adj*/                INCH/12,
                     72: /*twinit*/     "\033`\015\033E",
                     73: /*twrest*/     "\033Y\033\042\033$\033]\033f\033T24\033<\033E\015\033a\n",
                     74: /*twnl*/       "\015\n",
                     75: /*hlr*/                "\033[\033T12\033r\n\033T24\033]\033f",
                     76: /*hlf*/                "\033[\033T12\n\033T24\033]",
                     77: /*flr*/         "\033[\033r\n\033f\033]",
                     78: /*bdon*/       "\033!",
                     79: /*bdoff*/      "\033\042",
                     80: /*ploton*/     "\033>\033T03",
                     81: /*plotoff*/    "\033<\033T24",
                     82: /*up*/         "\033[\033r\n\033f\033]",
                     83: /*down*/       "\033[\n\033]",
                     84: /*right*/      "\033P \033E",
                     85: /*left*/       "\b\033P \033E",
                     86: /*codetab*/
                     87: #include "code.itoh"

unix.superglobalmegacorp.com

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