Annotation of researchv10no/cmd/troff/Old/ni.c, revision 1.1

1.1     ! root        1: #include "tdef.h"
        !             2: 
        !             3: /* You may want to change these names */
        !             4: 
        !             5: #ifndef NROFF
        !             6: char   termtab[NS] = "/usr/lib/font";  /* rest added in ptinit() */
        !             7: char   fontfile[NS] = "/usr/lib/font"; /* rest added in casefp() */
        !             8: char   devname[10]      = "202";       /* default typesetter */
        !             9: #endif
        !            10: char   obuf[OBUFSZ];   /* characters collected here for actual typesetter output */
        !            11: char   *obufp = obuf;
        !            12: int    r[NN] = {       /* read-only number registers at beginning */
        !            13:        PAIR('%', 0),
        !            14:        PAIR('n', 'l'),
        !            15:        PAIR('y', 'r'),
        !            16:        PAIR('h', 'p'),
        !            17:        PAIR('c', 't'),
        !            18:        PAIR('d', 'n'),
        !            19:        PAIR('m', 'o'),
        !            20:        PAIR('d', 'y'),
        !            21:        PAIR('d', 'w'),
        !            22:        PAIR('l', 'n'),
        !            23:        PAIR('d', 'l'),
        !            24:        PAIR('s', 't'),
        !            25:        PAIR('s', 'b'),
        !            26:        PAIR('c', '.'),
        !            27:        PAIR('$', '$'),
        !            28: };
        !            29: 
        !            30: 
        !            31: int    pto = 10000;
        !            32: int    pfrom = 1;
        !            33: int    print = 1;
        !            34: char   nextf[NS] = "/usr/lib/tmac/tmac.xxxxx";
        !            35: int    nfi = 19;
        !            36: #ifdef NROFF
        !            37: char   termtab[NS] = "/usr/lib/term/tab37";
        !            38: #endif
        !            39: #ifndef NROFF
        !            40: int    oldbits = -1;
        !            41: #endif
        !            42: int    init = 1;
        !            43: int    fc = IMP;       /* field character */
        !            44: int    eschar = '\\';
        !            45: #ifdef NROFF
        !            46: int    pl = 11*INCH;
        !            47: int    po = PO;
        !            48: #else
        !            49: int    pl;
        !            50: int    po;
        !            51: #endif
        !            52: int    dfact = 1;
        !            53: int    dfactd = 1;
        !            54: int    res = 1;
        !            55: int    smnt = 0;       /* beginning of special fonts */
        !            56: int    ascii = ASCII;
        !            57: int    ptid = PTID;
        !            58: int    lg = LG;
        !            59: int    pnlist[NPN] = {
        !            60:        -1};
        !            61: 
        !            62: 
        !            63: int    *pnp = pnlist;
        !            64: int    npn = 1;
        !            65: int    npnflg = 1;
        !            66: int    xflg = 1;
        !            67: int    dpn = -1;
        !            68: int    totout = 1;
        !            69: int    ulfont = FT + 1;
        !            70: int    ulbit = 1 << 9;
        !            71: int    tabch = TAB;
        !            72: int    ldrch = LEADER;
        !            73: int    xxx;
        !            74: extern caseds(), caseas(), casesp(), caseft(), caseps(), casevs(),
        !            75: casenr(), caseif(), casepo(), casetl(), casetm(), casebp(), casech(),
        !            76: casepn(), tbreak(), caseti(), casene(), casenf(), casece(), casefi(),
        !            77: casein(), casell(), casens(), casemk(), casert(), caseam(),
        !            78: casede(), casedi(), caseda(), casewh(), casedt(), caseit(), caserm(),
        !            79: casern(), casead(), casers(), casena(), casepl(), caseta(), casetr(),
        !            80: caseul(), caselt(), casenx(), caseso(), caseig(), casetc(), casefc(),
        !            81: caseec(), caseeo(), caselc(), caseev(), caserd(), caseab(), casefl(),
        !            82: done(), casess(), casefp(), casecs(), casebd(), caselg(), casehc(),
        !            83: casehy(), casenh(), casenm(), casenn(), casesv(), caseos(), casels(),
        !            84: casecc(), casec2(), caseem(), caseaf(), casehw(), casemc(), casepm(),
        !            85: casecu(), casepi(), caserr(), caseuf(), caseie(), caseel(), casepc(),
        !            86: caseht(), casecf(), casesy();
        !            87: 
        !            88: struct contab {
        !            89:        int     rq;
        !            90:        /*
        !            91:        union {
        !            92:  */
        !            93:        int     (*f)();
        !            94:        /*
        !            95:                unsigned mx;
        !            96:        }x;
        !            97:  */
        !            98: } contab[NM] = {
        !            99:        PAIR('d', 's'), caseds,
        !           100:        PAIR('a', 's'), caseas,
        !           101:        PAIR('s', 'p'), casesp,
        !           102:        PAIR('f', 't'), caseft,
        !           103:        PAIR('p', 's'), caseps,
        !           104:        PAIR('v', 's'), casevs,
        !           105:        PAIR('n', 'r'), casenr,
        !           106:        PAIR('i', 'f'), caseif,
        !           107:        PAIR('i', 'e'), caseie,
        !           108:        PAIR('e', 'l'), caseel,
        !           109:        PAIR('p', 'o'), casepo,
        !           110:        PAIR('t', 'l'), casetl,
        !           111:        PAIR('t', 'm'), casetm,
        !           112:        PAIR('b', 'p'), casebp,
        !           113:        PAIR('c', 'h'), casech,
        !           114:        PAIR('p', 'n'), casepn,
        !           115:        PAIR('b', 'r'), tbreak,
        !           116:        PAIR('t', 'i'), caseti,
        !           117:        PAIR('n', 'e'), casene,
        !           118:        PAIR('n', 'f'), casenf,
        !           119:        PAIR('c', 'e'), casece,
        !           120:        PAIR('f', 'i'), casefi,
        !           121:        PAIR('i', 'n'), casein,
        !           122:        PAIR('l', 'l'), casell,
        !           123:        PAIR('n', 's'), casens,
        !           124:        PAIR('m', 'k'), casemk,
        !           125:        PAIR('r', 't'), casert,
        !           126:        PAIR('a', 'm'), caseam,
        !           127:        PAIR('d', 'e'), casede,
        !           128:        PAIR('d', 'i'), casedi,
        !           129:        PAIR('d', 'a'), caseda,
        !           130:        PAIR('w', 'h'), casewh,
        !           131:        PAIR('d', 't'), casedt,
        !           132:        PAIR('i', 't'), caseit,
        !           133:        PAIR('r', 'm'), caserm,
        !           134:        PAIR('r', 'r'), caserr,
        !           135:        PAIR('r', 'n'), casern,
        !           136:        PAIR('a', 'd'), casead,
        !           137:        PAIR('r', 's'), casers,
        !           138:        PAIR('n', 'a'), casena,
        !           139:        PAIR('p', 'l'), casepl,
        !           140:        PAIR('t', 'a'), caseta,
        !           141:        PAIR('t', 'r'), casetr,
        !           142:        PAIR('u', 'l'), caseul,
        !           143:        PAIR('c', 'u'), casecu,
        !           144:        PAIR('l', 't'), caselt,
        !           145:        PAIR('n', 'x'), casenx,
        !           146:        PAIR('s', 'o'), caseso,
        !           147:        PAIR('i', 'g'), caseig,
        !           148:        PAIR('t', 'c'), casetc,
        !           149:        PAIR('f', 'c'), casefc,
        !           150:        PAIR('e', 'c'), caseec,
        !           151:        PAIR('e', 'o'), caseeo,
        !           152:        PAIR('l', 'c'), caselc,
        !           153:        PAIR('e', 'v'), caseev,
        !           154:        PAIR('r', 'd'), caserd,
        !           155:        PAIR('a', 'b'), caseab,
        !           156:        PAIR('f', 'l'), casefl,
        !           157:        PAIR('e', 'x'), done,
        !           158:        PAIR('s', 's'), casess,
        !           159:        PAIR('f', 'p'), casefp,
        !           160:        PAIR('c', 's'), casecs,
        !           161:        PAIR('b', 'd'), casebd,
        !           162:        PAIR('l', 'g'), caselg,
        !           163:        PAIR('h', 'c'), casehc,
        !           164:        PAIR('h', 'y'), casehy,
        !           165:        PAIR('n', 'h'), casenh,
        !           166:        PAIR('n', 'm'), casenm,
        !           167:        PAIR('n', 'n'), casenn,
        !           168:        PAIR('s', 'v'), casesv,
        !           169:        PAIR('o', 's'), caseos,
        !           170:        PAIR('l', 's'), casels,
        !           171:        PAIR('c', 'c'), casecc,
        !           172:        PAIR('c', '2'), casec2,
        !           173:        PAIR('e', 'm'), caseem,
        !           174:        PAIR('a', 'f'), caseaf,
        !           175:        PAIR('h', 'w'), casehw,
        !           176:        PAIR('m', 'c'), casemc,
        !           177:        PAIR('p', 'm'), casepm,
        !           178:        PAIR('p', 'i'), casepi,
        !           179:        PAIR('u', 'f'), caseuf,
        !           180:        PAIR('p', 'c'), casepc,
        !           181:        PAIR('h', 't'), caseht,
        !           182:        PAIR('c', 'f'), casecf,
        !           183:        PAIR('s', 'y'), casesy,
        !           184:        PAIR('!', 0), casesy,   /* synonym for .sy */
        !           185: };
        !           186: 
        !           187: 
        !           188: tchar oline[LNSIZE+1];
        !           189: 
        !           190: /*
        !           191: troff environment block
        !           192: */
        !           193: 
        !           194: int    block    = 0;
        !           195: #ifdef NROFF
        !           196: /* these are initialized statically in nroff (so far)
        !           197:        /* and dynamically in ptinit() in troff beacuse INCH
        !           198:        /* is a variable
        !           199:        */
        !           200: int    ics      = ICS; /* space for insertion character */
        !           201: int    sps      = SPS;
        !           202: int    spacesz  = SS;
        !           203: int    lss      = VS;
        !           204: int    lss1     = VS;
        !           205: int    ll       = LL;
        !           206: int    ll1      = LL;
        !           207: int    lt       = LL;
        !           208: int    lt1      = LL;
        !           209: #else
        !           210: int    ics      = 0;
        !           211: int    sps      = 0;
        !           212: int    spacesz  = 0;
        !           213: int    lss      = 0;
        !           214: int    lss1     = 0;
        !           215: int    ll       = 0;
        !           216: int    ll1      = 0;
        !           217: int    lt       = 0;
        !           218: int    lt1      = 0;
        !           219: #endif
        !           220: tchar  ic       = 0;   /* insertion character (= margin character) */
        !           221: int    icf      = 0;
        !           222: tchar  chbits   = 0;   /* size+font bits for current character */
        !           223: tchar  spbits   = 0;   /* ditto for special font */
        !           224: tchar  nmbits   = 0;
        !           225: int    apts     = PS;  /* actual point size -- as requested by user */
        !           226: int    apts1    = PS;  /* need not match an existent size */
        !           227: int    pts      = PS;  /* hence, this is the size that really exists */
        !           228: int    pts1     = PS;
        !           229: int    font     = FT;
        !           230: int    font1    = FT;
        !           231: int    ls       = 1;
        !           232: int    ls1      = 1;
        !           233: int    ad       = 1;
        !           234: int    nms      = 1;
        !           235: int    ndf      = 1;
        !           236: int    fi       = 1;
        !           237: int    cc       = '.';
        !           238: int    c2       = '\'';
        !           239: int    ohc      = OHC;
        !           240: int    tdelim   = IMP;
        !           241: int    hyf      = 1;
        !           242: int    hyoff    = 0;
        !           243: int    un1      = -1;
        !           244: int    tabc     = 0;
        !           245: int    dotc     = '.';
        !           246: int    adsp     = 0;
        !           247: int    adrem    = 0;
        !           248: int    lastl    = 0;
        !           249: int    nel      = 0;
        !           250: int    admod    = 0;
        !           251: tchar  *wordp   = 0;
        !           252: int    spflg    = 0;   /* probably to indicate space after punctuation needed */
        !           253: tchar  *linep   = 0;
        !           254: tchar  *wdend   = 0;
        !           255: tchar  *wdstart         = 0;
        !           256: int    wne      = 0;
        !           257: int    ne       = 0;
        !           258: int    nc       = 0;
        !           259: int    nb       = 0;
        !           260: int    lnmod    = 0;
        !           261: int    nwd      = 0;
        !           262: int    nn       = 0;
        !           263: int    ni       = 0;
        !           264: int    ul       = 0;
        !           265: int    cu       = 0;
        !           266: int    ce       = 0;
        !           267: int    in       = 0;
        !           268: int    in1      = 0;
        !           269: int    un       = 0;
        !           270: int    wch      = 0;
        !           271: int    pendt    = 0;
        !           272: tchar  *pendw   = 0;
        !           273: int    pendnf   = 0;
        !           274: int    spread   = 0;
        !           275: int    it       = 0;
        !           276: int    itmac    = 0;
        !           277: int    lnsize   = LNSIZE;
        !           278: tchar  *hyptr[NHYP]     = {
        !           279:        0};
        !           280: 
        !           281: 
        !           282: int    tabtab[NTAB]     = {
        !           283:        0};
        !           284: 
        !           285: 
        !           286: tchar  line[LNSIZE]     = {
        !           287:        0};
        !           288: 
        !           289: 
        !           290: tchar  word[WDSIZE]     = {
        !           291:        0};
        !           292: 
        !           293: 
        !           294: char   blockxxx[EVSPARE]        = {
        !           295:        0};
        !           296: 
        !           297: 

unix.superglobalmegacorp.com

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