[subset] keep features that have FeatureParams and the tag is "size"
diff --git a/src/hb-ot-layout-gsubgpos.hh b/src/hb-ot-layout-gsubgpos.hh
index aa5d496..8a01575 100644
--- a/src/hb-ot-layout-gsubgpos.hh
+++ b/src/hb-ot-layout-gsubgpos.hh
@@ -3783,8 +3783,12 @@
// http://lists.freedesktop.org/archives/harfbuzz/2012-November/002660.html
continue;
- if (f.featureParams.is_null ()
- && !f.intersects_lookup_indexes (lookup_indices)
+
+ if (!f.featureParams.is_null () &&
+ tag == HB_TAG ('s', 'i', 'z', 'e'))
+ continue;
+
+ if (!f.intersects_lookup_indexes (lookup_indices)
#ifndef HB_NO_VAR
&& !alternate_feature_indices.has (i)
#endif
diff --git a/test/subset/data/Makefile.am b/test/subset/data/Makefile.am
index 4934fa6..d83113b 100644
--- a/test/subset/data/Makefile.am
+++ b/test/subset/data/Makefile.am
@@ -40,6 +40,7 @@
expected/layout.tinos \
expected/layout.duplicate_features \
expected/layout.unsorted_featurelist \
+ expected/layout.drop_feature \
expected/cmap \
expected/cmap14 \
expected/sbix \
diff --git a/test/subset/data/Makefile.sources b/test/subset/data/Makefile.sources
index c9597e0..e3bf00c 100644
--- a/test/subset/data/Makefile.sources
+++ b/test/subset/data/Makefile.sources
@@ -38,7 +38,8 @@
tests/layout.tinos.tests \
tests/layout.duplicate_features.tests \
tests/layout.unsorted_featurelist.tests \
- tests/sbix.tests \
+ tests/layout.drop_feature.tests \
+ tests/sbix.tests \
tests/variable.tests \
tests/glyph_names.tests \
tests/math.tests \
diff --git a/test/subset/data/expected/layout.drop_feature/SpectralSC-ExtraLightItalic.default.retain-all-codepoint.ttf b/test/subset/data/expected/layout.drop_feature/SpectralSC-ExtraLightItalic.default.retain-all-codepoint.ttf
new file mode 100644
index 0000000..750511a
--- /dev/null
+++ b/test/subset/data/expected/layout.drop_feature/SpectralSC-ExtraLightItalic.default.retain-all-codepoint.ttf
Binary files differ
diff --git a/test/subset/data/expected/layout.drop_feature/SpectralSC-ExtraLightItalic.glyph-names.retain-all-codepoint.ttf b/test/subset/data/expected/layout.drop_feature/SpectralSC-ExtraLightItalic.glyph-names.retain-all-codepoint.ttf
new file mode 100644
index 0000000..2af8865
--- /dev/null
+++ b/test/subset/data/expected/layout.drop_feature/SpectralSC-ExtraLightItalic.glyph-names.retain-all-codepoint.ttf
Binary files differ
diff --git a/test/subset/data/expected/layout.drop_feature/SpectralSC-ExtraLightItalic.notdef-outline.retain-all-codepoint.ttf b/test/subset/data/expected/layout.drop_feature/SpectralSC-ExtraLightItalic.notdef-outline.retain-all-codepoint.ttf
new file mode 100644
index 0000000..4e24155
--- /dev/null
+++ b/test/subset/data/expected/layout.drop_feature/SpectralSC-ExtraLightItalic.notdef-outline.retain-all-codepoint.ttf
Binary files differ
diff --git a/test/subset/data/fonts/SpectralSC-ExtraLightItalic.ttf b/test/subset/data/fonts/SpectralSC-ExtraLightItalic.ttf
new file mode 100644
index 0000000..e5b0f47
--- /dev/null
+++ b/test/subset/data/fonts/SpectralSC-ExtraLightItalic.ttf
Binary files differ
diff --git a/test/subset/data/tests/layout.drop_feature.tests b/test/subset/data/tests/layout.drop_feature.tests
new file mode 100644
index 0000000..9d15ce2
--- /dev/null
+++ b/test/subset/data/tests/layout.drop_feature.tests
@@ -0,0 +1,10 @@
+FONTS:
+SpectralSC-ExtraLightItalic.ttf
+
+PROFILES:
+default.txt
+glyph-names.txt
+notdef-outline.txt
+
+SUBSETS:
+*
diff --git a/test/subset/meson.build b/test/subset/meson.build
index a1aa7f1..dd53551 100644
--- a/test/subset/meson.build
+++ b/test/subset/meson.build
@@ -32,6 +32,7 @@
'layout.tinos',
'layout.duplicate_features',
'layout.unsorted_featurelist',
+ 'layout.drop_feature',
'cmap',
'cmap14',
'sbix',