-- Font.mesa
-- Last changed by Doug Wyatt, August 22, 1980  1:49 PM

Font: DEFINITIONS = {

Fam: TYPE = [0..377B];
Face: TYPE = [0..377B];

Id: TYPE = RECORD[fam: Fam, face: Face];
nullId: Id = [0,0];

EncodeFam: PROC[family: STRING] RETURNS[Fam];
DecodeFam: PROC[fam: Fam, family: STRING]; -- appends to string

Weight: TYPE = {light, medium, bold} ← medium;
Slope: TYPE = {regular, italic} ← regular;
Expansion: TYPE = {regular, condensed, expanded} ← regular;

EncodeFace: PROC[w: Weight, s: Slope, e: Expansion] RETURNS[Face];
EncodeTexFace: PROC[halfPoints: [0..200]] RETURNS[Face];
DecodeFace: PROC[Face] RETURNS[w: Weight, s: Slope, e: Expansion];
DecodeTexFace: PROC[Face] RETURNS[halfPoints: [0..200]];

FontImpl: PROGRAM;
}.