<> <> DIRECTORY ImagerFont USING [Extents, XChar], Rope USING [ROPE]; MathTypes: CEDAR DEFINITIONS ~ BEGIN AtomValue: TYPE ~ REF AtomValueRep; AtomCharValue: TYPE ~ REF char AtomValueRep; AtomRopeValue: TYPE ~ REF rope AtomValueRep; AtomBoxValue: TYPE ~ REF box AtomValueRep; AtomOtherValue: TYPE ~ REF other AtomValueRep; AtomValueRep: TYPE ~ RECORD [ SELECT type:* FROM char => [char: ImagerFont.XChar], rope => [rope: Rope.ROPE], box => [box: ImagerFont.Extents], other => [other: REF ANY], ENDCASE ]; Style: TYPE ~ RECORD [ font: Rope.ROPE, -- pathname of font file to use scale: REAL _ 1.0, -- scaling factor for font to normalize bounding box sizes looks: REF ANY _ NIL -- to be determined ]; FormatClass: TYPE ~ {atom, paren, binaryOp, unaryOp, op, relation, over, matrix, radical, other}; END.