xref: /csrg-svn/old/eqn/common_source/font.c (revision 11023)
1*11023Sshannon /*	font.c	4.2	83/02/12	*/
211002Sshannon 
311002Sshannon # include "e.h"
411002Sshannon 
511002Sshannon setfont(ch1) char ch1; {
611002Sshannon 	/* use number '1', '2', '3' for roman, italic, bold */
711002Sshannon 	yyval = ft;
811002Sshannon 	if (ch1 == 'r' || ch1 == 'R')
911002Sshannon 		ft = ROM;
1011002Sshannon 	else if (ch1 == 'i' || ch1 == 'I')
1111002Sshannon 		ft = ITAL;
1211002Sshannon 	else if (ch1 == 'b' || ch1 == 'B')
1311002Sshannon 		ft = BLD;
1411002Sshannon 	else
1511002Sshannon 		ft = ch1;
1611002Sshannon 	printf(".ft %c\n", ft);
17*11023Sshannon #ifndef NEQN
1811002Sshannon 	if(dbg)printf(".\tsetfont %c %c\n", ch1, ft);
19*11023Sshannon #else NEQN
20*11023Sshannon 	if(dbg)printf(".\tsetfont %c\n", ft);
21*11023Sshannon #endif NEQN
2211002Sshannon }
2311002Sshannon 
2411002Sshannon font(p1, p2) int p1, p2; {
2511002Sshannon 		/* old font in p1, new in ft */
2611002Sshannon 	yyval = p2;
2711002Sshannon 	lfont[yyval] = rfont[yyval] = ft==ITAL ? ITAL : ROM;
2811002Sshannon 	if(dbg)printf(".\tb:fb: S%d <- \\f%c S%d \\f%c b=%d,h=%d,lf=%c,rf=%c\n",
2911002Sshannon 		yyval, ft, p2, p1, ebase[yyval], eht[yyval], lfont[yyval], rfont[yyval]);
3011002Sshannon 	printf(".ds %d \\f%c\\*(%d\\f%c\n",
3111002Sshannon 		yyval, ft, p2, p1);
3211002Sshannon 	ft = p1;
3311002Sshannon 	printf(".ft %c\n", ft);
3411002Sshannon }
3511002Sshannon 
3611002Sshannon fatbox(p) int p; {
3711002Sshannon 	int sh;
3811002Sshannon 
3911002Sshannon 	yyval = p;
4011002Sshannon 	sh = ps / 4;
4111002Sshannon 	nrwid(p, ps, p);
4211002Sshannon 	printf(".ds %d \\*(%d\\h'-\\n(%du+%du'\\*(%d\n", p, p, p, sh, p);
4311002Sshannon 	if(dbg)printf(".\tfat %d, sh=%d\n", p, sh);
4411002Sshannon }
4511002Sshannon 
4611002Sshannon globfont() {
4711002Sshannon 	char temp[20];
4811002Sshannon 
4911002Sshannon 	getstr(temp, 20);
5011002Sshannon 	yyval = eqnreg = 0;
5111002Sshannon 	gfont = temp[0];
5211002Sshannon 	switch (gfont) {
5311002Sshannon 	case 'r': case 'R':
5411002Sshannon 		gfont = '1';
5511002Sshannon 		break;
5611002Sshannon 	case 'i': case 'I':
5711002Sshannon 		gfont = '2';
5811002Sshannon 		break;
5911002Sshannon 	case 'b': case 'B':
6011002Sshannon 		gfont = '3';
6111002Sshannon 		break;
6211002Sshannon 	}
6311002Sshannon 	printf(".ft %c\n", gfont);
6411002Sshannon 	ft = gfont;
6511002Sshannon }
66