mirror of https://github.com/lianthony/NT4.0
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
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
|