[comp.text] nonstandard fonts in Eroff

gls@corona.ATT.COM (Col. Sicherman) (04/21/91)

I've been trying to use some private fonts (mostly converted Berkeley
and QMS fonts) with Eroff on an HP-UX system.  Setting $EROFF_FONTDIR
works fine.  But elj (which converts troff DVI to LJ+) doesn't recognize
any faces except the officially mounted ones -- R, I, HB, G, O, etc.

This is easy to work around.  We don't really have Optima or Garamond
families, so I can rename my faces "O", "GB", ...  But elj insists on
designating fonts by characteristics, even though LJ+ accepts commands
to load fonts specified by font number.

So when elj wants to use my Roman Condensed (disguised as Garamond),
it specifies slant, weight, and so on, and the printer selects Times
Roman.

Is there any way around this behavior?  A postprocessor for elj won't
help, because it won't know when to use Times Roman and when to use
Roman Condensed or some other face.  Setting the family to something
different doesn't seem to matter.  I have a different elj that I hacked
up at the U. of Buffalo years ago, but I'm reluctant to use it because
it doesn't support fonts that are printed rasterized (notably "S").

-:-
	"In a world of CHAOS ... against overwhelming ODDS ... THE
	 WOLVEROACH STANDS ... ALONE!"
-- 
Col. G. L. Sicherman
gls@corona.att.COM

clewis@ferret.ocunix.on.ca (Chris Lewis) (04/23/91)

In article <1991Apr20.221257.23281@cbnewsh.att.com> gls@corona.ATT.COM (Col. Sicherman) writes:
>I've been trying to use some private fonts (mostly converted Berkeley
>and QMS fonts) with Eroff on an HP-UX system.  Setting $EROFF_FONTDIR
>works fine.  But elj (which converts troff DVI to LJ+) doesn't recognize
>any faces except the officially mounted ones -- R, I, HB, G, O, etc.

Have you tried ".fp" to mount the fonts?  If that doesn't work, doesn't
Eroff need to have width tables compiled in some way like DWB troff?
DWB troff has a utility called makedev to "compile" the width tables
(from a <fontname> to a <fontname>.out file).  A clone of makedev (called
mkfont) was posted in comp.sources.unix.  Have you been able to produce
a width table file from your fonts?

>This is easy to work around.  We don't really have Optima or Garamond
>families, so I can rename my faces "O", "GB", ...  But elj insists on
>designating fonts by characteristics, even though LJ+ accepts commands
>to load fonts specified by font number.

There's no problem with selecting by characteristic, providing there's
some way of telling elj *how* to do the selection.  Do the width tables
provide any hints?  You can *almost* do it with the internal-name
field in ditroff width tables, except that it's hard to insert escape
sequences, and the permissible length is too short for full selection
by characteristic.

Psroff 3.0 has an auxiliary table (in addition to the width tables)
which permits you to specify the selection codes for the fonts.  As
well as being able to specify on a per-pointsize basis whether the
font is "builtin" (or pre-loaded) or downloaded on demand.  Maybe
Eroff has such a thing.

Or, perhaps Eroff generates ditroff output format and you could
use psroff 3.0 instead of elj and get it all - including incremental
font downloading.  (incidentally, psroff contains a program for
generating width tables from Laserjet fonts)

>So when elj wants to use my Roman Condensed (disguised as Garamond),
>it specifies slant, weight, and so on, and the printer selects Times
>Roman.

Because the "closest" font to the Garamond characteristics is Times Roman
rather than Roman Condensed.  You could always try a binary zap of the
Roman Condensed font file to make it look like Garamond's characteristics.
Just a few bytes within the first 30 or so of the beginning of the file.

Feel free to e-mail me if any of my leads seem promising.
-- 
Chris Lewis, Phone: (613) 832-0541, Domain: clewis@ferret.ocunix.on.ca
UUCP: ...!cunews!latour!ecicrl!clewis; Ferret Mailing List:
ferret-request@eci386; Psroff (not Adobe Transcript) enquiries:
psroff-request@eci386 or Canada 416-832-0541.  Psroff 3.0 in c.s.u soon!