From: Grigori Goronzy Date: Sat, 17 Apr 2010 20:59:47 +0000 (+0200) Subject: Support multiple faces per attachment correctly X-Git-Tag: 0.9.10~41 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ccb40a479f51fda8fe2e63686eab004d7e1cdbdb;p=libass Support multiple faces per attachment correctly Store the real font face id instead of using 0 all the time and use the real font face id for font lookup as well. This makes font attachments with multiple faces work correctly. Thanks to ubitux and uau! --- diff --git a/libass/ass_font.c b/libass/ass_font.c index c8e84c5..5ac2a31 100644 --- a/libass/ass_font.c +++ b/libass/ass_font.c @@ -130,7 +130,7 @@ static int add_face(void *fc_priv, ASS_Font *font, uint32_t ch) FT_New_Memory_Face(font->ftlibrary, (unsigned char *) font->library-> fontdata[mem_idx].data, - font->library->fontdata[mem_idx].size, 0, + font->library->fontdata[mem_idx].size, index, &face); if (error) { ass_msg(font->library, MSGL_WARN, diff --git a/libass/ass_fontconfig.c b/libass/ass_fontconfig.c index 0150b2e..b1686ff 100644 --- a/libass/ass_fontconfig.c +++ b/libass/ass_fontconfig.c @@ -369,7 +369,7 @@ static void process_fontdata(FCInstance *priv, ASS_Library *library, num_faces = face->num_faces; pattern = - FcFreeTypeQueryFace(face, (unsigned char *) name, 0, + FcFreeTypeQueryFace(face, (unsigned char *) name, face_index, FcConfigGetBlanks(priv->config)); if (!pattern) { ass_msg(library, MSGL_WARN, "%s failed", "FcFreeTypeQueryFace");