1: /* tf.c: save and restore fill mode around table */ 2: # include "t..c" 3: savefill() 4: { 5: /* remembers various things: fill mode, vs, ps in mac 35 (SF) */ 6: fprintf(tabout, ".de %d\n",SF); 7: fprintf(tabout, ".ps \\n(.s\n"); 8: fprintf(tabout, ".vs \\n(.vu\n"); 9: fprintf(tabout, ".in \\n(.iu\n"); 10: fprintf(tabout, ".if \\n(.u .fi\n"); 11: fprintf(tabout, ".if \\n(.j .ad\n"); 12: fprintf(tabout, ".if \\n(.j=0 .na\n"); 13: fprintf(tabout, "..\n"); 14: fprintf(tabout, ".nf\n"); 15: /* set obx offset if useful */ 16: fprintf(tabout, ".nr #~ 0\n"); 17: fprintf(tabout, ".if n .nr #~ 0.6n\n"); 18: } 19: rstofill() 20: { 21: fprintf(tabout, ".%d\n",SF); 22: } 23: endoff() 24: { 25: int i; 26: for(i=0; i<MAXHEAD; i++) 27: if (linestop[i]) 28: fprintf(tabout, ".nr #%c 0\n", 'a'+i); 29: for(i=0; i<texct; i++) 30: fprintf(tabout, ".rm %c+\n",texstr[i]); 31: fprintf(tabout, "%s\n", last); 32: } 33: ifdivert() 34: { 35: fprintf(tabout, ".ds #d .d\n"); 36: fprintf(tabout, ".if \\(ts\\n(.z\\(ts\\(ts .ds #d nl\n"); 37: } 38: saveline() 39: { 40: fprintf(tabout, ".if \\n+(b.=1 .nr d. \\n(.c-\\n(c.-1\n"); 41: linstart=iline; 42: } 43: restline() 44: { 45: fprintf(tabout,".if \\n-(b.=0 .nr c. \\n(.c-\\n(d.-%d\n", iline-linstart); 46: linstart = 0; 47: } 48: cleanfc() 49: { 50: fprintf(tabout, ".fc\n"); 51: }