<> <> <> <> <> DIRECTORY TSTypes, Tfm, Rope; TSFontTable: CEDAR DEFINITIONS = BEGIN Byte: TYPE = [0..377B]; MetricTable: TYPE = REF MetricTableRec; MetricTableRec: TYPE = RECORD [entry: SEQUENCE length:NAT OF REAL]; Ref: TYPE = REF Record; Record: TYPE = RECORD [ name: Rope.ROPE, -- name of the Tfm file headerInfo: HeaderInfo, -- information from the header bc: CHAR, -- first character code in font ec: CHAR, -- last character code in font fInfoTable: FInfoTable, widthTable: MetricTable, heightTable: MetricTable, depthTable: MetricTable, charIcTable: MetricTable, ligKernProgram: LigKernProgram, kernTable: MetricTable, extTable: ExtTable, parameters: ParamTable]; HeaderInfo: TYPE = REF HeaderInfoRec; HeaderInfoRec: TYPE = RECORD [checkSum: Tfm.Word, -- identifies the version of the font characterCodingScheme: Rope.ROPE, family: Rope.ROPE, designSize: TSTypes.Dimn, face: Byte]; FInfoTable: TYPE = REF FInfoTableRec; FInfoTableRec: TYPE = RECORD [entry: SEQUENCE length:NAT OF FInfoEntry]; FInfoTag: TYPE = Tfm.FInfoTag; FInfoEntry: TYPE = Tfm.FInfoEntry; <> LigKernProgram: TYPE = REF LigKernProgramRec; LigKernProgramRec: TYPE = RECORD [step: SEQUENCE length:NAT OF LigKernStep]; LigOrKern: TYPE = Tfm.LigOrKern; LigKernStep: TYPE = Tfm.LigKernEntry; ExtTable: TYPE = REF ExtTableRec; ExtTableRec: TYPE; -- Tioga does not use extensible characters yet. ParamTable: TYPE = REF ParamTableRec; ParamTableRec: TYPE = RECORD [slantNum, slantDenom: LONG INTEGER, entry: SEQUENCE length:Tfm.ParamIndex OF REAL]; Load: PROCEDURE [name: Rope.ROPE] RETURNS [Ref]; END. Michael Plass, November 2, 1982 10:06 am. CEDARized.