// TODO: this should probably remove all fonts that belong
// to this provider from the list
- if (provider->funcs.destroy_provider)
+ if (provider && provider->funcs.destroy_provider)
provider->funcs.destroy_provider(provider->priv);
free(provider);
}
ASS_FontSelector *
ass_fontselect_init(ASS_Library *library,
FT_Library ftlibrary, const char *family,
- const char *path)
+ const char *path, const char *config, int fc)
{
ASS_FontSelector *priv = calloc(1, sizeof(ASS_FontSelector));
ftlibrary);
#ifdef CONFIG_FONTCONFIG
- // XXX: for now, always add the fontconfig provider
- priv->default_provider = ass_fontconfig_add_provider(library, priv, NULL);
+ if (fc != 0)
+ priv->default_provider = ass_fontconfig_add_provider(library,
+ priv, config);
#endif
return priv;
// TODO: we should track all child font providers and
// free them here
-#ifdef CONFIG_FONTCONFIG
ass_font_provider_free(priv->default_provider);
-#endif
ass_font_provider_free(priv->embedded_provider);
free(priv);
ASS_FontSelector *
ass_fontselect_init(ASS_Library *library,
FT_Library ftlibrary, const char *family,
- const char *path);
+ const char *path, const char *config, int fc);
char *ass_font_select(ASS_FontSelector *priv, ASS_Library *library,
ASS_Font *font, int *index, int *uid, uint32_t code);
void ass_fontselect_free(ASS_FontSelector *priv);
if (priv->fontselect)
ass_fontselect_free(priv->fontselect);
priv->fontselect = ass_fontselect_init(priv->library, priv->ftlibrary,
- default_family, default_font);
+ default_family, default_font, config, fc);
}
void ass_set_selective_style_override_enabled(ASS_Renderer *priv, int bits)
int ass_fonts_update(ASS_Renderer *render_priv)
{
- //return fontconfig_update(render_priv->fontselect);
+ // This is just a stub now!
return 1;
}