[comp.laser-printers] Making "pic" and "tbl" output look correct on IMAGEN printers!

SofPasuk@imagen.UUCP (Munach Rvi'i) (05/27/87)

At IMAGEN, we are often asked about methods of assuring "perfect"
boxes and line drawings for users of AT&T's DWB and/or ditroff with
IMAGEN's printers.

We hope that the following information can be of some assistance:


Users of "pic" (picture generator)
==================================

The DWB (2.0) version of "pic" has an undocumented option -D
which uses the line drawing functions of device independent troff
for purposes of drawing lines (the \D'l dx dy' command).
Instead of using horizontal and vertical rule characters to generate
lines, "dimp" directly generates imPRESS commands for creation and drawing
of paths resulting in "perfectly" cornered boxes and correct length lines.


Users of "tbl" (table generator)
================================

Users of DWB or "ditroff" with AT&T source licenses for same may
avail themselves of the following source code fixes to force "tbl" to
use the line drawing functions of device independent troff
for purposes of drawing lines (the \D'l dx dy' command):

Source code file "tu.c" should be modified as follows:

  Change:  fprintf(tabout, "\\l'|\\n(%2su'", reg(cr,CRIGHT));
  To:	   fprintf(tabout, "\\D'l |\\n(%2su 0'", reg(cr,CRIGHT));

  Change:  fprintf(tabout, "\\l'|\\n(TWu%s%s'", exhr,lnch);
  To:	   fprintf(tabout, "\\D'l |\\n(TWu%s 0'", exhr);

  Change (2 lines):
 	   fprintf(tabout, "\\l'(|\\n(%2su+|\\n(%2su)/2u%s%s'", reg(cr,CRIGHT),
		reg(cr+1,CLEFT), exhr, lnch);
  To:	   fprintf(tabout, "\\D'l (|\\n(%2su+|\\n(%2su)/2u%s 0'", reg(cr,CRIGHT),
		reg(cr+1,CLEFT), exhr);

Source code file "tv.c" should be modified as follows:

  Change:  fprintf(tabout, "\\L'|\\n(#%cu-%s", linestop[start]+'a'-1, vm=='v'? "1v" : "\\n(35u");
  To:	   fprintf(tabout, "\\D'l 0 |\\n(#%cu-%s", linestop[start]+'a'-1, vm=='v'? "1v" : "\\n(35u");


IMAGEN users are invited to let us know of any other such "fixes" that
may be of use of ditroff/DWB users.