// font.df


structure FACE:
	[ blank	bit 14
	bold	bit
	italic	bit
	];

structure ALCD:
	[ xw	word
	csclskip	byte
	cscl	byte
	];

structure FDH:
	[ rvmpfargcc	word;
	blank		word;
	blank		word;
	blank		word;
	rvmpfafunfadef	word;
	blank		word;
	blank		word;
	blank		word;
	ampFaLrec2	word;
	blank		word;
	blank		word;
	blank		word;
	height		word;
	bl		word;
	xwmax	word
	rvsbname		word;
	] 

structure FD:
	[ fddLarge	word;
	fddSmall	word;
	fdh	@FDH;
	] 

structure FDD:
	[ 
// mag	word;
// 	fddindirect	word;
	fddnext	word;
	font	word 
	rgcc	word;
	lru	word;
	height	word;
	faulted	bit;
	bl	bit	15;
	lfile	word
	aFptr	@FP
	b	word  // used for state saving
	rvsbname	word;
	] 

manifest	[
	lnalcd = (size ALCD)/16;
	xwnil = 1
	]

structure IX:
	[ ty	bit 4
	cw	bit 12
	]
manifest	[
	tyixn = 1
	tyixw = 4
	tyNil = 0
	]


structure IXN:
	[ @IX
	fam	word
	asb	word
	]
manifest	[
	offasbIxn = offset IXN.asb / 16
	]


structure IXW:
	[ @IX
		[ famfa	word
		] =
		[ fam	byte
			[ fa	byte
			] =
			[ blank	bit 6
			bold	bit
			italic	bit
			]
		]
	chFirst	byte
	chLast	byte
	hMicas	word
	rotation	word
	apos	word 2
	len	word 2
	]
manifest	[
	lnixw = size IXW / 16
	]


structure WTB:
	[ xl	word
	yb	word
	xw	word
	yh	word
	fXwfixed	bit
	fYhfixed	bit
	blank	bit 14
	]
manifest	[
	lnwtb = size WTB / 16
	]


// Local manifests

manifest	[
	funfanil = -1;
	fdnil = 0
	fdl = (size FD)/16;
	fdhl = (size FDH)/16;
	fddl = (size FDD)/16;
	fddlshort = 2;
	maxfun = 11
	funDiablo = 10
	]