|
|
1.1 ! root 1: # include "e.h" ! 2: ! 3: setfont(ch1) ! 4: char *ch1; ! 5: { ! 6: yyval = ft; ! 7: if (strcmp(ch1, "I") == 0) { /* I and italic mean merely position 2 */ ! 8: *ch1 = '2'; ! 9: ft = ITAL; ! 10: } else if (strcmp(ch1, "B") == 0) { /* and similarly for B & bold */ ! 11: *ch1 = '3'; ! 12: ft = BLD; ! 13: } else if (strcmp(ch1, "R") == 0) { /* and R and roman */ ! 14: *ch1 = '1'; ! 15: ft = ROM; ! 16: } else { ! 17: ft = ROM; /* assume it's a roman style */ ! 18: } ! 19: ftp++; ! 20: if (ftp >= &ftstack[10]) ! 21: error(FATAL, "font stack overflow"); ! 22: ftp->ft = ft; ! 23: if (ch1[1] == 0) { /* 1-char name */ ! 24: ftp->name[0] = *ch1; ! 25: ftp->name[1] = '\0'; ! 26: } else ! 27: sprintf(ftp->name, "(%s", ch1); ! 28: dprintf(".\tsetfont %s %c\n", ch1, ft); ! 29: } ! 30: ! 31: font(p1, p2) ! 32: int p1, p2; ! 33: { ! 34: /* old font in p1, new in ft */ ! 35: yyval = p2; ! 36: lfont[yyval] = rfont[yyval] = ft==ITAL ? ITAL : ROM; ! 37: ftp--; ! 38: ft = p1; ! 39: } ! 40: ! 41: globfont() ! 42: { ! 43: char temp[20]; ! 44: ! 45: getstr(temp, sizeof(temp)); ! 46: yyval = eqnreg = 0; ! 47: if (strcmp(temp, "I") == 0 || strncmp(temp, "it", 2) == 0) { ! 48: ft = ITAL; ! 49: strcpy(temp, "2"); ! 50: } else if (strcmp(temp, "B") == 0 || strncmp(temp, "bo", 2) == 0) { ! 51: ft = BLD; ! 52: strcpy(temp, "3"); ! 53: } else if (strcmp(temp, "R") == 0 || strncmp(temp, "ro", 2) == 0) { ! 54: ft = ROM; ! 55: strcpy(temp, "1"); ! 56: } else { ! 57: ft = ROM; /* assume it's a roman style */ ! 58: } ! 59: ftstack[0].ft = ft; ! 60: if (temp[1] == 0) /* 1-char name */ ! 61: strcpy(ftstack[0].name, temp); ! 62: else ! 63: sprintf(ftstack[0].name, "(%.2s", temp); ! 64: } ! 65: ! 66: fatbox(p) ! 67: int p; ! 68: { ! 69: extern float Fatshift; ! 70: ! 71: yyval = p; ! 72: printf(".ds %d \\*(%d\\h'-\\w'\\*(%d'u+%gm'\\*(%d\n", p, p, p, Fatshift, p); ! 73: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.