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.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/libass/ass_fontselect.c b/libass/ass_fontselect.c
index dacff11..dc475b1 100644
--- a/libass/ass_fontselect.c
+++ b/libass/ass_fontselect.c
@@ -848,6 +848,21 @@ ass_fontselect_init(ASS_Library *library,
return priv;
}
+void ass_get_available_font_providers(ASS_Library *priv,
+ ASS_DefaultFontProvider **providers,
+ size_t *size)
+{
+ size_t offset = 2;
+ *size = offset;
+ for (int i = 0; font_constructors[i].constructor; i++)
+ (*size)++;
+ *providers = calloc(*size, sizeof(ASS_DefaultFontProvider));
+ (*providers)[0] = ASS_FONTPROVIDER_NONE;
+ (*providers)[1] = ASS_FONTPROVIDER_AUTODETECT;
+ for (int i = offset; i < *size; i++)
+ (*providers)[i] = font_constructors[i-offset].id;
+}
+
/**
* \brief Free font selector and release associated data
* \param the font selector