#ifndef FONT_H
#define FONT_H
#ifndef BitmapFormatByteOrderMask
#include "fsmasks.h"
#endif
#ifndef _XTYPEDEF_FONTPTR
typedef struct _Font *FontPtr;
#define _XTYPEDEF_FONTPTR
#endif
typedef struct _FontInfo *FontInfoPtr;
typedef struct _FontProp *FontPropPtr;
typedef struct _ExtentInfo *ExtentInfoPtr;
typedef struct _FontPathElement *FontPathElementPtr;
#ifndef _XTYPEDEF_CHARINFOPTR
typedef struct _CharInfo *CharInfoPtr;
#define _XTYPEDEF_CHARINFOPTR
#endif
typedef struct _FontNames *FontNamesPtr;
typedef struct _FontResolution *FontResolutionPtr;
#define NullCharInfo ((CharInfoPtr) 0)
#define NullFont ((FontPtr) 0)
#define NullFontInfo ((FontInfoPtr) 0)
#define LeftToRight 0
#define RightToLeft 1
#define BottomToTop 2
#define TopToBottom 3
typedef int DrawDirection;
#define NO_SUCH_CHAR -1
#define FontAliasType 0x1000
#define AllocError 80
#define StillWorking 81
#define FontNameAlias 82
#define BadFontName 83
#define Suspended 84
#define Successful 85
#define BadFontPath 86
#define BadCharRange 87
#define BadFontFormat 88
#define FPEResetFailed 89
#define FontLoadInfo 0x0001
#define FontLoadProps 0x0002
#define FontLoadMetrics 0x0004
#define FontLoadBitmaps 0x0008
#define FontLoadAll 0x000f
#define FontOpenSync 0x0010
#define FontReopen 0x0020
#define LoadAll 0x1
#define FinishRamge 0x2
#define EightBitFont 0x4
#define SixteenBitFont 0x8
#define CACHING_OFF 0
#define CACHE_16_BIT_GLYPHS 1
#define CACHE_ALL_GLYPHS 2
#define DEFAULT_GLYPH_CACHING_MODE CACHE_16_BIT_GLYPHS
extern int glyphCachingMode;
struct _Client;
extern int StartListFontsWithInfo(
struct _Client * ,
int ,
unsigned char * ,
int
);
extern FontNamesPtr MakeFontNamesRecord(
unsigned
);
extern void FreeFontNames(
FontNamesPtr
);
extern int AddFontNamesName(
FontNamesPtr ,
char * ,
int
);
#if 0
extern int FontToFSError();
extern FontResolutionPtr GetClientResolution();
#endif
typedef struct _FontPatternCache *FontPatternCachePtr;
extern FontPatternCachePtr MakeFontPatternCache (
void
);
extern void FreeFontPatternCache (
FontPatternCachePtr
);
extern void EmptyFontPatternCache (
FontPatternCachePtr
);
extern void CacheFontPattern (
FontPatternCachePtr ,
char * ,
int ,
FontPtr
);
extern FontResolutionPtr GetClientResolutions(
int *
);
extern FontPtr FindCachedFontPattern (
FontPatternCachePtr ,
char * ,
int
);
extern void RemoveCachedFontPattern (
FontPatternCachePtr ,
FontPtr
);
typedef enum {
Linear8Bit, TwoD8Bit, Linear16Bit, TwoD16Bit
} FontEncoding;
#endif