summaryrefslogtreecommitdiffstats
path: root/libass/ass_library.c
diff options
context:
space:
mode:
authoreugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-12-03 17:59:13 +0000
committereugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-12-03 17:59:13 +0000
commit7db61d9736e71adcd85ce562ae89861513567d91 (patch)
tree4012a408a05f63dd4b35eacc763230b9714e1fa7 /libass/ass_library.c
parent6d0d8d71f882ed01f1aadecb923d939efa6a4d99 (diff)
downloadmpv-7db61d9736e71adcd85ce562ae89861513567d91.tar.bz2
mpv-7db61d9736e71adcd85ce562ae89861513567d91.tar.xz
Keep embedded fonts in ass_library_t and perform actual disk write
in fontconfig initialization. This is required for some fontconfig-related improvements. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21474 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libass/ass_library.c')
-rw-r--r--libass/ass_library.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libass/ass_library.c b/libass/ass_library.c
index 1928e4361c..cb8152e9ba 100644
--- a/libass/ass_library.c
+++ b/libass/ass_library.c
@@ -71,3 +71,19 @@ void ass_set_style_overrides(ass_library_t* priv, char** list)
*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 ++;
+}
+