Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

120 lines
3.8 KiB

/***************************************************************************\
*
* Module Name: PMFONT.H
*
* OS/2 Presentation Manager type declarations for Fonts.
*
* Copyright (c) International Business Machines Corporation 1981, 1988, 1989
* Copyright (c) Microsoft Corporation 1981, 1988, 1989
*
\***************************************************************************/
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