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