diff libass/ass_library.c @ 21458:7af6c25a0cfc

Keep embedded fonts in ass_library_t and perform actual disk write in fontconfig initialization. This is required for some fontconfig-related improvements.
author eugeni
date Sun, 03 Dec 2006 17:59:13 +0000
parents 2edba6772316
children 4a4af5271542
line wrap: on
line diff
--- a/libass/ass_library.c	Sun Dec 03 17:46:37 2006 +0000
+++ b/libass/ass_library.c	Sun Dec 03 17:59:13 2006 +0000
@@ -71,3 +71,19 @@
 		*q = strdup(*p);
 	priv->style_overrides[cnt] = NULL;
 }
+
+static void grow_array(void **array, int nelem, size_t elsize)
+{
+	if (!(nelem & 31))
+		*array = realloc(*array, (nelem + 32) * elsize);
+}
+
+void ass_add_font(ass_library_t* priv, char* name, char* data, int size)
+{
+	grow_array((void**)&priv->fontdata, priv->num_fontdata, sizeof(*priv->fontdata));
+	priv->fontdata[priv->num_fontdata].name = name;
+	priv->fontdata[priv->num_fontdata].data = data;
+	priv->fontdata[priv->num_fontdata].size = size;
+	priv->num_fontdata ++;
+}
+