#ifndef _FONTFILEST_H_
#define _FONTFILEST_H_
#ifndef FONTMODULE
#include <X11/Xos.h>
#endif
#ifndef XP_PSTEXT
#include "fontmisc.h"
#endif
#include "fontstruct.h"
#include "fontxlfd.h"
#include "fntfil.h"
typedef struct _FontName {
char *name;
short length;
short ndashes;
} FontNameRec;
typedef struct _FontScaled {
FontScalableRec vals;
FontEntryPtr bitmap;
FontPtr pFont;
} FontScaledRec;
typedef struct _FontScalableExtra {
FontScalableRec defaults;
int numScaled;
int sizeScaled;
FontScaledPtr scaled;
pointer private;
} FontScalableExtraRec;
typedef struct _FontScalableEntry {
FontRendererPtr renderer;
char *fileName;
FontScalableExtraPtr extra;
} FontScalableEntryRec;
typedef struct _FontScaleAliasEntry {
char *resolved;
} FontScaleAliasEntryRec;
typedef struct _FontBitmapEntry {
FontRendererPtr renderer;
char *fileName;
FontPtr pFont;
} FontBitmapEntryRec;
typedef struct _FontAliasEntry {
char *resolved;
} FontAliasEntryRec;
typedef struct _FontBCEntry {
FontScalableRec vals;
FontEntryPtr entry;
} FontBCEntryRec;
typedef struct _FontEntry {
FontNameRec name;
int type;
union _FontEntryParts {
FontScalableEntryRec scalable;
FontBitmapEntryRec bitmap;
FontAliasEntryRec alias;
FontBCEntryRec bc;
} u;
} FontEntryRec;
typedef struct _FontTable {
int used;
int size;
FontEntryPtr entries;
Bool sorted;
} FontTableRec;
typedef struct _FontDirectory {
char *directory;
unsigned long dir_mtime;
unsigned long alias_mtime;
FontTableRec scalable;
FontTableRec nonScalable;
char *attributes;
} FontDirectoryRec;
#define CAP_MATRIX 0x1
#define CAP_CHARSUBSETTING 0x2
typedef struct _FontRenderer {
char *fileSuffix;
int fileSuffixLen;
int (*OpenBitmap)(FontPathElementPtr ,
FontPtr * ,
int ,
FontEntryPtr ,
char * ,
fsBitmapFormat ,
fsBitmapFormatMask ,
FontPtr );
int (*OpenScalable)(FontPathElementPtr ,
FontPtr * ,
int ,
FontEntryPtr ,
char * ,
FontScalablePtr ,
fsBitmapFormat ,
fsBitmapFormatMask ,
FontPtr );
int (*GetInfoBitmap)(FontPathElementPtr ,
FontInfoPtr ,
FontEntryPtr ,
char * );
int (*GetInfoScalable)(FontPathElementPtr ,
FontInfoPtr ,
FontEntryPtr ,
FontNamePtr ,
char * ,
FontScalablePtr );
int number;
int capabilities;
} FontRendererRec;
typedef struct _FontRenders {
int number;
struct _FontRenderersElement {
FontRendererPtr renderer;
int priority;
} *renderers;
} FontRenderersRec, *FontRenderersPtr;
typedef struct _BitmapInstance {
FontScalableRec vals;
FontBitmapEntryPtr bitmap;
} BitmapInstanceRec, *BitmapInstancePtr;
typedef struct _BitmapScalablePrivate {
int numInstances;
BitmapInstancePtr instances;
} BitmapScalablePrivateRec, *BitmapScalablePrivatePtr;
typedef struct _BitmapSources {
FontPathElementPtr *fpe;
int size;
int count;
} BitmapSourcesRec, *BitmapSourcesPtr;
extern BitmapSourcesRec FontFileBitmapSources;
#define NORMAL_ALIAS_BEHAVIOR 0
#define LIST_ALIASES_AND_TARGET_NAMES (1<<0)
#define IGNORE_SCALABLE_ALIASES (1<<1)
#endif