#ifndef __32FDSTRC_H__
#define __32FDSTRC_H__
#define FACESIZE 32
#define GLYPHNAMESIZE 16
#define PMERR_FACENAME_NOT_FOUND 23004L
#define PMERR_FD_ALREADY_INSTALLED 23005L
#define PMERR_INVALID_CONTEXTINFO 23006L
#define PMERR_NOT_A_FONT_FILE 23007L
#define PMERR_INVALID_FONT_SELECTION 23008L
#define PMERR_INVALID_FORMAT 23009L
#define PMERR_BUSY_HFC 230010L
#define PMERR_INVALID_HFC 230011L
#define PMERR_INVALID_INDEX 230012L
#define PMERR_INVALID_QUERY_TYPE 230013L
#define PMERR_CONTEXT_NOT_SET 230014L
#define FD_QUERY_CONTEXTMETRICS 1L
#define FD_QUERY_ABC_WIDTHS 2L
#define FD_QUERY_KERNINGPAIRS 3L
#define FD_QUERY_CHARIMAGE 1L
#define FD_QUERY_OUTLINE 2L
#define FD_QUERY_BITMAPMETRICS 4L
#define FD_CHARATTR_ALIGNED_8 0x00000001
#define FD_CHARATTR_ALIGNED_16 0x00000002
#define FD_CHARATTR_ALIGNED_32 0x00000004
#define FD_CHARATTR_NO_CACHE 0x00000010
typedef struct _ABC_TRIPLETS
{
LONG lA;
ULONG ulB;
LONG lC;
} ABC_TRIPLETS;
typedef ABC_TRIPLETS *PABC_TRIPLETS;
#ifndef INCL_IFI
typedef struct _POINTFX {
FIXED x;
FIXED y;
} POINTFX;
typedef POINTFX *PPOINTFX;
#endif
typedef struct _BITMAPMETRICS
{
SIZEL sizlExtent;
ULONG cyAscent;
#ifdef OLD_DRIVER
POINTFX *ppfxOrigin;
#else
POINTFX pfxOrigin;
#endif
} BITMAPMETRICS;
typedef BITMAPMETRICS *PBITMAPMETRICS;
typedef struct _MAT2
{
FIXED eM11;
FIXED eM12;
FIXED eM21;
FIXED eM22;
} MAT2;
typedef struct _FD_KERNINGPAIRS
{
GLYPH giFirst;
GLYPH giSecond;
LONG eKerningAmount;
} FD_KERNINGPAIRS;
typedef struct _CONTEXTINFO
{
ULONG cb;
ULONG fl;
SIZEL sizlPPM;
POINTFX pfxSpot;
MAT2 matXform;
} CONTEXTINFO;
typedef CONTEXTINFO *PCONTEXTINFO;
typedef struct _CHARATTR
{
ULONG cb;
ULONG iQuery;
GLYPH gi;
PBYTE pBuffer;
ULONG cbLen;
} CHARATTR;
typedef CHARATTR *PCHARATTR;
typedef struct _CHARATTR2
{
ULONG cb;
ULONG iQuery;
GLYPH gi;
PBYTE pBuffer;
ULONG cbLen;
ULONG fl;
} CHARATTR2;
typedef CHARATTR2 *PCHARATTR2;
typedef struct _CONTEXTMETRICS
{
SIZEL sizlMax;
ULONG cyMaxAscent;
ULONG cyMaxDescent;
ULONG cxTotal;
ULONG cGlyphs;
} CONTEXTMETRICS;
typedef CONTEXTMETRICS * PCONTEXTMETRICS;
typedef struct _POLYGONHEADER {
ULONG cb;
ULONG iType;
} POLYGONHEADER;
typedef POLYGONHEADER *PPOLYGONHEADER;
typedef struct _PRIMLINE {
ULONG iType;
POINTFX pte;
} PRIMLINE;
typedef PRIMLINE *PPRIMLINE;
typedef struct _PRIMSPLINE {
ULONG iType;
POINTFX pte[3];
} PRIMSPLINE;
typedef PRIMSPLINE *PPRIMSPLINE;
#define FD_POLYGON_TYPE 24
#define FD_PRIM_LINE 1
#define FD_PRIM_SPLINE 3
#endif