Don't form fractions if only one of numr/dnom exist
diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc
index 1ef216c..f9adfd2 100644
--- a/src/hb-ot-shape.cc
+++ b/src/hb-ot-shape.cc
@@ -331,7 +331,8 @@
 	numr_mask = c->plan->map.get_1_mask (HB_TAG ('n','u','m','r'));
 	dnom_mask = c->plan->map.get_1_mask (HB_TAG ('d','n','o','m'));
 
-	if (!(frac_mask | numr_mask | dnom_mask))
+	/* Only proceed if frac exists, or both numr and dnom exist. */
+	if (!frac_mask && (!numr_mask || !dnom_mask))
 	  return;
       }