[fa.laser-lovers] device-independent troff standards

laser-lovers@uw-beaver (04/10/85)

From: sun!tut@ucb-vax.arpa (Bill Tuthill)

			DITROFF Design Guide

With the increasing popularity of device-independent troff for laser
printers, it's important to set design standards for the character set.
The standard, of course, is old-style TROFF for the CAT/4; ideally,
DITROFF should be upwardly compatible with TROFF.  (The exception is
that nobody cares about the Bell symbol \(bs anymore, since AT&T has a
new logo.)  So if in doubt, run "troff -a" to test formatting behavior.

\|	1/6 em space; must be in width table of every alphabetic font
\^	1/12 em space; must be in width table of every alphabetic font

\'	synonym for \(aa (acute accent)
\`	synonym for \(ga (grave accent)
\_	synonym for \(ul (underline)

\(ru	rule - must be on baseline; about 1n wide
\(ul	underline - somewhat below baseline; about 1n wide
\(rn	root en - above tallest character; about 1n wide
\(br	box rule - aligns with \(ul on bottom and \(rn on top
\(vr	vertical rule - aligns with \(ru and \(rn (optional character)

=	current font equals	|
+	current font plus	| may be slanted in italics
\-	current font minus	|

\(eq	special font equals	|
\(pl	special font plus	|
\(mi	special font minus	|
\(mu	special font multiply	| must all be same width
\(di	special font divide	|
\(!=	special font not equals	|
\(+-	special font plus/minus	|

\(==	exactly equals		|
\(<=	less than or equal	|
\(>=	greater than or equal	| must all be same width
\(ap	approximates		|
\(~=	approximately equal	|

**	math star (low down)

\(ff	ff ligature	|
\(fi	fi ligature	|
\(fl	fl ligature	| must be in width table if ligatures in font
\(Fi	ffi ligature	|
\(Fl	ffl ligature	|

\(..	umlaut (two dots)	|
\(hc	hacek (high small v)	|
\(bv	breve (curved u line)	|
\(ma	macron (long overbar)	| optional accent marks (all new)
\(cp	cap (curved cap line)	|
\(ui	undotted i		|
\(uj	undotted j		|

\(AE	AE ligature	|
\(OE	OE ligature	|
\(ae	ae ligature	|
\(oe	oe ligature	| optional Scandinavian ligatures (all new)
\(O/	O slash 	|
\(o/	o slash 	|
\(Ao	A with circle	|

Then there are the big bracket building characters, which are essential
if mathematics are to come out correctly.  Here is a troff source file
that tests big braces, parentheses, and brackets at a single point size.
It should be run at every point size; the example tests 12 point.

	.if \nS .ps \nS
	.sp 1i
	\b'\(lt\(lk\(lb' x \b'\(rt\(rk\(rb'
	.sp 1i
	\b'\(lt\(bv\(lb' x \b'\(rt\(bv\(rb'
	.sp 1i
	\b'\(lc\(bv\(lf' x \b'\(rc\(bv\(rf'

	% troff -rS12 testfile

Bill Tuthill