Commit 535b687e58960f29c2da936c486deb3065d32250

Werner Lemberg 2019-05-16T09:55:16

[truetype] Avoid code duplication. * src/truetype/ttobjs.c (tt_size_run_prep): Scale CVT values in this function. (tt_size_ready_bytecode): Updated. * src/truetype/ttgload.c (tt_loader_init): Updated.

diff --git a/ChangeLog b/ChangeLog
index 48df20a..25877da 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2019-05-16  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Avoid code duplication.
+
+	* src/truetype/ttobjs.c (tt_size_run_prep): Scale CVT values in this
+	function.
+	(tt_size_ready_bytecode): Updated.
+	* src/truetype/ttgload.c (tt_loader_init): Updated.
+
 2019-05-13  Jouk Jansen  <joukj@hrem.nano.tudelft.nl>
 
 	* vms_make.com: Updated.  Handle `bzip2' directory, too.
diff --git a/src/truetype/ttgload.c b/src/truetype/ttgload.c
index 0111c40..84b65d4 100644
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -2681,11 +2681,6 @@
 
       if ( reexecute )
       {
-        FT_UInt  i;
-
-
-        for ( i = 0; i < size->cvt_size; i++ )
-          size->cvt[i] = FT_MulFix( face->cvt[i], size->ttmetrics.scale );
         error = tt_size_run_prep( size, pedantic );
         if ( error )
           return error;
diff --git a/src/truetype/ttobjs.c b/src/truetype/ttobjs.c
index f3a432c..98a9fa4 100644
--- a/src/truetype/ttobjs.c
+++ b/src/truetype/ttobjs.c
@@ -937,8 +937,20 @@
     TT_Face         face = (TT_Face)size->root.face;
     TT_ExecContext  exec;
     FT_Error        error;
+    FT_UInt         i;
 
 
+    /* Scale the cvt values to the new ppem.            */
+    /* By default, we use the y ppem value for scaling. */
+    FT_TRACE6(( "CVT values:\n" ));
+    for ( i = 0; i < size->cvt_size; i++ )
+    {
+      size->cvt[i] = FT_MulFix( face->cvt[i], size->ttmetrics.scale );
+      FT_TRACE6(( "  %3d: %d (%f)\n",
+                  i, face->cvt[i], size->cvt[i] / 64.0 ));
+    }
+    FT_TRACE6(( "\n" ));
+
     exec = size->context;
 
     error = TT_Load_Context( exec, face, size );
@@ -1171,20 +1183,8 @@
     if ( size->cvt_ready < 0 )
     {
       FT_UInt  i;
-      TT_Face  face = (TT_Face)size->root.face;
 
 
-      /* Scale the cvt values to the new ppem.            */
-      /* By default, we use the y ppem value for scaling. */
-      FT_TRACE6(( "CVT values:\n" ));
-      for ( i = 0; i < size->cvt_size; i++ )
-      {
-        size->cvt[i] = FT_MulFix( face->cvt[i], size->ttmetrics.scale );
-        FT_TRACE6(( "  %3d: %d (%f)\n",
-                    i, face->cvt[i], size->cvt[i] / 64.0 ));
-      }
-      FT_TRACE6(( "\n" ));
-
       /* all twilight points are originally zero */
       for ( i = 0; i < (FT_UInt)size->twilight.n_points; i++ )
       {