diff --git a/src/hb-ot-post-table.hh b/src/hb-ot-post-table.hh index e0eb77094..042fa611a 100644 --- a/src/hb-ot-post-table.hh +++ b/src/hb-ot-post-table.hh @@ -99,6 +99,10 @@ struct post post *post_prime = c->serializer->start_embed (); if (unlikely (!post_prime)) return_trace (false); + bool glyph_names = c->plan->flags & HB_SUBSET_FLAGS_GLYPH_NAMES; + if (!serialize (c->serializer, glyph_names)) + return_trace (false); + #ifndef HB_NO_VAR if (c->plan->normalized_coords) { @@ -110,10 +114,6 @@ struct post } #endif - bool glyph_names = c->plan->flags & HB_SUBSET_FLAGS_GLYPH_NAMES; - if (!serialize (c->serializer, glyph_names)) - return_trace (false); - if (c->plan->user_axes_location.has (HB_TAG ('s','l','n','t')) && !c->plan->pinned_at_default) { diff --git a/test/subset/data/Makefile.am b/test/subset/data/Makefile.am index a76fcef18..72cd0d48b 100644 --- a/test/subset/data/Makefile.am +++ b/test/subset/data/Makefile.am @@ -65,6 +65,7 @@ EXTRA_DIST += \ expected/instance_no_double_free \ expected/mvar_full_instance \ expected/instance_comp_glyph_empty_child \ + expected/post_apply_mvar_delta \ fonts \ profiles \ $(NULL) diff --git a/test/subset/data/Makefile.sources b/test/subset/data/Makefile.sources index 1df8b16a4..0c5954520 100644 --- a/test/subset/data/Makefile.sources +++ b/test/subset/data/Makefile.sources @@ -56,6 +56,7 @@ TESTS = \ tests/instance_no_double_free.tests \ tests/mvar_full_instance.tests \ tests/instance_comp_glyph_empty_child.tests \ + tests/post_apply_mvar_delta.tests \ $(NULL) # TODO: re-enable once colrv1 subsetting is stabilized. diff --git a/test/subset/data/expected/post_apply_mvar_delta/Recursive-ABC.no-layout.retain-all-codepoint.wght=400,CASL=0,CRSV=0,MONO=0,slnt=0.ttf b/test/subset/data/expected/post_apply_mvar_delta/Recursive-ABC.no-layout.retain-all-codepoint.wght=400,CASL=0,CRSV=0,MONO=0,slnt=0.ttf new file mode 100644 index 000000000..08a308170 Binary files /dev/null and b/test/subset/data/expected/post_apply_mvar_delta/Recursive-ABC.no-layout.retain-all-codepoint.wght=400,CASL=0,CRSV=0,MONO=0,slnt=0.ttf differ diff --git a/test/subset/data/fonts/Recursive-ABC.ttf b/test/subset/data/fonts/Recursive-ABC.ttf new file mode 100644 index 000000000..33dea5a48 Binary files /dev/null and b/test/subset/data/fonts/Recursive-ABC.ttf differ diff --git a/test/subset/data/tests/post_apply_mvar_delta.tests b/test/subset/data/tests/post_apply_mvar_delta.tests new file mode 100644 index 000000000..82b819a6a --- /dev/null +++ b/test/subset/data/tests/post_apply_mvar_delta.tests @@ -0,0 +1,11 @@ +FONTS: +Recursive-ABC.ttf + +PROFILES: +no-layout.txt + +SUBSETS: +* + +INSTANCES: +wght=400,CASL=0,CRSV=0,MONO=0,slnt=0 diff --git a/test/subset/meson.build b/test/subset/meson.build index 07c71ad73..6b6ba2e2c 100644 --- a/test/subset/meson.build +++ b/test/subset/meson.build @@ -58,6 +58,7 @@ tests = [ 'instance_no_double_free', 'mvar_full_instance', 'instance_comp_glyph_empty_child', + 'post_apply_mvar_delta', ] repack_tests = [