|
|
1.1 root 1: /*static char *SCCSID = "@(#)pmfont.h 13.2 89/02/01";*/
2: /***************************************************************************\
3: *
4: * Module Name: PMFONT.H
5: *
6: * OS/2 Presentation Manager type declarations for Fonts.
7: *
8: * Copyright (c) International Business Machines Corporation 1981, 1988, 1989
9: * Copyright (c) Microsoft Corporation 1981, 1988, 1989
10: *
11: \***************************************************************************/
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.