Annotation of 43BSDReno/usr.bin/roff/nroff_term/tabitoh12.c, revision 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.