Add HB_NO_SUBSET_LAYOUT
authorBehdad Esfahbod <behdad@behdad.org>
Sat, 13 Apr 2019 02:50:22 +0000 (22:50 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Sat, 13 Apr 2019 02:54:15 +0000 (22:54 -0400)
Part of https://github.com/harfbuzz/harfbuzz/issues/1652

src/hb-subset.cc

index 655e495..4362eef 100644 (file)
@@ -47,7 +47,7 @@
 #include "hb-ot-layout-gpos-table.hh"
 
 
-static unsigned int
+static HB_UNUSED unsigned int
 _plan_estimate_subset_table_size (hb_subset_plan_t *plan,
                                  unsigned int table_len)
 {
@@ -196,6 +196,8 @@ _subset_table (hb_subset_plan_t *plan,
     case HB_OT_TAG_VORG:
       result = _subset<const OT::VORG> (plan);
       break;
+
+#if !defined(HB_NO_SUBSET_LAYOUT)
     case HB_OT_TAG_GDEF:
       result = _subset2<const OT::GDEF> (plan);
       break;
@@ -205,6 +207,7 @@ _subset_table (hb_subset_plan_t *plan,
     case HB_OT_TAG_GPOS:
       result = _subset2<const OT::GPOS> (plan);
       break;
+#endif
 
     default:
       hb_blob_t *source_table = hb_face_reference_table (plan->source, tag);
@@ -230,11 +233,16 @@ _should_drop_table (hb_subset_plan_t *plan, hb_tag_t tag)
     case HB_TAG ('h', 'd', 'm', 'x'): /* hint table, fallthrough */
     case HB_TAG ('V', 'D', 'M', 'X'): /* hint table, fallthrough */
       return plan->drop_hints;
+
     // Drop Layout Tables if requested.
     case HB_OT_TAG_GDEF:
     case HB_OT_TAG_GPOS:
     case HB_OT_TAG_GSUB:
+#if defined(HB_NO_SUBSET_LAYOUT)
+      return true;
+#endif
       return plan->drop_layout;
+
     // Drop these tables below by default, list pulled
     // from fontTools:
     case HB_TAG ('B', 'A', 'S', 'E'):