diff options
Diffstat (limited to 'libass/ass_mp.c')
-rw-r--r-- | libass/ass_mp.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/libass/ass_mp.c b/libass/ass_mp.c index 0f32e73de7..6b40c0eabf 100644 --- a/libass/ass_mp.c +++ b/libass/ass_mp.c @@ -197,3 +197,31 @@ ass_track_t* ass_read_subdata(sub_data* subdata, double fps) { return track; } +char *get_path(char *); + +extern char *font_name; +#ifdef HAVE_FONTCONFIG +extern int font_fontconfig; +#else +static int font_fontconfig = 0; +#endif + +void ass_configure(ass_instance_t* priv, int w, int h) { + char *dir, *path, *family; + ass_set_frame_size(priv, w, h); + ass_set_margins(priv, ass_top_margin, ass_bottom_margin, 0, 0); + ass_set_use_margins(priv, ass_use_margins); + ass_set_font_scale(priv, ass_font_scale); + + dir = get_path("fonts"); + if (!font_fontconfig && font_name) path = strdup(font_name); + else path = get_path("subfont.ttf"); + if (font_fontconfig && font_name) family = strdup(font_name); + else family = 0; + + ass_set_fonts(priv, dir, path, family); + + free(dir); + free(path); + free(family); +} |