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 | 42f148ad6df836a2e6a83c447a7e50bb390608ae (patch) | |
tree | aa6fd5d479d339341e84366e020bf9dd6434724b /libass/ass_library.c | |
parent | f42b7ecef4f291847b8c813d8ec160fd2c316e73 (diff) | |
download | libass-42f148ad6df836a2e6a83c447a7e50bb390608ae.tar.bz2 libass-42f148ad6df836a2e6a83c447a7e50bb390608ae.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 1928e43..cb8152e 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 ++; +} + |