StrikeFontFormat: CEDAR DEFINITIONS = BEGIN Flag: TYPE = MACHINE DEPENDENT {F(0), T(1)}; Header: TYPE = MACHINE DEPENDENT RECORD[ oneBit(0:0..0): Flag, -- always T index(0:1..1): Flag, -- F for simple strike, T for strike index fixed(0:2..2): Flag, -- T if all characters have same width kerned(0:3..3): Flag, -- T if Kerned, F if Plain unused(0:4..15): [0..7777B], -- should be 0 min(1), max(2): CARDINAL, -- minimum, maximum character codes maxwidth(3): CARDINAL -- maximum spacing width of any character ]; BoundingBox: TYPE = MACHINE DEPENDENT RECORD[ fbbox(0), fbboy(1): INTEGER, -- bounding box offsets fbbdx(2), fbbdy(3): INTEGER -- bounding box size ]; Body: TYPE = MACHINE DEPENDENT RECORD[ length(0): CARDINAL, -- number of words in strike body ascent(1), descent(2): INTEGER, -- scanlines above and below the baseline xoffset(3): INTEGER, -- always 0 (obsolete) raster(4): CARDINAL -- number of words per scanline in the strike ]; XTable: TYPE = RECORD[SEQUENCE COMPUTED CARDINAL OF CARDINAL]; WidthEntry: TYPE = MACHINE DEPENDENT RECORD[offset,width: [0..377B]]; nullWidthEntry: WidthEntry = [377B,377B]; WTable: TYPE = RECORD[SEQUENCE COMPUTED CARDINAL OF WidthEntry]; END. |StrikeFontFormat.mesa Copyright c 1984, 1985 Xerox Corporation. All rights reserved. Michael Plass, February 15, 1984 8:48:02 am PST Doug Wyatt, March 7, 1985 2:09:55 pm PST PlainStrike: TYPE = MACHINE DEPENDENT RECORD[ header: Header, -- header.kerned=F body: Body -- the strike body ]; KernedStrike: TYPE = MACHINE DEPENDENT RECORD[ header: Header, -- header.kerned=T box: BoundingBox, -- the font bounding box body: Body, -- the strike body wtable: WTable -- table of widths and offsets [header.max-header.min+2 words] ]; followed by bitmap [raster*(ascent+descent) words] followed by XTable [header.max-header.min+3 words] Ê[˜codešœ™Kšœ Ïmœ4™?Kšœ/™/Kšœ(™(—K˜KšÐblœÏkœŸ ˜#KšœŸ˜K˜š œ ŸœŸœŸ œŸœ™-KšœÏc™"Kšœ  ™K™K™—š œŸœŸœŸ œŸœ™.Kšœ ™"Kšœ ™*Kšœ  ™KšœM™MK™K™—Kš œŸœŸœŸ œŸœŸœ˜,K˜š œŸœŸœŸ œŸœ˜(Kšœ  ˜!Kšœ *˜?Kšœ &˜;Kšœ ˜0Kšœ ˜+KšœŸœ #˜=Kšœ Ÿœ )˜?K˜K˜—š œ ŸœŸœŸ œŸœ˜-KšœŸœ ˜4KšœŸœ ˜1K˜K˜—š œŸœŸœŸ œŸœ˜&Kšœ Ÿœ !˜6KšœŸœ )˜IKšœ Ÿœ ˜+Kšœ Ÿœ -˜AKšœ2™2Kšœ2™2K˜K˜—KšœŸœŸœŸœŸœŸœŸœŸœ˜>K˜Kš œ ŸœŸœŸ œŸœ˜EK˜)K˜Kš œŸœŸœŸœŸœŸœŸœ ˜@K˜KšŸœ˜—…—® …