bug in makedev.c (ditroff support)
Col. G. L. Sicherman
colonel at sunybcs.UUCP
Thu Oct 17 01:21:07 AEST 1985
["At last! My new gorilla-detector machine! They can't fool me now!"]
There's an odd and significant error in how makedev computes the wordspace
size for a font.
In troff, the word spacing is measured in thirty-sixths of an em (why?),
and the default is 12. The .ss directive alters this value.
In ditroff, the word spacing is also stored in the font tables, which
produces a conflict. Ditroff uses the table value, and interprets .ss
by adjusting the space proportionately to the initial .ss value of 12.
The makedev default is also 12 thirty-sixths (one-third) of an em. But
where ditroff always rounds its divisions, makedev truncates this one.
This discrepancy won't mess up your output, but it may make the
wordspaces a little narrower than they ought to be.
The fix, of course, is to replace makedev.c's truncated division by a
rounded division. Since the source is controlled, I won't post any of
it; you should have no trouble finding the offending statement.
The quick (?) fix is to specify "spacewidth" explicitly in all your
font tables.
--
Col. G. L. Sicherman
UU: ...{rocksvax|decvax}!sunybcs!colonel
CS: colonel at buffalo-cs
BI: csdsicher at sunyabva
More information about the Net.bugs.usg
mailing list