[fa.laser-lovers] DITROFF standards

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

From: jqj%gvax@Cornell.ARPA (J Q Johnson)

Re a recent posting discussing ditroff standards, one of the major
limitations of ditroff is the small number of special characters
on the S character set.  The ditroff manual documents slightly over
60 such characters plus those Greek letters that do not look very 
much like Roman.  A set of 60 special characters isn't very large.  
The DITROFF set does not even include such useful characters as forall 
or thereexists.

There have been various efforts to document more complete sets of
special characters, ranging from the Metafont AMSY set (also quite
small) to Xerox's Character Set Standard (quite large).  Has anyone
made similar efforts to standardize a larger set of special characters
in the ditroff world?

In ditroff, of course, one could (assuming it existed) mount the
AMSY or CMSY font and get special characters by a font switch.  But
that's not very device independent.  What is needed, I think, is
a widely accepted convention about what additional (non-S) special
characters should exist, and standardized 2-character names for
them.  Then I could count on saying "\(*fa x" and know that if a
forall symbol was available I would get it.

Anyone have other thoughts on this?

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

From: Lee Moore  <lee@rochester.arpa>

This discussion of typesetter independent troff standards comes right
at a time when I was going to bring up the same issue on net.text .

I agree with J.Q. Johnson that there really needs to be some standard
name to symbol mapping for troff.  I think everybody adds their own
new names when they re-target troff for a new device.  I know that I
do and I know that Bell Labs and Imagen have.

An example of the possible confusion is in Bill Tuthill's message.
He suggests using \(bv as the breve symbol.  Unfortuately this conflicts
with the use of that same symbol in C/A/T troff to mean "bold verticle".
(which is needed to build large brackets)

Below is my table of name mappings.  Do other people have ones to add?

Lee Moore
Senior Grad. Student

-------------------------------------------------------------
		Special character names in Troff

In troff, special characters are named with one or two character sequences.
With the advent of typesetter-independent Troff, implementors have been
making up new special character names for symbols that weren't on the
Wang (nee Graphics Systems) C/A/T typesetter at Bell Labs.

In a effort to help standardize the names of special characters, the following
table of known names is provided.  It sorted in the ASCII collating
sequence.  Note that one-character names are listed here with a preceding
backslash.  This is because it is the way they come out in the DESC file.
The list has all the old Troff symbols plus others that I have run into.

name	source		english description
!=	AT&T C/A/T	not equals
**	AT&T C/A/T	math star
*A	AT&T C/A/T	Alpha		
*B	AT&T C/A/T	Beta
*C	AT&T C/A/T	Xi
*D	AT&T C/A/T	Delta
*E	AT&T C/A/T	Epsilon
*F	AT&T C/A/T	Phi
*G	AT&T C/A/T	Gamma
*H	AT&T C/A/T	Theta
*I	AT&T C/A/T	Iota
*K	AT&T C/A/T	Kappa
*L	AT&T C/A/T	Lambda
*M	AT&T C/A/T	Mu
*N	AT&T C/A/T	Nu
*O	AT&T C/A/T	Omicron
*P	AT&T C/A/T	Pi
*Q	AT&T C/A/T	Psi
*R	AT&T C/A/T	Rho
*S	AT&T C/A/T	Sigma
*T	AT&T C/A/T	Tau
*U	AT&T C/A/T	Upsilon
*W	AT&T C/A/T	Omega
*X	AT&T C/A/T	Chi
*Y	AT&T C/A/T	Eta
*Z	AT&T C/A/T	Zeta
*a	AT&T C/A/T	alpha
*b	AT&T C/A/T	beta
*c	AT&T C/A/T	xi
*d	AT&T C/A/T	delta
*e	AT&T C/A/T	epsilon
*f	AT&T C/A/T	phi
*g	AT&T C/A/T	gamma
*h	AT&T C/A/T	theta
*i	AT&T C/A/T	iota
*k	AT&T C/A/T	kappa
*l	AT&T C/A/T	lambda
*m	AT&T C/A/T	mu
*n	AT&T C/A/T	nu
*o	AT&T C/A/T	omicron
*p	AT&T C/A/T	pi
*q	AT&T C/A/T	psi
*r	AT&T C/A/T	rho
*s	AT&T C/A/T	sigma
*t	AT&T C/A/T	tau
*u	AT&T C/A/T	upsilon
*w	AT&T C/A/T	omega
*x	AT&T C/A/T	chi
*y	AT&T C/A/T	eta
*z	AT&T C/A/T	zeta
+-	AT&T C/A/T	plus-minus
->	AT&T C/A/T	right porinting arrow
12	AT&T C/A/T	1/2
14	AT&T C/A/T	1/4
34	AT&T C/A/T	3/4
<-	AT&T C/A/T	left pointing arrow
<=	AT&T C/A/T	<= (less than or equal)
==	AT&T C/A/T	identically equal
>=	AT&T C/A/T	>= (greater than or equal)
Fi	AT&T C/A/T	ffi ligature
Fl	AT&T C/A/T	ffl ligature
I!	UofR		inverted ! (used in Spanish)
I?	UofR		inverted ? (used in Spanish)
\-	AT&T C/A/T	current font minus
\^	AT&T C/A/T	1/12 em half-narrow space character
\|	AT&T C/A/T	1/6 em narrow space character
aa	AT&T C/A/T	acute accent
an	Imagen		boolean "and" (/\)
ap	AT&T C/A/T	approximates (middle level tilde)
br	AT&T C/A/T	box verticle rule
bs	AT&T C/A/T	Bell System logo
bt	Imagen		bottom (perpendicular) (_|_)
bu	AT&T C/A/T	bullet
bv	AT&T C/A/T	bold verticle (middle segment of backet building chars)
ca	AT&T C/A/T	cap (set intersection)
ci	AT&T C/A/T	circle
co	AT&T C/A/T	copyright symbol ("c" in a circle)
ct	AT&T C/A/T	cent sign
cu	AT&T C/A/T	cup (set union)
da	AT&T C/A/T	down arrow
dd	AT&T C/A/T	double dagger
de	AT&T C/A/T	degree
dg	AT&T C/A/T	dagger
di	AT&T C/A/T	divide
dm	Imagen		diamond
em	AT&T C/A/T	3/4 em dash
eq	AT&T C/A/T	math equals (invarient w.r.t. current font)
es	AT&T C/A/T	empty set
fa	Imagen		for-all (inverted A)
ff	AT&T C/A/T	ff ligature
fi	AT&T C/A/T	fi ligature
fl	AT&T C/A/T	fl ligature
fm	AT&T C/A/T	footmark
ga	AT&T C/A/T	grave accent
gr	AT&T C/A/T	gradient
hy	AT&T C/A/T	hyphen
ib	AT&T C/A/T	improper subset
if	AT&T C/A/T	infinity
im	Imagen		implies
io	Imagen		if and only iff ( <=> )
ip	AT&T C/A/T	improper superset
is	AT&T C/A/T	integral sign
lb	AT&T C/A/T	left bottom of big curly bracket
lc	AT&T C/A/T	left ceiling (left top of big square bracket)
lf	AT&T C/A/T	left floor (left bottom of big square bracket)
lh	AT&T C/A/T	left pointing hand
lk	AT&T C/A/T	left center of big curly bracket
lo	Imagen		boolean "or" (\/)
lt	AT&T C/A/T	left top of big curly bracket
mc	Imagen		math composition (centered small circle)
mi	AT&T C/A/T	math minus (invarient w.r.t. current font)
mo	AT&T C/A/T	member of
mu	AT&T C/A/T	multiply symbol
no	AT&T C/A/T	"not" symbol
or	AT&T C/A/T	"or" bar
pd	AT&T C/A/T	partial derivative
pl	AT&T C/A/T	math plus (invarient w.r.t. current font)
pt	AT&T C/A/T	proportional to
rb	AT&T C/A/T	right bottom of big curly bracket
rc	AT&T C/A/T	right ceiling (right top of big square bracket)
rf	AT&T C/A/T	right floor (right bottom of big square bracket)
rg	AT&T C/A/T	registered symbol ("r" in a circle)
rh	AT&T C/A/T	right pointing hand
rk	AT&T C/A/T	right center of big curly bracket
rn	AT&T C/A/T	root en extender (matches top of "\(sq")
rt	AT&T C/A/T	right top of big curly bracket
ru	AT&T C/A/T	baseline rule
sb	AT&T C/A/T	subset of (right horseshoe)
sc	AT&T C/A/T	section marker
sl	AT&T C/A/T	slash (matching backslash)
sp	AT&T C/A/T	superset of (left horseshoe)
sq	AT&T C/A/T	square
sr	AT&T C/A/T	square root
st	Imagen		turnstyle ( |- )
te	Imagen		there exists (reflected E)
to	Imagen		top (inverted bottom) (see "\(bt")
ts	AT&T C/A/T	terminal sigma
ua	AT&T C/A/T	up-arrow
ul	AT&T C/A/T	under-rule (mates with "\(br")
~=	AT&T C/A/T	approximately equals


Sources:

AT&T C/A/T	the original troff implementation at Bell Labs
		for the C/A/T phototypsetter.

Imagen		Imagen Corp., Silcon Valley

UofR		University of Rochester

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

From: Dan Berry <dberry@UCLA-LOCUS.ARPA>

At UCLA, I mounted the various computer modern fonts with special
characters and the various cmsy and amsy fonts as special fonts in
positions after S and just invented two charcter names for the glyphs.
A number of the names I got from an extended S that came from Lou Salkind.
Other names I invented ( and believe me, it was not easy working with only
two characters). Sometimes the two characters are physically reminiscent
and other time, they are reminiscent of the name. In any case we do have
\(fa as for all, \(te as the exists, etc. For what it's worth here is
our can DESC table:
(RS is R with only the greek letters that look like latin letters defined
this is so that if one has mounted computer modern (cR) in 1, the \(*A
comes out looking like the same font as \*(G and not using the cR A.
XX is a font impaled out of cR cI ,etc to get at the 0th characters of them
- recall that a troff character of 0 is taken as a null)

# Imagen Imprint-10 Printer with canon fonts (-Tcan)

# pos    1 2 3 4  5  6  7  8  9  10 11 12 13 14 
fonts 20 R I B ts SS cR cI cB sR sI sB HS HF CW S RS ay sy cs XX
sizes 5 6 7 8 9 10 11 12 13 14 15 16 18 20 22 24 28 29 36 40 60 0
res 240
hor 1
vert 1
unitwidth 16
paperwidth 2040
paperlength 2640

# the second line of the table below is the set of symbols likely to be
# used as .tc characters so that they end up with indices < 255
charset
\| \^ \' \` \e
\- \_ ** =. == em en eq hy mi rn ru ~= ~~ ul
!=
*A *B *C *D *E *F *G *H *I *K *L *M
*N *O *P *Q *R *S *T *U *W *X *Y *Z
*a *b *c *d *e *f *g *h *i *k *l *m
*n *o *p *q *r *s *t *u *w *x *y *z
+- -+ -> -| .| ..  0/ 12 14 34 2a 3|
:> <- <: << <> <= >= >>
A9 AA AC AD AE AF AN AV
B1 B3 B4 B5 B6 B7 B8 B9 B< B> BA BB BC BD BE BF BL BO BR BX
C0 C1 C2 C+ C- C.  C/ CI CL Cx
DA DI DL DR FA Fi Fl GE GI GR GT HT II L.
IG ID IH IL IC IP IS IU IF IQ IW
LB LE LT MT O/ OE PP PR
SA SB SC SD SE SF SG SH SI SJ SK SL SM
SN SO SP SQ SR SS ST SU SV SW SX SY SZ Sl
TD TO TU U+ UA UB UE UL UR Um VA [[ ]] [^
aa ac ae al ap b/ b0 b9 ba bb br bs bu bv bx
ca cd ce ch cl ci co ct cu da dd de dg di dl dm dr
ep es fa fe ff fi fl fm fr ft ga gd ge go gr gu
ha hc iF ib if in io ip is it jt
l.  l/ l\ la lb lc ld le lf lg lh lk lo lm lq lt
m. ma mc me ml mo mu nd ne nm nn no nr o/ ob oe or ot
pd pl po pp pr pt qd qq qt qu
r/ r\ rb rc re rf rg rh rk rp rq rt rv
si su sA sB sC sD sE sF sG sH sI sJ sK sL sM
sN sO sP sQ sR sS sT sU sV sW sX sY sZ
sb sc sl sp sq sr ss st ta te tk tm tp tr ts
ua ue ui uj um wb wp |- || xx
OU MD -, XV ZR CG HC HO HR QU PT QM HP HQ

Dan Berry