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
setfont(ch1)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
font(p1,p2)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
fatbox(p)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
globfont()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