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