1 /* 2 dev.h: characteristics of a typesetter 3 */ 4 5 struct dev { 6 unsigned short filesize; /* number of bytes in file, */ 7 /* excluding dev part */ 8 unsigned short res; /* basic resolution in goobies/inch */ 9 unsigned short hor; /* goobies horizontally */ 10 unsigned short vert; 11 unsigned short unitwidth; /* size at which widths are given, in effect */ 12 unsigned short nfonts; /* number of fonts physically available */ 13 unsigned short nsizes; /* number of sizes it has */ 14 unsigned short sizescale; /* scaling for fractional point sizes */ 15 unsigned short paperwidth; /* max line length in units */ 16 unsigned short paperlength; /* max paper length in units */ 17 unsigned short nchtab; /* number of funny names in chtab */ 18 unsigned short lchname; /* length of chname table */ 19 unsigned short spare1; /* #chars in largest ever font */ 20 unsigned short spare2; /* in case of expansion */ 21 }; 22 23 struct Font { /* characteristics of a font */ 24 unsigned char nwfont; /* number of width entries for this font */ 25 unsigned char specfont; /* 1 == special font */ 26 unsigned char ligfont; /* 1 == ligatures exist on this font */ 27 unsigned char spare1; /* unused for now */ 28 #ifdef 0 29 unsigned char fonttab; /* 1 == use extra table for fontnumbers */ 30 unsigned char slant; /* if set, slant font by slant degrees */ 31 #endif 32 unsigned char namefont[10]; /* name of this font (e.g., "R" */ 33 unsigned char intname[10]; /* internal name (=number) on device, in ascii */ 34 }; 35 36 /* ligatures, ORed into ligfont */ 37 38 #define LFF 01 39 #define LFI 02 40 #define LFL 04 41 #define LFFI 010 42 #define LFFL 020 43 44 /* 45 * Notes by jaap: 46 * 47 * spare1 int struct dev is also known as biggestfont 48 * 49 * in Font structure is added: 50 * fonttab: if set to 1, the Font.out has an extra 51 * table of shorts which gives the physical font 52 * on which the chracter lives. Allows mapping of 53 * "logial fonts" into variuos physical fonts on the 54 * device. Needed since the Harris f.i. has a weird font 55 * lay-out. Also makes fonts consisting of weird 56 * character combinations easier. 57 * slant: The font can must be slanted to force italics (function 58 * of back-end, necessary for f.i. the Harris, which 59 * doesn't has italics for the sans-serif fonts; these 60 * italics have to be made by slanting) 61 */ 62