Add HB_NO_SUBSET_LAYOUT
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
diff --git a/src/hb-subset.cc b/src/hb-subset.cc
index 655e495..4362eef 100644
--- a/src/hb-subset.cc
+++ b/src/hb-subset.cc
@@ -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 @@
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 @@
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 @@
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'):