1: /* 2: * sroff driving tables 3: * Messenger 12 4: */ 5: #include "../sdef.h" 6: 7: /* 8: * Only the first PFONT physical fonts (phys = 0,1,...,PFONT-1) 9: * can be proportional and their character widths are in fontab[phys]. 10: * If a value for phys is >= PFONT and has PROPOR or'ed in, 11: * a nonexistent fontab will be consulted for widths, with amusing 12: * results. 13: * Special characters (values greater than 0177) are in fontabS. 14: * The special characters assume that the scientific font is on position F 15: * (phys = 6) and the greek/math font is on position G (phys = 7). 16: * All values are in units (mils, since INCH is 1000). 17: * fonts, ulfont, fontab and fontab1 are all overlaid by the -F option. 18: */ 19: 20: struct fonts { /* info for all fonts to be mounted */ 21: char lab; /* name */ 22: char phys; /* sanders logical font #, |= PROPOR if proportional */ 23: int Char; /* character width if nonproportional */ 24: int Em; /* character size, value of 1m */ 25: /* (point size) x (1000/72) */ 26: char mount[10]; /* sanders font number */ 27: } fonts[NFONTS] = { 28: {'R', 0, 83, 139, "X5010608"}, /* 12-pitch (Messenger 12)*/ 29: {'I', 0, 83, 139, ""}, 30: {'B', 0, 83, 139, ""}, /* emboldened Messenger 12 */ 31: {'S', 6, 100, 139, "S5480210"}, /* Sci-Pi */ 32: { 0, 3, 100, 139, ""}, /* unused */ 33: {'E', 4, 100, 139, "X5011010"}, /* 10-pitch (Messenger 10)*/ 34: { 0, 5, 100, 139, ""}, /* unused */ 35: {'G', 7, 100, 139, "S5480310"} /* Greek */ 36: }; 37: 38: int ulfont = 1; 39: int bdtab[NFONTS] = { /* amount of emboldening */ 40: 0, 41: 0, 42: 6, 43: 0, 44: 0, 45: 0, 46: 0, 47: 0 48: }; 49: int smnt = 3; /* font 'S' is in fonts[smnt] */ 50: int sbold = -1; 51: 52: int fontab[PFONT][0200-040] = { 53: { 54: /* widths for font 0 PROPOR */ 55: #include "Nonpropor" 56: }, 57: 58: { 59: /* character widths for font 1 PROPOR */ 60: 0, /*unused*/ 61: }, 62: 63: { 64: /* font 2 PROPOR */ 65: 0, /*unused*/ 66: } 67: }; 68: 69: int fontabS[MAXCHAR-0200] = { 70: 71: #include "Special" 72: };