xref: /csrg-svn/old/eqn/common_source/font.c (revision 48252)
1*48252Sbostic /*-
2*48252Sbostic  * Copyright (c) 1991 The Regents of the University of California.
3*48252Sbostic  * All rights reserved.
4*48252Sbostic  *
5*48252Sbostic  * %sccs.include.proprietary.c%
6*48252Sbostic  */
7*48252Sbostic 
814485Ssam #ifndef lint
9*48252Sbostic static char sccsid[] = "@(#)font.c	4.4 (Berkeley) 04/17/91";
10*48252Sbostic #endif /* not lint */
1111002Sshannon 
1211002Sshannon # include "e.h"
1311002Sshannon 
setfont(ch1)1411002Sshannon setfont(ch1) char ch1; {
1511002Sshannon 	/* use number '1', '2', '3' for roman, italic, bold */
1611002Sshannon 	yyval = ft;
1711002Sshannon 	if (ch1 == 'r' || ch1 == 'R')
1811002Sshannon 		ft = ROM;
1911002Sshannon 	else if (ch1 == 'i' || ch1 == 'I')
2011002Sshannon 		ft = ITAL;
2111002Sshannon 	else if (ch1 == 'b' || ch1 == 'B')
2211002Sshannon 		ft = BLD;
2311002Sshannon 	else
2411002Sshannon 		ft = ch1;
2511002Sshannon 	printf(".ft %c\n", ft);
2611023Sshannon #ifndef NEQN
2711002Sshannon 	if(dbg)printf(".\tsetfont %c %c\n", ch1, ft);
2811023Sshannon #else NEQN
2911023Sshannon 	if(dbg)printf(".\tsetfont %c\n", ft);
3011023Sshannon #endif NEQN
3111002Sshannon }
3211002Sshannon 
font(p1,p2)3311002Sshannon font(p1, p2) int p1, p2; {
3411002Sshannon 		/* old font in p1, new in ft */
3511002Sshannon 	yyval = p2;
3611002Sshannon 	lfont[yyval] = rfont[yyval] = ft==ITAL ? ITAL : ROM;
3711002Sshannon 	if(dbg)printf(".\tb:fb: S%d <- \\f%c S%d \\f%c b=%d,h=%d,lf=%c,rf=%c\n",
3811002Sshannon 		yyval, ft, p2, p1, ebase[yyval], eht[yyval], lfont[yyval], rfont[yyval]);
3911002Sshannon 	printf(".ds %d \\f%c\\*(%d\\f%c\n",
4011002Sshannon 		yyval, ft, p2, p1);
4111002Sshannon 	ft = p1;
4211002Sshannon 	printf(".ft %c\n", ft);
4311002Sshannon }
4411002Sshannon 
fatbox(p)4511002Sshannon fatbox(p) int p; {
4611002Sshannon 	int sh;
4711002Sshannon 
4811002Sshannon 	yyval = p;
4911002Sshannon 	sh = ps / 4;
5011002Sshannon 	nrwid(p, ps, p);
5111002Sshannon 	printf(".ds %d \\*(%d\\h'-\\n(%du+%du'\\*(%d\n", p, p, p, sh, p);
5211002Sshannon 	if(dbg)printf(".\tfat %d, sh=%d\n", p, sh);
5311002Sshannon }
5411002Sshannon 
globfont()5511002Sshannon globfont() {
5611002Sshannon 	char temp[20];
5711002Sshannon 
5811002Sshannon 	getstr(temp, 20);
5911002Sshannon 	yyval = eqnreg = 0;
6011002Sshannon 	gfont = temp[0];
6111002Sshannon 	switch (gfont) {
6211002Sshannon 	case 'r': case 'R':
6311002Sshannon 		gfont = '1';
6411002Sshannon 		break;
6511002Sshannon 	case 'i': case 'I':
6611002Sshannon 		gfont = '2';
6711002Sshannon 		break;
6811002Sshannon 	case 'b': case 'B':
6911002Sshannon 		gfont = '3';
7011002Sshannon 		break;
7111002Sshannon 	}
7211002Sshannon 	printf(".ft %c\n", gfont);
7311002Sshannon 	ft = gfont;
7411002Sshannon }
75