Revert "Merge pull request #1671 from anthrotype/varlib-single-master-vf"

This reverts commit f3c99cfef211336a9c6921552462ee1661fbcede, reversing
changes made to 1dcb3c2bde86e9977bb384046e594e35ecd18796.
diff --git a/Lib/fontTools/varLib/__init__.py b/Lib/fontTools/varLib/__init__.py
index 87bca8a..b428aeb 100644
--- a/Lib/fontTools/varLib/__init__.py
+++ b/Lib/fontTools/varLib/__init__.py
@@ -311,13 +311,15 @@
 
 	log.info("Generating gvar")
 	assert "gvar" not in font
+	gvar = font["gvar"] = newTable('gvar')
+	gvar.version = 1
+	gvar.reserved = 0
+	gvar.variations = {}
 
 	glyf = font['glyf']
 
 	# use hhea.ascent of base master as default vertical origin when vmtx is missing
 	defaultVerticalOrigin = font['hhea'].ascent
-
-	variations = {}
 	for glyph in font.getGlyphOrder():
 
 		isComposite = glyf[glyph].isComposite()
@@ -337,6 +339,7 @@
 		del allControls
 
 		# Update gvar
+		gvar.variations[glyph] = []
 		deltas = model.getDeltas(allCoords)
 		supports = model.supports
 		assert len(deltas) == len(supports)
@@ -375,14 +378,7 @@
 					if optimized_len < unoptimized_len:
 						var = var_opt
 
-			variations.setdefault(glyph, []).append(var)
-
-	if variations:
-		gvar = font["gvar"] = newTable('gvar')
-		gvar.version = 1
-		gvar.reserved = 0
-		gvar.variations = variations
-
+			gvar.variations[glyph].append(var)
 
 def _remove_TTHinting(font):
 	for tag in ("cvar", "cvt ", "fpgm", "prep"):
@@ -486,6 +482,10 @@
 	tableTag = tableFields.tableTag
 	assert tableTag not in font
 	log.info("Generating " + tableTag)
+	VHVAR = newTable(tableTag)
+	tableClass = getattr(ot, tableTag)
+	vhvar = VHVAR.table = tableClass()
+	vhvar.Version = 0x00010000
 
 	glyphOrder = font.getGlyphOrder()
 
@@ -505,15 +505,7 @@
 		masterModel, master_ttfs, axisTags, glyphOrder, advMetricses,
 		vOrigMetricses)
 
-	if not metricsStore.VarRegionList.Region:  # VarStore is empty
-		return
-
-	VHVAR = newTable(tableTag)
-	tableClass = getattr(ot, tableTag)
-	vhvar = VHVAR.table = tableClass()
-	vhvar.Version = 0x00010000
 	vhvar.VarStore = metricsStore
-
 	if advanceMapping is None:
 		setattr(vhvar, tableFields.advMapping, None)
 	else:
@@ -524,7 +516,7 @@
 	setattr(vhvar, tableFields.sb2, None)
 
 	font[tableTag] = VHVAR
-
+	return
 
 def _get_advance_metrics(font, masterModel, master_ttfs,
 		axisTags, glyphOrder, advMetricses, vOrigMetricses=None):