* PERFORMANCE OF THIS SOFTWARE.
*/
-#include <stdlib.h>
#include "fcint.h"
+#include <stdlib.h>
static FcConfig *
FcInitFallbackConfig (void)
goto bail0;
if (!FcConfigAddDir (config, (FcChar8 *) FC_DEFAULT_FONTS))
goto bail1;
+ if (!FcConfigAddCacheDir (config, (FcChar8 *) FC_CACHEDIR))
+ goto bail1;
return config;
bail1:
{
FcConfig *config;
+ FcInitDebug ();
config = FcConfigCreate ();
if (!config)
return FcFalse;
FcConfigDestroy (config);
return FcInitFallbackConfig ();
}
+
+ if (config->cacheDirs && config->cacheDirs->num == 0)
+ {
+ fprintf (stderr,
+ "Fontconfig warning: no <cachedir> elements found. Check configuration.\n");
+ fprintf (stderr,
+ "Fontconfig warning: adding <cachedir>%s</cachedir>\n",
+ FC_CACHEDIR);
+ fprintf (stderr,
+ "Fontconfig warning: adding <cachedir>~/.fontconfig</cachedir>\n");
+ if (!FcConfigAddCacheDir (config, (FcChar8 *) FC_CACHEDIR) ||
+ !FcConfigAddCacheDir (config, (FcChar8 *) "~/.fontconfig"))
+ {
+ fprintf (stderr,
+ "Fontconfig error: out of memory");
+ FcConfigDestroy (config);
+ return FcInitFallbackConfig ();
+ }
+ }
return config;
}
{
FcConfig *config = FcInitLoadConfig ();
+ FcInitDebug ();
if (!config)
return 0;
if (!FcConfigBuildFonts (config))
return FcTrue;
config = FcInitLoadConfigAndFonts ();
if (!config)
- return FcTrue;
+ return FcFalse;
FcConfigSetCurrent (config);
if (FcDebug() & FC_DBG_MEMORY)
FcMemReport ();
FcConfigDestroy (_fcConfig);
FcPatternFini ();
- FcCharSetThawAll ();
+ FcCacheFini ();
}
/*
}
static struct {
- char *name;
+ char name[16];
int alloc_count;
int alloc_mem;
int free_count;
static int FcAllocNotify, FcFreeNotify;
-void
-FcValueListReport (void);
-
void
FcMemReport (void)
{
FcAllocMem - FcFreeMem);
FcAllocNotify = 0;
FcFreeNotify = 0;
- FcValueListReport ();
}
void
FcMemReport ();
}
}
+#define __fcinit__
+#include "fcaliastail.h"
+#undef __fcinit__