1 #ifndef lint
2 static char *sccsid = "font.c	(CWI)	1.1	85/03/01";
3 #endif
4 # include "e.h"
5 
6 setfont(ch1) char ch1; {
7 	/* use number '1', '2', '3' for roman, italic, bold */
8 	yyval = ft;
9 	if (ch1 == 'r' || ch1 == 'R')
10 		ft = ROM;
11 	else if (ch1 == 'i' || ch1 == 'I')
12 		ft = ITAL;
13 	else if (ch1 == 'b' || ch1 == 'B')
14 		ft = BLD;
15 	else
16 		ft = ch1;
17 	printf(".ft %c\n", ft);
18 	if(dbg)printf(".\tsetfont %c %c\n", ch1, ft);
19 }
20 
21 font(p1, p2) int p1, p2; {
22 		/* old font in p1, new in ft */
23 	yyval = p2;
24 	lfont[yyval] = rfont[yyval] = ft==ITAL ? ITAL : ROM;
25 	if(dbg)printf(".\tb:fb: S%d <- \\f%c S%d \\f%c b=%d,h=%d,lf=%c,rf=%c\n",
26 		yyval, ft, p2, p1, ebase[yyval], eht[yyval], lfont[yyval], rfont[yyval]);
27 	printf(".ds %d \\f%c\\*(%d\\f%c\n",
28 		yyval, ft, p2, p1);
29 	ft = p1;
30 	printf(".ft %c\n", ft);
31 }
32 
33 fatbox(p) int p; {
34 	int sh;
35 
36 	yyval = p;
37 	sh = ps / 4;
38 	nrwid(p, ps, p);
39 	printf(".ds %d \\*(%d\\h'-\\n(%du+0.05m'\\*(%d\n", p, p, p, p);
40 	if(dbg)printf(".\tfat %d, sh=0.05m\n", p, sh);
41 }
42 
43 globfont() {
44 	char temp[20];
45 
46 	getstr(temp, 20);
47 	yyval = eqnreg = 0;
48 	gfont = temp[0];
49 	switch (gfont) {
50 	case 'r': case 'R':
51 		gfont = '1';
52 		break;
53 	case 'i': case 'I':
54 		gfont = '2';
55 		break;
56 	case 'b': case 'B':
57 		gfont = '3';
58 		break;
59 	}
60 	printf(".ft %c\n", gfont);
61 	ft = gfont;
62 }
63