-- Compiler IxDefs -- Tiberi January 21, 1980 12:41 AM DIRECTORY AltoDefs: FROM "AltoDefs" USING [BYTE]; IxDefs: DEFINITIONS = BEGIN OPEN AltoDefs; BcplLong: TYPE=MACHINE DEPENDENT RECORD[highbits,lowbits: CARDINAL]; IXType: TYPE = [0..16); IXTypeEnd: IXType = 0; IXTypeName: IXType = 1; IXTypeWidths: IXType = 4; IXTypeMultiChars: IXType = 6; IXH: TYPE = MACHINE DEPENDENT RECORD -- IX header [ type: IXType, length: [0..4096) ]; IXName: TYPE = MACHINE DEPENDENT RECORD --for debugging [header: IXH, code: WORD, name: PACKED ARRAY [0..20) OF CHARACTER]; IXWidths: TYPE = MACHINE DEPENDENT RECORD --for debugging [header: IXH, fam,face: BYTE, bc,ec: BYTE, siz: INTEGER, rotation: CARDINAL, sa: RECORD[highbits,lowbits: CARDINAL], len: LONG CARDINAL, resolutionx: INTEGER, resolutiony: INTEGER]; IX: TYPE = MACHINE DEPENDENT RECORD [header: IXH, body: SELECT OVERLAID * FROM IXTypeName => [code: WORD, name: PACKED ARRAY [0..20) OF CHARACTER], IXTypeWidths => [fam,face: BYTE, bc,ec: BYTE, siz: INTEGER, rotation: CARDINAL, sa: BcplLong, len: BcplLong, resolutionx: INTEGER, resolutiony: INTEGER], ENDCASE ]; WTB: TYPE = MACHINE DEPENDENT RECORD --Width Table Block [XL,YB, --X,Y offset XW,YH: INTEGER, --width, height XWidthFixed,YWidthFixed: BOOLEAN, spare: [0..16384) ]; --Codes in the height entry for a char that indicate something else: HNonExCode: INTEGER = -1; HSplineCode: INTEGER = -2; CharWidth: TYPE = RECORD --Block describing char widths [WX,WY: LONG INTEGER, --X width,Y width XL,YB: INTEGER, --X left, Y bottom (offset) W,H: INTEGER --Width, {Height or special} ]; END.