-- Compiler GriffinFontDefs -- Stone, February 18, 1980 5:02 PM -- Tiberi January 24, 1980 4:58 PM -- interface module for griffin fonts -- Last Edited by: Stone, December 28, 1983 3:56 pm DIRECTORY StyleDefs, Rope USING [ROPE], Graphics USING [Context], PointDefs USING[ObjPt]; GriffinFontDefs: DEFINITIONS = BEGIN -- rotation in minutes, face as in Fonts.Widths FontDescriptor: TYPE = RECORD [name: Rope.ROPE, rotation, face, points: CARDINAL]; Rot0Degrees: CARDINAL = 0; Rot90Degrees: CARDINAL = 5400; Rot180Degrees: CARDINAL = 10800; Rot270Degrees: CARDINAL = 16200; Regular: CARDINAL = 0; Italic: CARDINAL = 1; Bold: CARDINAL = 2; BoldItalic: CARDINAL = Bold + Italic; FontDescriptorHandle: TYPE = REF FontDescriptor; ForAllFonts: PROCEDURE[do: PROCEDURE[font: FontDescriptorHandle]]; DisplayString: PROCEDURE [string: Rope.ROPE, anchorPt: PointDefs.ObjPt, anchor: StyleDefs.Anchor, orientation: StyleDefs.Orientation, fd: FontDescriptorHandle, dc: Graphics.Context]; --The following metrics are in Object coordinates Width, Height: PROCEDURE [c: CHARACTER, fd: FontDescriptorHandle] RETURNS [REAL]; StringWidth, StringHeight: PROCEDURE [string: Rope.ROPE, fd: FontDescriptorHandle, orientation: StyleDefs.Orientation] RETURNS [REAL]; MaxWidth, MaxHeight, MaxPosExtent: PROCEDURE [fd: FontDescriptorHandle] RETURNS [REAL]; TopLeft: PROCEDURE [anchorPt: PointDefs.ObjPt, height, width: REAL, --same coordinates as anchorPt anchor: StyleDefs.Anchor, orientation: StyleDefs.Orientation, rotation: CARDINAL] RETURNS [tl: PointDefs.ObjPt]; BltChar: PROCEDURE [char: CHARACTER, tl: PointDefs.ObjPt, fd: FontDescriptorHandle]; FontError: SIGNAL; ErrorType: TYPE = {nofonts, nowidths}; StartupFontError: SIGNAL[type: ErrorType]; END. Ź˜JšzĻc„œœĻk œžœžœ žœžœž œžœ0œžœžœ žœžœžœžœžœžœžœžœ žœžœ)žœžœĻn œž œž œ Ÿ œž œžœ’2œĻbœŸœž œž œžœžœ  œŸ œž œžœAžœžœ œŸ œž œžœžœŸœž œ.žœĻiœOžœžœŸœž œž œ?žœ žœ*žœžœ˜š —…—ņ