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