// FONTPASS Definitions....

// modified by PolleZ and Swinehart, August 27, 1984  3:27 PM, 
// FPREQ.sn field enlarged -- version 5.1.

structure PRESSFE: [		//Font entry
	set byte		//Font set
	font byte		//Font number
	[ m byte		//Beginning char code
	n byte ]		//Ending char code
	 = mn word
	famly word 		//Font family name
	 famcontd word 9
	[ face byte		//Font face code
	source byte ]		// Use chars m+source to n+source from font
	 = facesource word
	siz word		//Size (-=micas;+=points)
	rotation word		//Rotation, minutes
	]

structure SET: [
	font↑0,15 word		//Table of FONTs in the Font Set.
	]


structure FONT: [
	segments word		//List of FPREQ's
	sharable bit		//True if font can be shared.
	indirect bit		//True if indirect pointer (auxset)
	spare bit 14
	[ @FDES ]		//Font set block for file.
	 = [ fs word (size FDES/16) ]
	]

structure REQHeader: [		//FPREQ and CPREQ have them
	next word		//To chain on a list...
	type byte		//Type of piece request
	score bit 7		//Goodness of match
	named bit		//True if rfam installed.
	[ rm byte		//"Requested" m,n (analogs of bc,ec)
	rn byte ]
	 = rmn word
	]

structure FPREQ: [		//Font piece request (similar to IX)
	@REQHeader		//Joint stuff.
	rfam byte		//"Requested" parameters
	blank byte
	sn word			//"serial number" of characters found
	rfamly word 10
	[ rface byte
	rsource byte ]
	 = rfacesource word
	rsiz word
	rrotation word
	@IX			//Closest match
	]

structure CREQ: [		//"Character" request (FontPartCharacter)
	@REQHeader
	len word		//Length of encoding.
	pos: @FPOS		//File position of encoding.
	widths: @CharWidth	//Width information
	]

manifest [
//"Types" for FPREQ and CREQ
	FontPartCharacter=12	//For FPREQ.type
				// others are IXTypeChars and IXTypeSplines
	Standard=13		//Chars or splines, but unassigned.
	Converted=14		//Has been scan-converted..
	]