From: rosenkra@convex.com (William Rosenkranz)
Subject: Re: / man confusion.
Organization: CONVEX Computer Corporation, Richardson, Tx., USA
Date: Wed, 09 Sep 1992 21:09:01 GMT
X-Disclaimer: This message was written by a user at CONVEX Computer
              Corp. The opinions expressed are those of the user and
              not necessarily those of CONVEX.

In article <H.WhWvVJ7bTvU@jonh.wimsey.bc.ca> jhenders@jonh.wimsey.bc.ca writes:
>	One thing I couldn't find in the man package was any info on how
>to change the fonts. Are they built into the pager? I find the default 
>ones show up a bit large, and would like to change them. What fonts
>are they compatble with?

manpager has fonts stored internally in the .ttp file as data. they are
a set of 8x16 fonts (times, times-bold, times-underline, times-inverse,
and special) that i hacked together from the normal 8x16 sytem fonts with
a font editor (i think i used chedit). there are no loadable fonts.

the basic times font was derived form an MGR font (.fnt) and convrted to
a .fed file (my tools). the actual image in memory is just the data portion
of the .fed file. this is also true of the system font normally. so it
should not be hard to make loadable fonts, at least from .fed files.

font changes are flagged with vt100/ansi-like escapes, ie when manpager
sees a string "ESC [ 1 m" it pokes the address of the bold font data into
the line a structure in the system. the codes are (for memory)

	ESC [ 1 m	start bold (same as vt100)
	ESC [ 4 m	start italic (simulated with underline, like vt100)
	ESC [ 9 m	start special font (vt100 extension)
	ESC [ m		start normal font.

when the program exits, it pokes back in the saved original address of the
system font header, and all is back to "normal".

this used to be ok (line A was an accepted practice way back when). today,
with STe, TT, falcon, special devices, etc, it is not. however, manpager
is actually a small subset of less (tho i think i wrote it from scratch)
and is physically small in number of lines (relative to the equivalent
gem code). for me (and probably others), this is just fine (until i get
a falcon, that is... :-).

so, to finally answer your question, u are stuck with whatever 8x16 font
you can find. but then again, you'll have to hard code the data into
the program and recompile.

if you want selectable fonts on the fly (and a mechanism to support this
in the document formatting process), look elsewhere. i suspect groff will
support -Tterm (ie /usr/lib/term/*) so that it could be configured to make
it simple to support whatever "device" you want (in this case manpager is
a device). in fact, i have also ported real unix nroff recently, and hacked
it to do just that (the lib/term files are now ascii rather than .o files
to make it easy to modify, and more portable). however, i cannot post this
since it is AT&T code. in fact, i almost never use it anyway, prefering
my own nroff for everything but totally unruly documents. note that the
nroff i did post is 0% AT&T code (it was ultimately derived from some PD
code i found on the net, like roff or the DECUS variant).

-bill
rosenkra@convex.com
-- 
Bill Rosenkranz            |UUCP: {uunet,texsun}!convex!rosenkra
Convex Computer Corp.      |ARPA: rosenkra@convex.com