-- Fonts.mesa  (last edited by: Jim Frandeen, August 29, 1980  3:23 PM)

Fonts: DEFINITIONS =
  BEGIN

  FontRecord: TYPE = RECORD [
    -- Quad-word aligned 
    font: LONG POINTER TO FontBody,
    rgflags: Rgflags,
    height: CARDINAL];

  Rgflags: TYPE = LONG POINTER TO PACKED ARRAY CHARACTER OF Flags;

  Flags: TYPE = RECORD [pad: BOOLEAN, stop: BOOLEAN];

  CharEntry: TYPE = MACHINE DEPENDENT RECORD [
    leftKern: BOOLEAN,  -- If true, character has one bit hanging out past left edge
    rightKern: BOOLEAN,  -- If true, character has one bit hanging out past right edge
    offset: CARDINAL [0..37777B],  -- 14 bit offset to first word for this character
    mica: CARDINAL]; -- Mica width for this characer

  FontBody: TYPE = MACHINE DEPENDENT RECORD [
    char: ARRAY CHARACTER OF CharEntry, -- 512 words
    widths: PACKED ARRAY CHARACTER OF CARDINAL [0..377B], -- 128 words
    bits: ARRAY [0..0) OF UNSPECIFIED];


  -- Note that the 14 bit offset to the character is measured from the bits origin, not D0Font. This is a word offset to the first scan line of the character. As a temporary implementation restriction, each scan line of the character starts on a word boundary. 

  END.	-- of Fonts

LOG
7-25-80 -- Guyton -- Created.
July 30, 1980  10:35 AM -- Jim Frandeen -- added D0FontHandle.
July 30, 1980  10:35 AM -- Jim Frandeen -- Remove D0FontHandle.