123893Sjaap /* 223893Sjaap dev.h: characteristics of a typesetter 323893Sjaap */ 423893Sjaap 523893Sjaap struct dev { 623913Sjaap unsigned short filesize; /* number of bytes in file, */ 723893Sjaap /* excluding dev part */ 833650Sjaap unsigned short res; /* basic resolution in goobies/inch */ 933650Sjaap unsigned short hor; /* goobies horizontally */ 1033650Sjaap unsigned short vert; 1133650Sjaap unsigned short unitwidth; /* size at which widths are given, in effect */ 1233650Sjaap unsigned short nfonts; /* number of fonts physically available */ 1333650Sjaap unsigned short nsizes; /* number of sizes it has */ 1433650Sjaap unsigned short sizescale; /* scaling for fractional point sizes */ 1533650Sjaap unsigned short paperwidth; /* max line length in units */ 1633650Sjaap unsigned short paperlength; /* max paper length in units */ 1733650Sjaap unsigned short nchtab; /* number of funny names in chtab */ 1833650Sjaap unsigned short lchname; /* length of chname table */ 1933650Sjaap unsigned short spare1; /* #chars in largest ever font */ 2033650Sjaap unsigned short spare2; /* in case of expansion */ 2123893Sjaap }; 2223893Sjaap 2323913Sjaap struct Font { /* characteristics of a font */ 2433650Sjaap unsigned char nwfont; /* number of width entries for this font */ 2533650Sjaap unsigned char specfont; /* 1 == special font */ 2633650Sjaap unsigned char ligfont; /* 1 == ligatures exist on this font */ 2733650Sjaap unsigned char spare1; /* unused for now */ 28*38595Sjaap #ifdef 0 2933650Sjaap unsigned char fonttab; /* 1 == use extra table for fontnumbers */ 3033650Sjaap unsigned char slant; /* if set, slant font by slant degrees */ 31*38595Sjaap #endif 3233650Sjaap unsigned char namefont[10]; /* name of this font (e.g., "R" */ 3333650Sjaap unsigned char intname[10]; /* internal name (=number) on device, in ascii */ 3423893Sjaap }; 3523893Sjaap 3623893Sjaap /* ligatures, ORed into ligfont */ 3723893Sjaap 3823893Sjaap #define LFF 01 3923893Sjaap #define LFI 02 4023893Sjaap #define LFL 04 4123893Sjaap #define LFFI 010 4223893Sjaap #define LFFL 020 4323913Sjaap 4423913Sjaap /* 4523913Sjaap * Notes by jaap: 4623913Sjaap * 4723913Sjaap * spare1 int struct dev is also known as biggestfont 4823913Sjaap * 4933650Sjaap * in Font structure is added: 5023913Sjaap * fonttab: if set to 1, the Font.out has an extra 5123913Sjaap * table of shorts which gives the physical font 5223913Sjaap * on which the chracter lives. Allows mapping of 5323913Sjaap * "logial fonts" into variuos physical fonts on the 5423913Sjaap * device. Needed since the Harris f.i. has a weird font 5523913Sjaap * lay-out. Also makes fonts consisting of weird 5623913Sjaap * character combinations easier. 5723913Sjaap * slant: The font can must be slanted to force italics (function 5823913Sjaap * of back-end, necessary for f.i. the Harris, which 5923913Sjaap * doesn't has italics for the sans-serif fonts; these 6023913Sjaap * italics have to be made by slanting) 6123913Sjaap */ 62