[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