|
|
1.1 ! root 1: /* tt.c: subroutines for drawing horizontal lines */ ! 2: # include "t..c" ! 3: ctype(il, ic) ! 4: { ! 5: if (instead[il]) ! 6: return(0); ! 7: if (fullbot[il]) ! 8: return(0); ! 9: il = stynum[il]; ! 10: return(style[ic][il]); ! 11: } ! 12: min(a,b) ! 13: { ! 14: return(a<b ? a : b); ! 15: } ! 16: fspan(i,c) ! 17: { ! 18: c++; ! 19: return(c<ncol && ctype(i,c)=='s'); ! 20: } ! 21: lspan(i,c) ! 22: { ! 23: int k; ! 24: if (ctype(i,c) != 's') return(0); ! 25: c++; ! 26: if (c < ncol && ctype(i,c)== 's') ! 27: return(0); ! 28: for(k=0; ctype(i,--c) == 's'; k++); ! 29: return(k); ! 30: } ! 31: ctspan(i,c) ! 32: { ! 33: int k; ! 34: c++; ! 35: for(k=1; c<ncol && ctype(i,c)=='s'; k++) ! 36: c++; ! 37: return(k); ! 38: } ! 39: tohcol(ic) ! 40: { ! 41: if (ic==0) ! 42: fprintf(tabout, "\\h'|0'"); ! 43: else ! 44: fprintf(tabout, "\\h'(|\\n(%2su+|\\n(%2su)/2u'", reg(ic,CLEFT), reg(ic-1,CRIGHT)); ! 45: } ! 46: allh(i) ! 47: { ! 48: /* return true if every element in line i is horizontal */ ! 49: /* also at least one must be horizontl */ ! 50: int c, one, k; ! 51: if (fullbot[i]) return(1); ! 52: if (i>=nlin) return(dboxflg||boxflg); ! 53: for(one=c=0; c<ncol; c++) ! 54: { ! 55: k = thish(i,c); ! 56: if (k==0) return(0); ! 57: if (k==1) continue; ! 58: one=1; ! 59: } ! 60: return(one); ! 61: } ! 62: thish(i,c) ! 63: { ! 64: int t; ! 65: char *s; ! 66: struct colstr *pc; ! 67: if (c<0)return(0); ! 68: if (i<0) return(0); ! 69: t = ctype(i,c); ! 70: if (t=='_' || t == '-') ! 71: return('-'); ! 72: if (t=='=')return('='); ! 73: if (t=='^') return(1); ! 74: if (fullbot[i] ) ! 75: return(fullbot[i]); ! 76: if (t=='s') return(thish(i,c-1)); ! 77: if (t==0) return(1); ! 78: pc = &table[i][c]; ! 79: s = (t=='a' ? pc->rcol : pc->col); ! 80: if (s==0 || (point(s) && *s==0)) ! 81: return(1); ! 82: if (vspen(s)) return(1); ! 83: if (t=barent( s)) ! 84: return(t); ! 85: return(0); ! 86: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.