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 */
19*45479Skarels 	unsigned short	nstip;		/* number of stipples */
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 */
26*45479Skarels 	unsigned char	ligfont;	/* mask of ligatures on this font */
2733650Sjaap 	unsigned char	spare1;		/* unused for now */
28*45479Skarels #ifdef CWI
2933650Sjaap 	unsigned char	fonttab;	/* 1 == use extra table for fontnumbers */
3033650Sjaap 	unsigned char	slant;		/* if set, slant font by slant degrees */
3138595Sjaap #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 
44*45479Skarels #ifdef CWI
4523913Sjaap /*
4623913Sjaap  * Notes by jaap:
4723913Sjaap  *
4833650Sjaap  * in Font structure is added:
4923913Sjaap  *	fonttab: if set to 1, the Font.out has an extra
5023913Sjaap  *		  table of shorts which gives the physical font
5123913Sjaap  *		  on which the chracter lives. Allows mapping of
5223913Sjaap  *		  "logial fonts" into variuos physical fonts on the
5323913Sjaap  *		  device. Needed since the Harris f.i. has a weird font
5423913Sjaap  *		  lay-out. Also makes fonts consisting of weird
5523913Sjaap  *		  character combinations easier.
5623913Sjaap  *	slant:	The font can must be slanted to force italics (function
5723913Sjaap  *		of back-end, necessary for f.i. the Harris, which
5823913Sjaap  *		doesn't has italics for the sans-serif fonts; these
5923913Sjaap  *		italics have to be made by slanting)
6023913Sjaap  */
61*45479Skarels #endif
62