<> <> <> <> DIRECTORY Rope USING [ROPE], BasicTime USING [GMT], ImagerBasic USING [PixelArray, PathMapType]; PrintFontsPrivate: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE ; FontNotFound: SIGNAL; PrivateFont: TYPE ~ REF PrivateFontRep; <> PrivateFontRep: TYPE ~ RECORD [ family: Rope.ROPE _ NIL, version: INT _ 0, time: BasicTime.GMT, type: PrivateFontType, pointSize: REAL _ 1, --only for outline fonts face: [0..255] _ 0, descent, ascent, maxW: REAL _ 0, bc, ec: CHAR, charRep: ARRAY CHAR OF CharRep ]; CharRep: TYPE ~ RECORD [ width: REAL, pixels: ImagerBasic.PixelArray _ NIL, outline: PathType _ NIL ]; PrivateFontType: TYPE = {raster, outline}; PathType: TYPE = REF PathTypeRec; PathTypeRec: TYPE = RECORD[pathMap: ImagerBasic.PathMapType, pathData: REF]; LoadAC: PROC [fileName: Rope.ROPE] RETURNS [font: PrivateFont]; <> LoadSD: PROC [fileName: Rope.ROPE, pointSize: REAL] RETURNS [font: PrivateFont]; LoadSF: PROC [fileName: Rope.ROPE, pointSize: REAL] RETURNS [font: PrivateFont]; END.