summaryrefslogtreecommitdiffstats
path: root/libass/ass_fontselect.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_fontselect.c')
-rw-r--r--libass/ass_fontselect.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libass/ass_fontselect.c b/libass/ass_fontselect.c
index 799ad02..52ef192 100644
--- a/libass/ass_fontselect.c
+++ b/libass/ass_fontselect.c
@@ -465,9 +465,15 @@ static char *select_font(ASS_FontSelector *priv, ASS_Library *library,
{
int num_fonts = priv->n_font;
int idx = 0;
- ASS_FontInfo *font_infos = priv->font_infos;
ASS_FontInfo req;
char *req_fullname;
+ char *tfamily = trim_space(strdup(family));
+
+ ASS_FontProvider *default_provider = priv->default_provider;
+ if (default_provider && default_provider->funcs.match_fonts)
+ default_provider->funcs.match_fonts(library, default_provider, tfamily);
+
+ ASS_FontInfo *font_infos = priv->font_infos;
// do we actually have any fonts?
if (!priv->n_font)
@@ -480,7 +486,7 @@ static char *select_font(ASS_FontSelector *priv, ASS_Library *library,
req.width = 100;
req.n_fullname = 1;
req.fullnames = &req_fullname;
- req.fullnames[0] = trim_space(strdup(family));
+ req.fullnames[0] = tfamily;
// calculate similarities
font_info_req_similarity(font_infos, num_fonts, &req);