#include "fntfilst.h"
#include "builtin.h"
BuiltinOpenBitmap (fpe, ppFont, flags, entry, fileName, format, fmask)
FontPathElementPtr fpe;
FontPtr *ppFont;
int flags;
FontEntryPtr entry;
char *fileName;
fsBitmapFormat format;
fsBitmapFormatMask fmask;
{
FontFilePtr file;
FontPtr pFont;
int i;
int ret;
int bit,
byte,
glyph,
scan,
image;
file = BuiltinFileOpen (fileName);
if (!file)
return BadFontName;
pFont = (FontPtr) xalloc(sizeof(FontRec));
if (!pFont) {
BuiltinFileClose (file);
return AllocError;
}
FontDefaultFormat(&bit, &byte, &glyph, &scan);
ret = CheckFSFormat(format, fmask, &bit, &byte, &scan, &glyph, &image);
pFont->refcnt = 0;
pFont->maxPrivate = -1;
pFont->devPrivates = (pointer *) 0;
ret = pcfReadFont (pFont, file, bit, byte, glyph, scan);
BuiltinFileClose (file);
if (ret != Successful)
xfree(pFont);
else
*ppFont = pFont;
return ret;
}
BuiltinGetInfoBitmap (fpe, pFontInfo, entry, fileName)
FontPathElementPtr fpe;
FontInfoPtr pFontInfo;
FontEntryPtr entry;
char *fileName;
{
FontFilePtr file;
int i;
int ret;
FontRendererPtr renderer;
file = BuiltinFileOpen (fileName);
if (!file)
return BadFontName;
ret = pcfReadFontInfo (pFontInfo, file);
BuiltinFileClose (file);
return ret;
}
static FontRendererRec renderers[] = {
".builtin", 8,
BuiltinOpenBitmap, 0, BuiltinGetInfoBitmap, 0, 0
};
#define numRenderers (sizeof renderers / sizeof renderers[0])
BuiltinRegisterFontFileFunctions()
{
int i;
for (i = 0; i < numRenderers; i++)
FontFileRegisterRenderer ((FontRendererRec *) &renderers[i]);
}