[comp.sources.bugs] troff2lj bug

pim@ctisbv.UUCP (Pim Zandbergen) (08/06/88)

This is from the README2 file:
>You might have problems using the Courier and Line Printer typefaces
>which are built into the LaserJets, particularly if (like me) you have
>an Elite font cartridge installed.  I think this is because troff2lj is
>set up for proportionally spaced fonts, and thus ignores pitch
>selection.  You could use the standard troff /usr/lib/font/ftCW file as
>the width table and make fiXX (HPfontinfo) files by hand, but because
>of the order that font attributes are checked to determine font
>selection, you might get the wrong font.  If you have problems, you
>could use nroff instead.

This is probarbly because of a bug in select.c
select.c only reads the first four bytes of the fontinfo files.
The fifth byte tells the Laserjet which typeface to use.

This is the bugfix:

*** select.c.orig	Fri Aug  5 18:24:55 1988
--- select.c	Fri Aug  5 18:22:36 1988
***************
*** 40,46 ****
  	fprintf(stderr, "%s: ", prog_name);
  	perror(path);
      } else {
! 	if (fread(info, sizeof(info), 1, fp) != 1)
  	    fprintf(stderr, "%s: %s is corrupt\n", prog_name, path);
  	fclose(fp);
      }
--- 40,46 ----
  	fprintf(stderr, "%s: ", prog_name);
  	perror(path);
      } else {
! 	if (fread(info, sizeof(struct hpfontinfo), 1, fp) != 1)
  	    fprintf(stderr, "%s: %s is corrupt\n", prog_name, path);
  	fclose(fp);
      }
-- 
--------------------+------------------------------------+---------------------
Pim Zandbergen      | CTI Software BV                    | Phone: +31 70 542302 
pim@ctisbv.UUCP     | Laan Copes van Cattenburch 70      | Fax:   +31 70 512837
..!mcvax!ctisbv!pim | 2585 GD The Hague, The Netherlands | Telex: 32133 CTI NL