|
|
1.1 ! root 1: /***************************** MODULE HEADER ******************************** ! 2: * fontgen.h ! 3: * The visible parts of the font file generation process - common to ! 4: * NT printer driver font installers. ! 5: * ! 6: * HISTORY: ! 7: * 15:02 on Sat 22 Feb 1992 -by- Lindsay Harris [lindsayh] ! 8: * Started work on it for the general NT font installer ! 9: * ! 10: * Copyright (C) 1992 Microsoft Corporation ! 11: * ! 12: *****************************************************************************/ ! 13: ! 14: ! 15: /* ! 16: * A structure that collects all the information we need to do our ! 17: * stuff. The caller is returned one of these at FIOpen() time, and ! 18: * returns it to us for each and every call. This gives us the ! 19: * information we need to do our job. ! 20: */ ! 21: ! 22: typedef struct ! 23: { ! 24: HANDLE hCurFile; /* The existing font file - if any */ ! 25: HANDLE hFixFile; /* The new header part of file */ ! 26: HANDLE hVarFile; /* The variable part of the file */ ! 27: ! 28: PWSTR pwstrCurName; /* Current name (may not exist) */ ! 29: PWSTR pwstrFixName; /* Name of temporary fixed file */ ! 30: PWSTR pwstrVarName; /* Name of temporary variable part of file */ ! 31: ! 32: HANDLE hHeap; /* The heap - convenient at times */ ! 33: ! 34: BYTE *pbCurFile; /* Memory mapped view of existing file */ ! 35: ! 36: DWORD dwID; /* For verification of validity */ ! 37: } FID; ! 38: ! 39: #define FID_ID 0x66696420 /* "fid " */ ! 40: ! 41: ! 42: /* ! 43: * The user builds a linked list of the following, and passes it to ! 44: * us to allow us to add the nominated files to the existing font file. ! 45: */ ! 46: ! 47: typedef struct _FONTLIST ! 48: { ! 49: struct _FONTLIST *pFLNext; /* Next in chain, 0 for the last */ ! 50: ! 51: void *pvFixData; /* Address of fixed data */ ! 52: void *pvVarData; /* Variable component file name - 0 ! 53: if there is none. */ ! 54: } FONTLIST; ! 55: ! 56: /* ! 57: * Function prototypes for dealing with these structures. ! 58: */ ! 59: ! 60: ! 61: FID *pFIOpen( PWSTR, HANDLE ); ! 62: BOOL bFIClose( FID *, BOOL ); ! 63: BOOL bFIUpdate( FID *, int *, FONTLIST * ); ! 64: ! 65: ! 66: /* ! 67: * Some function prototypes. These are included here for our convenience. ! 68: * The third parameter may differ on the actual function - that is up ! 69: * to individual drivers. ! 70: * THESE FUNCTIONS ARE REQUIRED TO BE IN THE DRIVER CALLING US. IF YOU ! 71: * DO NOT WANT TO USE A PARTICULAR FUNCTION, HAVE IT RETURN 0. NOTHING ! 72: * WILL BE INSERTED INTO THE FILE UNDER THESE CONDITIONS. ! 73: */ ! 74: ! 75: int iFIWriteVar( HANDLE, HANDLE, void * ); ! 76: int iFIWriteFix( HANDLE, HANDLE, void * ); ! 77:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.