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