|
|
1.1 root 1:
2: #define WIDER_LEFT 1
3: #define WIDER_RIGHT 2
4: #define WIDER_BOTH 3
5: #define NARROWER_LEFT 4
6: #define NARROWER_RIGHT 5
7: #define NARROWER_BOTH 6
8: #define WIDTH 7
9: #define BOX_WIDTH 8
10:
11: #define BOX_REFRESH 10 /* Restore char to original form */
12: #define BOX_CLEAR 11
13: #define BOX_FILL 12
14: #define BOX_INV 13
15: #define BOX_HATCH 14
16: #define BOX_UNDO 15 /* Undo last change */
17: #define BOX_LEFTRIGHT 16 /* Flip left to right */
18: #define BOX_TOPBOTTOM 17 /* Flip top over bottom */
19: #define BOX_COPY 18
20: #define BOX_PASTE 19
21:
22: #define ROW_ADD 21
23: #define ROW_DEL 22
24:
25: #define COL_ADD 31
26: #define COL_DEL 32
27:
28:
29: #define ID_EDIT 34
30: #define ID_PATH 35
31: #define ID_LISTBOX 36
32: #define ID_FACE_NAME 37
33: #define ID_FONT_NAME 38
34: #define ID_COPYRIGHT 39
35:
36: #define FONT_START 40 /* Generated if win fontedit arg. */
37:
38: #define FONT_LOAD 41 /* Codes for Font Window */
39: #define FONT_SAVE 42
40: #define FONT_HEADER 43
41: #define FONT_COPY 44
42: #define FONT_PASTE 45 /* Paste in without rescaling */
43: #define FONT_ABOUT 46 /* Display the about box */
44: #define FONT_RESIZE 47 /* Go to Resize Dialog Box */
45: #define FONT_NEW 95 /* Menu id: create new font */
46:
47:
48: #define ID_FIRST_CHAR 48 /* First character in the font */
49: #define ID_LAST_CHAR 49 /* Last character in the font */
50:
51: #define ID_POINTS 50 /* Nominal Point Size */
52: #define ID_VERT_RES 51 /* Nominal Vertical Resolution */
53: #define ID_HORIZ_RES 52 /* Nominal Horizontal Resolution */
54: #define ID_ASCENT 53 /* Height of Ascent */
55: #define ID_EXT_LEADING 54 /* Height of External Leading */
56: #define ID_INT_LEADING 55 /* Height of Internal Leading */
57:
58: #define FONT_EXIT 56 /* exit the font editor */
59:
60: #define ID_ITALIC 60 /* Flag for Italic Fonts */
61: #define ID_UNDERLINE 61 /* Flag for Underlined Fonts */
62: #define ID_STRIKEOUT 62 /* Flag for Struckout Fonts */
63: #define ID_ANSI 63 /* 0 = ANSI, 255 = other */
64: #define ID_OEM 64
65: #define ID_CHAR_SET 65
66: #define ID_DEFAULT_CHAR 66 /* Default for undefined Chars. */
67: #define ID_BREAK_CHAR 67
68: #define ID_SYMBOL 68
69:
70: #define ID_UNKNOWN 70
71: #define ID_ROMAN 71
72: #define ID_SWISS 72 /* Pitch Families */
73: #define ID_MODERN 73
74: #define ID_SCRIPT 74
75: #define ID_DECORATIVE 75
76:
77: #define ID_PIX_HEIGHT 80 /* Height of Characters */
78: #define ID_WIDTH 81 /* Fixed or Maximum Width */
79: #define ID_WIDTH_TEXT 82 /* Caption for above */
80: #define ID_AVERAGE 83 /* Average Character Width */
81: #define ID_FIXED 84 /* Fixed Width Font */
82: #define ID_VARIABLE 85 /* Variable width font */
83:
84: #define ID_THIN 86
85: #define ID_EXTRALIGHT 87
86: #define ID_LIGHT 88
87: #define ID_NORMAL 89
88: #define ID_MEDIUM 90
89: #define ID_SEMIBOLD 91
90: #define ID_BOLD 92
91: #define ID_EXTRABOLD 93
92: #define ID_HEAVY 94
93: #define ID_BOXOPEN 96 /* dialog box frame id for File Open */
94: #define FONT_SAVEAS 97
95:
96: #define ID_FORMAT2 102 /* Windows 2.0 Font Format */
97: #define ID_FORMAT3 103 /* Windows 3.0 Font Format */
98:
99: /* string IDS for strings in resource file - LR */
100: #define IDS_NOMPTSIZENOTOK 0
101: #define IDS_NOMVERTRESNOTOK 1
102: #define IDS_NOMHORRESNOTOK 2
103: #define IDS_ASCENTTOOBIG 3
104: #define IDS_ASCENTNOTOK 4
105: #define IDS_EXTLEADNOTOK 5
106: #define IDS_INTLEADTOOBIG 6
107: #define IDS_INTLEADNOTOK 7
108: #define IDS_CHARSETOUTOFBOUNDS 8
109: #define IDS_DEFCHAROUTSIDEFONT 9
110: #define IDS_DEFCHARNOTOK 10
111: #define IDS_BREAKCHAROUTSIDEFONT 11
112: #define IDS_BREAKCHARNOTOK 12
113: #define IDS_UNKNOWNFACE 13
114: #define IDS_NOVARTOFIXCHANGE 14
115: #define IDS_TOOBIGFOR20 15
116: #define IDS_HEIGHTOUTOFBOUNDS 16
117: #define IDS_WIDTHOUTOFBOUNDS 17
118: #define IDS_CHAR1MORETHANDCHAR 18
119: #define IDS_CHAR1NOTOK 19
120: #define IDS_LASTCHARTOOSMALL 20
121: #define IDS_LASTCHARNOTOK 21
122: #define IDS_CANNOTOPENCLIP 22
123: #define IDS_COPYINGTOCLIP 23
124: #define IDS_NOTENOUGHMEM 24
125: #define IDS_ALLOCATINGSPACE 25
126: #define IDS_FONTEDIT 26
127: #define IDS_FONTSHOW 27
128: #define IDS_DOTFNT 28
129: #define IDS_BLANKDASHBLANK 29
130: #define IDS_ERROROPENINGFILE 30
131: #define IDS_ERRORREADINGHDR 31
132: #define IDS_UNKNOWNFORMAT 32
133: #define IDS_ERRORREADINGBODY 33
134: #define IDS_FILETOOLARGE 34
135: #define IDS_ERRORWRITINGHDR 35
136: #define IDS_ERRORWRITINGOFFSETS 36
137: #define IDS_ERRORWRITINGBODY 37
138: #define IDS_STARDOTFNT 38
139: #define IDS_UNKNOWN 39
140: #define IDS_MAXWIDTH 40
141: #define IDS_CHARPIXELWIDTH 41
142: #define IDS_ABOUT 42
143: #define IDS_DHEADER 43
144: #define IDS_DRESIZE 44
145: #define IDS_DWIDTH 45
146: #define IDS_EDLIMITS0TO64 46
147: #define IDS_MAXWIDTHINCREASE 47
148: #define IDS_CANNOTCHANGEWIDTH 48
149: #define IDS_WARNING 49
150: #define IDS_INCORRECTPIXWIDTH 50
151: #define IDS_MAXWIDTHOUTOFBOUNDS 51
152: #define IDS_AVGWIDTHOUTOFBOUNDS 52
153: #define IDS_WIDTHBYTESNOTOK 53
154: #define IDS_BITSOFFSETNOTOK 54
155: #define IDS_TABLEWIDTHSBAD 55
156: #define IDS_TABLEOFFSETSBAD 56
157: #define IDS_COLOR 57
158: #define IDS_APPWORKSPACE 58
159: #define IDS_FILEREADONLY 59
160:
161: #define IDS_APPNAME 60
162: #define IDS_IFN 61
163: #define IDS_FNF 62
164: #define IDS_REF 63
165: #define IDS_SCC 64
166: #define IDS_EOF 65
167: #define IDS_ECF 66
168: #define IDS_FRO 67
169: #define IDS_EXT 68
170: #define IDS_EXTDESC 69
171: #define IDS_NEW_FONT 70
172: #define IDS_ERRORCLIP 71
173: #define IDS_CHAR 72
174: #define IDS_WIDTH 73
175: #define IDS_HEIGHT 74
176:
177:
178: #define CSTRINGS 75 /* total number of strings in
179: resource file */
180: #define CCHSTRINGSMAX 4096 /* total length of all strings
181: loaded must be <= this */
182: #define CCHCOLORSTRING 15 /* size of App Workspace color inf.
183: string loaded from win.ini */
184: /*****************************************************************************/
185: /* Typedef's etc. */
186: /*****************************************************************************/
187:
188: // typedef unsigned char CHAR; /* ... since we use these to index */
189:
190: /* font file header (Adaptation Guide section 6.4) */
191: typedef struct {
192: WORD Version; /* Always 17985 for the Nonce */
193: DWORD Size; /* Size of whole file */
194: CHAR Copyright[60];
195: WORD Type; /* Raster Font if Type & 1 == 0 */
196: WORD Points; /* Nominal Point size */
197: WORD VertRes; /* Nominal Vertical resolution */
198: WORD HorizRes; /* Nominal Horizontal resolution */
199: WORD Ascent; /* Height of Ascent */
200: WORD IntLeading; /* Internal (Microsoft) Leading */
201: WORD ExtLeading; /* External (Microsoft) Leading */
202: BYTE Italic; /* Italic font if set */
203: BYTE Underline; /* Etc. */
204: BYTE StrikeOut; /* Etc. */
205: WORD Weight; /* Weight: 200 = regular */
206: BYTE CharSet; /* ANSI=0. other=255 */
207: WORD PixWidth; /* Fixed width. 0 ==> Variable */
208: WORD PixHeight; /* Fixed Height */
209: BYTE Family; /* Pitch and Family */
210: WORD AvgWidth; /* Width of character 'X' */
211: WORD MaxWidth; /* Maximum width */
212: BYTE FirstChar; /* First character defined in font */
213: BYTE LastChar; /* Last character defined in font */
214: BYTE DefaultChar; /* Sub. for out of range chars. */
215: BYTE BreakChar; /* Word Break Character */
216: WORD WidthBytes; /* No.Bytes/row of Bitmap */
217: DWORD Device; /* Pointer to Device Name string */
218: DWORD Face; /* Pointer to Face Name String */
219: DWORD BitsPointer; /* Pointer to Bit Map */
220: DWORD BitsOffset; /* Offset to Bit Map */
221: } FontHeaderType; /* Above pointers all rel. to start of file */
222:
223:
224: typedef struct {
225: WORD fsVersion;
226: DWORD fsSize;
227: CHAR fsCopyright[60];
228: WORD fsType; /* Type field for the font */
229: WORD fsPoints; /* Point size of font */
230: WORD fsVertRes; /* Vertical digitization */
231: WORD fsHorizRes; /* Horizontal digitization */
232: WORD fsAscent; /* Baseline offset from char cell top */
233: WORD fsInternalLeading; /* Internal leading included in font */
234: WORD fsExternalLeading; /* Prefered extra space between lines */
235: BYTE fsItalic; /* Flag specifying if italic */
236: BYTE fsUnderline; /* Flag specifying if underlined */
237: BYTE fsStrikeOut; /* Flag specifying if struck out */
238: WORD fsWeight; /* Weight of font */
239: BYTE fsCharSet; /* Character set of font */
240: WORD fsPixWidth; /* Width field for the font */
241: WORD fsPixHeight; /* Height field for the font */
242: BYTE fsPitchAndFamily; /* Flag specifying pitch and family */
243: WORD fsAvgWidth; /* Average character width */
244: WORD fsMaxWidth; /* Maximum character width */
245: BYTE fsFirstChar; /* First character in the font */
246: BYTE fsLastChar; /* Last character in the font */
247: BYTE fsDefaultChar; /* Default character for out of range */
248: BYTE fsBreakChar; /* Character to define wordbreaks */
249: WORD fsWidthBytes; /* Number of bytes in each row */
250: DWORD fsDevice; /* Offset to device name */
251: DWORD fsFace; /* Offset to face name */
252: DWORD fsBitsPointer; /* Bits pointer */
253: DWORD fsBitsOffset; /* Offset to the begining of the bitmap */
254: BYTE fsDBfiller; /* Word alignment for the offset table */
255:
256: DWORD fsFlags; /* Bit flags */
257: WORD fsAspace; /* Global A space, if any */
258: WORD fsBspace; /* Global B space, if any */
259: WORD fsCspace; /* Global C space, if any */
260: DWORD fsColorPointer; /* offset to color table, if any */
261: DWORD fsReserved[4]; /* */
262: BYTE fsCharOffset; /* Area for storing the char. offsets */
263:
264: } FontHeader30;
265:
266: #define CCHEXTRA 31 /* no. of extra bytes in the 3.0 header */
267:
268: //
269: // These are the old glyph info structures. Since they are not DWORD aligned
270: // they must be converted to new structure types.
271: //
272:
273: typedef struct{
274: SHORT GIwidth;
275: SHORT GIoffset;
276: } GLYPHINFO_20;
277:
278: typedef struct{
279: SHORT GIwidth;
280: LONG GIoffset;
281: } GLYPHINFO_30;
282:
283: #define ClipBoard TRUE
284:
285: LONG APIENTRY FontEditWndProc(HWND, WORD, WPARAM, LONG);
286: LONG APIENTRY FontShowWndProc(HWND, WORD, WPARAM, LONG);
287: BOOL APIENTRY
288: HeaderProc(
289: HWND hDial,
290: WORD message,
291: WPARAM wParam,
292: LPARAM lParam
293: );
294: BOOL APIENTRY
295: ReSizeProc(
296: HWND hDial,
297: WORD message,
298: WPARAM wParam,
299: LPARAM lParam
300: );
301: BOOL APIENTRY
302: WidthProc(
303: HWND hDial,
304: WORD message,
305: WPARAM wParam,
306: LPARAM lParam
307: );
308:
309: CHAR * FontLoad(CHAR *, OFSTRUCT *);
310: CHAR * FontSave(CHAR *, OFSTRUCT *);
311: BOOL ResizeBody(); /* Change Height of Font. MAde return type BOOL istead of VOID - LR */
312: BOOL ResizeWidths(); /* Change Widths (Fixed Width Fonts).MAde return type BOOL istead of VOID - LR */
313: BOOL SpreadWidths(DWORD); /* Change Widths (Var. Width Fonts). MAde return type BOOL istead of VOID - LR */
314: VOID DeleteGlobalBitmap();
315: VOID ScrollFont();
316: VOID ExciseChars(); /* Delete part of a font */
317: BOOL
318: CharWidth(
319: BYTE iChar, /* Character to change */
320: DWORD wBox /* New width */
321: );
322: BOOL NewLastChar(DWORD); /* MAde return type BOOL istead of VOID - LR */
323: BOOL NewFirstChar(DWORD); /* MAde return type BOOL istead of VOID - LR */
324: #define kBoxLim 65 /* was 49 */
325:
326: #define wBoxLim 65
327: #define szNamesMax 32
328: #define BLACK (LONG)0
329: #define WHITE (LONG)0x00FFFFFF /* For SetPixel rgbColor */
330: #define FILENAMEMAX 64 /* Maximum allowed length of file names */
331:
332:
333: /*********
334: the following added 11-Sep-1986 to use dlgsave.c and dlgopen.c
335: **********/
336: #define IDD_OPEN 1 /* dialog box ids */
337: #define IDD_SAVE 2
338: #define IDD_FORMAT 3
339:
340: #define MAX_STR_LEN 128
341: #define MAX_FNAME_LEN 128
342: #define CBEXTMAX 6 /* Number of bytes in "\*.ext" */
343:
344:
345: #define NOSAVE 0 /* return flags for DlgFnSave() */
346: #define NEWSAVE 1
347: #define OLDSAVE 2
348:
349: #define NOOPEN 0 /* return flags for DlgFnOpen() */
350: #define NEWOPEN 1
351: #define OLDOPEN 2
352:
353: #define WORD_LIMIT 65534 /* max. number of bytes that can be read(written) by */
354: #define SEGMENT_SIZE 65536 /* segment length in bytes */
355:
356: /* abbreviations for accessing resource strings - LR */
357:
358: #define vszNomPtSizeNotOk vrgsz[IDS_NOMPTSIZENOTOK ]
359: #define vszNomVertResNotOk vrgsz[IDS_NOMVERTRESNOTOK ]
360: #define vszNomHorResNotOk vrgsz[IDS_NOMHORRESNOTOK ]
361: #define vszAscentTooBig vrgsz[IDS_ASCENTTOOBIG ]
362: #define vszAscentNotOk vrgsz[IDS_ASCENTNOTOK ]
363: #define vszExtLeadNotOk vrgsz[IDS_EXTLEADNOTOK ]
364: #define vszIntLeadTooBig vrgsz[IDS_INTLEADTOOBIG ]
365: #define vszIntLeadNotOk vrgsz[IDS_INTLEADNOTOK ]
366: #define vszCharSetOutOfBounds vrgsz[IDS_CHARSETOUTOFBOUNDS ]
367: #define vszDefCharOutsideFont vrgsz[IDS_DEFCHAROUTSIDEFONT ]
368: #define vszDefCharNotOk vrgsz[IDS_DEFCHARNOTOK ]
369: #define vszBreakCharOutsideFont vrgsz[IDS_BREAKCHAROUTSIDEFONT]
370: #define vszBreakCharNotOk vrgsz[IDS_BREAKCHARNOTOK ]
371: #define vszUnknownFace vrgsz[IDS_UNKNOWNFACE ]
372: #define vszNoVarToFixChange vrgsz[IDS_NOVARTOFIXCHANGE ]
373: #define vszTooBigFor20 vrgsz[IDS_TOOBIGFOR20 ]
374: #define vszHeightOutOfBounds vrgsz[IDS_HEIGHTOUTOFBOUNDS ]
375: #define vszWidthOutOfBounds vrgsz[IDS_WIDTHOUTOFBOUNDS ]
376: #define vszChar1MoreThanDChar vrgsz[IDS_CHAR1MORETHANDCHAR ]
377: #define vszChar1NotOk vrgsz[IDS_CHAR1NOTOK ]
378: #define vszLastCharTooSmall vrgsz[IDS_LASTCHARTOOSMALL ]
379: #define vszLastCharNotOk vrgsz[IDS_LASTCHARNOTOK ]
380: #define vszCannotOpenClip vrgsz[IDS_CANNOTOPENCLIP ]
381: #define vszCopyingToClip vrgsz[IDS_COPYINGTOCLIP ]
382: #define vszNotEnoughMem vrgsz[IDS_NOTENOUGHMEM ]
383: #define vszAllocatingSpace vrgsz[IDS_ALLOCATINGSPACE ]
384: #define vszFontEdit vrgsz[IDS_FONTEDIT ]
385: #define vszFontShow vrgsz[IDS_FONTSHOW ]
386: #define vszDotFNT vrgsz[IDS_DOTFNT ]
387: #define vszBlankDashBlank vrgsz[IDS_BLANKDASHBLANK ]
388: #define vszErrorOpeningFile vrgsz[IDS_ERROROPENINGFILE ]
389: #define vszErrorReadingHdr vrgsz[IDS_ERRORREADINGHDR ]
390: #define vszUnknownFormat vrgsz[IDS_UNKNOWNFORMAT ]
391: #define vszErrorReadingBody vrgsz[IDS_ERRORREADINGBODY ]
392: #define vszFileTooLarge vrgsz[IDS_FILETOOLARGE ]
393: #define vszErrorWritingHdr vrgsz[IDS_ERRORWRITINGHDR ]
394: #define vszErrorWritingOffsets vrgsz[IDS_ERRORWRITINGOFFSETS ]
395: #define vszErrorWritingBody vrgsz[IDS_ERRORWRITINGBODY ]
396: #define vszStarDotFNT vrgsz[IDS_STARDOTFNT ]
397: #define vszUnknown vrgsz[IDS_UNKNOWN ]
398: #define vszMaxWidth vrgsz[IDS_MAXWIDTH ]
399: #define vszCharPixelWidth vrgsz[IDS_CHARPIXELWIDTH ]
400: #define vszABOUT vrgsz[IDS_ABOUT ]
401: #define vszDHeader vrgsz[IDS_DHEADER ]
402: #define vszDResize vrgsz[IDS_DRESIZE ]
403: #define vszDWidth vrgsz[IDS_DWIDTH ]
404: #define vszEdLimits0To64 vrgsz[IDS_EDLIMITS0TO64 ]
405: #define vszMaxWidthIncrease vrgsz[IDS_MAXWIDTHINCREASE ]
406: #define vszCannotChangeWidth vrgsz[IDS_CANNOTCHANGEWIDTH ]
407: #define vszWarning vrgsz[IDS_WARNING ]
408: #define vszIncorrectPixWidth vrgsz[IDS_INCORRECTPIXWIDTH ]
409: #define vszMaxWidthOutOfBounds vrgsz[IDS_MAXWIDTHOUTOFBOUNDS ]
410: #define vszAvgWidthOutOfBounds vrgsz[IDS_AVGWIDTHOUTOFBOUNDS ]
411: #define vszWidthBytesNotOk vrgsz[IDS_WIDTHBYTESNOTOK ]
412: #define vszBitsOffsetNotOk vrgsz[IDS_BITSOFFSETNOTOK ]
413: #define vszTableWidthsBad vrgsz[IDS_TABLEWIDTHSBAD ]
414: #define vszTableOffsetsBad vrgsz[IDS_TABLEOFFSETSBAD ]
415: #define vszcolors vrgsz[IDS_COLOR ]
416: #define vszAppWorkspace vrgsz[IDS_APPWORKSPACE ]
417: #define vszFileReadOnly vrgsz[IDS_FILEREADONLY ]
418: #define vszErrorClip vrgsz[IDS_ERRORCLIP ]
419: #define vszCHAR vrgsz[IDS_CHAR ]
420: #define vszWIDTH vrgsz[IDS_WIDTH ]
421: #define vszHEIGHT vrgsz[IDS_HEIGHT ]
422:
423:
424:
425: /*------ fontedit.c -------*/
426: extern VOID ResizeShow(VOID);
427: extern VOID ScrollFont(VOID);
428: extern VOID CharToBox(BYTE);
429: extern VOID FontRename(CHAR *);
430: extern VOID BoxToChar(BYTE);
431: extern DWORD GetkStuff(VOID);
432:
433: /*------ fontload.c -------*/
434: extern VOID ToClipboard(BYTE, DWORD, DWORD);
435: extern VOID BoxToClipboard(POINT, DWORD, DWORD);
436: extern DWORD ClipboardToBox(POINT, DWORD, DWORD, BOOL);
437:
438: /*------ fontdlg.c -------*/
439: BOOL
440: CommDlgOpen (
441: HWND hWndParent, /* window handle of parent window */
442: OFSTRUCT *pOfstrIn, /* ptr to current file OFSTRUCT (->cBytes=0 if no
443: * cur. file)*/
444: CHAR *pszNewNameIn, /* ptr to array which will get new file's name */
445: CHAR *pszExtIn, /* ptr to current default extension */
446: CHAR *pszAppNameIn, /* ptr to application name */
447: BOOL fOpenType
448: );
449:
450: BOOL
451: CommDlgSaveAs(
452: HANDLE hInstance,
453: HWND hWndParent, /* window handle of parent window */
454: OFSTRUCT *pOfstrIn, /* ptr to current file OFSTRUCT (->cBytes=0 if no
455: * cur. file)*/
456: CHAR *pszNewNameIn, /* ptr to array which will get new file's name
457: * (no path) */
458: CHAR *pszExtIn, /* ptr to current default extension */
459: CHAR *pszAppNameIn /* ptr to application name */
460: );
461:
462: BOOL
463: DlgMergeStrings(
464: CHAR *szSrc,
465: CHAR *szMerge,
466: CHAR *szDst
467: );
468:
469: /*------ fonthead.c -------*/
470: extern VOID ErrorBox(HWND, CHAR *);
471:
472: /*------ fontchar.c -------*/
473: extern VOID ClearBox(VOID);
474:
475: /*------ fontcvt.c --------*/
476:
477: BOOL
478: fConvStructInit ();
479:
480: VOID
481: vFontStructFromBuffer (
482: PBYTE pjSourceBuff,
483: FontHeaderType *pfhDestFHStruct
484: );
485:
486: VOID
487: vBufferFromFontStruct (
488: FontHeaderType *pfhSourceFHStruct,
489: PBYTE pjDestBuff
490: );
491:
492: VOID
493: vBufferFromFont30Struct (
494: FontHeader30 *pfh3SourceFH3Struct,
495: PBYTE pjDestBuff
496: );
497:
498: VOID
499: vGlyphInfo20FromBuffer (
500: PBYTE pjSourceBuff,
501: GLYPHINFO_20 *pgi2DestGI2Struct
502: );
503:
504: VOID
505: vGlyphInfo30FromBuffer (
506: PBYTE pjSourceBuff,
507: GLYPHINFO_30 *pgi3DestGI3Struct
508: );
509:
510: VOID
511: vBufferFromGlyphInfo20 (
512: GLYPHINFO_20 *pgi2SrcGI2Struct,
513: PBYTE pjDestBuff
514: );
515:
516: VOID
517: vBufferFromGlyphInfo30 (
518: GLYPHINFO_30 *pgi3SrcGI3Struct,
519: PBYTE pjDestBuff
520: );
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.