#include "fntfilst.h"
#include "bitmap.h"
#ifdef LOADABLEFONTS
#include "fontmod.h"
#endif
static int
FontFileCheckOpenFont (pointer client, FontPathElementPtr fpe, Mask flags,
char *name, int namelen,
fsBitmapFormat format, fsBitmapFormatMask fmask,
XID id, FontPtr *pFont, char **aliasName,
FontPtr non_cachable_font)
{
if (XpClientIsBitmapClient(client))
return (FontFileOpenFont (client, fpe, flags, name, namelen, format,
fmask, id, pFont, aliasName, non_cachable_font));
return BadFontName;
}
static int
FontFileCheckListFonts (pointer client, FontPathElementPtr fpe,
char *pat, int len, int max, FontNamesPtr names)
{
if (XpClientIsBitmapClient(client))
return FontFileListFonts (client, fpe, pat, len, max, names);
return BadFontName;
}
static int
FontFileCheckStartListFontsWithInfo(pointer client, FontPathElementPtr fpe,
char *pat, int len, int max,
pointer *privatep)
{
if (XpClientIsBitmapClient(client))
return FontFileStartListFontsWithInfo(client, fpe, pat, len,
max, privatep);
return BadFontName;
}
static int
FontFileCheckListNextFontWithInfo(pointer client, FontPathElementPtr fpe,
char **namep, int *namelenp,
FontInfoPtr *pFontInfo,
int *numFonts, pointer private)
{
if (XpClientIsBitmapClient(client))
return FontFileListNextFontWithInfo(client, fpe, namep, namelenp,
pFontInfo, numFonts, private);
return BadFontName;
}
static int
FontFileCheckStartListFontsAndAliases(pointer client, FontPathElementPtr fpe,
char *pat, int len, int max,
pointer *privatep)
{
if (XpClientIsBitmapClient(client))
return FontFileStartListFontsAndAliases(client, fpe, pat, len,
max, privatep);
return BadFontName;
}
static int
FontFileCheckListNextFontOrAlias(pointer client, FontPathElementPtr fpe,
char **namep, int *namelenp,
char **resolvedp, int *resolvedlenp,
pointer private)
{
if (XpClientIsBitmapClient(client))
return FontFileListNextFontOrAlias(client, fpe, namep, namelenp,
resolvedp, resolvedlenp, private);
return BadFontName;
}
void
FontFileCheckRegisterFpeFunctions (void)
{
#ifndef LOADABLEFONTS
BitmapRegisterFontFileFunctions ();
#ifndef LOWMEMFTPT
#ifndef CRAY
#ifdef BUILD_SPEEDO
SpeedoRegisterFontFileFunctions ();
#endif
#ifdef BUILD_TYPE1
Type1RegisterFontFileFunctions();
#endif
#endif
#ifdef BUILD_CID
CIDRegisterFontFileFunctions();
#endif
#ifdef BUILD_FREETYPE
FreeTypeRegisterFontFileFunctions();
#endif
#ifdef BUILD_XTRUETYPE
XTrueTypeRegisterFontFileFunctions();
#endif
#endif
#else
{
int i;
if (FontModuleList) {
for (i = 0; FontModuleList[i].name; i++) {
if (FontModuleList[i].initFunc)
FontModuleList[i].initFunc();
}
}
}
#endif
RegisterFPEFunctions(FontFileNameCheck,
FontFileInitFPE,
FontFileFreeFPE,
FontFileResetFPE,
FontFileCheckOpenFont,
FontFileCloseFont,
FontFileCheckListFonts,
FontFileCheckStartListFontsWithInfo,
FontFileCheckListNextFontWithInfo,
NULL,
NULL,
NULL,
FontFileCheckStartListFontsAndAliases,
FontFileCheckListNextFontOrAlias,
FontFileEmptyBitmapSource);
}