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