home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 418.lha / DR2D_format / DR2D_ofnt.h < prev    next >
C/C++ Source or Header  |  1990-08-31  |  2KB  |  59 lines

  1. #ifndef IEEE_DEFINED
  2.     typedef long    IEEE;
  3. #endif
  4.  
  5. #define FORM    0x464F524D    /* All fonts are a FORM */
  6.  
  7. struct FORMstruct {
  8.     long    ID;
  9.     long    Size;        /* Total size of the file */
  10. };
  11.  
  12. #define OFNT    0x4F464E54    /* ID of outline font file */
  13.  
  14. #define OFHD    0x4F464844    /* ID of OutlineFontHeaDer */
  15.  
  16. struct OFHDstruct {
  17.     char    FontName[32];    /* Font name, null padded */
  18.     short    FontAttrs;    /* See FA_*, below */
  19.     IEEE    FontTop,    /* Typical height above baseline */
  20.         FontBot,    /* Typical descent below baseline */
  21.         FontWidth;    /* Typical width, i.e. of the letter O */
  22. };
  23.  
  24. #define FA_BOLD        0x0001
  25. #define FA_OBLIQUE    0x0002
  26. #define FA_SERIF    0x0004
  27.  
  28.  
  29. #define KERN    0x4B45524C    /* Kerning pair */
  30.  
  31. struct KERNstruct {
  32.     short    Ch1, Ch2;    /* The pair to kern (allows for 16 bits...) */
  33.     IEEE    XDisplace,    /* Amount to displace -left +right */
  34.         YDisplace;    /* Amount to displace -down +up */
  35. };
  36.  
  37.  
  38. #define CHDF    0x43484446    /* Character definition */
  39.  
  40. struct CHDFstruct {
  41.     short    Ch;        /* The character we're defining (ASCII) */
  42.     short    NumPoints;    /* The number of points in the definition */
  43.     IEEE    XWidth,        /* Position for next char on baseline - X */
  44.         YWidth;        /* Position for next char on baseline - Y */
  45.     /* IEEE    Points[2*NumPoints]*/    /* The actual points */
  46. };
  47.  
  48.  
  49. #define OFNT_IND    0xFFFFFFFF
  50. #ifndef INDICATOR
  51. #define    INDICATOR    0xFFFFFFFF    /* If X == INDICATOR, Y is an action */
  52. #define    IND_SPLINE    0x00000001    /* Next 4 pts are spline control pts */
  53. #define IND_MOVETO    0x00000002    /* Start new subpoly */
  54. #endif
  55. #define IND_STROKE    0x00000004    /* Stroke previous path */
  56. #define IND_FILL    0x00000008    /* Fill previous path */
  57.  
  58. /*** EOF ofnt.h ***/
  59.