summaryrefslogtreecommitdiffstats
path: root/libass/ass_mp.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_mp.c')
-rw-r--r--libass/ass_mp.c28
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);
+}