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. `TSFontTable.mesa Definition of font metric table format for the Tioga Typesetter Last changed by Michael Plass, November 2, 1982 10:06 am These formats echo the Tfm formats, but with everything converted to an internal representation. The LigKern table contains instructions for a simple machine that decides how to treat special letter pairs. Κ‘– "Mesa" style˜JšΟc™Jš?™?Jš8™8J˜Jš`™`J˜JšΟk œ˜Jšœ žœ˜!Jšž˜J˜Jšœžœ ˜J˜Jšœ žœžœ˜'šœžœž˜Jš œžœžœžœžœ˜%J˜—Jšœžœžœ˜šœžœžœ˜Jšœ žœ˜(Jšœ˜6Jšœžœ˜)Jšœžœ˜(J˜J˜J˜J˜J˜J˜J˜J˜J˜J˜—Jšœ žœžœ˜%šœžœž˜šœ%˜:Jšœžœ˜!Jšœ žœ˜J˜J˜ J˜——Jšœ žœžœ˜%šœžœž˜Jšœžœžœžœ˜,J˜—Jšœ žœ˜J˜Jšœ žœ˜"J˜Jšl™lJ˜Jšœžœžœ˜-šœžœž˜ Jšœžœžœžœ˜+J˜—Jšœ žœ˜ J˜Jšœ žœ˜%J˜Jšœ žœžœ ˜!Jšœ žœ0˜CJ˜Jšœ žœžœ˜%šœžœž˜šœžœžœ˜$Jšœžœžœžœ˜/J˜——JšΟnœž œ žœžœ˜0J˜Jšžœ˜J˜4—…—Z K