[meta] Don't use template default arguments for functions

That's a C++11 extension apparently...
diff --git a/src/hb-meta.hh b/src/hb-meta.hh
index 0a711e1..6646d28 100644
--- a/src/hb-meta.hh
+++ b/src/hb-meta.hh
@@ -55,7 +55,7 @@
 struct hb_enable_if<true, T> { typedef T type; };
 
 #define hb_enable_if(Cond) typename hb_enable_if<Cond>::type* = nullptr
-#define hb_enable_if_t(Type, Cond) hb_enable_if<(Cond), Type>::type
+#define hb_enable_if_t(Cond, Type) typename hb_enable_if<(Cond), Type>::type
 
 
 /*
diff --git a/src/hb-open-type.hh b/src/hb-open-type.hh
index 41cd0c0..a1e30d2 100644
--- a/src/hb-open-type.hh
+++ b/src/hb-open-type.hh
@@ -552,10 +552,10 @@
     if (unlikely (!c->extend (*this))) return_trace (false);
     return_trace (true);
   }
-  template <typename Iterator,
-	    hb_enable_if (hb_is_iterator (Iterator))>
-  bool serialize (hb_serialize_context_t *c,
-		  Iterator items)
+  template <typename Iterator>
+  hb_enable_if_t (hb_is_iterator (Iterator),
+  bool) serialize (hb_serialize_context_t *c,
+		   Iterator items)
   {
     TRACE_SERIALIZE (this);
     unsigned count = items.len ();