Commit 773e31c78397a5471efb7c37d7cd1eca40b46351

Alexei Podtelezhnikov 2022-01-18T14:05:46

* src/autofit/afglobal.c (af_face_globals_new): Reduce zeroing. Everything in AF_FaceGlobals is initialized except metrics. Those are zeroed here and initialized on demand later.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff --git a/src/autofit/afglobal.c b/src/autofit/afglobal.c
index 4092de6..87a3fbf 100644
--- a/src/autofit/afglobal.c
+++ b/src/autofit/afglobal.c
@@ -337,11 +337,13 @@
 
     /* we allocate an AF_FaceGlobals structure together */
     /* with the glyph_styles array                      */
-    if ( FT_ALLOC( globals,
-                   sizeof ( *globals ) +
-                     (FT_ULong)face->num_glyphs * sizeof ( FT_UShort ) ) )
+    if ( FT_QALLOC( globals,
+                    sizeof ( *globals ) +
+                      (FT_ULong)face->num_glyphs * sizeof ( FT_UShort ) ) )
       goto Exit;
 
+    FT_ZERO( &globals->metrics );
+
     globals->face                      = face;
     globals->glyph_count               = face->num_glyphs;
     /* right after the globals structure come the glyph styles */