diff options
author | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-12-03 17:59:13 +0000 |
---|---|---|
committer | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-12-03 17:59:13 +0000 |
commit | 7db61d9736e71adcd85ce562ae89861513567d91 (patch) | |
tree | 4012a408a05f63dd4b35eacc763230b9714e1fa7 /libass/ass_library.c | |
parent | 6d0d8d71f882ed01f1aadecb923d939efa6a4d99 (diff) | |
download | mpv-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.c | 16 |
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 ++; +} + |