From 72170ac108b6c4572db12bb6af0e89267bc0deb2 Mon Sep 17 00:00:00 2001 From: eugeni Date: Thu, 22 May 2008 22:52:57 +0000 Subject: Read all faces of a memory font, not just the first one. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26856 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libass/ass_fontconfig.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libass') diff --git a/libass/ass_fontconfig.c b/libass/ass_fontconfig.c index 34ffdb8519..2d858802e9 100644 --- a/libass/ass_fontconfig.c +++ b/libass/ass_fontconfig.c @@ -351,12 +351,15 @@ static void process_fontdata(fc_instance_t* priv, ass_library_t* library, FT_Lib FcPattern* pattern; FcFontSet* fset; FcBool res; + int face_index, num_faces = 1; - rc = FT_New_Memory_Face(ftlibrary, (unsigned char*)data, data_size, 0, &face); + for (face_index = 0; face_index < num_faces; ++face_index) { + rc = FT_New_Memory_Face(ftlibrary, (unsigned char*)data, data_size, face_index, &face); if (rc) { mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_ErrorOpeningMemoryFont, name); return; } + num_faces = face->num_faces; pattern = FcFreeTypeQueryFace(face, (unsigned char*)name, 0, FcConfigGetBlanks(priv->config)); if (!pattern) { @@ -380,6 +383,7 @@ static void process_fontdata(fc_instance_t* priv, ass_library_t* library, FT_Lib } FT_Done_Face(face); + } #endif } -- cgit v1.2.3