RasterFontIO.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Michael Plass, May 20, 1985 10:43:46 am PDT
DIRECTORY
ImagerPixelMap USING [DeviceRectangle, PixelMap],
Rope USING [ROPE];
RasterFontIO: CEDAR DEFINITIONS
~ BEGIN
InternalFont: TYPE ~ REF InternalFontRep;
InternalFontRep: TYPE ~ RECORD [
family: Rope.ROPENIL,
face: [0..255] ← 0,
bitsPerEmQuad: REAL ← 0,
bitsPerInch: REAL ← 72,
defaultChar: InternalCharRep,
charRep: ARRAY CHAR OF InternalCharRep
];
InternalCharRep: TYPE ~ RECORD [
fWidth, sWidth: REAL,
pixels: ImagerPixelMap.PixelMap
];
Load: PROC [fileName: Rope.ROPE] RETURNS [InternalFont];
may raise:
FormatError: ERROR [byteIndex: INT];
Create: PROC [defaultBoxBounds: ImagerPixelMap.DeviceRectangle, defaultWidth: INTEGER] RETURNS [InternalFont];
ComputeFontMetrics: PROC [internalFont: InternalFont] RETURNS [bc, ec: CHAR, sMin, fMin, sMax, fMax: INTEGER, maxWidth, totalWidth, fSizeStrike: CARDINAL];
Trim: PROC [internalFont: InternalFont];
Removes extra zero bits from all the rasters.
WriteStrike: PROC [internalFont: InternalFont, fileName: Rope.ROPE];
WriteKernedStrike: PROC [internalFont: InternalFont, fileName: Rope.ROPE];
WriteAC: PROC [internalFont: InternalFont, fileName: Rope.ROPE];
END.