MathTypes.mesa
Carl Waldspurger, August 14, 1986 6:35:24 pm PDT
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 ANYNIL -- to be determined
];
FormatClass: TYPE ~ {atom, parens, binaryOp, op, relation, over, matrix, radical, other};
END.