[mort] Make it compile / hook it up

Untested.
diff --git a/src/hb-aat-layout.cc b/src/hb-aat-layout.cc
index 59157c2..2b4f578 100644
--- a/src/hb-aat-layout.cc
+++ b/src/hb-aat-layout.cc
@@ -133,20 +133,20 @@
  * mort/morx/kerx/trak
  */
 
-// static inline const AAT::mort&
-// _get_mort (hb_face_t *face, hb_blob_t **blob = nullptr)
-// {
-//   if (unlikely (!hb_ot_shaper_face_data_ensure (face)))
-//   {
-//     if (blob)
-//       *blob = hb_blob_get_empty ();
-//     return Null(AAT::mort);
-//   }
-//   const AAT::morx& mort = *(hb_ot_face_data (face)->mort.get ());
-//   if (blob)
-//     *blob = hb_ot_face_data (face)->mort.get_blob ();
-//   return mort;
-// }
+static inline const AAT::mort&
+_get_mort (hb_face_t *face, hb_blob_t **blob = nullptr)
+{
+  if (unlikely (!hb_ot_shaper_face_data_ensure (face)))
+  {
+    if (blob)
+      *blob = hb_blob_get_empty ();
+    return Null(AAT::mort);
+  }
+  const AAT::mort& mort = *(hb_ot_face_data (face)->mort.get ());
+  if (blob)
+    *blob = hb_ot_face_data (face)->mort.get_blob ();
+  return mort;
+}
 static inline const AAT::morx&
 _get_morx (hb_face_t *face, hb_blob_t **blob = nullptr)
 {
@@ -214,7 +214,8 @@
 hb_bool_t
 hb_aat_layout_has_substitution (hb_face_t *face)
 {
-  return _get_morx (face).has_data ();
+  return _get_morx (face).has_data () ||
+	 _get_mort (face).has_data ();
 }
 
 void
@@ -223,10 +224,22 @@
 			  hb_buffer_t *buffer)
 {
   hb_blob_t *blob;
-  const AAT::morx& morx = _get_morx (font->face, &blob);
 
-  AAT::hb_aat_apply_context_t c (plan, font, buffer, blob);
-  morx.apply (&c);
+  const AAT::morx& morx = _get_morx (font->face, &blob);
+  if (morx.has_data ())
+  {
+    AAT::hb_aat_apply_context_t c (plan, font, buffer, blob);
+    morx.apply (&c);
+    return;
+  }
+
+  const AAT::mort& mort = _get_mort (font->face, &blob);
+  if (mort.has_data ())
+  {
+    AAT::hb_aat_apply_context_t c (plan, font, buffer, blob);
+    mort.apply (&c);
+    return;
+  }
 }