home *** CD-ROM | disk | FTP | other *** search
- /***************************************************************************\
- *
- * Module Name: PMFONT.H
- *
- * OS/2 Presentation Manager type declarations for Fonts.
- *
- * Copyright (c) 1989-1990, Microsoft Corporation. All rights reserved.
- *
- \***************************************************************************/
-
- #define PMFONT_INCLUDED
-
- typedef struct _FOCAMETRICS { /* foca */
- ULONG ulIdentity;
- ULONG ulSize;
- CHAR szFamilyname[32];
- CHAR szFacename[32];
- SHORT usRegistryId;
- SHORT usCodePage;
- SHORT yEmHeight;
- SHORT yXHeight;
- SHORT yMaxAscender;
- SHORT yMaxDescender;
- SHORT yLowerCaseAscent;
- SHORT yLowerCaseDescent;
- SHORT yInternalLeading;
- SHORT yExternalLeading;
- SHORT xAveCharWidth;
- SHORT xMaxCharInc;
- SHORT xEmInc;
- SHORT yMaxBaselineExt;
- SHORT sCharSlope;
- SHORT sInlineDir;
- SHORT sCharRot;
- USHORT usWeightClass;
- USHORT usWidthClass;
- SHORT xDeviceRes;
- SHORT yDeviceRes;
- SHORT usFirstChar;
- SHORT usLastChar;
- SHORT usDefaultChar;
- SHORT usBreakChar;
- SHORT usNominalPointSize;
- SHORT usMinimumPointSize;
- SHORT usMaximumPointSize;
- SHORT fsTypeFlags;
- SHORT fsDefn;
- SHORT fsSelectionFlags;
- SHORT fsCapabilities;
- SHORT ySubscriptXSize;
- SHORT ySubscriptYSize;
- SHORT ySubscriptXOffset;
- SHORT ySubscriptYOffset;
- SHORT ySuperscriptXSize;
- SHORT ySuperscriptYSize;
- SHORT ySuperscriptXOffset;
- SHORT ySuperscriptYOffset;
- SHORT yUnderscoreSize;
- SHORT yUnderscorePosition;
- SHORT yStrikeoutSize;
- SHORT yStrikeoutPosition;
- SHORT usKerningPairs;
- SHORT sFamilyClass;
- PSZ pszDeviceNameOffset;
- } FOCAMETRICS;
- typedef FOCAMETRICS FAR *PFOCAMETRICS;
-
- typedef struct _FONTDEFINITIONHEADER { /* fdh */
- ULONG ulIdentity;
- ULONG ulSize;
- SHORT fsFontdef;
- SHORT fsChardef;
- SHORT usCellSize;
- SHORT xCellWidth;
- SHORT yCellHeight;
- SHORT xCellIncrement;
- SHORT xCellA;
- SHORT xCellB;
- SHORT xCellC;
- SHORT pCellBaseOffset;
- } FONTDEFINITIONHEADER;
- typedef FONTDEFINITIONHEADER FAR *PFONTDEFINITIONHEADER;
-
- #define FONTDEFFONT1 0x0047 /* set width, height, inc. & base offset */
- #define FONTDEFFONT2 0x0042 /* set height & base offset */
- #define FONTDEFFONT3 0x0042 /* set height & base offset */
- #define FONTDEFCHAR1 0x0081 /* set char offset and width */
- #define FONTDEFCHAR2 0x0081 /* set char offset and width */
- #define FONTDEFCHAR3 0x00b8 /* set char offset, A, B, and C space */
- #define SPACE_UNDEF 0x8000 /* space undefined = take default */
-
- typedef struct _FONTSIGNATURE { /* fs */
- ULONG ulIdentity;
- ULONG ulSize;
- CHAR achSignature[12];
- } FONTSIGNATURE;
- typedef FONTSIGNATURE FAR *PFONTSIGNATURE;
-
- typedef struct _FOCAFONT { /* ff */
- FONTSIGNATURE fsSignature;
- FOCAMETRICS fmMetrics;
- FONTDEFINITIONHEADER fdDefinitions;
- } FOCAFONT;
- typedef FOCAFONT FAR *PFOCAFONT;
-
- #define FONT_SIGNATURE 0xfffffffe /* Identity header start */
- #define FONT_METRICS 0x00000001 /* Identity metrics */
- #define FONT_DEFINITION 0x00000002 /* Identity definition */
- #define FONT_ENDRECORD 0xffffffff /* Identity record end */
-
- /* Options for QueryFonts */
-
- #define QUERY_PUBLIC_FONTS 0x0001
- #define QUERY_PRIVATE_FONTS 0x0002
-
- #define CDEF_GENERIC 0x0001
- #define CDEF_BOLD 0x0002
- #define CDEF_ITALIC 0x0004
- #define CDEF_UNDERSCORE 0x0008
- #define CDEF_STRIKEOUT 0x0010
- #define CDEF_OUTLINE 0x0020
-