From 47e538a35f9072e5775a65e2bf110ae895818321 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Fri, 12 Apr 2019 22:50:22 -0400 Subject: [PATCH] Add HB_NO_SUBSET_LAYOUT Part of https://github.com/harfbuzz/harfbuzz/issues/1652 --- src/hb-subset.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/hb-subset.cc b/src/hb-subset.cc index 655e495fb..4362eef60 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 @@ _subset_table (hb_subset_plan_t *plan, case HB_OT_TAG_VORG: result = _subset (plan); break; + +#if !defined(HB_NO_SUBSET_LAYOUT) case HB_OT_TAG_GDEF: result = _subset2 (plan); break; @@ -205,6 +207,7 @@ _subset_table (hb_subset_plan_t *plan, case HB_OT_TAG_GPOS: result = _subset2 (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'):