<> <> <> <<>> <> <<>> <> DIRECTORY Imager USING [Color, Context, Font, VEC], ImagerFont USING [Extents], NodeStyle USING [Ref, RealParam], NodeStyleOps USING [OfStyle], TextNode USING [Location, Ref]; TEditFormatExtras: CEDAR DEFINITIONS ~ BEGIN <> CharacterArtwork: TYPE ~ REF CharacterArtworkRep; CharacterArtworkRep: TYPE ~ RECORD [ paint: PROC [CharacterArtwork, Imager.Context], extents: ImagerFont.Extents _ [0, 0, 0, 0], escapement: Imager.VEC _ [0, 0], amplified: BOOL _ FALSE, data: REF _ NIL ]; CharacterArtworkClass: TYPE ~ REF CharacterArtworkClassRep; CharacterArtworkClassRep: TYPE ~ RECORD [ name: ATOM, format: PROC [CharacterArtworkClass, TextNode.Location, NodeStyle.Ref, NodeStyleOps.OfStyle] RETURNS [CharacterArtwork], <> data: REF ]; RegisterCharacterArtwork: PROC [class: CharacterArtworkClass]; UnregisterCharacterArtwork: PROC [name: ATOM]; GetCharacterArtworkClass: PROC [ATOM] RETURNS [CharacterArtworkClass]; GetFont: PROC [style: NodeStyle.Ref] RETURNS [Imager.Font]; GetColor: PROC [style: NodeStyle.Ref, h: NodeStyle.RealParam _ textHue, s: NodeStyle.RealParam _ textSaturation, b: NodeStyle.RealParam _ textBrightness] RETURNS [color: Imager.Color]; <> ArtworkEnabled: PROC RETURNS [BOOL]; SetArtworkEnabled: PROC [enabled: BOOL] RETURNS [was: BOOL]; <> <> <> maxHyph: NAT ~ 16; HyphenationPosition: TYPE ~ [0..256) _ 0; HyphenationPositions: TYPE ~ PACKED ARRAY [0..maxHyph) OF HyphenationPosition; HyphProc: TYPE ~ PROC [node: TextNode.Ref, start, len: INT, hyphData: REF] RETURNS [HyphenationPositions]; <> RegisterHyphenation: PROC [hyphenationClass: ATOM, hyphProc: HyphProc, hyphData: REF] RETURNS [oldProc: HyphProc, oldData: REF]; <> END.