xref: /csrg-svn/old/eqn/common_source/font.c (revision 11002)
1 /*	font.c	4.1	83/02/11	*/
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 	if(dbg)printf(".\tsetfont %c %c\n", ch1, ft);
18 }
19 
20 font(p1, p2) int p1, p2; {
21 		/* old font in p1, new in ft */
22 	yyval = p2;
23 	lfont[yyval] = rfont[yyval] = ft==ITAL ? ITAL : ROM;
24 	if(dbg)printf(".\tb:fb: S%d <- \\f%c S%d \\f%c b=%d,h=%d,lf=%c,rf=%c\n",
25 		yyval, ft, p2, p1, ebase[yyval], eht[yyval], lfont[yyval], rfont[yyval]);
26 	printf(".ds %d \\f%c\\*(%d\\f%c\n",
27 		yyval, ft, p2, p1);
28 	ft = p1;
29 	printf(".ft %c\n", ft);
30 }
31 
32 fatbox(p) int p; {
33 	int sh;
34 
35 	yyval = p;
36 	sh = ps / 4;
37 	nrwid(p, ps, p);
38 	printf(".ds %d \\*(%d\\h'-\\n(%du+%du'\\*(%d\n", p, p, p, sh, p);
39 	if(dbg)printf(".\tfat %d, sh=%d\n", p, sh);
40 }
41 
42 globfont() {
43 	char temp[20];
44 
45 	getstr(temp, 20);
46 	yyval = eqnreg = 0;
47 	gfont = temp[0];
48 	switch (gfont) {
49 	case 'r': case 'R':
50 		gfont = '1';
51 		break;
52 	case 'i': case 'I':
53 		gfont = '2';
54 		break;
55 	case 'b': case 'B':
56 		gfont = '3';
57 		break;
58 	}
59 	printf(".ft %c\n", gfont);
60 	ft = gfont;
61 }
62