static char sccsid
[] = "@(#)tv.c 4.3 %G%";
/* tv.c: draw vertical lines */
drawvert(start
,end
, c
, lwid
)
int tp
=0, sl
, ln
, pos
, epb
, ept
, vm
;
/* note: nr 35 has value of 1m outside of linesize */
while (instead
[end
]) end
++;
if (pos
!=tp
) fprintf(tabout
, "\\h'%dp'", pos
-tp
);
if (fullbot
[end
]|| (!instead
[end
] && allh(end
)))
case THRU
: epb
-= 1; break;
case RIGHT
: epb
+= (ln
==0 ? 1 : -1); break;
case LEFT
: epb
+= (ln
==1 ? 1 : -1); break;
case THRU
: epb
-= 1; break;
case RIGHT
: case LEFT
: epb
+= 1; break;
while (sl
>=0 && instead
[sl
]) sl
--;
if (sl
>=0 && (fullbot
[sl
] || allh(sl
)))
ext
= ".5m"; ept
= -1; break;
else if (start
==0 && allh(0))
case THRU
: ept
+= 1; break;
case LEFT
: ept
+= (ln
==0 ? 1 : -1); break;
case RIGHT
: ept
+= (ln
==1 ? 1 : -1); break;
case THRU
: ept
+= 1; break;
case LEFT
: case RIGHT
: ept
-= 1; break;
fprintf(tabout
, "\\v'%s'", exb
);
fprintf(tabout
, "\\v'%dp'", epb
);
fprintf(tabout
, "\\s\\n(%d",LSIZE
);
fprintf(tabout
, "\\v'-\\n(%dp/6u'", LSIZE
);
fprintf(tabout
, "\\h'-\\n(#~u'"); /* adjustment for T450 nroff boxes */
fprintf(tabout
, "\\L'|\\n(#%cu-%s", linestop
[start
]+'a'-1, vm
=='v'? "1v" : "\\n(35u");
fprintf(tabout
, "-(%s)",ext
);
fprintf(tabout
, "-(%s)", exb
);
fprintf(tabout
, "%s%dp", pos
>=0? "+" : "", pos
);
/* the string #d is either "nl" or ".d" depending
on diversions; on GCOS not the same */
fprintf(tabout
, "'\\s0\\v'\\n(\\*(#du-\\n(#%cu+%s", linestop
[start
]+'a'-1,vm
=='v' ? "1v" : "\\n(35u");
fprintf(tabout
, "+%s",ext
);
fprintf(tabout
, "%s%dp", (-ept
)>0 ? "+" : "", (-ept
));
fprintf(tabout
, "\\v'\\n(%dp/6u'", LSIZE
);
while ( (ct
=ctype(i
,c
)) == 's')
if (ct
=='-' || ct
== '=')
if (ct
=barent(table
[i
][c
].col
))
if (!point(s
)) return(1);