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