[glyf][gvar] Make HB_NO_VAR buildable
diff --git a/src/hb-ot-font.cc b/src/hb-ot-font.cc
index 283cfb6..303cd4c 100644
--- a/src/hb-ot-font.cc
+++ b/src/hb-ot-font.cc
@@ -315,6 +315,7 @@
 		     nullptr);
 }
 
+#ifndef HB_NO_VAR
 int
 hb_ot_get_side_bearing_var_tt (hb_font_t *font, hb_codepoint_t glyph, bool is_vertical)
 {
@@ -326,6 +327,7 @@
 {
   return font->face->table.glyf->get_advance_var (glyph, font->coords, font->num_coords, is_vertical);
 }
+#endif
 
 
 #endif
diff --git a/src/hb-ot-glyf-table.hh b/src/hb-ot-glyf-table.hh
index 0855d86..a7b934d 100644
--- a/src/hb-ot-glyf-table.hh
+++ b/src/hb-ot-glyf-table.hh
@@ -726,6 +726,7 @@
       contour_point_t	max;
     };
 
+#ifndef HB_NO_VAR
     /* Note: Recursively calls itself.
      * all_points includes phantom points
      */
@@ -855,6 +856,7 @@
 			  const int *coords, unsigned int coord_count,
 			  hb_glyph_extents_t *extents) const
     { return get_var_extents_and_phantoms (glyph, coords, coord_count, extents); }
+#endif
 
     public:
     /* based on FontTools _g_l_y_f.py::trim */
@@ -1015,6 +1017,7 @@
       return true;
     }
 
+#ifndef HB_NO_VAR
     unsigned int get_advance_var (hb_codepoint_t glyph,
 				  const int *coords, unsigned int coord_count,
 				  bool vertical) const
@@ -1046,13 +1049,16 @@
 
       return vertical ? ceil (phantoms[PHANTOM_TOP].y) - extents.y_bearing : floor (phantoms[PHANTOM_LEFT].x);
     }
+#endif
 
     bool get_extents (hb_font_t *font, hb_codepoint_t glyph, hb_glyph_extents_t *extents) const
     {
+#ifndef HB_NO_VAR
       unsigned int coord_count;
       const int *coords = hb_font_get_var_coords_normalized (font, &coord_count);
       if (coords && coord_count > 0 && coord_count == face->table.gvar->get_axis_count ())
 	return get_extents_var (glyph, coords, coord_count, extents);
+#endif
 
       unsigned int start_offset, end_offset;
       if (!get_offsets (glyph, &start_offset, &end_offset))
diff --git a/src/hb-ot-hmtx-table.hh b/src/hb-ot-hmtx-table.hh
index 8a73959..9d17933 100644
--- a/src/hb-ot-hmtx-table.hh
+++ b/src/hb-ot-hmtx-table.hh
@@ -211,6 +211,7 @@
     {
       int side_bearing = get_side_bearing (glyph);
 
+#ifndef HB_NO_VAR
       if (unlikely (glyph >= num_metrics) || !font->num_coords)
 	return side_bearing;
 
@@ -218,6 +219,9 @@
 	return hb_ot_get_side_bearing_var_tt (font, glyph, T::tableTag == HB_OT_TAG_vmtx);
 
       return side_bearing + var_table->get_side_bearing_var (glyph, font->coords, font->num_coords); // TODO Optimize?!
+#else
+      return side_bearing;
+#endif
     }
 
     unsigned int get_advance (hb_codepoint_t glyph) const
@@ -241,6 +245,7 @@
     {
       unsigned int advance = get_advance (glyph);
 
+#ifndef HB_NO_VAR
       if (unlikely (glyph >= num_metrics) || !font->num_coords)
 	return advance;
 
@@ -248,6 +253,9 @@
 	return hb_ot_get_advance_var_tt (font, glyph, T::tableTag == HB_OT_TAG_vmtx);
 
       return advance + roundf (var_table->get_advance_var (glyph, font->coords, font->num_coords)); // TODO Optimize?!
+#else
+      return advance;
+#endif
     }
 
     unsigned int num_advances_for_subset (const hb_subset_plan_t *plan) const