From 2d001a0adc996dee2d8562b218ac9cc3d96816aa Mon Sep 17 00:00:00 2001 From: Qunxin Liu Date: Wed, 8 Nov 2023 11:11:51 -0800 Subject: [PATCH] [subset] OTS doesn't allow ligature attachment offset to be 0 --- src/OT/Layout/GPOS/AnchorMatrix.hh | 5 ++--- test/subset/data/Makefile.am | 1 + test/subset/data/Makefile.sources | 1 + ...atin-subset.default.retain-all-codepoint.ttf | Bin 0 -> 40128 bytes .../data/fonts/AnekBangla-latin-subset.ttf | Bin 0 -> 40128 bytes .../tests/layout.empty_ligature_offset.tests | 8 ++++++++ test/subset/meson.build | 1 + 7 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 test/subset/data/expected/layout.empty_ligature_offset/AnekBangla-latin-subset.default.retain-all-codepoint.ttf create mode 100644 test/subset/data/fonts/AnekBangla-latin-subset.ttf create mode 100644 test/subset/data/tests/layout.empty_ligature_offset.tests diff --git a/src/OT/Layout/GPOS/AnchorMatrix.hh b/src/OT/Layout/GPOS/AnchorMatrix.hh index dff409c8e..2557e9a72 100644 --- a/src/OT/Layout/GPOS/AnchorMatrix.hh +++ b/src/OT/Layout/GPOS/AnchorMatrix.hh @@ -68,15 +68,14 @@ struct AnchorMatrix if (unlikely (!c->serializer->extend_min (out))) return_trace (false); out->rows = num_rows; - bool ret = false; for (const unsigned i : index_iter) { auto *offset = c->serializer->embed (matrixZ[i]); if (!offset) return_trace (false); - ret |= offset->serialize_subset (c, matrixZ[i], this); + offset->serialize_subset (c, matrixZ[i], this); } - return_trace (ret); + return_trace (true); } }; diff --git a/test/subset/data/Makefile.am b/test/subset/data/Makefile.am index 9a7d08ce0..3e396d584 100644 --- a/test/subset/data/Makefile.am +++ b/test/subset/data/Makefile.am @@ -73,6 +73,7 @@ EXTRA_DIST += \ expected/collect_name_ids \ expected/instantiate_colrv1 \ expected/instantiate_cff2_update_metrics \ + expected/layout.empty_ligature_offset \ fonts \ profiles \ $(NULL) diff --git a/test/subset/data/Makefile.sources b/test/subset/data/Makefile.sources index 398f2b82a..a079ec554 100644 --- a/test/subset/data/Makefile.sources +++ b/test/subset/data/Makefile.sources @@ -64,6 +64,7 @@ TESTS = \ tests/collect_name_ids.tests \ tests/instantiate_colrv1.tests \ tests/instantiate_cff2_update_metrics.tests \ + tests/layout.empty_ligature_offset.tests \ $(NULL) # TODO: re-enable once colrv1 subsetting is stabilized. diff --git a/test/subset/data/expected/layout.empty_ligature_offset/AnekBangla-latin-subset.default.retain-all-codepoint.ttf b/test/subset/data/expected/layout.empty_ligature_offset/AnekBangla-latin-subset.default.retain-all-codepoint.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e940516bfc98373ef1b38b3d47719135f39c7436 GIT binary patch literal 40128 zcmdtLd0-Sp_6J_oJx8udW->?aWF|v0xky4L$%I@4$W1~*67Fy(1Ox&SPDMdcKt;S2 zZi)j_`{Os2*Iix5tEyM8 zUcGu%-C>+DrpHCaSY35ZZBmBiFN{f35c+9dYfJmFwWqonYx|P1h7ao6CyqJ(b#y#q z5yu(R+}qNgSFpP8LL}vQX0zKnMt6Mo^q-^gycf?^^Onq67V=o#)|)y9@4XT?fmKYuf2sa<6Vr6s$bAOrz`pW4R;`Z1LBJpAV4?SQ;p|NJP%v2WW^fo znucA-iu$PZiJ`w4yy>pgyXS6i;Anjpw`9|d~J!@YVGhM1#X!*68~ zc$OHkMkHV+u4-1#s#pojVu^@Tvjgl^c96Zp4k29_+Qp@h80Sj{p5DdNBBVqM`0d{N z0`I*WcPfwiB#fP4r&vD%IG4GKtGSjFUG&V!CL?|-qg+eiIO~JsY$Y5=udcy$6MGET zC)j>msYVie8;+x9RId|oGGS*j;m1`5C1p{9()UDv@|kd@8kv}iUyged+NuT>bj;3% z!9R`7V&{P#cd`4~AJ}{BefA^!5A*O5yj^-(`batq)G9f|8fp!|(8+cNp`$?3wQQgJ-1YCC^=q_21L~b^i_hr~3Q*zd!or z(Jzk1p$_cm_@ioEHyvGdblj1YBYzd`rikEQNzmi$peN;_m30V@a`h$nH+zX41Ev1J z*0T-lb@m3ki2cMaX0Nb~?2qgc(Ctn3Cyen+(RZ8K7IqoCf?bZ@?PIwtk1b@qY$-d3 zEoRFF!f?c)XH=nhx*Bv>{2Ww#)a#ePn|FKtGWc_`*RKjlqh|4}%^R*^sVradqr)SR zO5g-{gdvsUSF>pFrs5|bLrWKkx{XEcdNJ<0aqYvk3p~0I*ASDy@V4;l!(WV$BdR0L*Qs

|p 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 GD*ZpX*oLM6 literal 0 HcmV?d00001 diff --git a/test/subset/data/fonts/AnekBangla-latin-subset.ttf b/test/subset/data/fonts/AnekBangla-latin-subset.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e940516bfc98373ef1b38b3d47719135f39c7436 GIT binary patch literal 40128 zcmdtLd0-Sp_6J_oJx8udW->?aWF|v0xky4L$%I@4$W1~*67Fy(1Ox&SPDMdcKt;S2 zZi)j_`{Os2*Iix5tEyM8 zUcGu%-C>+DrpHCaSY35ZZBmBiFN{f35c+9dYfJmFwWqonYx|P1h7ao6CyqJ(b#y#q z5yu(R+}qNgSFpP8LL}vQX0zKnMt6Mo^q-^gycf?^^Onq67V=o#)|)y9@4XT?fmKYuf2sa<6Vr6s$bAOrz`pW4R;`Z1LBJpAV4?SQ;p|NJP%v2WW^fo znucA-iu$PZiJ`w4yy>pgyXS6i;Anjpw`9|d~J!@YVGhM1#X!*68~ zc$OHkMkHV+u4-1#s#pojVu^@Tvjgl^c96Zp4k29_+Qp@h80Sj{p5DdNBBVqM`0d{N z0`I*WcPfwiB#fP4r&vD%IG4GKtGSjFUG&V!CL?|-qg+eiIO~JsY$Y5=udcy$6MGET zC)j>msYVie8;+x9RId|oGGS*j;m1`5C1p{9()UDv@|kd@8kv}iUyged+NuT>bj;3% z!9R`7V&{P#cd`4~AJ}{BefA^!5A*O5yj^-(`batq)G9f|8fp!|(8+cNp`$?3wQQgJ-1YCC^=q_21L~b^i_hr~3Q*zd!or z(Jzk1p$_cm_@ioEHyvGdblj1YBYzd`rikEQNzmi$peN;_m30V@a`h$nH+zX41Ev1J z*0T-lb@m3ki2cMaX0Nb~?2qgc(Ctn3Cyen+(RZ8K7IqoCf?bZ@?PIwtk1b@qY$-d3 zEoRFF!f?c)XH=nhx*Bv>{2Ww#)a#ePn|FKtGWc_`*RKjlqh|4}%^R*^sVradqr)SR zO5g-{gdvsUSF>pFrs5|bLrWKkx{XEcdNJ<0aqYvk3p~0I*ASDy@V4;l!(WV$BdR0L*Qs

|p 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 GD*ZpX*oLM6 literal 0 HcmV?d00001 diff --git a/test/subset/data/tests/layout.empty_ligature_offset.tests b/test/subset/data/tests/layout.empty_ligature_offset.tests new file mode 100644 index 000000000..8d504c044 --- /dev/null +++ b/test/subset/data/tests/layout.empty_ligature_offset.tests @@ -0,0 +1,8 @@ +FONTS: +AnekBangla-latin-subset.ttf + +PROFILES: +default.txt + +SUBSETS: +* diff --git a/test/subset/meson.build b/test/subset/meson.build index 3b264c369..38a137360 100644 --- a/test/subset/meson.build +++ b/test/subset/meson.build @@ -66,6 +66,7 @@ tests = [ 'collect_name_ids', 'instantiate_colrv1', 'instantiate_cff2_update_metrics', + 'layout.empty_ligature_offset', ] if get_option('experimental_api')