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