home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c034 / 7.ddi / INC11 / PMFONT.H$ / PMFONT.bin
Encoding:
Text File  |  1990-01-09  |  3.7 KB  |  119 lines

  1. /*******************************Module*Header******************************\
  2. *
  3. * Module Name: PMFONTS.H
  4. *
  5. * Include file that declares types for fonts.
  6. *
  7. * Copyright (c) 1989-1990, Microsoft Corporation. All rights reserved.
  8. *
  9. \*******************************Module*Header******************************/
  10.  
  11. typedef struct _FOCAMETRICS { /* foca */
  12.     ULONG   ulIdentity;
  13.     ULONG   ulSize;
  14.     CHAR    szFamilyname[32];
  15.     CHAR    szFacename[32];
  16.     SHORT   usRegistryId;
  17.     SHORT   usCodePage;
  18.     SHORT   yEmHeight;
  19.     SHORT   yXHeight;
  20.     SHORT   yMaxAscender;
  21.     SHORT   yMaxDescender;
  22.     SHORT   yLowerCaseAscent;
  23.     SHORT   yLowerCaseDescent;
  24.     SHORT   yInternalLeading;
  25.     SHORT   yExternalLeading;
  26.     SHORT   xAveCharWidth;
  27.     SHORT   xMaxCharInc;
  28.     SHORT   xEmInc;
  29.     SHORT   yMaxBaselineExt;
  30.     SHORT   sCharSlope;
  31.     SHORT   sInlineDir;
  32.     SHORT   sCharRot;
  33.     USHORT  usWeightClass;
  34.     USHORT  usWidthClass;
  35.     SHORT   xDeviceRes;
  36.     SHORT   yDeviceRes;
  37.     SHORT   usFirstChar;
  38.     SHORT   usLastChar;
  39.     SHORT   usDefaultChar;
  40.     SHORT   usBreakChar;
  41.     SHORT   usNominalPointSize;
  42.     SHORT   usMinimumPointSize;
  43.     SHORT   usMaximumPointSize;
  44.     SHORT   fsTypeFlags;
  45.     SHORT   fsDefn;
  46.     SHORT   fsSelectionFlags;
  47.     SHORT   fsCapabilities;
  48.     SHORT   ySubscriptXSize;
  49.     SHORT   ySubscriptYSize;
  50.     SHORT   ySubscriptXOffset;
  51.     SHORT   ySubscriptYOffset;
  52.     SHORT   ySuperscriptXSize;
  53.     SHORT   ySuperscriptYSize;
  54.     SHORT   ySuperscriptXOffset;
  55.     SHORT   ySuperscriptYOffset;
  56.     SHORT   yUnderscoreSize;
  57.     SHORT   yUnderscorePosition;
  58.     SHORT   yStrikeoutSize;
  59.     SHORT   yStrikeoutPosition;
  60.     SHORT   usKerningPairs;
  61.     SHORT   usKerningTracks;
  62.     PSZ     pszDeviceNameOffset;
  63. } FOCAMETRICS;
  64. typedef FOCAMETRICS FAR *PFOCAMETRICS;
  65.  
  66. typedef struct _FONTDEFINITIONHEADER { /* fdh */
  67.     ULONG   ulIdentity;
  68.     ULONG   ulSize;
  69.     SHORT   fsFontdef;
  70.     SHORT   fsChardef;
  71.     SHORT   usCellSize;
  72.     SHORT   xCellWidth;
  73.     SHORT   yCellHeight;
  74.     SHORT   xCellIncrement;
  75.     SHORT   xCellA;
  76.     SHORT   xCellB;
  77.     SHORT   xCellC;
  78.     SHORT   pCellBaseOffset;
  79. } FONTDEFINITIONHEADER;
  80. typedef FONTDEFINITIONHEADER FAR *PFONTDEFINITIONHEADER;
  81.  
  82. #define FONTDEFFONT1 0x0047  /* set width, height, inc. & base offset */
  83. #define FONTDEFFONT2 0x0042  /* set height & base offset              */
  84. #define FONTDEFFONT3 0x0042  /* set height & base offset              */
  85. #define FONTDEFCHAR1 0x0081  /* set char offset and width             */
  86. #define FONTDEFCHAR2 0x0081  /* set char offset and width             */
  87. #define FONTDEFCHAR3 0x00b8  /* set char offset, A, B, and C space    */
  88. #define SPACE_UNDEF  0x8000  /* space undefined = take default        */
  89.  
  90. typedef struct _FONTSIGNATURE { /* fs */
  91.     ULONG   ulIdentity;
  92.     ULONG   ulSize;
  93.     CHAR    achSignature[12];
  94. } FONTSIGNATURE;
  95. typedef FONTSIGNATURE FAR *PFONTSIGNATURE;
  96.  
  97. typedef struct _FOCAFONT { /* ff */
  98.     FONTSIGNATURE     fsSignature;
  99.     FOCAMETRICS      fmMetrics;
  100.     FONTDEFINITIONHEADER fdDefinitions;
  101. } FOCAFONT;
  102. typedef FOCAFONT FAR *PFOCAFONT;
  103.  
  104. #define FONT_SIGNATURE   0xFFFFFFFE /* Identity header start */
  105. #define FONT_METRICS     0x00000001 /* Identity metrics      */
  106. #define FONT_DEFINITION  0x00000002 /* Identity definition   */
  107. #define FONT_ENDRECORD   0xFFFFFFFF /* Identity record end   */
  108.  
  109. /* Options for QueryFonts */
  110.  
  111. #define QUERY_PUBLIC_FONTS   0x0001
  112. #define QUERY_PRIVATE_FONTS  0x0002
  113.  
  114. #define CDEF_GENERIC         0x0001
  115. #define CDEF_BOLD            0x0002
  116. #define CDEF_ITALIC          0x0004
  117. #define CDEF_UNDERSCORE      0x0008
  118. #define CDEF_STRIKEOUT       0x0010
  119.