-- TexDefs.Mesa

-- system-wide definitions for TEX
-- Doug Wyatt, November 6, 1979  12:40 PM

TexDefs: DEFINITIONS =
BEGIN

-- characters and fonts

Char: TYPE = CHARACTER[0C..177C]; -- a character code
nFonts: CARDINAL = 32; -- max number of fonts
Font: TYPE = [0..nFonts); -- font code

FChar: TYPE = RECORD[font: Font, char: Char]; -- font and character


-- dimensions

Dimn: TYPE = INTEGER; -- a dimension, measured in micas
BigDimn: TYPE = LONG INTEGER; -- 32-bit dimension
nilDimn: Dimn = FIRST[INTEGER]; -- for default dimensions in rules


-- penalties

Penalty: TYPE = INTEGER;
maxPenalty: Penalty = LAST[INTEGER]; -- largest positive integer


-- hanging indentation

HangSpec: TYPE = RECORD[begin: CARDINAL, first: BOOLEAN, width: Dimn];
nullHang: HangSpec = [begin: 0, first: TRUE, width: 0];


-- other types

Digit: TYPE = [0..9];

Direction: TYPE = {vlist, hlist};
NumberStyle: TYPE = {decimal, roman};

DefType: TYPE = {def, gdef, xdef};
ChngType: TYPE = {code, par};
IfType: TYPE = {pos, even};
BoxType: TYPE = {page, box, vbox, hbox};
TopBotType: TYPE = {top, bot};
MarkType: TYPE = {bot, top, first};
CaseType: TYPE = {upper, lower};

ModeType: TYPE = {v, h, m};

END.