/************************** Module Header *********************************** * raslib.h * Include file to provide prototypes and data types for the rasdd * private library. * * Copyright (C) 1992 - 1993 Microsoft Corporation. * *****************************************************************************/ /* * The simple way to turn ANSI to UNICODE> */ /* * A convenient grouping for passing around information about the * Win 3.1 font information. */ typedef struct { BYTE *pBase; /* The base address of data area */ DRIVERINFO DI; /* DRIVERINFO for this font */ PFMHEADER PFMH; /* Properly aligned, not resource format */ PFMEXTENSION PFMExt; /* Extended PFM data, properly aligned! */ EXTTEXTMETRIC *pETM; /* Extended text metric */ } FONTDAT; /* * Function prototypes for functions that convert Win 3.1 PFM style * font info to the IFIMETRICS etc required by NT. */ /* Convert PFM style metrics to IFIMETRICS */ IFIMETRICS *FontInfoToIFIMetric( FONTDAT *, HANDLE, PWSTR, char ** ); /* Extract the Command Descriptors for (de)selecting a font */ CD *GetFontSel( HANDLE, FONTDAT *, int ); /* Convert from non-aligned x86 format Win 3.1 data to aligned versions */ void ConvFontRes( FONTDAT * ); /* Obtain the width vector - proportionally spaced fonts only */ short *GetWidthVector( HANDLE, FONTDAT * ); /* * Functions to return the integer value in a WORD or DWORD. Functions * do two operations: first is to align the data, second is to * adjuest the byte order to the current machine. The input is * assumed to be little endian, like the x86. */ extern "C" WORD DwAlign2( BYTE * ); extern "C" DWORD DwAlign4( BYTE * );