1 /* font.c 4.1 83/02/11 */ 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 if(dbg)printf(".\tsetfont %c %c\n", ch1, ft); 18 } 19 20 font(p1, p2) int p1, p2; { 21 /* old font in p1, new in ft */ 22 yyval = p2; 23 lfont[yyval] = rfont[yyval] = ft==ITAL ? ITAL : ROM; 24 if(dbg)printf(".\tb:fb: S%d <- \\f%c S%d \\f%c b=%d,h=%d,lf=%c,rf=%c\n", 25 yyval, ft, p2, p1, ebase[yyval], eht[yyval], lfont[yyval], rfont[yyval]); 26 printf(".ds %d \\f%c\\*(%d\\f%c\n", 27 yyval, ft, p2, p1); 28 ft = p1; 29 printf(".ft %c\n", ft); 30 } 31 32 fatbox(p) int p; { 33 int sh; 34 35 yyval = p; 36 sh = ps / 4; 37 nrwid(p, ps, p); 38 printf(".ds %d \\*(%d\\h'-\\n(%du+%du'\\*(%d\n", p, p, p, sh, p); 39 if(dbg)printf(".\tfat %d, sh=%d\n", p, sh); 40 } 41 42 globfont() { 43 char temp[20]; 44 45 getstr(temp, 20); 46 yyval = eqnreg = 0; 47 gfont = temp[0]; 48 switch (gfont) { 49 case 'r': case 'R': 50 gfont = '1'; 51 break; 52 case 'i': case 'I': 53 gfont = '2'; 54 break; 55 case 'b': case 'B': 56 gfont = '3'; 57 break; 58 } 59 printf(".ft %c\n", gfont); 60 ft = gfont; 61 } 62