// defs for Pressedit
// bcpl/f  PressEditDefs.bcpl
// Copyright Xerox Corporation 1979, 1980, 1982

// last edited by Lyle Ramshaw, January 14, 1982  5:09 PM
// last edited by RML September 15, 1980  2:34 PM increase MaxEntities
// RML August 5, 1980  9:32 AM extended DD structure
// RML August 1, 1980  2:30 PM changed FONT
// RML June 25, 1979  8:52 AM added rotated fonts

get "press.dfs"

structure PAGE: [
	filename	bit 8
	pageno	bit 8
	]

manifest [ PAGElen = size PAGE/16 ]

structure FONT: [
	earsfont	bit 1
	spare	bit 2
	widthad	bit 5
	family	bit 8

	face	word
	ptsize	word 

	bc	bit 8
	ec	bit 8

	rotn	word
	wsize	word
	sa	word 2
	yh	word
	yb	word		// positive value of baseline
	]

manifest [ FONTlen = size FONT/16 ]

structure DD: [
	pressfile	bit 1	// press/ears file
	nrecs	bit 15	// total no of records
	nparts	word
	npages	word
	pdstart	word	// Part Directory
	fdstart	word	// Font Directory
	efdstart	word	// External File Directory
	pdrecs	bit 8
	fdrecs	bit 8
	efdrecs	bit 8
	spare	bit 2
	nsets	bit 6	// no of font sets
	pref	word	// no of words before start of proper fl
	]

manifest [ DDlen = size DD/16 ]

structure EDD: [
	passwd	word
	nrecs	word
	npages	word
	ncopies	word
	lastfs	word
	lastrec	word
	lastdl	word
	lasttl	word
	pdrecs	word
	fdrecs	word
	]

manifest [ EDDlen = size EDD/16 ]

structure EPD: [
	dlstart	word
	dlrecs	word
	tlrecs	word
	fontset	word
	]

manifest [ EPDlen = size EPD/16 ]

structure TL: [
	last	bit 1
	distrib	bit 15
	adr	word
	spare1	bit 5
	font	bit 4
	spare2	bit 7
	y	bit 13
	spare3	bit 3
	]

manifest [ TLlen = size TL/16 ]

structure LOOK: [
	adr	word
	len	bit 8
	nspaces	bit 8
	font	bit 4
	spacex	bit 12
	x	word
	y	word
	w	word
	]

manifest [ LOOKlen = size LOOK/16 ]

structure LINE: [
	earsx	word
	ewidths	word
	pwidths	word
	charvec	word
	looksvec	word
	ymax	word
	ymin	word
	]

manifest [ LINElen = size LINE/16 ]

structure IXH: [
	type	bit 4
	length	bit 12
	]

manifest [
	IXTypeName=1
	IXTypeWidths=4
	IXTypeEnd=0
	]

structure IXN: [
	@IXH
	code	word
	name	byte 20	//BCPL string
	]

manifest [ IXNlen=size IXN/16 ]

structure IXW: [
	@IXH
	fam	byte
	face	byte
	bc	byte
	ec	byte
	siz	word
	rotation	word
	sa	word 2
	len	word 2
	]

manifest [ IXWlen = size IXW/16 ]

structure WTB: [
	XL	word
	YB	word
	XW	word
	YH	word
	XWidthFixed bit
	YWidthFixed bit
	spare	bit 14
	]

manifest [ WTBlen = size WTB/16 ]

structure RECT: [
	xmin	word
	y	word
	xmax	word
	h	word
	]

manifest [ RECTlen = size RECT/16 ]

structure MERGE: [
	file	word
	x	word
	y	word
	]

manifest [ MERGElen = size MERGE/16 ]

manifest [
	MaxFamilies=128
	FamilyLen=10
	MaxPages=512
	MaxExtraFonts=16
	MaxArgs=100
	MaxFiles=100
	MaxPageDir=1024
	SetMapsSize=512
	MaxFontSets=64
	MaxFonts=128
	MaxPtSize=64

	MaxChars=1024
	MaxLooks=100

	MaxEntBytes=28000
	MaxEntities = 256
	MaxRects=32
	maxIllus = 200		// 2* (max illustrations per document)

	PressPassword=27183
	EarsPassword=31415

	arrowpass = 0
	xypass = 1
	]

manifest [
	diskro=0
	diskwo=1
	diskroch=3
	diskwoch=4

	ECtll=#200
	ECvwb=#240
	ECatab=#300
	ECfont=#340
	ECvcs=#360
	ECvcw=#364
	ECvcsw=#370
	ECover=#374
	ECeol=#376
	ECland=#377
	]