summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@blackbox>2010-04-17 22:59:47 +0200
committerGrigori Goronzy <greg@blackbox>2010-04-17 22:59:47 +0200
commitccb40a479f51fda8fe2e63686eab004d7e1cdbdb (patch)
tree8c1039bb95c32034b0d9eea07a86f736a8a78823
parent1b4982640f8c82307c54722ff23eff1da57d1146 (diff)
downloadlibass-ccb40a479f51fda8fe2e63686eab004d7e1cdbdb.tar.bz2
libass-ccb40a479f51fda8fe2e63686eab004d7e1cdbdb.tar.xz
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!
-rw-r--r--libass/ass_font.c2
-rw-r--r--libass/ass_fontconfig.c2
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");