From ccb40a479f51fda8fe2e63686eab004d7e1cdbdb Mon Sep 17 00:00:00 2001 From: Grigori Goronzy Date: Sat, 17 Apr 2010 22:59:47 +0200 Subject: 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! --- libass/ass_font.c | 2 +- libass/ass_fontconfig.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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"); -- cgit v1.2.3