home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c034 / 7.ddi / INCLUDE / PMFONT.H$ / PMFONT.bin
Encoding:
Text File  |  1989-11-06  |  3.4 KB  |  122 lines

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