<> <> <> <> <> DIRECTORY UFont USING [Key], Rope USING [ROPE]; UFFontDirReader: CEDAR DEFINITIONS = BEGIN Key: TYPE = UFont.Key; GraphicsType: TYPE = {none, press, sd, strike}; DeviceType: TYPE = ATOM; ROPE: TYPE = Rope.ROPE; ExamineProc: TYPE = PROCEDURE [ candidateFontName: REF READONLY TEXT, candidateSize, candidateMaxSize, candidateMinSize: REAL, candidateRotation: REAL, candidateDeviceType: DeviceType ] RETURNS [match: BOOLEAN _ FALSE]; ResultProc: TYPE = PROCEDURE [ candidateFontName: REF READONLY TEXT, candidateSize, candidateMaxSize, candidateMinSize: REAL, candidateRotation: REAL, candidateDeviceType: DeviceType, codeScheme: Key, metricsType: ATOM, metricsName: Key, graphicsType: ATOM, graphicsName: Key ] RETURNS [quit: BOOLEAN _ TRUE]; EnumerateFontDirectory: PROCEDURE [fontDirectoryName: ROPE, examine: ExamineProc, result: ResultProc]; <> END. <<>>