AISFormat: DEFINITIONS = { aisPassword: INTEGER = -31574; aisWordsPerPage: CARDINAL = 1024; unused: INTEGER = -1; -- for unused values in Placement and Photometry parts Header: TYPE = MACHINE DEPENDENT RECORD [ password: INTEGER, attributeLength: CARDINAL]; PartType: TYPE = MACHINE DEPENDENT {nil(0), raster(1), placement(2), photometry(3), comment(4), (77B)}; PartHeader: TYPE = MACHINE DEPENDENT RECORD[type: PartType, length: [0..1777B]]; CodingType: TYPE = MACHINE DEPENDENT {uca(1)}; RasterPart: TYPE = MACHINE DEPENDENT RECORD [ part(0): PartHeader, scanCount(1): CARDINAL, scanLength(2): CARDINAL, scanDir(3): CARDINAL, samplesPerPixel(4): CARDINAL, coding(5:0..79): SELECT codingType(5): CodingType FROM uca => [ -- Uncompressed array bitsPerSample(6): CARDINAL, wordsPerScanLine(7): CARDINAL, scanLinesPerBlock(8): INTEGER, -- -1 means no blocking paddingPerBlock(9): CARDINAL -- in words ], ENDCASE ]; PlacementPart: TYPE = MACHINE DEPENDENT RECORD [ part: PartHeader, xLeft: INTEGER, yBottom: INTEGER, xWidth: INTEGER, yHeight: INTEGER ]; PhotometryPart: TYPE = MACHINE DEPENDENT RECORD [ part: PartHeader, signal: SignalType, sense: Sense, scaleType: ScaleType, pointA: Point, pointB: Point, pointC: Point, spotType: SpotType, spotWidth: INTEGER, -- in units of 100*(width in pixels) spotLength: INTEGER, -- in units of 100*(length in scanlines) sampleMin: INTEGER, sampleMax: INTEGER, histogramLength: INTEGER, histogram: SEQUENCE COMPUTED CARDINAL OF INTEGER ]; SignalType: TYPE = MACHINE DEPENDENT {blackAndWhite(0), red(1), blue(2), green(3), cyan(4), magenta(5), yellow(6), x(7), y(8), RGB(100), CMY(101), CMYB(102), Yxy(103), comments(177776B), undefined(177777B)}; Sense: TYPE = MACHINE DEPENDENT {largerIsLighter(0), largerIsDarker(1), undefined(177777B)}; ScaleType: TYPE = MACHINE DEPENDENT {reflectance(1), density(2), comments(177776B), undefined(177777B)}; Point: TYPE = MACHINE DEPENDENT RECORD [sample: INTEGER, level: INTEGER]; SpotType: TYPE = MACHINE DEPENDENT {rectangular(1), circular(2), comments(177776B), undefined(177777B)}; CommentPart: TYPE = MACHINE DEPENDENT RECORD [ part: PartHeader, chars: PACKED SEQUENCE COMPUTED CARDINAL OF CHARACTER ]; }.  AISFormat.mesa Last changed by Maureen Stone, 8-Oct-81 11:31:05 Last changed by Doug Wyatt, 13-Aug-81 15:41:02 Definition of AIS (Array of Intensity Samples) file format followed by Histogram if histogramLength is not 0 or -1 Comment string is chars[1..LOOPHOLE[chars[0],CARDINAL]] ÊR˜Jšœ™Jšœ0™0Jšœ.™.J˜Jšœ:™:J˜Jšœ Ïk œ˜J˜Jšœ œ ˜J˜Jšœœ˜!J˜JšœœÏc6˜LJ˜š œœœ œœ˜)Jšœ œœ˜.J˜—šœ œœ œ ˜+J˜;J˜—Jš œ œœ œœ%˜PJ˜Jšœ œœ œ ˜.J˜š œ œœ œœ˜-J˜Jšœœ˜Jšœœ˜Jšœ œ˜Jšœœ˜šœœ˜6šœ ž˜Jšœœ˜Jšœœ˜Jšœœž˜6Jšœœž ˜(J˜—Jš˜—J˜J˜—š œœœ œœ˜0J˜Jšœœ˜Jšœ œ˜Jšœœ˜Jšœ ˜J˜J˜—š œœœ œœ˜1J˜J˜J˜J˜J˜J˜J˜J˜Jšœ œž$˜8Jšœ œž(˜=Jšœ œ˜Jšœ œ˜Jšœœ˜Jšœ7™7Jš œ œœœœ˜0J˜J˜J˜—šœ œœ œ˜7J˜FJšœœœ˜(J˜'J˜—šœœœ œ(˜GJ˜J˜—šœ œœ œ˜@J˜'J˜—Jš œœœ œœ œ œ˜IJ˜šœ œœ œ˜@J˜'J˜—š œ œœ œœ˜.J˜Jš œœœœœœ ˜5J˜—Jšœ7™7J˜J˜J˜—…—¨