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