[truetype] Clean up size validation.

Rely on non-zero ppem to validate the size object.

* src/truetype/ttobjs.h (TT_Size_Merics): Remove the `valid` flag.
* src/truetype/ttobjs.c (tt_size_init,done,reset,reset_height): Updated.
* src/truetype/ttgload.c (TT_Load_Glyph): Check for non-zero ppem.
diff --git a/src/truetype/ttgload.c b/src/truetype/ttgload.c
index 9f9404f..dd330ae 100644
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -2478,7 +2478,7 @@
 #endif /* TT_CONFIG_OPTION_EMBEDDED_BITMAPS */
 
     /* if FT_LOAD_NO_SCALE is not set, `ttmetrics' must be valid */
-    if ( !( load_flags & FT_LOAD_NO_SCALE ) && !size->ttmetrics.valid )
+    if ( !( load_flags & FT_LOAD_NO_SCALE ) && !size->ttmetrics.ppem )
     {
       error = FT_THROW( Invalid_Size_Handle );
       goto Exit;
diff --git a/src/truetype/ttobjs.c b/src/truetype/ttobjs.c
index a3822f6..8051f36 100644
--- a/src/truetype/ttobjs.c
+++ b/src/truetype/ttobjs.c
@@ -1135,8 +1135,7 @@
     size->bytecode_ready = -1;
 #endif
 
-    size->ttmetrics.valid = FALSE;
-    size->strike_index    = 0xFFFFFFFFUL;
+    size->strike_index = 0xFFFFFFFFUL;
 
     return error;
   }
@@ -1163,8 +1162,6 @@
 #ifdef TT_USE_BYTECODE_INTERPRETER
     tt_size_done_bytecode( size );
 #endif
-
-    size->ttmetrics.valid = FALSE;
   }
 
 
@@ -1192,8 +1189,6 @@
     TT_Face           face         = (TT_Face)size->root.face;
     FT_Size_Metrics*  size_metrics = &size->hinted_metrics;
 
-    size->ttmetrics.valid = FALSE;
-
     /* copy the result from base layer */
     *size_metrics = size->root.metrics;
 
@@ -1218,8 +1213,6 @@
                                           size_metrics->y_scale ) );
     }
 
-    size->ttmetrics.valid = TRUE;
-
     return FT_Err_Ok;
   }
 
@@ -1245,6 +1238,9 @@
     FT_Size_Metrics*  size_metrics = &size->hinted_metrics;
 
 
+    /* invalidate the size object first */
+    size->ttmetrics.ppem = 0;
+
     error = tt_size_reset_height( (FT_Size)size );
     if ( error )
       return error;
diff --git a/src/truetype/ttobjs.h b/src/truetype/ttobjs.h
index bd0bdcb..7d0c530 100644
--- a/src/truetype/ttobjs.h
+++ b/src/truetype/ttobjs.h
@@ -191,8 +191,6 @@
     FT_Fixed    scale;
     FT_UShort   ppem;               /* maximum ppem size              */
 
-    FT_Bool     valid;
-
     FT_Bool     rotated;            /* `is the glyph rotated?'-flag   */
     FT_Bool     stretched;          /* `is the glyph stretched?'-flag */