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