/* dev.h: characteristics of a typesetter */ struct dev { unsigned short filesize; /* number of bytes in file, */ /* excluding dev part */ unsigned short res; /* basic resolution in goobies/inch */ unsigned short hor; /* goobies horizontally */ unsigned short vert; unsigned short unitwidth; /* size at which widths are given, in effect */ unsigned short nfonts; /* number of fonts physically available */ unsigned short nsizes; /* number of sizes it has */ unsigned short sizescale; /* scaling for fractional point sizes */ unsigned short paperwidth; /* max line length in units */ unsigned short paperlength; /* max paper length in units */ unsigned short nchtab; /* number of funny names in chtab */ unsigned short lchname; /* length of chname table */ unsigned short spare1; /* #chars in largest ever font */ unsigned short spare2; /* in case of expansion */ }; struct Font { /* characteristics of a font */ unsigned char nwfont; /* number of width entries for this font */ unsigned char specfont; /* 1 == special font */ unsigned char ligfont; /* 1 == ligatures exist on this font */ unsigned char spare1; /* unused for now */ unsigned char fonttab; /* 1 == use extra table for fontnumbers */ unsigned char slant; /* if set, slant font by slant degrees */ unsigned char namefont[10]; /* name of this font (e.g., "R" */ unsigned char intname[10]; /* internal name (=number) on device, in ascii */ }; /* ligatures, ORed into ligfont */ #define LFF 01 #define LFI 02 #define LFL 04 #define LFFI 010 #define LFFL 020 /* * Notes by jaap: * * spare1 int struct dev is also known as biggestfont * * in Font structure is added: * fonttab: if set to 1, the Font.out has an extra * table of shorts which gives the physical font * on which the chracter lives. Allows mapping of * "logial fonts" into variuos physical fonts on the * device. Needed since the Harris f.i. has a weird font * lay-out. Also makes fonts consisting of weird * character combinations easier. * slant: The font can must be slanted to force italics (function * of back-end, necessary for f.i. the Harris, which * doesn't has italics for the sans-serif fonts; these * italics have to be made by slanting) */