fontconfig: Branch 'main'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 src/fcfreetype.c |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

New commits:
commit a6a169572204dd86f4ab462ef505d98fdfd82d76
Author: msizanoen1 <msizanoen@xxxxxxxxxxx>
Date:   Wed Feb 22 21:53:17 2023 +0700

    Reload MM/VF metadata for each font face in font collection
    
    This ensures that the MM/VF metadata is the correct metadata for each
    font face instead of whatever happens to be in the first one in the
    collection.

diff --git a/src/fcfreetype.c b/src/fcfreetype.c
index 8ae88bd..636ee4f 100644
--- a/src/fcfreetype.c
+++ b/src/fcfreetype.c
@@ -2350,12 +2350,26 @@ skip:
 	    cs = NULL;
 	    FT_Done_Face (face);
 	    face = NULL;
+#ifdef HAVE_FT_DONE_MM_VAR
+	    FT_Done_MM_Var (ftLibrary, mm_var);
+#else
+	    free (mm_var);
+#endif
+	    mm_var = NULL;
 
 	    face_num++;
 	    instance_num = set_instance_num;
 
 	    if (FT_New_Face (ftLibrary, (const char *) file, face_num, &face))
 	      break;
+
+	    num_instances = face->style_flags >> 16;
+	    if (num_instances && (!index_set || instance_num))
+	    {
+		FT_Get_MM_Var (face, &mm_var);
+		if (!mm_var)
+		    num_instances = 0;
+	    }
 	}
     } while (!err && (!index_set || face_num == set_face_num) && face_num < num_faces);
 



[Index of Archives]     [Fedora Fonts]     [Fedora Users]     [Fedora Cloud]     [Kernel]     [Fedora Packaging]     [Fedora Desktop]     [PAM]     [Gimp Graphics Editor]     [Yosemite News]

  Powered by Linux