|
|
/****************************Module*Header******************************\
* Module Name: FONTINST.H * * Module Descripton: * Font installer related structures. Some of these define the format * of the font file, and others are internal structures used by Unidrv's * built in font installer. * * Warnings: * * Issues: * * Created: 22 October 1997 * Author: Srinivasan Chandrasekar [srinivac] * * Copyright (c) 1996 - 1999 Microsoft Corporation \***********************************************************************/
#ifndef _FONTINST_H_
#define _FONTINST_H_
//
// Structure to keep track of font data obtained from softfont (PCL) files
//
typedef struct _FNTDAT { struct _FNTDAT *pNext; // Forms a linked list
PBYTE pVarData; // Pointer to buffer having PCL data
DWORD dwSize; // Size of variable data
FI_DATA fid; // The specific font information
WCHAR wchFileName[MAX_PATH]; // Corresponding file in directory
} FNTDAT, *PFNTDAT;
//
// Font installer callback function
//
INT_PTR CALLBACK FontInstProc(HWND, UINT, WPARAM, LPARAM); BOOL APIENTRY BInstallSoftFont(HANDLE, HANDLE, PBYTE, DWORD); BOOL APIENTRY BUpdateExternalFonts(HANDLE, HANDLE, PWSTR);
BOOL BGetFontCartridgeFile(HANDLE, HANDLE);
//
// Functions to read the font file
//
#ifdef KERNEL_MODE
HANDLE FIOpenFontFile(HANDLE, HANDLE, HANDLE); #else
HANDLE FIOpenFontFile(HANDLE, HANDLE); #endif
#ifdef KERNEL_MODE
HANDLE FIOpenCartridgeFile(HANDLE, HANDLE, HANDLE); #else
HANDLE FIOpenCartridgeFile(HANDLE, HANDLE); #endif
VOID FICloseFontFile(HANDLE); DWORD FIGetNumFonts(HANDLE); PUFF_FONTDIRECTORY FIGetFontDir(HANDLE); PWSTR FIGetFontName(HANDLE, DWORD); PWSTR FIGetFontCartridgeName(HANDLE, DWORD); PDATA_HEADER FIGetFontData(HANDLE, DWORD); PDATA_HEADER FIGetGlyphData(HANDLE, DWORD); PDATA_HEADER FIGetVarData(HANDLE, DWORD); HANDLE FICreateFontFile(HANDLE, HANDLE, DWORD); BOOL FIWriteFileHeader(HANDLE); BOOL FIWriteFontDirectory(HANDLE); VOID FIAlignedSeek(HANDLE, DWORD); BOOL FICopyFontRecord(HANDLE, HANDLE, DWORD, DWORD); BOOL FIAddFontRecord(HANDLE, DWORD, FNTDAT*); BOOL FIUpdateFontFile(HANDLE, HANDLE, BOOL);
//
// Functions to write PCL data
//
DWORD FIWriteFix(HANDLE, WORD, FI_DATA*); DWORD FIWriteVar(HANDLE, PTSTR); DWORD FIWriteRawVar(HANDLE, PBYTE, DWORD);
#endif // #ifndef _FONTINST_H_
|