[subset] copy Lookup::markFilteringSet when subseting.
diff --git a/src/hb-ot-layout-common.hh b/src/hb-ot-layout-common.hh
index 7b230cd..9ff409f 100644
--- a/src/hb-ot-layout-common.hh
+++ b/src/hb-ot-layout-common.hh
@@ -1291,6 +1291,14 @@
     | hb_apply (subset_offset_array (c, out->get_subtables<TSubTable> (), this, lookup_type))
     ;
 
+    if (lookupFlag & LookupFlag::UseMarkFilteringSet)
+    {
+      if (unlikely (!c->serializer->extend (out))) return_trace (false);
+      const HBUINT16 &markFilteringSet = StructAfter<HBUINT16> (subTable);
+      HBUINT16 &outMarkFilteringSet = StructAfter<HBUINT16> (out->subTable);
+      outMarkFilteringSet = markFilteringSet;
+    }
+
     return_trace (true);
   }
 
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.61,62,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.61,62,63.ttf
new file mode 100644
index 0000000..40bf05a
--- /dev/null
+++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.61,62,63.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.61,63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.61,63.ttf
new file mode 100644
index 0000000..1777040
--- /dev/null
+++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.61,63.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.61.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.61.ttf
new file mode 100644
index 0000000..843c8e9
--- /dev/null
+++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.61.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.62.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.62.ttf
new file mode 100644
index 0000000..a3bebd8
--- /dev/null
+++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.62.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.63.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.63.ttf
new file mode 100644
index 0000000..23a8777
--- /dev/null
+++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.63.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.retain-all-codepoint.ttf b/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.retain-all-codepoint.ttf
new file mode 100644
index 0000000..d326ca1
--- /dev/null
+++ b/test/subset/data/expected/basics/Comfortaa-Regular-new.keep-layout.retain-all-codepoint.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.61,62,63.ttf b/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.61,62,63.ttf
new file mode 100644
index 0000000..dbed582
--- /dev/null
+++ b/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.61,62,63.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.61,63.ttf b/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.61,63.ttf
new file mode 100644
index 0000000..5913420
--- /dev/null
+++ b/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.61,63.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.61.ttf b/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.61.ttf
new file mode 100644
index 0000000..3635f68
--- /dev/null
+++ b/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.61.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.62.ttf b/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.62.ttf
new file mode 100644
index 0000000..91fcad8
--- /dev/null
+++ b/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.62.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.63.ttf b/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.63.ttf
new file mode 100644
index 0000000..737cbdc
--- /dev/null
+++ b/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.63.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.retain-all-codepoint.ttf b/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.retain-all-codepoint.ttf
new file mode 100644
index 0000000..9744bc3
--- /dev/null
+++ b/test/subset/data/expected/basics/NanumMyeongjo-Regular-subset.keep-layout.retain-all-codepoint.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.61,62,63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.61,62,63.ttf
new file mode 100644
index 0000000..712674f
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.61,62,63.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.61,63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.61,63.ttf
new file mode 100644
index 0000000..f4b4a08
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.61,63.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.61.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.61.ttf
new file mode 100644
index 0000000..60e3c5c
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.61.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.62.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.62.ttf
new file mode 100644
index 0000000..a2916f8
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.62.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.63.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.63.ttf
new file mode 100644
index 0000000..e3964f8
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.63.ttf
Binary files differ
diff --git a/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.retain-all-codepoint.ttf b/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.retain-all-codepoint.ttf
new file mode 100644
index 0000000..712674f
--- /dev/null
+++ b/test/subset/data/expected/basics/Roboto-Regular.abc.keep-layout.retain-all-codepoint.ttf
Binary files differ
diff --git a/test/subset/data/tests/basics.tests b/test/subset/data/tests/basics.tests
index c5aa136..05a156f 100644
--- a/test/subset/data/tests/basics.tests
+++ b/test/subset/data/tests/basics.tests
@@ -12,6 +12,7 @@
 name-languages.txt
 name-legacy.txt
 gids.txt
+keep-layout.txt
 
 SUBSETS:
 abc