DIRECTORY Graphics USING [FontRef], Rope USING [ROPE]; VFonts: CEDAR DEFINITIONS = BEGIN Font: TYPE = REF FontObject; defaultFont: Font; defaultGFont: Graphics.FontRef; GraphicsFont: PROC [vFont: Font] RETURNS [Graphics.FontRef] = INLINE {RETURN[vFont.gFont]} ; EstablishFont: PUBLIC PROC [family: Rope.ROPE, size: CARDINAL, bold: BOOL _ FALSE, italic: BOOL _ FALSE, defaultOnFailure: BOOL _ TRUE] RETURNS [Font] ; CharWidth: PROC [char: CHAR, font: Font _ defaultFont] RETURNS [[0..LAST[INTEGER]]] = INLINE {RETURN[font.width[char]]}; StringWidth: PROC [string: Rope.ROPE, font: Font _ defaultFont] RETURNS [[0..LAST[INTEGER]]] ; FontHeight: PROC [font: Font _ defaultFont] RETURNS [[0..LAST[INTEGER]]] = INLINE {RETURN [font.height]} ; FontAscent: PROC [font: Font _ defaultFont] RETURNS [[0..LAST[INTEGER]]] = INLINE {RETURN [font.ascent]} ; XInSegment: PROC [char: CHAR, font: Font] RETURNS [CARDINAL] = TRUSTED INLINE {RETURN[font.xInSegment[char]]} ; Error: ERROR [code: ErrorCode] ; ErrorCode: TYPE = {illegalFormat, fontNotFound} ; FontObject: TYPE = PRIVATE RECORD [ height: CARDINAL _ NULL, ascent: CARDINAL _ NULL, kerned: BOOL _ NULL, width: PACKED ARRAY CHAR[0C..177C] OF [0..256) _ NULL, raster: CARDINAL _ NULL, maxWidth: CARDINAL _ NULL, min, max: CHAR _ NULL, address: LONG POINTER _ NIL, bitmap: LONG POINTER TO ARRAY [0..0) OF WORD _ NULL, xInSegment: LONG POINTER TO ARRAY CHAR[0C..0C) OF CARDINAL _ NULL, family: Rope.ROPE _ NIL, size: CARDINAL _ NULL, -- in points gFont: Graphics.FontRef _ NIL, bold: BOOL _ FALSE, italic: BOOL _ FALSE, synthBold: BOOL _ FALSE, synthItalic: BOOL _ FALSE, next: Font _ NIL ]; END. hVFonts.mesa; Last Edited by McGregor, September 1, 1982 2:37 pm Last Edited by: Maxwell, January 3, 1983 12:12 pm This package is intended as a temporary solution to the problem of different font formats in the Graphics, Viewers, and Tioga worlds. Clients of Viewers should always use this package to create new fonts and then use the GraphicsFont interface to acquire a Graphics.FontRef if they need one. Returns a Graphics style font given a VFont.Font Build a (possibly) new font. The default font will be returned on any error condition unless defaultOnFailure is FALSE. Bitblt x offset in font bitmap Κe– "Mesa" style˜JšΟc?™?Jšœ1™1J™šΟk ˜ Jšœ žœ ˜Jšœžœžœ˜J˜—Jšœžœž˜!J˜Jš€™€J˜Jšœžœžœ ˜J˜J˜J˜J˜šΟn œžœžœž˜DJšœžœ˜Jš0™0J˜—šŸ œžœžœžœžœžœžœ˜RJš œžœžœžœžœžœ ˜EJšx™xJ˜—šŸ œžœžœ˜6Jš žœžœžœžœžœ˜AJ˜—šŸ œžœžœ˜?Jšžœžœžœ˜J˜—š Ÿ œžœžœžœžœ˜JJšžœžœ˜J˜—š Ÿ œžœžœžœžœ˜JJšžœžœ˜J˜—š Ÿ œžœžœžœžœ˜>Jšžœžœ˜0Jš™J˜—Jšœžœ˜ Jšœ žœ"˜1J˜šœ žœžœžœ˜#Jšœžœžœ˜Jšœžœžœ˜Jšœžœžœ˜Jš œžœžœžœ žœ žœ˜6Jšœžœžœ˜Jšœ žœžœ˜Jšœ žœžœ˜Jšœ žœžœžœ˜Jšœžœžœžœžœžœžœžœ˜4Jšœ žœžœžœžœžœ žœžœžœ˜BJšœ žœžœ˜Jšœžœžœ ˜#Jšœžœ˜Jšœžœžœ˜Jšœžœžœ˜Jšœ žœžœ˜Jšœ žœžœ˜Jšœ ž˜J˜J˜—Jšžœ˜J˜J˜—…—v C