DEFINITION MODULE BulletD; (*$IMPLEMENTATION:=FALSE*)
(* 30-May-93/bp *)

FROM SYSTEM IMPORT
  ADDRESS;
FROM ExecD IMPORT
  Library,LibraryPtr,MinNode;

CONST
  tagUser=LONGCARD(80000000H); (* Minimiere Importe! *)

  bulletName="bullet.library";

TYPE
  BulletBasePtr=POINTER TO BulletBase;
  BulletBase=RECORD
    lib: Library;
  END;

(* diskfont/glyph.h *)
TYPE
  GlyphEngine=RECORD
    library:LibraryPtr;
    name:ADDRESS;
  END;
  GlyphEnginePtr=POINTER TO GlyphEngine;

  FIXED=LONGCARD;

  GlyphMap=RECORD
    bmModulo:CARDINAL;
    bmRows:CARDINAL;
    blackLeft:CARDINAL;
    blackTop:CARDINAL;
    blackWidth:CARDINAL;
    xOrigin:FIXED;
    yOrigin:FIXED;
    x0:CARDINAL;
    y0:CARDINAL;
    x1:CARDINAL;
    y1:CARDINAL;
    width:FIXED;
    bitMap:ADDRESS;
  END;
  GlyphMapPtr=POINTER TO GlyphMap;

  GlyphWidthEntry=RECORD
    node:MinNode;
    code:CARDINAL;
  END;
  GlyphWidthEntryPtr=POINTER TO GlyphWidthEntry;

(* diskfont/oterrors.h *)
CONST
  oterrFailure=-1;
  oterrSuccess=0;
  oterrBadTag=1;
  oterrUnknownTag=2;
  oterrBadData=3;
  oterrNoMemory=4;
  oterrNoFace=5;
  oterrBadFace=6;
  oterrNoGlyph=7;
  oterrBadGlyph=8;
  oterrNoShear=9;
  oterrNoRotate=10;
  oterrTooSmall=11;
  oterrUnknownGlyph=12;

(* diskfont/diskfonttag.h *)
CONST
  otLevel0=tagUser;
  otLevel1=tagUser+1000H;
  otLevel2=tagUser+2000H;
  otLevel3=tagUser+3000H;
  otIndirect=8000H;

  otDeviceDPI=otLevel0+01H;
  otDotSize=otLevel0+02H;
  otPointHeight=otLevel0+08H;
  otSetFactor=otLevel0+09H;
  otShearSin=otLevel0+0AH;
  otShearCos=otLevel0+0BH;
  otRotateSin=otLevel0+0CH;
  otRotateCos=otLevel0+0DH;
  otEmboldenX=otLevel0+0EH;
  otEmboldenY=otLevel0+0FH;
  otPointSize=otLevel0+10H;
  otGlyphCode=otLevel0+11H;
  otGlyphCode2=otLevel0+12H;
  otGlyphWidth=otLevel0+13H;
  otOTagPath=otLevel0+otIndirect+14H;
  otOTagList=otLevel0+otIndirect+15H;
  otGlyphMap=otLevel0+otIndirect+20H;
  otWidthList=otLevel0+otIndirect+21H;
  otTextKernPair=otLevel0+otIndirect+22H;
  otDesignKernPair=otLevel0+otIndirect+23H;
  otUnderLined=otLevel0+24H;
  otulNone=0;
  otulSolid=1;
  otulBroken=2;
  otulDoubleSolid=3;
  otulDoubleBroken=4;
  otStrikeThrough=otLevel0+25H;

  otSuffix=".otag";

  otFileIdent=otLevel1+01H;

  oteBullet="bullet";

  otFamily=otLevel1+otIndirect+03H;

  otBName=otLevel2+otIndirect+05H;
  otIName=otLevel2+otIndirect+06H;
  otBIName=otLevel2+otIndirect+07H;

  otSymbolSet	=otLevel1+10H;
  otYSizeFactor	=otLevel1+11H;
  otSpaceWidth	=otLevel2+12H;
  otIsFixed	=otLevel2+13H;
  otSerifFlag	=otLevel1+14H;
  otStemWeight	=otLevel1+15H;
  otsUltraThin=8;
  otsExtraThin=24;
  otsThin=40;
  otsExtraLight=56;
  otsLight=72;
  otsDemiLight=88;
  otsSemiLight=104;
  otsBook=120;
  otsMedium=136;
  otsSemiBold=152;
  otsDemiBold=168;
  otsBold=184;
  otsExtraBold=200;
  otsBlack=216;
  otsExtraBlack=232;
  otsUltraBlack=248;

  otSlantStyle=otLevel1+16H;
  otsUpright=0;
  otsItalic=1;
  otsLeftItalic=2;

  otHorizStyle=otLevel1+17H;
  othUltraCompressed=16;
  othExtraCompressed=48;
  othCompressed=80;
  othCondensed=112;
  othNormal=144;
  othSemiExpanded=176;
  othExpanded=208;
  othExtraExpanded=240;

  otSpaceFactor=otLevel2+18H;

  otInhibitAlgoStyle=otLevel2+19H;

  otAvailSizes=otLevel1+otIndirect+20H;
  otMaxavailsizes=20;

  otSpecCount=otLevel1+100H;
  otSpec=otLevel1+100H;
  otSpec1=otLevel1+101H;

END BulletD.noimp
