From 44802c8ec462574c148be12594609e13abd7ccb5 Mon Sep 17 00:00:00 2001 From: Garret Rieger Date: Thu, 12 Aug 2021 11:11:51 -0700 Subject: [PATCH] [subset] use layout-features=* for layout subsetting tests w/ synthetic test fonts. --- ...es_f1.layout-test-retain-gids.41,42,43.otf | Bin 0 -> 2132 bytes ...rules_f1.layout-test-retain-gids.41,42.otf | Bin 0 -> 2012 bytes ...ules_f1.layout-test-retain-gids.41,43.otf} | Bin ...ubrules_f1.layout-test-retain-gids.41.otf} | Bin ...-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 3992 bytes ...tiple_subrules_f1.layout-test.41,42,43.otf | Bin 0 -> 1420 bytes ...multiple_subrules_f1.layout-test.41,42.otf | Bin 0 -> 1304 bytes ...ultiple_subrules_f1.layout-test.41,43.otf} | Bin ...1_multiple_subrules_f1.layout-test.41.otf} | Bin ...es_f1.layout-test.retain-all-codepoint.otf | Bin 0 -> 3992 bytes ...es_f1.notdef-outline-retain-gids.41,42.otf | Bin 1912 -> 0 bytes ...le_subrules_f1.notdef-outline.41,42,43.otf | Bin 1304 -> 0 bytes ...tiple_subrules_f1.notdef-outline.41,42.otf | Bin 1204 -> 0 bytes ...es_f1.layout-test-retain-gids.41,42,43.otf | Bin 0 -> 2152 bytes ...rules_f1.layout-test-retain-gids.41,42.otf | Bin 0 -> 2028 bytes ...ules_f1.layout-test-retain-gids.41,43.otf} | Bin ...ubrules_f1.layout-test-retain-gids.41.otf} | Bin ...-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 4012 bytes ...tiple_subrules_f1.layout-test.41,42,43.otf | Bin 0 -> 1440 bytes ...multiple_subrules_f1.layout-test.41,42.otf | Bin 0 -> 1320 bytes ...ultiple_subrules_f1.layout-test.41,43.otf} | Bin ...2_multiple_subrules_f1.layout-test.41.otf} | Bin ...es_f1.layout-test.retain-all-codepoint.otf | Bin 0 -> 4012 bytes ...f1.notdef-outline-retain-gids.41,42,43.otf | Bin 2016 -> 0 bytes ...es_f1.notdef-outline-retain-gids.41,42.otf | Bin 1912 -> 0 bytes ...le_subrules_f1.notdef-outline.41,42,43.otf | Bin 1304 -> 0 bytes ...tiple_subrules_f1.notdef-outline.41,42.otf | Bin 1204 -> 0 bytes ...le_f1.layout-test-retain-gids.41,42,43.otf | Bin 0 -> 2112 bytes ...mple_f1.layout-test-retain-gids.41,42.otf} | Bin ...mple_f1.layout-test-retain-gids.41,43.otf} | Bin ..._simple_f1.layout-test-retain-gids.41.otf} | Bin ...-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 3972 bytes ...ontext3_simple_f1.layout-test.41,42,43.otf | Bin 0 -> 1400 bytes ..._context3_simple_f1.layout-test.41,42.otf} | Bin ..._context3_simple_f1.layout-test.41,43.otf} | Bin ...pos_context3_simple_f1.layout-test.41.otf} | Bin ...le_f1.layout-test.retain-all-codepoint.otf | Bin 0 -> 3972 bytes ...f1.notdef-outline-retain-gids.41,42,43.otf | Bin 1996 -> 0 bytes ...tline-retain-gids.retain-all-codepoint.otf | Bin 3856 -> 0 bytes ...ext3_simple_f1.notdef-outline.41,42,43.otf | Bin 1284 -> 0 bytes ...f1.notdef-outline.retain-all-codepoint.otf | Bin 3856 -> 0 bytes ...e.layout-test-retain-gids.41,42,43,57.otf} | Bin 5272 -> 5924 bytes ...type.layout-test-retain-gids.41,42,43.otf} | Bin 4740 -> 5212 bytes ...ototype.layout-test-retain-gids.41,42.otf} | Bin 4264 -> 4732 bytes ...type.layout-test-retain-gids.41,56,57.otf} | Bin 4408 -> 5048 bytes ...FPrototype.layout-test-retain-gids.41.otf} | Bin 3560 -> 3996 bytes ...ototype.layout-test-retain-gids.42,57.otf} | Bin 4396 -> 5040 bytes ...beVFPrototype.layout-test.41,42,43,57.otf} | Bin 5460 -> 5480 bytes ...AdobeVFPrototype.layout-test.41,42,43.otf} | Bin 4928 -> 4952 bytes ...=> AdobeVFPrototype.layout-test.41,42.otf} | Bin 4448 -> 4468 bytes ...AdobeVFPrototype.layout-test.41,56,57.otf} | Bin 4596 -> 4620 bytes ...tf => AdobeVFPrototype.layout-test.41.otf} | Bin 3748 -> 3768 bytes ...=> AdobeVFPrototype.layout-test.42,57.otf} | Bin 4580 -> 4600 bytes ..._2_font.layout-test-retain-gids.41,43.otf} | Bin 1980 -> 2044 bytes ..._2_font.layout-test-retain-gids.41,46.otf} | Bin 2140 -> 2204 bytes ...os1_2_font.layout-test-retain-gids.41.otf} | Bin 1856 -> 1916 bytes ..._2_font.layout-test-retain-gids.42,44.otf} | Bin ..._2_font.layout-test-retain-gids.43,46.otf} | Bin 2004 -> 2068 bytes ...test-retain-gids.retain-all-codepoint.otf} | Bin 3780 -> 3848 bytes ...otf => gpos1_2_font.layout-test.41,43.otf} | Bin 1260 -> 1324 bytes ...otf => gpos1_2_font.layout-test.41,46.otf} | Bin 1388 -> 1452 bytes ...41.otf => gpos1_2_font.layout-test.41.otf} | Bin 1152 -> 1212 bytes ...otf => gpos1_2_font.layout-test.42,44.otf} | Bin ...otf => gpos1_2_font.layout-test.43,46.otf} | Bin 1252 -> 1316 bytes ...font.layout-test.retain-all-codepoint.otf} | Bin 3780 -> 3848 bytes ...ont7.layout-test-retain-gids.21,23,25.otf} | Bin 1656 -> 1728 bytes ...1_font7.layout-test-retain-gids.21,23.otf} | Bin 1532 -> 1604 bytes ...1_font7.layout-test-retain-gids.2E,23.otf} | Bin ...ont7.layout-test-retain-gids.41,42,43.otf} | Bin ...test-retain-gids.retain-all-codepoint.otf} | Bin 3780 -> 3868 bytes ...=> gpos2_1_font7.layout-test.21,23,25.otf} | Bin 1312 -> 1384 bytes ...tf => gpos2_1_font7.layout-test.21,23.otf} | Bin 1204 -> 1276 bytes ...tf => gpos2_1_font7.layout-test.2E,23.otf} | Bin ...=> gpos2_1_font7.layout-test.41,42,43.otf} | Bin ...ont7.layout-test.retain-all-codepoint.otf} | Bin 3780 -> 3868 bytes ...font5.layout-test-retain-gids.21,23,25.otf | Bin 0 -> 1780 bytes ..._2_font5.layout-test-retain-gids.21,23.otf | Bin 0 -> 1656 bytes ...2_font5.layout-test-retain-gids.2E,23.otf} | Bin ...ont5.layout-test-retain-gids.41,42,43.otf} | Bin ...-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 3904 bytes .../gpos2_2_font5.layout-test.21,23,25.otf | Bin 0 -> 1436 bytes .../gpos2_2_font5.layout-test.21,23.otf | Bin 0 -> 1328 bytes ...tf => gpos2_2_font5.layout-test.2E,23.otf} | Bin ...=> gpos2_2_font5.layout-test.41,42,43.otf} | Bin ...font5.layout-test.retain-all-codepoint.otf | Bin 0 -> 3904 bytes ...t5.notdef-outline-retain-gids.21,23,25.otf | Bin 1656 -> 0 bytes ...font5.notdef-outline-retain-gids.21,23.otf | Bin 1532 -> 0 bytes ...tline-retain-gids.retain-all-codepoint.otf | Bin 3780 -> 0 bytes .../gpos2_2_font5.notdef-outline.21,23,25.otf | Bin 1312 -> 0 bytes .../gpos2_2_font5.notdef-outline.21,23.otf | Bin 1204 -> 0 bytes ...t5.notdef-outline.retain-all-codepoint.otf | Bin 3780 -> 0 bytes ...3_font3.layout-test-retain-gids.28,29.otf} | Bin 1616 -> 1700 bytes ...3_font3.layout-test-retain-gids.28,2B.otf} | Bin 1752 -> 1836 bytes ...3_font3.layout-test-retain-gids.29,2B.otf} | Bin 1664 -> 1744 bytes ...ont3.layout-test-retain-gids.41,42,43.otf} | Bin ...test-retain-gids.retain-all-codepoint.otf} | Bin 3876 -> 3908 bytes ....otf => gpos3_font3.layout-test.28,29.otf} | Bin 1224 -> 1308 bytes ....otf => gpos3_font3.layout-test.28,2B.otf} | Bin 1344 -> 1428 bytes ....otf => gpos3_font3.layout-test.29,2B.otf} | Bin 1256 -> 1336 bytes ...f => gpos3_font3.layout-test.41,42,43.otf} | Bin ...ont3.layout-test.retain-all-codepoint.otf} | Bin 3876 -> 3908 bytes ..._1.layout-test-retain-gids.41,42,43,44.otf | Bin 0 -> 2336 bytes ..._1.layout-test-retain-gids.41,42,43,45.otf | Bin 0 -> 2332 bytes ...rs_1.layout-test-retain-gids.41,42,43.otf} | Bin 1976 -> 2096 bytes ...chors_1.layout-test-retain-gids.41,42.otf} | Bin ...ayout-test-retain-gids.41,43,44,45,46.otf} | Bin 2560 -> 2692 bytes ...ors_1.layout-test-retain-gids.41,43,44.otf | Bin 0 -> 2328 bytes ...ors_1.layout-test-retain-gids.41,43,45.otf | Bin 0 -> 2328 bytes ...chors_1.layout-test-retain-gids.41,43.otf} | Bin 1972 -> 2092 bytes ..._anchors_1.layout-test-retain-gids.41.otf} | Bin ...test-retain-gids.retain-all-codepoint.otf} | Bin 3844 -> 3996 bytes ...iple_anchors_1.layout-test.41,42,43,44.otf | Bin 0 -> 1620 bytes ...iple_anchors_1.layout-test.41,42,43,45.otf | Bin 0 -> 1600 bytes ...ultiple_anchors_1.layout-test.41,42,43.otf | Bin 0 -> 1384 bytes ..._multiple_anchors_1.layout-test.41,42.otf} | Bin ..._anchors_1.layout-test.41,43,44,45,46.otf} | Bin 1832 -> 1964 bytes ...ultiple_anchors_1.layout-test.41,43,44.otf | Bin 0 -> 1604 bytes ...ultiple_anchors_1.layout-test.41,43,45.otf | Bin 0 -> 1592 bytes ...4_multiple_anchors_1.layout-test.41,43.otf | Bin 0 -> 1372 bytes ...os4_multiple_anchors_1.layout-test.41.otf} | Bin ...rs_1.layout-test.retain-all-codepoint.otf} | Bin 3844 -> 3996 bytes ...notdef-outline-retain-gids.41,42,43,44.otf | Bin 2208 -> 0 bytes ..._1.notdef-outline-retain-gids.41,42,43.otf | Bin 1996 -> 0 bytes ...ors_1.notdef-outline-retain-gids.41,43.otf | Bin 2000 -> 0 bytes ...e_anchors_1.notdef-outline.41,42,43,44.otf | Bin 1492 -> 0 bytes ...e_anchors_1.notdef-outline.41,42,43,45.otf | Bin 1488 -> 0 bytes ...iple_anchors_1.notdef-outline.41,42,43.otf | Bin 1284 -> 0 bytes ...iple_anchors_1.notdef-outline.41,43,45.otf | Bin 1488 -> 0 bytes ...ultiple_anchors_1.notdef-outline.41,43.otf | Bin 1280 -> 0 bytes ...1.layout-test-retain-gids.41,42,43,44.otf} | Bin 2224 -> 2360 bytes ...1.layout-test-retain-gids.41,42,43,45.otf} | Bin 2220 -> 2356 bytes ...font1.layout-test-retain-gids.41,42,43.otf | Bin 0 -> 2120 bytes ...ont1.layout-test-retain-gids.41,42,44.otf} | Bin 2144 -> 2276 bytes ...font1.layout-test-retain-gids.41,42,45.otf | Bin 0 -> 2260 bytes ...s5_font1.layout-test-retain-gids.41,42.otf | Bin 0 -> 2012 bytes ...5_font1.layout-test-retain-gids.41,43.otf} | Bin ...pos5_font1.layout-test-retain-gids.41.otf} | Bin ...pos5_font1.layout-test-retain-gids.42.otf} | Bin ...test-retain-gids.retain-all-codepoint.otf} | Bin 3860 -> 4064 bytes ...> gpos5_font1.layout-test.41,42,43,44.otf} | Bin 1508 -> 1644 bytes .../gpos5_font1.layout-test.41,42,43,45.otf | Bin 0 -> 1624 bytes .../gpos5_font1.layout-test.41,42,43.otf | Bin 0 -> 1408 bytes ...f => gpos5_font1.layout-test.41,42,44.otf} | Bin 1420 -> 1552 bytes .../gpos5_font1.layout-test.41,42,45.otf | Bin 0 -> 1524 bytes .../gpos5_font1.layout-test.41,42.otf | Bin 0 -> 1304 bytes ....otf => gpos5_font1.layout-test.41,43.otf} | Bin ....41.otf => gpos5_font1.layout-test.41.otf} | Bin ....42.otf => gpos5_font1.layout-test.42.otf} | Bin ...ont1.layout-test.retain-all-codepoint.otf} | Bin 3860 -> 4064 bytes ...notdef-outline-retain-gids.41,42,43,45.otf | Bin 2236 -> 0 bytes ...t1.notdef-outline-retain-gids.41,42,43.otf | Bin 2012 -> 0 bytes ...t1.notdef-outline-retain-gids.41,42,45.otf | Bin 2144 -> 0 bytes ...font1.notdef-outline-retain-gids.41,42.otf | Bin 1908 -> 0 bytes ...gpos5_font1.notdef-outline.41,42,43,45.otf | Bin 1504 -> 0 bytes .../gpos5_font1.notdef-outline.41,42,43.otf | Bin 1300 -> 0 bytes .../gpos5_font1.notdef-outline.41,42,45.otf | Bin 1408 -> 0 bytes .../gpos5_font1.notdef-outline.41,42.otf | Bin 1200 -> 0 bytes ...1.layout-test-retain-gids.41,42,43,44.otf} | Bin 2184 -> 2312 bytes ...t1.layout-test-retain-gids.41,42,43,45.otf | Bin 0 -> 2308 bytes ...ont1.layout-test-retain-gids.41,42,43.otf} | Bin 2016 -> 2072 bytes ...6_font1.layout-test-retain-gids.41,42.otf} | Bin ...ayout-test-retain-gids.41,43,44,45,46.otf} | Bin 2536 -> 2668 bytes ...ont1.layout-test-retain-gids.41,43,44.otf} | Bin 2216 -> 2304 bytes ...ont1.layout-test-retain-gids.41,43,45.otf} | Bin 2224 -> 2304 bytes ...s6_font1.layout-test-retain-gids.41,43.otf | Bin 0 -> 2068 bytes ...pos6_font1.layout-test-retain-gids.41.otf} | Bin ...test-retain-gids.retain-all-codepoint.otf} | Bin 3820 -> 3972 bytes ...> gpos6_font1.layout-test.41,42,43,44.otf} | Bin 1468 -> 1596 bytes .../gpos6_font1.layout-test.41,42,43,45.otf | Bin 0 -> 1576 bytes .../gpos6_font1.layout-test.41,42,43.otf | Bin 0 -> 1360 bytes ....otf => gpos6_font1.layout-test.41,42.otf} | Bin ...pos6_font1.layout-test.41,43,44,45,46.otf} | Bin 1808 -> 1940 bytes .../gpos6_font1.layout-test.41,43,44.otf} | Bin 1492 -> 1580 bytes .../gpos6_font1.layout-test.41,43,45.otf | Bin 0 -> 1568 bytes .../gpos6_font1.layout-test.41,43.otf | Bin 0 -> 1348 bytes ....41.otf => gpos6_font1.layout-test.41.otf} | Bin ...ont1.layout-test.retain-all-codepoint.otf} | Bin 3820 -> 3972 bytes ...notdef-outline-retain-gids.41,42,43,45.otf | Bin 2196 -> 0 bytes ...t1.notdef-outline-retain-gids.41,43,44.otf | Bin 2192 -> 0 bytes ...t1.notdef-outline-retain-gids.41,43,45.otf | Bin 2200 -> 0 bytes ...gpos6_font1.notdef-outline.41,42,43,45.otf | Bin 1464 -> 0 bytes .../gpos6_font1.notdef-outline.41,42,43.otf | Bin 1260 -> 0 bytes .../gpos6_font1.notdef-outline.41,43,44.otf | Bin 1468 -> 0 bytes .../gpos6_font1.notdef-outline.41,43,45.otf | Bin 1464 -> 0 bytes .../gpos6_font1.notdef-outline.41,43.otf | Bin 1256 -> 0 bytes ...f1.layout-test-retain-gids.30,31,32,33.otf | Bin 0 -> 2400 bytes ...s_f1.layout-test-retain-gids.41,42,43.otf} | Bin ...-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 4012 bytes ...le_subrules_f1.layout-test.30,31,32,33.otf | Bin 0 -> 1928 bytes ...iple_subrules_f1.layout-test.41,42,43.otf} | Bin ...es_f1.layout-test.retain-all-codepoint.otf | Bin 0 -> 4012 bytes ...notdef-outline-retain-gids.30,31,32,33.otf | Bin 2292 -> 0 bytes ...subrules_f1.notdef-outline.30,31,32,33.otf | Bin 1820 -> 0 bytes ...f1.layout-test-retain-gids.30,31,32,33.otf | Bin 0 -> 2420 bytes ...s_f1.layout-test-retain-gids.41,42,43.otf} | Bin ...-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 4044 bytes ...le_subrules_f1.layout-test.30,31,32,33.otf | Bin 0 -> 1948 bytes ...iple_subrules_f1.layout-test.41,42,43.otf} | Bin ...es_f1.layout-test.retain-all-codepoint.otf | Bin 0 -> 4044 bytes ...notdef-outline-retain-gids.30,31,32,33.otf | Bin 2292 -> 0 bytes ...subrules_f1.notdef-outline.30,31,32,33.otf | Bin 1820 -> 0 bytes ...f1.layout-test-retain-gids.30,31,32,33.otf | Bin 0 -> 2392 bytes ...e_f1.layout-test-retain-gids.41,42,43.otf} | Bin ...-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 3980 bytes ...ing3_simple_f1.layout-test.30,31,32,33.otf | Bin 0 -> 1920 bytes ...ining3_simple_f1.layout-test.41,42,43.otf} | Bin ...le_f1.layout-test.retain-all-codepoint.otf | Bin 0 -> 3980 bytes ...notdef-outline-retain-gids.30,31,32,33.otf | Bin 2268 -> 0 bytes ...tline-retain-gids.retain-all-codepoint.otf | Bin 3856 -> 0 bytes ...3_simple_f1.notdef-outline.30,31,32,33.otf | Bin 1796 -> 0 bytes ...f1.notdef-outline.retain-all-codepoint.otf | Bin 3856 -> 0 bytes ...s9_font2.layout-test-retain-gids.41,42.otf | Bin 0 -> 1960 bytes ...pos9_font2.layout-test-retain-gids.41.otf} | Bin 1852 -> 1920 bytes ...pos9_font2.layout-test-retain-gids.42.otf} | Bin 1724 -> 1792 bytes .../gpos9_font2.layout-test.41,42.otf | Bin 0 -> 1252 bytes ....41.otf => gpos9_font2.layout-test.41.otf} | Bin 1148 -> 1216 bytes ....42.otf => gpos9_font2.layout-test.42.otf} | Bin 1008 -> 1076 bytes ...font2.notdef-outline-retain-gids.41,42.otf | Bin 1868 -> 0 bytes .../gpos9_font2.notdef-outline.41,42.otf | Bin 1160 -> 0 bytes ...ub_alternate_substitution.default.53A9.otf | Bin 3884 -> 0 bytes ...ub_alternate_substitution.default.53F1.otf | Bin 2440 -> 0 bytes ...ion.layout-test-retain-gids.53A9,53F1.otf} | Bin 4440 -> 5076 bytes ...stitution.layout-test-retain-gids.53A9.otf | Bin 0 -> 4656 bytes ...stitution.layout-test-retain-gids.53F1.otf | Bin 0 -> 2996 bytes ...test-retain-gids.retain-all-codepoint.otf} | Bin 6076 -> 6764 bytes ...te_substitution.layout-test.53A9,53F1.otf} | Bin 4316 -> 4952 bytes ...lternate_substitution.layout-test.53A9.otf | Bin 0 -> 4504 bytes ...lternate_substitution.layout-test.53F1.otf | Bin 0 -> 2804 bytes ...tion.layout-test.retain-all-codepoint.otf} | Bin 5984 -> 6672 bytes ...lternate_substitution.retain-gids.53A9.otf | Bin 4036 -> 0 bytes ...lternate_substitution.retain-gids.53F1.otf | Bin 2632 -> 0 bytes ...es_f2.layout-test-retain-gids.41,42,43.otf | Bin 0 -> 2236 bytes ...rules_f2.layout-test-retain-gids.41,42.otf | Bin 0 -> 2208 bytes ...ules_f2.layout-test-retain-gids.41,43.otf} | Bin ...ubrules_f2.layout-test-retain-gids.41.otf} | Bin ...test-retain-gids.retain-all-codepoint.otf} | Bin 3880 -> 3988 bytes ...tiple_subrules_f2.layout-test.41,42,43.otf | Bin 0 -> 1440 bytes ...multiple_subrules_f2.layout-test.41,42.otf | Bin 0 -> 1400 bytes ...ultiple_subrules_f2.layout-test.41,43.otf} | Bin ...1_multiple_subrules_f2.layout-test.41.otf} | Bin ...s_f2.layout-test.retain-all-codepoint.otf} | Bin 3880 -> 3988 bytes ...f2.notdef-outline-retain-gids.41,42,43.otf | Bin 2028 -> 0 bytes ...es_f2.notdef-outline-retain-gids.41,42.otf | Bin 1924 -> 0 bytes ...tline-retain-gids.retain-all-codepoint.otf | Bin 3888 -> 0 bytes ...le_subrules_f2.notdef-outline.41,42,43.otf | Bin 1316 -> 0 bytes ...tiple_subrules_f2.notdef-outline.41,42.otf | Bin 1216 -> 0 bytes ...f2.notdef-outline.retain-all-codepoint.otf | Bin 3888 -> 0 bytes ...es_f2.layout-test-retain-gids.41,42,43.otf | Bin 0 -> 2256 bytes ...rules_f2.layout-test-retain-gids.41,42.otf | Bin 0 -> 2224 bytes ...ules_f2.layout-test-retain-gids.41,43.otf} | Bin ...ubrules_f2.layout-test-retain-gids.41.otf} | Bin ...test-retain-gids.retain-all-codepoint.otf} | Bin 3880 -> 4008 bytes ...tiple_subrules_f2.layout-test.41,42,43.otf | Bin 0 -> 1460 bytes ...multiple_subrules_f2.layout-test.41,42.otf | Bin 0 -> 1416 bytes ...ultiple_subrules_f2.layout-test.41,43.otf} | Bin ...2_multiple_subrules_f2.layout-test.41.otf} | Bin ...s_f2.layout-test.retain-all-codepoint.otf} | Bin 3880 -> 4008 bytes ...f2.notdef-outline-retain-gids.41,42,43.otf | Bin 2028 -> 0 bytes ...es_f2.notdef-outline-retain-gids.41,42.otf | Bin 1924 -> 0 bytes ...tline-retain-gids.retain-all-codepoint.otf | Bin 3888 -> 0 bytes ...le_subrules_f2.notdef-outline.41,42,43.otf | Bin 1316 -> 0 bytes ...tiple_subrules_f2.notdef-outline.41,42.otf | Bin 1216 -> 0 bytes ...f2.notdef-outline.retain-all-codepoint.otf | Bin 3888 -> 0 bytes ...e_f1.layout-test-retain-gids.41,42,43.otf} | Bin ...sive_f1.layout-test-retain-gids.41,42.otf} | Bin ...sive_f1.layout-test-retain-gids.41,43.otf} | Bin ...cessive_f1.layout-test-retain-gids.41.otf} | Bin ...test-retain-gids.retain-all-codepoint.otf} | Bin 3876 -> 4008 bytes ...t3_successive_f1.layout-test.41,42,43.otf} | Bin ...text3_successive_f1.layout-test.41,42.otf} | Bin ...text3_successive_f1.layout-test.41,43.otf} | Bin ...context3_successive_f1.layout-test.41.otf} | Bin ...e_f1.layout-test.retain-all-codepoint.otf} | Bin 3876 -> 4008 bytes ...1.layout-test-retain-gids.30,31,32,33.otf} | Bin 2304 -> 2372 bytes ...s_f1.layout-test-retain-gids.41,42,43.otf} | Bin ...test-retain-gids.retain-all-codepoint.otf} | Bin 3876 -> 3984 bytes ...e_subrules_f1.layout-test.30,31,32,33.otf} | Bin 1832 -> 1900 bytes ...iple_subrules_f1.layout-test.41,42,43.otf} | Bin ...s_f1.layout-test.retain-all-codepoint.otf} | Bin 3876 -> 3984 bytes ...tline-retain-gids.retain-all-codepoint.otf | Bin 3892 -> 0 bytes ...f1.notdef-outline.retain-all-codepoint.otf | Bin 3892 -> 0 bytes ...1.layout-test-retain-gids.30,31,32,33.otf} | Bin 2304 -> 2400 bytes ...s_f1.layout-test-retain-gids.41,42,43.otf} | Bin ...-test-retain-gids.retain-all-codepoint.otf | Bin 0 -> 4016 bytes ...le_subrules_f1.layout-test.30,31,32,33.otf | Bin 0 -> 1928 bytes ...iple_subrules_f1.layout-test.41,42,43.otf} | Bin ...es_f1.layout-test.retain-all-codepoint.otf | Bin 0 -> 4016 bytes ...tline-retain-gids.retain-all-codepoint.otf | Bin 3892 -> 0 bytes ...subrules_f1.notdef-outline.30,31,32,33.otf | Bin 1832 -> 0 bytes ...f1.notdef-outline.retain-all-codepoint.otf | Bin 3892 -> 0 bytes ...f2.layout-test-retain-gids.30,31,32,33.otf | Bin 0 -> 2360 bytes ...e_f2.layout-test-retain-gids.41,42,43.otf} | Bin ...test-retain-gids.retain-all-codepoint.otf} | Bin 3812 -> 3952 bytes ...ing3_simple_f2.layout-test.30,31,32,33.otf | Bin 0 -> 1888 bytes ...ining3_simple_f2.layout-test.41,42,43.otf} | Bin ...e_f2.layout-test.retain-all-codepoint.otf} | Bin 3812 -> 3952 bytes ...notdef-outline-retain-gids.30,31,32,33.otf | Bin 2280 -> 0 bytes ...tline-retain-gids.retain-all-codepoint.otf | Bin 3868 -> 0 bytes ...3_simple_f2.notdef-outline.30,31,32,33.otf | Bin 1808 -> 0 bytes ...f2.notdef-outline.retain-all-codepoint.otf | Bin 3868 -> 0 bytes ...etain-gids.41,42,43,44,45,46,47,48,49.otf} | Bin 2916 -> 3208 bytes ...-test-retain-gids.41,42,43,44,45,46,47.otf | Bin 0 -> 2828 bytes ...-test-retain-gids.41,42,43,44,45,46,4D.otf | Bin 0 -> 2896 bytes ...test-retain-gids.41,42,43,44,45,46,51.otf} | Bin 2624 -> 2900 bytes ...ut-test-retain-gids.41,42,43,44,45,46.otf} | Bin ...ated.layout-test-retain-gids.41,42,43.otf} | Bin ...ly_created.layout-test-retain-gids.41.otf} | Bin ...lly_created.layout-test-retain-gids.61.otf | Bin 0 -> 2608 bytes ...test-retain-gids.retain-all-codepoint.otf} | Bin 3868 -> 4048 bytes ...ayout-test.41,42,43,44,45,46,47,48,49.otf} | Bin 2188 -> 2404 bytes ...ated.layout-test.41,42,43,44,45,46,47.otf} | Bin 1948 -> 2012 bytes ...eated.layout-test.41,42,43,44,45,46,4D.otf | Bin 0 -> 2012 bytes ...eated.layout-test.41,42,43,44,45,46,51.otf | Bin 0 -> 2060 bytes ...created.layout-test.41,42,43,44,45,46.otf} | Bin ...manually_created.layout-test.41,42,43.otf} | Bin ...gsub8_manually_created.layout-test.41.otf} | Bin .../gsub8_manually_created.layout-test.61.otf | Bin 0 -> 1556 bytes ...ated.layout-test.retain-all-codepoint.otf} | Bin 3868 -> 4048 bytes ...tline-retain-gids.41,42,43,44,45,46,4D.otf | Bin 2668 -> 0 bytes ...tline-retain-gids.41,42,43,44,45,46,51.otf | Bin 2792 -> 0 bytes ..._created.notdef-outline-retain-gids.61.otf | Bin 2292 -> 0 bytes ...ed.notdef-outline.41,42,43,44,45,46,47.otf | Bin 1904 -> 0 bytes ...ed.notdef-outline.41,42,43,44,45,46,4D.otf | Bin 1868 -> 0 bytes ...ub8_manually_created.notdef-outline.61.otf | Bin 1236 -> 0 bytes .../data/profiles/layout-test-retain-gids.txt | 3 +++ test/subset/data/profiles/layout-test.txt | 2 ++ test/subset/data/tests/layout.context.tests | 4 ++-- .../data/tests/layout.gdef-varstore.tests | 4 ++-- test/subset/data/tests/layout.gpos.tests | 4 ++-- test/subset/data/tests/layout.gpos2.tests | 4 ++-- test/subset/data/tests/layout.gpos3.tests | 4 ++-- test/subset/data/tests/layout.gpos4.tests | 4 ++-- test/subset/data/tests/layout.gpos5.tests | 4 ++-- test/subset/data/tests/layout.gpos6.tests | 4 ++-- test/subset/data/tests/layout.gpos8.tests | 4 ++-- test/subset/data/tests/layout.gpos9.tests | 4 ++-- test/subset/data/tests/layout.gsub3.tests | 4 ++-- test/subset/data/tests/layout.gsub5.tests | 4 ++-- test/subset/data/tests/layout.gsub6.tests | 4 ++-- test/subset/data/tests/layout.gsub8.tests | 4 ++-- 340 files changed, 33 insertions(+), 28 deletions(-) create mode 100644 test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test-retain-gids.41,42,43.otf create mode 100644 test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test-retain-gids.41,42.otf rename test/subset/data/expected/layout.context/{gpos_context1_multiple_subrules_f1.notdef-outline-retain-gids.41,43.otf => gpos_context1_multiple_subrules_f1.layout-test-retain-gids.41,43.otf} (100%) rename test/subset/data/expected/layout.context/{gpos_context1_multiple_subrules_f1.notdef-outline-retain-gids.41.otf => gpos_context1_multiple_subrules_f1.layout-test-retain-gids.41.otf} (100%) create mode 100644 test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test-retain-gids.retain-all-codepoint.otf create mode 100644 test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test.41,42,43.otf create mode 100644 test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test.41,42.otf rename test/subset/data/expected/layout.context/{gpos_context1_multiple_subrules_f1.notdef-outline.41,43.otf => gpos_context1_multiple_subrules_f1.layout-test.41,43.otf} (100%) rename test/subset/data/expected/layout.context/{gpos_context1_multiple_subrules_f1.notdef-outline.41.otf => gpos_context1_multiple_subrules_f1.layout-test.41.otf} (100%) create mode 100644 test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline-retain-gids.41,42.otf delete mode 100644 test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline.41,42,43.otf delete mode 100644 test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline.41,42.otf create mode 100644 test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test-retain-gids.41,42,43.otf create mode 100644 test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test-retain-gids.41,42.otf rename test/subset/data/expected/layout.context/{gpos_context2_multiple_subrules_f1.notdef-outline-retain-gids.41,43.otf => gpos_context2_multiple_subrules_f1.layout-test-retain-gids.41,43.otf} (100%) rename test/subset/data/expected/layout.context/{gpos_context2_multiple_subrules_f1.notdef-outline-retain-gids.41.otf => gpos_context2_multiple_subrules_f1.layout-test-retain-gids.41.otf} (100%) create mode 100644 test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test-retain-gids.retain-all-codepoint.otf create mode 100644 test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test.41,42,43.otf create mode 100644 test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test.41,42.otf rename test/subset/data/expected/layout.context/{gpos_context2_multiple_subrules_f1.notdef-outline.41,43.otf => gpos_context2_multiple_subrules_f1.layout-test.41,43.otf} (100%) rename test/subset/data/expected/layout.context/{gpos_context2_multiple_subrules_f1.notdef-outline.41.otf => gpos_context2_multiple_subrules_f1.layout-test.41.otf} (100%) create mode 100644 test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline-retain-gids.41,42,43.otf delete mode 100644 test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline-retain-gids.41,42.otf delete mode 100644 test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline.41,42,43.otf delete mode 100644 test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline.41,42.otf create mode 100644 test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test-retain-gids.41,42,43.otf rename test/subset/data/expected/layout.context/{gpos_context3_simple_f1.notdef-outline-retain-gids.41,42.otf => gpos_context3_simple_f1.layout-test-retain-gids.41,42.otf} (100%) rename test/subset/data/expected/layout.context/{gpos_context3_simple_f1.notdef-outline-retain-gids.41,43.otf => gpos_context3_simple_f1.layout-test-retain-gids.41,43.otf} (100%) rename test/subset/data/expected/layout.context/{gpos_context3_simple_f1.notdef-outline-retain-gids.41.otf => gpos_context3_simple_f1.layout-test-retain-gids.41.otf} (100%) create mode 100644 test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test-retain-gids.retain-all-codepoint.otf create mode 100644 test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test.41,42,43.otf rename test/subset/data/expected/layout.context/{gpos_context3_simple_f1.notdef-outline.41,42.otf => gpos_context3_simple_f1.layout-test.41,42.otf} (100%) rename test/subset/data/expected/layout.context/{gpos_context3_simple_f1.notdef-outline.41,43.otf => gpos_context3_simple_f1.layout-test.41,43.otf} (100%) rename test/subset/data/expected/layout.context/{gpos_context3_simple_f1.notdef-outline.41.otf => gpos_context3_simple_f1.layout-test.41.otf} (100%) create mode 100644 test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline-retain-gids.41,42,43.otf delete mode 100644 test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline-retain-gids.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline.41,42,43.otf delete mode 100644 test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline.retain-all-codepoint.otf rename test/subset/data/expected/layout.gdef-varstore/{AdobeVFPrototype.notdef-outline-drop-hints.41,42,43,57.otf => AdobeVFPrototype.layout-test-retain-gids.41,42,43,57.otf} (62%) rename test/subset/data/expected/layout.gdef-varstore/{AdobeVFPrototype.notdef-outline-drop-hints.41,42,43.otf => AdobeVFPrototype.layout-test-retain-gids.41,42,43.otf} (60%) rename test/subset/data/expected/layout.gdef-varstore/{AdobeVFPrototype.notdef-outline-drop-hints.41,42.otf => AdobeVFPrototype.layout-test-retain-gids.41,42.otf} (61%) rename test/subset/data/expected/layout.gdef-varstore/{AdobeVFPrototype.notdef-outline-drop-hints.41,56,57.otf => AdobeVFPrototype.layout-test-retain-gids.41,56,57.otf} (54%) rename test/subset/data/expected/layout.gdef-varstore/{AdobeVFPrototype.notdef-outline-drop-hints.41.otf => AdobeVFPrototype.layout-test-retain-gids.41.otf} (52%) rename test/subset/data/expected/layout.gdef-varstore/{AdobeVFPrototype.notdef-outline-drop-hints.42,57.otf => AdobeVFPrototype.layout-test-retain-gids.42,57.otf} (50%) rename test/subset/data/expected/layout.gdef-varstore/{AdobeVFPrototype.notdef-outline.41,42,43,57.otf => AdobeVFPrototype.layout-test.41,42,43,57.otf} (90%) rename test/subset/data/expected/layout.gdef-varstore/{AdobeVFPrototype.notdef-outline.41,42,43.otf => AdobeVFPrototype.layout-test.41,42,43.otf} (83%) rename test/subset/data/expected/layout.gdef-varstore/{AdobeVFPrototype.notdef-outline.41,42.otf => AdobeVFPrototype.layout-test.41,42.otf} (88%) rename test/subset/data/expected/layout.gdef-varstore/{AdobeVFPrototype.notdef-outline.41,56,57.otf => AdobeVFPrototype.layout-test.41,56,57.otf} (82%) rename test/subset/data/expected/layout.gdef-varstore/{AdobeVFPrototype.notdef-outline.41.otf => AdobeVFPrototype.layout-test.41.otf} (79%) rename test/subset/data/expected/layout.gdef-varstore/{AdobeVFPrototype.notdef-outline.42,57.otf => AdobeVFPrototype.layout-test.42,57.otf} (81%) rename test/subset/data/expected/layout.gpos/{gpos1_2_font.notdef-outline-retain-gids.41,43.otf => gpos1_2_font.layout-test-retain-gids.41,43.otf} (77%) rename test/subset/data/expected/layout.gpos/{gpos1_2_font.notdef-outline-retain-gids.41,46.otf => gpos1_2_font.layout-test-retain-gids.41,46.otf} (78%) rename test/subset/data/expected/layout.gpos/{gpos1_2_font.notdef-outline-retain-gids.41.otf => gpos1_2_font.layout-test-retain-gids.41.otf} (74%) rename test/subset/data/expected/layout.gpos/{gpos1_2_font.notdef-outline-retain-gids.42,44.otf => gpos1_2_font.layout-test-retain-gids.42,44.otf} (100%) rename test/subset/data/expected/layout.gpos/{gpos1_2_font.notdef-outline-retain-gids.43,46.otf => gpos1_2_font.layout-test-retain-gids.43,46.otf} (74%) rename test/subset/data/expected/layout.gpos/{gpos1_2_font.notdef-outline-retain-gids.retain-all-codepoint.otf => gpos1_2_font.layout-test-retain-gids.retain-all-codepoint.otf} (89%) rename test/subset/data/expected/layout.gpos/{gpos1_2_font.notdef-outline.41,43.otf => gpos1_2_font.layout-test.41,43.otf} (64%) rename test/subset/data/expected/layout.gpos/{gpos1_2_font.notdef-outline.41,46.otf => gpos1_2_font.layout-test.41,46.otf} (67%) rename test/subset/data/expected/layout.gpos/{gpos1_2_font.notdef-outline.41.otf => gpos1_2_font.layout-test.41.otf} (59%) rename test/subset/data/expected/layout.gpos/{gpos1_2_font.notdef-outline.42,44.otf => gpos1_2_font.layout-test.42,44.otf} (100%) rename test/subset/data/expected/layout.gpos/{gpos1_2_font.notdef-outline.43,46.otf => gpos1_2_font.layout-test.43,46.otf} (60%) rename test/subset/data/expected/layout.gpos/{gpos1_2_font.notdef-outline.retain-all-codepoint.otf => gpos1_2_font.layout-test.retain-all-codepoint.otf} (89%) rename test/subset/data/expected/layout.gpos2/{gpos2_1_font7.notdef-outline-retain-gids.21,23,25.otf => gpos2_1_font7.layout-test-retain-gids.21,23,25.otf} (70%) rename test/subset/data/expected/layout.gpos2/{gpos2_1_font7.notdef-outline-retain-gids.21,23.otf => gpos2_1_font7.layout-test-retain-gids.21,23.otf} (70%) rename test/subset/data/expected/layout.gpos2/{gpos2_1_font7.notdef-outline-retain-gids.2E,23.otf => gpos2_1_font7.layout-test-retain-gids.2E,23.otf} (100%) rename test/subset/data/expected/layout.gpos2/{gpos2_1_font7.notdef-outline-retain-gids.41,42,43.otf => gpos2_1_font7.layout-test-retain-gids.41,42,43.otf} (100%) rename test/subset/data/expected/layout.gpos2/{gpos2_1_font7.notdef-outline-retain-gids.retain-all-codepoint.otf => gpos2_1_font7.layout-test-retain-gids.retain-all-codepoint.otf} (79%) rename test/subset/data/expected/layout.gpos2/{gpos2_1_font7.notdef-outline.21,23,25.otf => gpos2_1_font7.layout-test.21,23,25.otf} (62%) rename test/subset/data/expected/layout.gpos2/{gpos2_1_font7.notdef-outline.21,23.otf => gpos2_1_font7.layout-test.21,23.otf} (62%) rename test/subset/data/expected/layout.gpos2/{gpos2_1_font7.notdef-outline.2E,23.otf => gpos2_1_font7.layout-test.2E,23.otf} (100%) rename test/subset/data/expected/layout.gpos2/{gpos2_1_font7.notdef-outline.41,42,43.otf => gpos2_1_font7.layout-test.41,42,43.otf} (100%) rename test/subset/data/expected/layout.gpos2/{gpos2_1_font7.notdef-outline.retain-all-codepoint.otf => gpos2_1_font7.layout-test.retain-all-codepoint.otf} (79%) create mode 100644 test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test-retain-gids.21,23,25.otf create mode 100644 test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test-retain-gids.21,23.otf rename test/subset/data/expected/layout.gpos2/{gpos2_2_font5.notdef-outline-retain-gids.2E,23.otf => gpos2_2_font5.layout-test-retain-gids.2E,23.otf} (100%) rename test/subset/data/expected/layout.gpos2/{gpos2_2_font5.notdef-outline-retain-gids.41,42,43.otf => gpos2_2_font5.layout-test-retain-gids.41,42,43.otf} (100%) create mode 100644 test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test-retain-gids.retain-all-codepoint.otf create mode 100644 test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test.21,23,25.otf create mode 100644 test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test.21,23.otf rename test/subset/data/expected/layout.gpos2/{gpos2_2_font5.notdef-outline.2E,23.otf => gpos2_2_font5.layout-test.2E,23.otf} (100%) rename test/subset/data/expected/layout.gpos2/{gpos2_2_font5.notdef-outline.41,42,43.otf => gpos2_2_font5.layout-test.41,42,43.otf} (100%) create mode 100644 test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline-retain-gids.21,23,25.otf delete mode 100644 test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline-retain-gids.21,23.otf delete mode 100644 test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline-retain-gids.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline.21,23,25.otf delete mode 100644 test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline.21,23.otf delete mode 100644 test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline.retain-all-codepoint.otf rename test/subset/data/expected/layout.gpos3/{gpos3_font3.notdef-outline-retain-gids.28,29.otf => gpos3_font3.layout-test-retain-gids.28,29.otf} (69%) rename test/subset/data/expected/layout.gpos3/{gpos3_font3.notdef-outline-retain-gids.28,2B.otf => gpos3_font3.layout-test-retain-gids.28,2B.otf} (72%) rename test/subset/data/expected/layout.gpos3/{gpos3_font3.notdef-outline-retain-gids.29,2B.otf => gpos3_font3.layout-test-retain-gids.29,2B.otf} (68%) rename test/subset/data/expected/layout.gpos3/{gpos3_font3.notdef-outline-retain-gids.41,42,43.otf => gpos3_font3.layout-test-retain-gids.41,42,43.otf} (100%) rename test/subset/data/expected/{layout.context/gpos_context1_multiple_subrules_f1.notdef-outline-retain-gids.retain-all-codepoint.otf => layout.gpos3/gpos3_font3.layout-test-retain-gids.retain-all-codepoint.otf} (78%) rename test/subset/data/expected/layout.gpos3/{gpos3_font3.notdef-outline.28,29.otf => gpos3_font3.layout-test.28,29.otf} (60%) rename test/subset/data/expected/layout.gpos3/{gpos3_font3.notdef-outline.28,2B.otf => gpos3_font3.layout-test.28,2B.otf} (64%) rename test/subset/data/expected/layout.gpos3/{gpos3_font3.notdef-outline.29,2B.otf => gpos3_font3.layout-test.29,2B.otf} (63%) rename test/subset/data/expected/layout.gpos3/{gpos3_font3.notdef-outline.41,42,43.otf => gpos3_font3.layout-test.41,42,43.otf} (100%) rename test/subset/data/expected/{layout.context/gpos_context2_multiple_subrules_f1.notdef-outline.retain-all-codepoint.otf => layout.gpos3/gpos3_font3.layout-test.retain-all-codepoint.otf} (78%) create mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,42,43,44.otf create mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,42,43,45.otf rename test/subset/data/expected/{layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,43.otf => layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,42,43.otf} (53%) rename test/subset/data/expected/layout.gpos4/{gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,42.otf => gpos4_multiple_anchors_1.layout-test-retain-gids.41,42.otf} (100%) rename test/subset/data/expected/layout.gpos4/{gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,43,44,45,46.otf => gpos4_multiple_anchors_1.layout-test-retain-gids.41,43,44,45,46.otf} (51%) create mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,43,44.otf create mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,43,45.otf rename test/subset/data/expected/{layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,42,43.otf => layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,43.otf} (53%) rename test/subset/data/expected/layout.gpos4/{gpos4_multiple_anchors_1.notdef-outline-retain-gids.41.otf => gpos4_multiple_anchors_1.layout-test-retain-gids.41.otf} (100%) rename test/subset/data/expected/layout.gpos4/{gpos4_multiple_anchors_1.notdef-outline-retain-gids.retain-all-codepoint.otf => gpos4_multiple_anchors_1.layout-test-retain-gids.retain-all-codepoint.otf} (81%) create mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,42,43,44.otf create mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,42,43,45.otf create mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,42,43.otf rename test/subset/data/expected/layout.gpos4/{gpos4_multiple_anchors_1.notdef-outline.41,42.otf => gpos4_multiple_anchors_1.layout-test.41,42.otf} (100%) rename test/subset/data/expected/layout.gpos4/{gpos4_multiple_anchors_1.notdef-outline.41,43,44,45,46.otf => gpos4_multiple_anchors_1.layout-test.41,43,44,45,46.otf} (50%) create mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,43,44.otf create mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,43,45.otf create mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,43.otf rename test/subset/data/expected/layout.gpos4/{gpos4_multiple_anchors_1.notdef-outline.41.otf => gpos4_multiple_anchors_1.layout-test.41.otf} (100%) rename test/subset/data/expected/layout.gpos4/{gpos4_multiple_anchors_1.notdef-outline.retain-all-codepoint.otf => gpos4_multiple_anchors_1.layout-test.retain-all-codepoint.otf} (81%) delete mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,42,43,44.otf delete mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,42,43.otf delete mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,43.otf delete mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,42,43,44.otf delete mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,42,43,45.otf delete mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,42,43.otf delete mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,43,45.otf delete mode 100644 test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,43.otf rename test/subset/data/expected/layout.gpos5/{gpos5_font1.notdef-outline-retain-gids.41,42,43,44.otf => gpos5_font1.layout-test-retain-gids.41,42,43,44.otf} (56%) rename test/subset/data/expected/{layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,42,43,45.otf => layout.gpos5/gpos5_font1.layout-test-retain-gids.41,42,43,45.otf} (65%) create mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test-retain-gids.41,42,43.otf rename test/subset/data/expected/layout.gpos5/{gpos5_font1.notdef-outline-retain-gids.41,42,44.otf => gpos5_font1.layout-test-retain-gids.41,42,44.otf} (53%) create mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test-retain-gids.41,42,45.otf create mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test-retain-gids.41,42.otf rename test/subset/data/expected/layout.gpos5/{gpos5_font1.notdef-outline-retain-gids.41,43.otf => gpos5_font1.layout-test-retain-gids.41,43.otf} (100%) rename test/subset/data/expected/layout.gpos5/{gpos5_font1.notdef-outline-retain-gids.41.otf => gpos5_font1.layout-test-retain-gids.41.otf} (100%) rename test/subset/data/expected/layout.gpos5/{gpos5_font1.notdef-outline-retain-gids.42.otf => gpos5_font1.layout-test-retain-gids.42.otf} (100%) rename test/subset/data/expected/layout.gpos5/{gpos5_font1.notdef-outline-retain-gids.retain-all-codepoint.otf => gpos5_font1.layout-test-retain-gids.retain-all-codepoint.otf} (80%) rename test/subset/data/expected/layout.gpos5/{gpos5_font1.notdef-outline.41,42,43,44.otf => gpos5_font1.layout-test.41,42,43,44.otf} (61%) create mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42,43,45.otf create mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42,43.otf rename test/subset/data/expected/layout.gpos5/{gpos5_font1.notdef-outline.41,42,44.otf => gpos5_font1.layout-test.41,42,44.otf} (57%) create mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42,45.otf create mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42.otf rename test/subset/data/expected/layout.gpos5/{gpos5_font1.notdef-outline.41,43.otf => gpos5_font1.layout-test.41,43.otf} (100%) rename test/subset/data/expected/layout.gpos5/{gpos5_font1.notdef-outline.41.otf => gpos5_font1.layout-test.41.otf} (100%) rename test/subset/data/expected/layout.gpos5/{gpos5_font1.notdef-outline.42.otf => gpos5_font1.layout-test.42.otf} (100%) rename test/subset/data/expected/layout.gpos5/{gpos5_font1.notdef-outline.retain-all-codepoint.otf => gpos5_font1.layout-test.retain-all-codepoint.otf} (80%) delete mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline-retain-gids.41,42,43,45.otf delete mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline-retain-gids.41,42,43.otf delete mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline-retain-gids.41,42,45.otf delete mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline-retain-gids.41,42.otf delete mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41,42,43,45.otf delete mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41,42,43.otf delete mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41,42,45.otf delete mode 100644 test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41,42.otf rename test/subset/data/expected/layout.gpos6/{gpos6_font1.notdef-outline-retain-gids.41,42,43,44.otf => gpos6_font1.layout-test-retain-gids.41,42,43,44.otf} (50%) create mode 100644 test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test-retain-gids.41,42,43,45.otf rename test/subset/data/expected/{layout.context/gpos_context1_multiple_subrules_f1.notdef-outline-retain-gids.41,42,43.otf => layout.gpos6/gpos6_font1.layout-test-retain-gids.41,42,43.otf} (65%) rename test/subset/data/expected/layout.gpos6/{gpos6_font1.notdef-outline-retain-gids.41,42.otf => gpos6_font1.layout-test-retain-gids.41,42.otf} (100%) rename test/subset/data/expected/layout.gpos6/{gpos6_font1.notdef-outline-retain-gids.41,43,44,45,46.otf => gpos6_font1.layout-test-retain-gids.41,43,44,45,46.otf} (58%) rename test/subset/data/expected/{layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,43,44.otf => layout.gpos6/gpos6_font1.layout-test-retain-gids.41,43,44.otf} (67%) rename test/subset/data/expected/{layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,43,45.otf => layout.gpos6/gpos6_font1.layout-test-retain-gids.41,43,45.otf} (65%) create mode 100644 test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test-retain-gids.41,43.otf rename test/subset/data/expected/layout.gpos6/{gpos6_font1.notdef-outline-retain-gids.41.otf => gpos6_font1.layout-test-retain-gids.41.otf} (100%) rename test/subset/data/expected/layout.gpos6/{gpos6_font1.notdef-outline-retain-gids.retain-all-codepoint.otf => gpos6_font1.layout-test-retain-gids.retain-all-codepoint.otf} (82%) rename test/subset/data/expected/layout.gpos6/{gpos6_font1.notdef-outline.41,42,43,44.otf => gpos6_font1.layout-test.41,42,43,44.otf} (53%) create mode 100644 test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,42,43,45.otf create mode 100644 test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,42,43.otf rename test/subset/data/expected/layout.gpos6/{gpos6_font1.notdef-outline.41,42.otf => gpos6_font1.layout-test.41,42.otf} (100%) rename test/subset/data/expected/layout.gpos6/{gpos6_font1.notdef-outline.41,43,44,45,46.otf => gpos6_font1.layout-test.41,43,44,45,46.otf} (60%) rename test/subset/data/expected/{layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,43,44.otf => layout.gpos6/gpos6_font1.layout-test.41,43,44.otf} (52%) create mode 100644 test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,43,45.otf create mode 100644 test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,43.otf rename test/subset/data/expected/layout.gpos6/{gpos6_font1.notdef-outline.41.otf => gpos6_font1.layout-test.41.otf} (100%) rename test/subset/data/expected/layout.gpos6/{gpos6_font1.notdef-outline.retain-all-codepoint.otf => gpos6_font1.layout-test.retain-all-codepoint.otf} (82%) delete mode 100644 test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,42,43,45.otf delete mode 100644 test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,43,44.otf delete mode 100644 test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,43,45.otf delete mode 100644 test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,42,43,45.otf delete mode 100644 test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,42,43.otf delete mode 100644 test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,43,44.otf delete mode 100644 test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,43,45.otf delete mode 100644 test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,43.otf create mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.layout-test-retain-gids.30,31,32,33.otf rename test/subset/data/expected/layout.gpos8/{gpos_chaining1_multiple_subrules_f1.notdef-outline-retain-gids.41,42,43.otf => gpos_chaining1_multiple_subrules_f1.layout-test-retain-gids.41,42,43.otf} (100%) create mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.layout-test-retain-gids.retain-all-codepoint.otf create mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.layout-test.30,31,32,33.otf rename test/subset/data/expected/layout.gpos8/{gpos_chaining1_multiple_subrules_f1.notdef-outline.41,42,43.otf => gpos_chaining1_multiple_subrules_f1.layout-test.41,42,43.otf} (100%) create mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.layout-test.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.notdef-outline-retain-gids.30,31,32,33.otf delete mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.notdef-outline.30,31,32,33.otf create mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.layout-test-retain-gids.30,31,32,33.otf rename test/subset/data/expected/layout.gpos8/{gpos_chaining2_multiple_subrules_f1.notdef-outline-retain-gids.41,42,43.otf => gpos_chaining2_multiple_subrules_f1.layout-test-retain-gids.41,42,43.otf} (100%) create mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.layout-test-retain-gids.retain-all-codepoint.otf create mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.layout-test.30,31,32,33.otf rename test/subset/data/expected/layout.gpos8/{gpos_chaining2_multiple_subrules_f1.notdef-outline.41,42,43.otf => gpos_chaining2_multiple_subrules_f1.layout-test.41,42,43.otf} (100%) create mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.layout-test.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.notdef-outline-retain-gids.30,31,32,33.otf delete mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.notdef-outline.30,31,32,33.otf create mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.layout-test-retain-gids.30,31,32,33.otf rename test/subset/data/expected/layout.gpos8/{gpos_chaining3_simple_f1.notdef-outline-retain-gids.41,42,43.otf => gpos_chaining3_simple_f1.layout-test-retain-gids.41,42,43.otf} (100%) create mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.layout-test-retain-gids.retain-all-codepoint.otf create mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.layout-test.30,31,32,33.otf rename test/subset/data/expected/layout.gpos8/{gpos_chaining3_simple_f1.notdef-outline.41,42,43.otf => gpos_chaining3_simple_f1.layout-test.41,42,43.otf} (100%) create mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.layout-test.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.notdef-outline-retain-gids.30,31,32,33.otf delete mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.notdef-outline-retain-gids.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.notdef-outline.30,31,32,33.otf delete mode 100644 test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.notdef-outline.retain-all-codepoint.otf create mode 100644 test/subset/data/expected/layout.gpos9/gpos9_font2.layout-test-retain-gids.41,42.otf rename test/subset/data/expected/layout.gpos9/{gpos9_font2.notdef-outline-retain-gids.41.otf => gpos9_font2.layout-test-retain-gids.41.otf} (74%) rename test/subset/data/expected/layout.gpos9/{gpos9_font2.notdef-outline-retain-gids.42.otf => gpos9_font2.layout-test-retain-gids.42.otf} (72%) create mode 100644 test/subset/data/expected/layout.gpos9/gpos9_font2.layout-test.41,42.otf rename test/subset/data/expected/layout.gpos9/{gpos9_font2.notdef-outline.41.otf => gpos9_font2.layout-test.41.otf} (58%) rename test/subset/data/expected/layout.gpos9/{gpos9_font2.notdef-outline.42.otf => gpos9_font2.layout-test.42.otf} (54%) delete mode 100644 test/subset/data/expected/layout.gpos9/gpos9_font2.notdef-outline-retain-gids.41,42.otf delete mode 100644 test/subset/data/expected/layout.gpos9/gpos9_font2.notdef-outline.41,42.otf delete mode 100644 test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.default.53A9.otf delete mode 100644 test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.default.53F1.otf rename test/subset/data/expected/layout.gsub3/{gsub_alternate_substitution.retain-gids.53A9,53F1.otf => gsub_alternate_substitution.layout-test-retain-gids.53A9,53F1.otf} (53%) create mode 100644 test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test-retain-gids.53A9.otf create mode 100644 test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test-retain-gids.53F1.otf rename test/subset/data/expected/layout.gsub3/{gsub_alternate_substitution.retain-gids.retain-all-codepoint.otf => gsub_alternate_substitution.layout-test-retain-gids.retain-all-codepoint.otf} (64%) rename test/subset/data/expected/layout.gsub3/{gsub_alternate_substitution.default.53A9,53F1.otf => gsub_alternate_substitution.layout-test.53A9,53F1.otf} (53%) create mode 100644 test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test.53A9.otf create mode 100644 test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test.53F1.otf rename test/subset/data/expected/layout.gsub3/{gsub_alternate_substitution.default.retain-all-codepoint.otf => gsub_alternate_substitution.layout-test.retain-all-codepoint.otf} (63%) delete mode 100644 test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.retain-gids.53A9.otf delete mode 100644 test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.retain-gids.53F1.otf create mode 100644 test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test-retain-gids.41,42,43.otf create mode 100644 test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test-retain-gids.41,42.otf rename test/subset/data/expected/layout.gsub5/{gsub_context1_multiple_subrules_f2.notdef-outline-retain-gids.41,43.otf => gsub_context1_multiple_subrules_f2.layout-test-retain-gids.41,43.otf} (100%) rename test/subset/data/expected/layout.gsub5/{gsub_context1_multiple_subrules_f2.notdef-outline-retain-gids.41.otf => gsub_context1_multiple_subrules_f2.layout-test-retain-gids.41.otf} (100%) rename test/subset/data/expected/{layout.gpos8/gpos_chaining1_multiple_subrules_f1.notdef-outline-retain-gids.retain-all-codepoint.otf => layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test-retain-gids.retain-all-codepoint.otf} (78%) create mode 100644 test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test.41,42,43.otf create mode 100644 test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test.41,42.otf rename test/subset/data/expected/layout.gsub5/{gsub_context1_multiple_subrules_f2.notdef-outline.41,43.otf => gsub_context1_multiple_subrules_f2.layout-test.41,43.otf} (100%) rename test/subset/data/expected/layout.gsub5/{gsub_context1_multiple_subrules_f2.notdef-outline.41.otf => gsub_context1_multiple_subrules_f2.layout-test.41.otf} (100%) rename test/subset/data/expected/{layout.gpos8/gpos_chaining1_multiple_subrules_f1.notdef-outline.retain-all-codepoint.otf => layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test.retain-all-codepoint.otf} (78%) delete mode 100644 test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline-retain-gids.41,42,43.otf delete mode 100644 test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline-retain-gids.41,42.otf delete mode 100644 test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline-retain-gids.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline.41,42,43.otf delete mode 100644 test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline.41,42.otf delete mode 100644 test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline.retain-all-codepoint.otf create mode 100644 test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.layout-test-retain-gids.41,42,43.otf create mode 100644 test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.layout-test-retain-gids.41,42.otf rename test/subset/data/expected/layout.gsub5/{gsub_context2_multiple_subrules_f2.notdef-outline-retain-gids.41,43.otf => gsub_context2_multiple_subrules_f2.layout-test-retain-gids.41,43.otf} (100%) rename test/subset/data/expected/layout.gsub5/{gsub_context2_multiple_subrules_f2.notdef-outline-retain-gids.41.otf => gsub_context2_multiple_subrules_f2.layout-test-retain-gids.41.otf} (100%) rename test/subset/data/expected/{layout.gpos8/gpos_chaining2_multiple_subrules_f1.notdef-outline-retain-gids.retain-all-codepoint.otf => layout.gsub5/gsub_context2_multiple_subrules_f2.layout-test-retain-gids.retain-all-codepoint.otf} (78%) create mode 100644 test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.layout-test.41,42,43.otf create mode 100644 test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.layout-test.41,42.otf rename test/subset/data/expected/layout.gsub5/{gsub_context2_multiple_subrules_f2.notdef-outline.41,43.otf => gsub_context2_multiple_subrules_f2.layout-test.41,43.otf} (100%) rename test/subset/data/expected/layout.gsub5/{gsub_context2_multiple_subrules_f2.notdef-outline.41.otf => gsub_context2_multiple_subrules_f2.layout-test.41.otf} (100%) rename test/subset/data/expected/{layout.gpos8/gpos_chaining2_multiple_subrules_f1.notdef-outline.retain-all-codepoint.otf => layout.gsub5/gsub_context2_multiple_subrules_f2.layout-test.retain-all-codepoint.otf} (78%) delete mode 100644 test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.notdef-outline-retain-gids.41,42,43.otf delete mode 100644 test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.notdef-outline-retain-gids.41,42.otf delete mode 100644 test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.notdef-outline-retain-gids.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.notdef-outline.41,42,43.otf delete mode 100644 test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.notdef-outline.41,42.otf delete mode 100644 test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.notdef-outline.retain-all-codepoint.otf rename test/subset/data/expected/layout.gsub5/{gsub_context3_successive_f1.notdef-outline-retain-gids.41,42,43.otf => gsub_context3_successive_f1.layout-test-retain-gids.41,42,43.otf} (100%) rename test/subset/data/expected/layout.gsub5/{gsub_context3_successive_f1.notdef-outline-retain-gids.41,42.otf => gsub_context3_successive_f1.layout-test-retain-gids.41,42.otf} (100%) rename test/subset/data/expected/layout.gsub5/{gsub_context3_successive_f1.notdef-outline-retain-gids.41,43.otf => gsub_context3_successive_f1.layout-test-retain-gids.41,43.otf} (100%) rename test/subset/data/expected/layout.gsub5/{gsub_context3_successive_f1.notdef-outline-retain-gids.41.otf => gsub_context3_successive_f1.layout-test-retain-gids.41.otf} (100%) rename test/subset/data/expected/{layout.context/gpos_context2_multiple_subrules_f1.notdef-outline-retain-gids.retain-all-codepoint.otf => layout.gsub5/gsub_context3_successive_f1.layout-test-retain-gids.retain-all-codepoint.otf} (80%) rename test/subset/data/expected/layout.gsub5/{gsub_context3_successive_f1.notdef-outline.41,42,43.otf => gsub_context3_successive_f1.layout-test.41,42,43.otf} (100%) rename test/subset/data/expected/layout.gsub5/{gsub_context3_successive_f1.notdef-outline.41,42.otf => gsub_context3_successive_f1.layout-test.41,42.otf} (100%) rename test/subset/data/expected/layout.gsub5/{gsub_context3_successive_f1.notdef-outline.41,43.otf => gsub_context3_successive_f1.layout-test.41,43.otf} (100%) rename test/subset/data/expected/layout.gsub5/{gsub_context3_successive_f1.notdef-outline.41.otf => gsub_context3_successive_f1.layout-test.41.otf} (100%) rename test/subset/data/expected/{layout.context/gpos_context1_multiple_subrules_f1.notdef-outline.retain-all-codepoint.otf => layout.gsub5/gsub_context3_successive_f1.layout-test.retain-all-codepoint.otf} (80%) rename test/subset/data/expected/layout.gsub6/{gsub_chaining1_multiple_subrules_f1.notdef-outline-retain-gids.30,31,32,33.otf => gsub_chaining1_multiple_subrules_f1.layout-test-retain-gids.30,31,32,33.otf} (77%) rename test/subset/data/expected/layout.gsub6/{gsub_chaining1_multiple_subrules_f1.notdef-outline-retain-gids.41,42,43.otf => gsub_chaining1_multiple_subrules_f1.layout-test-retain-gids.41,42,43.otf} (100%) rename test/subset/data/expected/{layout.gsub5/gsub_context3_successive_f1.notdef-outline-retain-gids.retain-all-codepoint.otf => layout.gsub6/gsub_chaining1_multiple_subrules_f1.layout-test-retain-gids.retain-all-codepoint.otf} (80%) rename test/subset/data/expected/layout.gsub6/{gsub_chaining1_multiple_subrules_f1.notdef-outline.30,31,32,33.otf => gsub_chaining1_multiple_subrules_f1.layout-test.30,31,32,33.otf} (72%) rename test/subset/data/expected/layout.gsub6/{gsub_chaining1_multiple_subrules_f1.notdef-outline.41,42,43.otf => gsub_chaining1_multiple_subrules_f1.layout-test.41,42,43.otf} (100%) rename test/subset/data/expected/{layout.gsub5/gsub_context3_successive_f1.notdef-outline.retain-all-codepoint.otf => layout.gsub6/gsub_chaining1_multiple_subrules_f1.layout-test.retain-all-codepoint.otf} (80%) delete mode 100644 test/subset/data/expected/layout.gsub6/gsub_chaining1_multiple_subrules_f1.notdef-outline-retain-gids.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.gsub6/gsub_chaining1_multiple_subrules_f1.notdef-outline.retain-all-codepoint.otf rename test/subset/data/expected/layout.gsub6/{gsub_chaining2_multiple_subrules_f1.notdef-outline-retain-gids.30,31,32,33.otf => gsub_chaining2_multiple_subrules_f1.layout-test-retain-gids.30,31,32,33.otf} (50%) rename test/subset/data/expected/layout.gsub6/{gsub_chaining2_multiple_subrules_f1.notdef-outline-retain-gids.41,42,43.otf => gsub_chaining2_multiple_subrules_f1.layout-test-retain-gids.41,42,43.otf} (100%) create mode 100644 test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.layout-test-retain-gids.retain-all-codepoint.otf create mode 100644 test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.layout-test.30,31,32,33.otf rename test/subset/data/expected/layout.gsub6/{gsub_chaining2_multiple_subrules_f1.notdef-outline.41,42,43.otf => gsub_chaining2_multiple_subrules_f1.layout-test.41,42,43.otf} (100%) create mode 100644 test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.layout-test.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.notdef-outline-retain-gids.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.notdef-outline.30,31,32,33.otf delete mode 100644 test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.notdef-outline.retain-all-codepoint.otf create mode 100644 test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.layout-test-retain-gids.30,31,32,33.otf rename test/subset/data/expected/layout.gsub6/{gsub_chaining3_simple_f2.notdef-outline-retain-gids.41,42,43.otf => gsub_chaining3_simple_f2.layout-test-retain-gids.41,42,43.otf} (100%) rename test/subset/data/expected/{layout.gpos3/gpos3_font3.notdef-outline-retain-gids.retain-all-codepoint.otf => layout.gsub6/gsub_chaining3_simple_f2.layout-test-retain-gids.retain-all-codepoint.otf} (80%) create mode 100644 test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.layout-test.30,31,32,33.otf rename test/subset/data/expected/layout.gsub6/{gsub_chaining3_simple_f2.notdef-outline.41,42,43.otf => gsub_chaining3_simple_f2.layout-test.41,42,43.otf} (100%) rename test/subset/data/expected/{layout.gpos3/gpos3_font3.notdef-outline.retain-all-codepoint.otf => layout.gsub6/gsub_chaining3_simple_f2.layout-test.retain-all-codepoint.otf} (80%) delete mode 100644 test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.notdef-outline-retain-gids.30,31,32,33.otf delete mode 100644 test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.notdef-outline-retain-gids.retain-all-codepoint.otf delete mode 100644 test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.notdef-outline.30,31,32,33.otf delete mode 100644 test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.notdef-outline.retain-all-codepoint.otf rename test/subset/data/expected/layout.gsub8/{gsub8_manually_created.notdef-outline-retain-gids.41,42,43,44,45,46,47,48,49.otf => gsub8_manually_created.layout-test-retain-gids.41,42,43,44,45,46,47,48,49.otf} (58%) create mode 100644 test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.41,42,43,44,45,46,47.otf create mode 100644 test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.41,42,43,44,45,46,4D.otf rename test/subset/data/expected/layout.gsub8/{gsub8_manually_created.notdef-outline-retain-gids.41,42,43,44,45,46,47.otf => gsub8_manually_created.layout-test-retain-gids.41,42,43,44,45,46,51.otf} (53%) rename test/subset/data/expected/layout.gsub8/{gsub8_manually_created.notdef-outline-retain-gids.41,42,43,44,45,46.otf => gsub8_manually_created.layout-test-retain-gids.41,42,43,44,45,46.otf} (100%) rename test/subset/data/expected/layout.gsub8/{gsub8_manually_created.notdef-outline-retain-gids.41,42,43.otf => gsub8_manually_created.layout-test-retain-gids.41,42,43.otf} (100%) rename test/subset/data/expected/layout.gsub8/{gsub8_manually_created.notdef-outline-retain-gids.41.otf => gsub8_manually_created.layout-test-retain-gids.41.otf} (100%) create mode 100644 test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.61.otf rename test/subset/data/expected/layout.gsub8/{gsub8_manually_created.notdef-outline-retain-gids.retain-all-codepoint.otf => gsub8_manually_created.layout-test-retain-gids.retain-all-codepoint.otf} (82%) rename test/subset/data/expected/layout.gsub8/{gsub8_manually_created.notdef-outline.41,42,43,44,45,46,47,48,49.otf => gsub8_manually_created.layout-test.41,42,43,44,45,46,47,48,49.otf} (61%) rename test/subset/data/expected/layout.gsub8/{gsub8_manually_created.notdef-outline.41,42,43,44,45,46,51.otf => gsub8_manually_created.layout-test.41,42,43,44,45,46,47.otf} (50%) create mode 100644 test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test.41,42,43,44,45,46,4D.otf create mode 100644 test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test.41,42,43,44,45,46,51.otf rename test/subset/data/expected/layout.gsub8/{gsub8_manually_created.notdef-outline.41,42,43,44,45,46.otf => gsub8_manually_created.layout-test.41,42,43,44,45,46.otf} (100%) rename test/subset/data/expected/layout.gsub8/{gsub8_manually_created.notdef-outline.41,42,43.otf => gsub8_manually_created.layout-test.41,42,43.otf} (100%) rename test/subset/data/expected/layout.gsub8/{gsub8_manually_created.notdef-outline.41.otf => gsub8_manually_created.layout-test.41.otf} (100%) create mode 100644 test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test.61.otf rename test/subset/data/expected/layout.gsub8/{gsub8_manually_created.notdef-outline.retain-all-codepoint.otf => gsub8_manually_created.layout-test.retain-all-codepoint.otf} (82%) delete mode 100644 test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.41,42,43,44,45,46,4D.otf delete mode 100644 test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.41,42,43,44,45,46,51.otf delete mode 100644 test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.61.otf delete mode 100644 test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline.41,42,43,44,45,46,47.otf delete mode 100644 test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline.41,42,43,44,45,46,4D.otf delete mode 100644 test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline.61.otf create mode 100644 test/subset/data/profiles/layout-test-retain-gids.txt create mode 100644 test/subset/data/profiles/layout-test.txt diff --git a/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test-retain-gids.41,42,43.otf new file mode 100644 index 0000000000000000000000000000000000000000..ca18f6776627323e66ed75fc68cc0f0dcd6d6e98 GIT binary patch literal 2132 zcmd^9e^3;46n}en9CybF{@|z(@c=PN(%aqJJy25*4oriJs%@Pzi zP)yX&FvzPJ0>e=-CmStg)GQ}Q&Bn$t$Em5N8Al!Lz}2C*i(}Tm{n>Ztz3+RU&wJnZ z{qFnjW-eHe2?p2*YA~m!r<)fZz7h|h(U4@!nwOb%)A)M>0MiQq8#1#da|PdKA0$7Q z{N*`?&Jwr`$I0#|;oL4~?&tPej`&3KMK=M%`?Oz@eVJsOyU<%<{8?QEprUxjSm>-M z0mnR|pp!&f3t z404nhFR>NirPyUqs6=@wyM&@$gm?&9L0NLPOUcRuR=F9*RphFc&f)6JCKV$cBZm7?!|NYGy7qGoPAPLXBAsm9P%pf_I=A zYQP6uVLLRzZrB4Y&q?@m1w2VHrxTLadCAz)l2{{R7&SK%r_T1tXE^}6;$LlKem}eK| z6ql70mpQ$z+(~A8L4kR`9PTmCcX?c8s|i$I60*o4k5&{=L>neyGO`wAS!6k6d1S4~ z3doAc+K^2`HW@h!a+Jd%$0KJ&PC!mX&W2nPa>>YBkY|ynC3)nn$P37e$lH)lLOvO- z7PPWx<%;WE3qZvM6#W@+ewS zr2UF0+Nd{7Z3;N3>A^a^A;dT=G;H{Yk)y&*5l=n+OyuaOG0|hqF|l#u;>SNbA>p}+ ziO)}(Y+*UxDu}kEoOnXYIBQ1UIyzDqboFVkTju?a45E^5MkyWfAw9G#c z@0Ygt1CIAj`lVfdZJ^8l;FSN8e~v%+-<@2AKuS;_iV6Q+;iHU0q~VLsjGE=soF<*t1J7E)L|MIVS0v)@=3Ely8v27r7;4 zwW}^;bLoMiw*2C~`G*!=@ttnC-uOf77Z-H?F5j_TJ^L;#KjJ)^@twq%&G=}|kj1Fv{8wkt2x~gVMb7>>4_q>hkiYrS?_uW1hhzMv~ zbRCVKZ0dMaN+<1=9+*z_1`;mzNUBcTbSYa3>P%=ay1VVyrmE(;<|bW#ymZ18a;yJO z)4Ara*L_o~Yx}Uip>3=uzrt1S5~YOcQbL7f-;`knp-I*RmO literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test-retain-gids.41,42.otf b/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test-retain-gids.41,42.otf new file mode 100644 index 0000000000000000000000000000000000000000..5fe0af5266b9fee0b6d7b051011fbaf8202ecb7a GIT binary patch literal 2012 zcmd^9eQZ-z6#u=p>$c;aL7O*Mxbovl(CO)Egw@< zlmXj1VCX~#4k1<(+;jvP5HWzT03i|y7z~E!AQ(wV%pfz}c#wHshl2j=pWc^q-Z{VD zIrrXo&w00S!Gc1Vu>pEm^9l;AF-PhRfWC+2_RM*OMc1$2Iu8gZ0aO$gO_IvKTiC(= zGWM4hm%Dw~fn#j~^WhMS72w!Bw)8AK20n^#gU;hx0Ajir zI2UzI$ilv;DPZIuBbPma=h1Kr3>eFA13#LdJ21f77107?Y$G?qFgvdM_V%UmQ~!Vv zb&VOUPd~6hd;fI&y;dX*Y%@r@uh`W?r=dJ_F^~R`J zolaXvTmA3h%FmsF>DtK2?m@yhz5X#(v3Ya2021jYL2?38k zz?c>%@SeuQi0FuCVqcTE2;*XHU|x9irELEdlfbqvatfTvGrXXkoFRtMe55_Jbv#qT zLtFnCZg|X&;t1_*v|M8Ze+eE`!;h7yLqrr{2q{9Hjzym$)Ed-b7X9eG*d7cHYD@Ge;LF}2`&8q-GyOB8*b{oRIgz$azrGOL^9b)AqP1rn{r6BktmWVktmaBCs85ML86nyY!Y)wvXR6& z5=k;ic9Im593(kO$|fm?WE;sM$vmY@vYljwWCzJklCw$9A-j$2BH1Of^NMz|D`a<& z-AVRrvgeRuBSj=dB1I;JH>8l_AjL^aHYqveu#rO~heQsU9CmW>ejQvEq27f&u6ML4 z#vE%I5*I&o*zgeviAhg9`Bd`Alu@Ifwx*_y8JqshxQxv46SAJ2ILRhTvR!dFvvVd- znfl!G)26#}^YUjD%$b*FPBX{-*O6+rn&VQqvp>@n5Uymp(vZuOgL!XmF~+2m=MySeI%ihZS(yGsu)x)MCI z_2;G^_kMHH6zT{b+u6D2^0LG3qjSGk0O zdo?^Vykkx{zU1nvy2&k7P4tHUZCYPhQ&qL6=X^LRY-}~PHGRIZ?cq`;b+>vy@kCcR o^HQg(Yj-}cE>xr1Gxt~A-Tqs1ZA(K-v#Bp#J;BS?1ruZOCqv`LfdBvi literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline-retain-gids.41,43.otf b/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test-retain-gids.41,43.otf similarity index 100% rename from test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline-retain-gids.41,43.otf rename to test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test-retain-gids.41,43.otf diff --git a/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline-retain-gids.41.otf b/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test-retain-gids.41.otf similarity index 100% rename from test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline-retain-gids.41.otf rename to test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test-retain-gids.41.otf diff --git a/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test-retain-gids.retain-all-codepoint.otf b/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test-retain-gids.retain-all-codepoint.otf new file mode 100644 index 0000000000000000000000000000000000000000..d2507fa8942427f1404853db34d2c26b6bbea006 GIT binary patch literal 3992 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 F;BV=ySIz(c literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline.41,43.otf b/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test.41,43.otf similarity index 100% rename from test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline.41,43.otf rename to test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test.41,43.otf diff --git a/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline.41.otf b/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test.41.otf similarity index 100% rename from test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline.41.otf rename to test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test.41.otf diff --git a/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test.retain-all-codepoint.otf b/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.layout-test.retain-all-codepoint.otf new file mode 100644 index 0000000000000000000000000000000000000000..d2507fa8942427f1404853db34d2c26b6bbea006 GIT binary patch literal 3992 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 diff --git a/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline.41,42,43.otf b/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline.41,42,43.otf deleted file mode 100644 index ba97353aab297b1746046b1fae8474851a4ee61f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1304 zcmZ8eZBSHY6h80W5AS{mSS&vf?E*0)6Qj80I+destdOMPu-IT9;tH2tfn}Gyi!KIb z!`HIA$d*JQL2TWA7!XVWIq9SWjFIWoXdl)%#`LE@O=Apo!B=NH_rgq!?>pz*=XuU~ z?)#p5i%Lq0Ko2KD1zcW!KKI*{uK<7vVnhq}7umstRe(zv#v=O`bIsKQV*tdD{BXJ3 z;RPccL!N{@$HhA;zO;6jk?%lmaiNg3pnU`JpBRt2-2MRj1XGH597FGR1iYZ$j}V42 zw6zX5um3&s8v1`gKJN7h{`d!g?}Mut902yJ0W`Nr&hkc;VCa<%ID@j{?<<~VvN~h0 zZU%)}`3(@$JgvAN=s-=S=tew?!=f6ud`ezCj@cTI$1kn;WEG=u@BGcO#2x z8nebu%FkcFI^7Q`@l$Fu^Epx#FtUn^(an%3XuwDo$O7C2v+@MQh_I~Js*cO=XMdik~|qQD{gsd;RSgLwGRC@$XLM)BtY^CR;|+2tFQ(; zqu_yB*b18=7m87HLOs-g18Yw3VoiWDC|7#?SPg(5d&|JBbotTk z#cm!I0hJ@@lHI)Gs)Vfs)cBPN(N@&E-3>A-Oe3#B8fhnKB*(nyP%t~07O4nkKr zyqt||HUNCOur@}ucP}p$Xpq6V#5AzW;O0YezOW87gxL1%Eh^6QcpH32oi0DOsXUuA z=jNI@YlY_s&)FLUKkpW}J+oVBKgE0)^@u9z2i-!T-G>p3mkoED4I zvK@a9>0m&O_ckP%GWD7IgmgV8r*t`G=o5V6QkF>DMalNwlt_C-tu!j$n-*_~h2okA zYwZ6u-H?9HFl02&MU8852;EGwl1(_-!=PsHuLdDbO31z9!esViBdShh9co`B-J;3 zsIH%97azO7&16{2T-s!Ec2>UQYNk2WcDkXGrn+d#6wQ;;9a8SA(t7Ew=cUAoU#f#o z_0~n5O~RYbMo&Xs-N2nIQi`PQXNRJnG!LyD#nL`{&vbD{%Dz59nc?j_=>e)4&OTc^ z-}Og#OK+&Rn_bMJ7fpu07XLL}>HVhh+YUDNVWczmh)@;a>v;>!-bu3q)Y?@!+5Yax zfb`^#Qr2xLV`N60ogN+hsOfBV2iy9}OU*B@w{<>uX7`EmroPhg)9j+<{uZ1i7&aOH E1C_UcuK)l5 diff --git a/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline.41,42.otf b/test/subset/data/expected/layout.context/gpos_context1_multiple_subrules_f1.notdef-outline.41,42.otf deleted file mode 100644 index d408c37823f35cc7bf6012d3ec2201e8c7afdb64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1204 zcmZ8fZ){Ul6hHU9*SFX9v4O7pFw62bT*Bf4qlRhJh~3HvD3+{X<_8&NeQO!(-`B~e zs2IxV+72qt#W{yt^8A3Cj^Ktwh!|LKF(L#KjfR-TFZvP5%-gt_dhXkz(|dEy{r!ID zcka8lx8B{myw#(}S2UYq984o)_Oj{5!^@p>VRhNa9)$Phm)5e|HS{T?k1Xi21HIN6 zlxA5sj9H#GyH|SHZUpyds|*4txC%HKZzvQny9 zSD!t?)}Oz6cLd4`Cj=MwIZ_@trsCkNGb9fdkjXrmhx_0%S3ryi%Qlf0Eq0C*(96E@ z&v1Jhw!(AZhK8kkuspYg;E~wPkhyWPA;OF77J?P~Jy5lbIVgtGWz4V8g%#L>4t7@7 zE1LRCph5yPH~>+Iz$VxLb7JS37JXAmFb|h#2S!hkF>>;UuqvlN={blIAdYCrJr(jm%e!!pUrQDa%D` z0X~~wHAcnz*A}-~kik@m6MPJO{}9U;)__2WXZs7@#%Qc3aUd8raaZ3%J)`$(B!F_-Fxe0qvM;4R2n#R zLQ8kONlRNoR6eF=cJ{_Ujf{0fhda)-{E)rY|4aVI(MvZaeKLD-aQgJ^edqlbcHW?m zC$@Zi==>K~k6phz^hfW#%-K`f>Chl0Im+cJye4IG*=(*nF|jv3qDl*o{k7R)Us$)e z-Vy9?e=l^D)*kfHwe7S#M9Z$wMx)Yi)V*RnV!ZRbQ4;v+VEU<{cs}@s_IB`av?m@v zefL|V%n(PU@%$%8$Cp1P(P8?)ae2n5xiw9>i6@?=d#Gii=1k;a;&DBW}I}egI*5pJFKjK`?K$x-S6&acfY&u zyZc`5+_|~1VkL}l03n0N3(DqtGIG;`|g+`P-Pewq#lT>v)a=8cz1Kg~bDdJ*eS z6qb1_aURE5?qQOOecqyXvX3ogdphfCF$06T&F`^%o@rEZS)kVTov|J;+Stcd=B=%S zXEvL#kI7u_E%RBwO*su13Rpi>S>X@#y$ng0nH&K7dRQ_t@#=diV(V9K=BQYM zLC>Y<_-kc(vL|B_=g;YXADv&CDD>&I#dNWj#ZP~X6(f)iq0}2Fhb2-q*egJz zruzw8(?c*LI-*%v%it)z&OuCE3h!p-x}P4a-;m+veG8oHPhCGLE8-#W$^8`1yOGiU zyW)OgmhNwgVcdh{o3a6Mh`%WtZ^2Es$WiPO$<49m2>u9ssD>X)QGs%Z7zZcjFh;0B zDZFeWRI<&FMJSB;1lU@O08hvwltsJ(99_xYK1TeEEaoUZ+82ph0x>cz`YrsAmwpG4 z2PXa+1i@TXQ&v`|OVbmDXOJkY6%vI;1CudPs5fbYZN?G1u^|}j=eFqKz?aZNo;dwNm5kaiSMr_75Y{yRQ#;bT8d-&(kfw$0!BRI-GqxaE;k8ld7aR%pb0bk-G zzQJXDk00?fuHY)V5$2EZ2G6ijFbgp`6_s_>OQ|^E7*m+$kep7*kyTW&*yqTr^9Ouo ze#f-(!iwt3ifV7bS2WI%Ra)wpqr3YZb9{bZ^^*)nE{Q~vNG2C4q>`I5D3e4di6V&- zi86^U5)~3v65S+bkeEr5lO&FjNRml%k))8MlH?{SgQQH7og|AS^N}*iE|L|JRg&E# zXONspE+@G}a!KUkj4pC19h#NR)@NKup+Y{~>a_7)tiNi;XbR;FGj7lAS z*O;`s$EM#iZoE^JWS644GcxbJ@BRlSOq`UJo#UB2Wyb9M6l;n#?!T@itHTN9gwxp>v_>q3D0xEPvZ#_F6B+?zP!2wb};o1jcm5 zN4TBG@^+Z?S!_g~Fjts=s5imhyso*aX=r^*ee0SL+oyPvPcA$=KV0(BQO&aXsrCNG znrF56f@00q;A@(>rfPqAdr8HPlD7&j1V3!~y7i0Q@1C)QI)X>HcJ4a {A|nV)HL z^~BenI{fyDhSR^aU0rjn>ASPV$DGkB5haH_iwTEc$X;n>-_TydQw6mR>VV`?~maj$aOWRX^ZNm?n>)V>z zHd}g9wd3~KD?Pv3Pqlr#{F8N-_E(x)+DH0JYJD|6RZE+orPXR#8nshAJ-T|qFi*>a+b2I=xMD}ap%*MY>W%UIE{#EZEdNjc E0Cf-bT>t<8 literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test-retain-gids.41,42.otf b/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test-retain-gids.41,42.otf new file mode 100644 index 0000000000000000000000000000000000000000..f9349f6f3e06a3b3cd43922304536409ebf7c6bd GIT binary patch literal 2028 zcmd^9Yiv|i5dQA&cDvm!EswTpDYz{ZTB)%2wc7#;eNX}fixd=M1eSK0Qu^3-mq!&5 zq(JEwD5jzXL5QmfwpxM|2pB+UfDnlU2nIuxphglB1EgkKE~L)A#R&fOr)PKO%zQI* z&fJ-~w`k6sBG|DOW;pW;3!O1XHd_Gx!+dAztfJyu1-Fj@!YKyU6cvw?D!!ZB!TKWB z7nM|c{n(D%*3njW5d?3Jjn$hri+2| zQ8$Dv?2DQJMxI)EtOSCQ1W)gqa`X4MRnj`A|abP3IffTi zlV0+tvdk^Wn}W&UyZfI-=Qk$_eR^IoU99EuuRq3);mCqe;SE;7W@HTZ(oYkDzCe&M z-A~}0#>0weL$k3q3ModOaRy>xS@$vG`0T$mf#rV8#=A}lOeRM4DstcOie5=e45I}| zdn}s}$A0~|`3cw~ksQ=?cD?#8E} zm<3bgU|sDVgaUnp3NQ^bFcU?16~&l~*D)V&U;#I?l$%-3P4jbOR-g{6@h;xO1~edq zt^8qW!H3w1-Pnsy@j3SMN1_7<(TSt{$vJ^<(S>ukfQz_3%}tu?%)sH zLpLJ)!ad^2Hw)JMYJXkrQYs5NGfFa@lFKDIb4#li`<%sffuOH4;G9-fQeEq>uJs0e zrDL7B6&23ex_iJm+ZXWFu3*q85s4&`ObV&wCJ$v(4v8)jMG_?vWfBz|(&$wN{$NjW6DNES)vBW02ml2wx3Bzs8CCOL-`7bzks5-EJ6 zLW)X?n-mWz*`(x<>LOJnRU%a;l@n4)b(88LHJj8Na=XYal3OCTOm2nToUfbPB5ck@ zKKDD?7GsZf42X*#IB4*Ygv6w0o_#KPXv(nR&pT7oMvP1!H98~ng)vz#jveO`C0SA3 zp6s0Q6DGd&@}$YRdHDrX3TMnpv!~hP{_9G$JMD3)_EdXZZMZi*tZfQM3O+g=)^>!g zk&f`gGvO=Y>EY;q+id^XV%qFCW7`~#o6U{^Ja#c%2?kH(SsVhhK7bAA6D)^%lM@{$cMomu%sV(D5Ced#)@x>^(a3drhvL^x4Y8N6u`xc(?W5#`}#2-Vb$_ z?a+iK&D5;nEn8z#DAbf(+rFS?x6jry=8>8h+cTm!BayZ&`JimQmbI){8@5DCF4K}u zYx$8>Z^ZRxWN2jjj7WUx^<@p?TWgx>oxnO;U0qjGv*+%GNK(YQ+t$|n#rn3#SJ|{( u+QYB^ literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline-retain-gids.41,43.otf b/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test-retain-gids.41,43.otf similarity index 100% rename from test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline-retain-gids.41,43.otf rename to test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test-retain-gids.41,43.otf diff --git a/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline-retain-gids.41.otf b/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test-retain-gids.41.otf similarity index 100% rename from test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline-retain-gids.41.otf rename to test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test-retain-gids.41.otf diff --git a/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test-retain-gids.retain-all-codepoint.otf b/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test-retain-gids.retain-all-codepoint.otf new file mode 100644 index 0000000000000000000000000000000000000000..07e6ad538a513ad574b2bc71d123061a9ec9a1ac GIT binary patch literal 4012 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 P35)e~2DeRT?N;~)?W9@E literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline.41,43.otf b/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test.41,43.otf similarity index 100% rename from test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline.41,43.otf rename to test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test.41,43.otf diff --git a/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline.41.otf b/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test.41.otf similarity index 100% rename from test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline.41.otf rename to test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test.41.otf diff --git a/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test.retain-all-codepoint.otf b/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.layout-test.retain-all-codepoint.otf new file mode 100644 index 0000000000000000000000000000000000000000..07e6ad538a513ad574b2bc71d123061a9ec9a1ac GIT binary patch literal 4012 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 diff --git a/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline-retain-gids.41,42.otf b/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline-retain-gids.41,42.otf deleted file mode 100644 index f72508f23c7f896f76ce6bd2d5adaca4e2201568..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1912 zcmd^8du&r>6#w0}D{WUc9_!RGup3O7AoRZ44G`Fa5g<5Zpb#TawsOi?*RCy(DJsf< zu?`q!q60yQ)dV*kK?Xz&AS^%#L;?nbA-ed8CL{*POo0oT=N6)i|N5ujmvg?~d41>H zd(KxrZ(ccUSO+7VC1qt!>ygbSz}U=mWBQ!(3OLvb9AdJUSB#fxF3j%)gc_EYR0g~u zY{xN{IR-Aj&s+6n@$uy>D=fSHtQgd5KFPR;X_P+@U1R^numCWuV;@_V_tn9B>f%={W<$uyIFBA z<+?By`%)$*qx*Xlvmo$2`mJ`DFp5tTZ(T0#>tkM&y1_O`WB~8`V&IR zb+%w_-hp-c`TdD=-y*Ybt4T6^!J-icUCYa0?G{>)0=v*F^x__*>EuMy{dhUncqVt|9LZ4ojwVS0P-ug1*dHqXFR*o-4?jvkK8ZsVXV?VvA zA5LKpy;eQeoYcPvAHs-WIfAH#h;eXXF6#&@Q3EgA2qCsbuo#s|pD0_`Aj+Lsj6l*W z%F!YA_OT|ynx!12NBfdd%OEDZk}UoI%k+Q1v&k(p@ze=|xoTw~P_Ltz*}`kc7B&gl zLZgAnm@PDzw83`ch`rbri#_D_0mFgMdk5~*%=gaRou0yya5Fs{6$}hbLv*osFiH){ zk(hy5n2mD0fC|jVOIV1Pv51>l#m%hdriHjMt5A=%coT190~!&-R(|BIcn>?V8+-8) zKEZx|u$?%FE*$0Oe;i+<8)tDI7jX$!a23~Z9Y5kH{EFXk1ApKadXeCPe;`0G3g(hv zs6M=${88uV%6zBfa!Jmjs^C(ev!Xr{^#vl%8MT$ca3~n|MtxP|oJBP?&bhjK#5va& z@r75hGWm;0B#C5FNF_IUsDKJdbde~MD3K_WsF0|V=qAxaVgZSTB)Lf97>OjAB!wiE zBsWPOk_t#FB-ur>NHSk3ldO=elI$kgLvjJhg`~Jh5lN9q;fx9?Dk*MKJfswmQb?+c zRFPDPRGCyRNF~)xs)y79QVYrLBDY9xiQF=|6>@XEZf=XPxd47v89FMck|-frg)9bJ2_EII5wI{O<<4o~@b_2DC@H(b2gc5CD9rUUQ9y8Jsdp;b$I#Tb9ygS-KTb8}+U$2c_QK1cAre*oH%u`xPBFCF>y^dsw|u(3{ZT55woAM3IMJQRzucu6Iy{rL g`C3Xx{{GtA+kR_pXlrU~wcN?mPH@`Bm?IT`0XB}iiU0rr diff --git a/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline.41,42,43.otf b/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline.41,42,43.otf deleted file mode 100644 index 5d62e64e23101f9e921406753b4c1ba7ec38e461..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1304 zcmZ8eZA@EL7=F*~$8J9cOesGYn-`E|jbvlhby1hit{rUXWC3QFA7dR{T0TlkZ`oji z&hS;*GO8lVa7gv~V*)}HaB+()Kqk&Dnr(h&nI!)3k1=yWFYIio@4b*nc23^+KF{;M zPtSRK3W|#hKo2KD1)M!Mm-}tnp9jDMF`{_~3W~slRe*~a#)6_PmYORE#{ftG`H?b@ z(+5U4hCB&*wwrgBf4TdsO5{6`TiqxmEofgy{3phvZcm_reS#@LJdUCFI2(MRK7bI0 zF|@T#53m0{^D6ppARqU6g+TlRupqvI!2w{e8bEWCWG`=235H(TfHNp7{=VW_CaW{{ z>Sj@xlYaqXnx_@_10ATT6y1ntaadI2mQS(ALmuPgXJV_Xev<6LxvjO1Kg|#uNy?bdXPlF83C8j}<41Rt{&KK5!h7iZT=L!n#USFfX(&Y|to65|b zB`3$i*~+~~d9J8Y2=E?(+gDrW_4~YjXMiu?%-L#cxI(#I;0k$x_a8%1xt`0q&1JQ^ ztlRN4x<4h9RSIK5ATxL+ECcm2ASv9tJgouNs6nDJF-;mr_iT&PXVf+S=6`ZQpo0 z*O4)I_}U?<>g)5A?Kyr*2-d$wlS|yx*v5zUx7Ur-#;UyiRiBmo7{1hXEBe#mh3{E$ zGYVtPL)eYRfETu@=Gwe|Gla`^CqgdKc@0q4%CG)ij$_#JcNe@!Zu=#B5 zo$fz+TKhtMJ?vr@oiZ8zTKv~^x$m2%Z#&u8hmo$>BSKXJU(Z{qc_%eDP+ND!WXHQB z1JaW}NLja}jFDM!Zf11wqvo^Koow67FSfk2-qE%9^qv!C&HW|gZ?lWm`&)39VAy2% E5Ay$juK)l5 diff --git a/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline.41,42.otf b/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline.41,42.otf deleted file mode 100644 index 51b4e83d2c4f40a9a2635e30fd260b5d62570653..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1204 zcmZ8fZERCj7=F*aw|BSgWdmLJW0vJ^u!O}4qlRhJh~3H%1WQ&h^M{PG-nAR+=j~)u zR19U5wu4IM;^ae?Tz}xEBf23G;tVXf7!d+SqakLAKlCS(nY(c?^*wisPS45vp67Yq z=e_5go_crg^nwiz0uM@KQBKnzE`_mf^A4{M99RXoj3Ik{>s(#m?ivFiG30yN z!u}Y@(2ZP1UK>*VfiD`q>_Gk`^7;@8%V)*65dV&`IuuU!6iHkQ;&BWq?C*&IzXKtR zVu%rcShfAS>N@t{L_QviYRSR};6gl&p#Y$l2e8~BwQK@G)n-mpM+Svcrk}z84)j{5 zP?~1lFl>3+>|W|&UnBT^w#p!Yf~$a&@rFVHv%63ze6`rO;D#Hgo`0;hlDd@1!OWyX5l`#%oPwL!m>@|MT?!|1oW~! z{uyph!zOqR+|aOa50+;(5l>c#IUA8E3}!OBvyMMiLcNKVbhhw?ijjN zR5VofVi)UH&8~J>Pe8z5nGiA19S-+0wAD#o2PZi~oFvU*@J^Bv=n9#yI19(K*@Y|@ ztpxaFcG)l$?_ZnWY(WO&B~I`$@ZCc!Ut9qKA)YPUyp7RVZ=xd@N-AsGY7|#pol9{C zqI*@v*Q+Jfu%>K@v_%uKXu_XV18Ws`SC`Vv?3&W7YHH$D6wT8G>o)}J>+xyGQT(sq zneEG~Y*n`6N}Iw`rL8!j&sXd8h;De^yQ0%UT{On@2Uqpm`c}Q@|265~nsvlBV;_;_ znY_FVk8YhRHM0Zn^DyunzGWH;L>QkhbL5WZGMVyJe=6Ts@qUx1YI^srmyOP^FHvb= z|1mAy{U$AK2~qj5n%UkL|2Q(-89mwgY0D4UYyH3Ee>{8nrlgN$FAYwdxxMFt|Kj!= z^zp>T5BFdA{OaNBcZdGyyO%kCB0CWpq$EeVJcZY!OfH+vl_y4b$4{%$+@pVOaM^k5ykL|Be%hCQYABu$zM;JxJP_@T z$IsmT#waty)6z)(qeCN$TS@dJec+g!GHPy3P;T^zXX!3#8Lc@Nxp(}xfz(iDXh52) MrjxjBI_t2*-;rxj(*OVf diff --git a/test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test-retain-gids.41,42,43.otf new file mode 100644 index 0000000000000000000000000000000000000000..8ecfac1a192c8fa39666593da0dc27336ca4b84b GIT binary patch literal 2112 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 iuWhLAFJ%W!oWqWax0@QOYOJLkpE!CP2 literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test.41,42,43.otf b/test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test.41,42,43.otf new file mode 100644 index 0000000000000000000000000000000000000000..51340ddde8a0a3ce59be44bc2d5a36d4e47ea63e GIT binary patch literal 1400 zcmZ8eeNa?Y6hHUv?&Gn$f)>j(xY7e;MkYpS&9$%5RuIrK9KZ(q5I1=23j4*rMZv&q z0D;{_wjv5igxdZvAeaKObOr|)L#wIL>2n;Tzw)of9O{8rXFGS7DeB%iAHUx@=iYPA zEh;T70xcW|6^Oa{`Qk6r-U0ybCQ7JaZ&Asw)i=)okU0Q2R#dXdcfb_2fIfN{*77P|qvJR>Np{CS%aXTa zCp-lf$c?>&>G|yhTVgLmWWgP)(LyR@194b=E)dwHa4wPPX~ZYVKIB*)!JZxk9^#@% zz#iFNkG1%7Q4ZUQ+SpWBKC5Dz)eFm#gqBT>L(LWs&oZozM{XmeFZ&!MK+>|WTEVMV z_!`V$vtqS;lz$E+@PZ77zzr^V7`YrMM$QIx-~cPeY~aC|4CPP}&GBKh9(=GF8CK`S zxC6OzsKR<|NsT{B2wz#}bT%+=w~@R8M$$%%q@6=i8A*$puFb6cy*XJq_MNHoH&UP?05?a&kWD|zoshiOlkS4P8kXTsOQyTft+j|uImy!*^j-cP4($d)yI+1!RKQDdmz}5Xq z^%v)<(0$~j++KH#CY9N#zE$$?IZ->}8mxBrRexOeec)2(jnEGR7rqt3qk;216aCi? zPFm0H`G#)xZvWuOrX3*l|R+AKi*p#vNg%C z*&5vqwYB}Xt|-Y0e_9v{eb_v-e3d}^=v~9qtdezgf^x%Kx6yr6Gn{qSb-U}g?v`GE zZ?~|RNv90D-xvQfT!yuNBWh=zEd)9 yDCr}!;klX7f%luv)^rH1FFxP=!rHvf!c#ksRy6gMjlU@@n(uAGx3mWgy1xNbii58J literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline.41,42.otf b/test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test.41,42.otf similarity index 100% rename from test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline.41,42.otf rename to test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test.41,42.otf diff --git a/test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline.41,43.otf b/test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test.41,43.otf similarity index 100% rename from test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline.41,43.otf rename to test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test.41,43.otf diff --git a/test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline.41.otf b/test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test.41.otf similarity index 100% rename from test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline.41.otf rename to test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test.41.otf diff --git a/test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test.retain-all-codepoint.otf b/test/subset/data/expected/layout.context/gpos_context3_simple_f1.layout-test.retain-all-codepoint.otf new file mode 100644 index 0000000000000000000000000000000000000000..fc0dcbb2ac665f2665d306512b016552e06de864 GIT binary patch literal 3972 zcmds%iC0ud7Kd-K`B)+*u}vaGp`oGMXzYD4Mg`YsjERVAqO>fQ;U4-Bp`?s*?-%nktg$ef?{FFWiap;TmgUcuI9C3p` zgpj-BF8mvm-X~xmd-#Vz0loqL!9G5IxcpDi#m$SK4|C9${NNv${d_jLfB!!FD;&jP zd%y(2B$x^$+gO|n9L9qi+MGArCC` z{~yh}*M#jB_Cher-{8~lp)!-1Dged7tXBan+rHTI_hy`fKnTKm4}nK8FQG6F9)-u? zaom3qOn@g)0Z+k12!n8V8uc(4A|Mho8HMVQKn%o!6l5?3o7tON5oM z3RYvit%Y^)D!hg@w*itc*Bi0!*w0|?5fYG6l9N-;dW*wJC4>_z2`4rmynVxo*-v;h z#CK8;G}hNYupwif2H1D^kzOI--{(gb`s2uFTWB~WV8?&$V{F*|D5NqW&%@A`U|7pA zqy!9S6^617gD~O|Lm|^Es3ItZa;SpMPy-gQK|M4;6STq(=zuQhf!**1yafX=2nXO0 z9D(C-5>De`bpbBJRk#M%;bXW7x8O7Q626A-;0O2_eucZhyp5?53FSq_sX0XvFXSfY73Sv^8jDj?o{fmh&W>2lmKQ}V zPc2FZyS$IaMN~ zq)HW4s;N>#m0GIQQKg+@6;!RHYW$*_ zsx?%trD`2j>#5p6HFBy^P>qsmR8)fjX{bg^H9D%%Q;mUYl1p2eEbV-3Wk z=3hiXtwbp$;c1kKXI3#vs2XZfJ}ziR>2yLb%BCOoqhyZ3DU{14_$x}~2K)nM@-6&` z68Rkjl!reFLTQXAPoXTLh!iEEBs!Es99e);c$p-k3^tGyl0kAw5h)`kQiJv3Bu!*H z@sJ+!I@v=8$q+e8PLi|aBDqRFB%hF5@L^LC!84=A0 z2_qzokT62R2ni!3jF2!w!Uzc?B#ek*L<}Qh7!kvW7)Hb}B8Cw$jEG@G3?pJ05zB~J zM#M5AmJzXxh-E}9BVrj5%LpkWq>PXq8LdJ-~z7a{EVD01QwVmk`w)X|_gMFiC`>yvb?i=&JbKHOD0{eqL5AF{M z`P?1y2p*$>=f-=j2+!8XA(+*~R_G@a$X=g0J{Npv`L_72@(=YN&r3$8iQ4(xH=alY+7Y&~rLat)uOI#Se@>&$E3?5MR` z%$4>^TXikRk6k1BalszJQ58`=)%cv?JFv==bEfiW)=v(;|DW%-wRYJ%8l6rTwsw1) zeLE7SQ9%^U&mED8oI+NUkcGC>h$oD{Ejo%_`vJ@*hRcpkSDJ)tt(hvmTdB@9%|wEk-(@ zzA>6gYR%=_N?mrB-D%&pb-Qhwi*vag&M=R;1KWUUz_ibNr~KCU$8Vmzz2v7^gI1@_ zWp#Bnds;ho+_;$a`^;Cv0$F~;`$HQ@R=8m3ta1_h9X-@wJ?5l zx)5SXbu6tb*qhs%ndiwou=?Zr^RCAK!kc`+Cx0-2zl_4rhJ6b7JAZ`hu=hZupsd8d30Y)QD6>U1{6WYlW#< z3BuE9!o+l8!Wm&MA8F*}ukm4g(-J;3}~^Aq@hF0S9b zr?&s$r#QhQjEYX3<7FQn5_|@9vxG#!e?azD?w!VOTg~l`_Ev6KBAgNh|2+J==yLm| zsw;M`cbC)EJGm&cEVU$6E68REvN9pAG3~H*$KGz<@Hbv^n-}jr*LU&kV9##TTUmC_ z^6J{!bz$>di#q04JQUxs_TF^N@}UvENVP*8Yt}f5w-&UPw3fCMw{2>wZ85jj8LP4j zN|$HrhlELAW%SkTu6)D!waZfX!BOtQfjZv5_Fen#>fV~(+MVScRUUJ5O=C?%gBx4Z z;m=CHw0&*aS`O}#q1vhhbd*VM|+l%Ae$kEgR`apPjkQfp>SVzTLl z;^&Vg?o4hgTeH9HXvL9=Bb9r$?A_7t`d3puzubC>a}3sDv+uI*w(V*=S+TSGq}yX{ zt7+-jUcYOThnuStxiT8l-RZV6Yo*0pR#LL5wAAD@)mJ%JzMFBr>oa#xN9VS#p5`7; iuWhLAFJ%W!oWqWax0@QOYOJLkpE!CP2 literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline-retain-gids.41,42,43.otf deleted file mode 100644 index 0eea57d95fe56e5e97cb8142506f0daa0b828798..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1996 zcmd^9eNa?Y6hCjj++9}igC#@M1;ivx_r168?XH>%ESNfkiKJ$!8!Trrezzu!6M z-t*qM?`5o5kpX(x21+ocq@|fw9=)CbpsWB;r7v2RkqJif0vsbTWMt0f^1sPC48Rl- zUY}jyEQ0UgOTsF`oZIEh`69V@0%03r(M`md0nKT$`$?v{3rflizbLB!6qL^x3Y=v{ z;8;d3=p@k;ItyIdn%EffT_N0B5>l}a{^;SWM_kHJVy zvARAYE~sxZGof8QHyHaBO8(-g;v>1lG$}C zVO_+$`@pDg5(5Msic=gVs04+~(opF7m?ltzff-;1-~n)<704!w z+`+Vz zdCQ;#cw*$d0`lh*w+?bCA3|LSmHGcw@;eAkP|+=87)?%TK|#4}Es0^?fEcERiD7CL zB+3}3N+pdoC?~hUPQU-LHjJ7C@Y%rVc1iQ#+|VL5A?AKW3}lj_*gZ~$Lt`OTLG5?I zVpt04kO412CS<`%SPg4nEj2EO8kZMpjt@3LIaI(~@D5Z%E%;#v?1E<43;W;zw8266 z1P;*$+6_mb2Ts6A`ryBUJ~$7T;4)l+Yj7QIz)koGeuiJ+clZNt!(AAFAYJZ93@}PY z!{|~xMdjWN=q@o$&rURPW;16>%JIDJGG&(gN?Zj#)8fKxkGII zU$8JKImMBhwscumygptZ{$EF|-lPwY)yK*zP9N?K3?&4lnn2L;{+WQZC!h&-2Ogdc zTnj7-jQY1v`;Sl8q3;jtFc|uq45R4=>iQx>+DO-OJgDTmSPR3<3TE}Op(tZRT|<3+ zbX8+j)Aq^x(j0LY)?Qs5%sYQl(l&42;j1luQ;J;WmJHRd`t zYrNI;L))n<+CaDel^(3hG=i++TsH)?cj_@f-!6`erUQ88*_KNE2WtmGo?wnQnXu&IwPe7W1T_s zYr%=ZT}y)zIX5=e&S@!b!mYlyvBFbcT-RXz%g9%cvG3@r>pT7#Yta6EFyU4(uB$I_;cR!?!L5fj)@iF>eWh~EL`UNb`%<@L YZ{5G@*n8SR@zHF0mRi3tjDDwo0m@e6YybcN diff --git a/test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline-retain-gids.retain-all-codepoint.otf b/test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline-retain-gids.retain-all-codepoint.otf deleted file mode 100644 index 86b1f10fe90194f3b1d1166aeb7456a820f367ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3856 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 Xc)PK#vf5h8@$sX_ao)CCQ6T&a9SL@n diff --git a/test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline.41,42,43.otf b/test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline.41,42,43.otf deleted file mode 100644 index b7e772c0c573e5e38773589133a9520939ab7321..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1284 zcmZ8dZA?>V6h80mhnKbjZj>xo-33M>8Btbe%{HT}AgI&TP+V{yVn;8nKxyeM3Jx|G zzDhr&+mMM&2HV{a2Mn?SGt&eE#G!N9qWg|<{M(;pafa=JuckZq(qzQ<%{liu&vVW_ z=e)MkQXA;tB&dKZC@SK9pY|66Fafk!@d2A1jHm)!Ml;y#o6I%W4~_v4)Zs{l$KeA5 z9K$#j<2*O-aDKIO>M@MBVQg_Dk-DIL3-O<5Pq;mS2KH&D4DmRc&f{qCf%*VK7)I09 zIy^kvk!iyEA29Csd4)jyLog%0j>Z9Ct{Omdi{vd|WC@y1xqv$;C;ov_vmC7Sn42_< z#GL#G7}PwcR6mq~oJ!#h*o#9^jaTkc5Rap`#^dqJi8`4@vq9ucdCInbfM{+Z15G(& zC*|*NQ&(FcJ$_1UX1>5s1&qw%VUlJ^3^ZUM3uFQAfm!(iVnitGv?{Ge&oH=aqLWgF z%?o$#g6F{s1t%Vvf`DG7G9LMP$yyiM#xHF29hByfmJJb^$M)P40%?$ zR;%zY0S|r<;3#;Z7M?;bA4-sOK|R!f12q@;P!pgWDwLc6stpi;&B(}g9@J})D~C#~ z$C1?dqJ(Ij^&U^7jP{zy8(<+2XQTT$ZgkH|b+5lU=6lvUJIQaVbZn9imitW?G~@qE;Fe@6U)g#l7OHhc)(pEon$MuOBiP=3|D{ zxJ1%yn&OSP*`uIl@VSBzC#B@j_)@wt(isVbGFqdpvG(<6iwd*m4&OK=RegPtvfal| z3Bmd|XRm|2w+b zzvGkRlV8rXeS4?(@AkW)v3J80?jA}al!;L|!GY z=!#aJcDK;HYCBz5Ni*CueVP_XnGPxcHEFH%&I?kC^VjO&v%PgOSF`Z8tI69~SJ!{% znv^bS&#^wce{u-*mErA4Q^rj|)`|d_8ZWx!Y-O1GRQlPIkOM(l0&pqm*-7${Lv!=VnF+ pK5jl=-O0AS`f|%FYYU^h&+a-=(cD)y{vNw%d9Vq035JdO{{U7ndA0xm diff --git a/test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline.retain-all-codepoint.otf b/test/subset/data/expected/layout.context/gpos_context3_simple_f1.notdef-outline.retain-all-codepoint.otf deleted file mode 100644 index 86b1f10fe90194f3b1d1166aeb7456a820f367ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3856 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 Xc)PK#vf5h8@$sX_ao)CCQ6T&a9SL@n diff --git a/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline-drop-hints.41,42,43,57.otf b/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test-retain-gids.41,42,43,57.otf similarity index 62% rename from test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline-drop-hints.41,42,43,57.otf rename to test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test-retain-gids.41,42,43,57.otf index c18249ba0bfbad7bdc133964bc1b51d5a572ca3f..e939b0bcfefe2464f6f9afb8f3ea3f278ed6269a 100644 GIT binary patch delta 1324 zcmc&yT}YEr7=FL=ZPU$Z8qzK@30*>AB@(uQ5~k^tV$qfn{kd|r&`r^$tE5Som7g2Z zT+XG=pbLY%X*YHuWEgl6(a((_{b)i_>#hR@=_PV?kdp@)ZNu+U%u% z`*ij~ACYBB_Qg0G9(BU2d;0b&4iY(0AYkx5L*&=7Ug$EG!z2BhT#|{rVaSlTo$0x~Z|n zE5D>dIPe>6CW5n>C}a}K1aqieaH;D1t@EKz!U=Iso(ox6eSD*ML-50yx-m1kqDTgh zTLV$!XOjMwN0V>}y)=KIH*v0>%=$^qytJM9s9=>`14W#qb)gZ}H-8>kh?Q6D zw^Le!!|S0mJQYNim39$`)jOL#l+|+nlJmE%?vLZq^CTdGw-%#kq{CWEyl);*FL*Wg zm4DECc?MsrqfU8{&}pmE$$PkyJ8(+=NIvL`@;r5Nydns0mTysmg86YdluJf3g^Dy= zjxq)3kO(dp#TYRdnJ{=+36?3Wps*r*(v%W8y8(zH&V=2B{K?pb4t^<9d{8s1_D^g= z<6mA6lbL}XUV|~pN?6su4KW_nUljfA(IrnL9tlU@MZ(eXSfERiq?^51u1By)LCo8Y zD_S?VDqN3$MUw*1l!)Lp&T$zqXqJQFuAu~yq<|r*Ew@GQ_*Gl@7C!S$RYUwfPW{>=2i0Uz<#G`F7NxE>g8`%Q}y?!>FFe!(CNX?>&xGp`Y I67hh)09XSHL;wH) delta 662 zcmX|8OK1~O6g}@VNmQ)1Mk`uHLtI#*mQcinE~0Hx1W7Ql2u10rse>gk)EFWZ6S5FN z3F-(62653v7Dm);bZ0@tRiWC2P**Alg5p9%5FF1-&^x?0_ndp~xo_sp?Y_ISlFVe1 z=oNs*+C%Ypbo=0+OTelhKwvI0G8!Lh^`8XPMgV6Msbo6hi(CY(>wwslNFO`+TtEB9 ze3tdd*m&&d$D4||d`vubgt(>donn8LxRgxqiB8nZH&{;*Po^`mO6K*}Pq#V!0f{em z$({-2!sDTP`Hf{d^5oekC&1W9JogMb3`~A*z zSdzkMVgMc+4+R3=yIs?5fJFpM=Ai#@fa~=H0k#uBPf!d;rnWks0)n4-F&H_~^_-vk z0Wfjm_E5L)_;U2;CxELGKR!l0%RM|p{oja(!jWCx-h66=I7@swBKgwNLhF|?z|ca0 zukw&Q;80xG=t7F2^K3%yM+e4<7j!;H`Nj4&g{FN(JROh8(dGt8um4TFCr$xlH~X4c zAJ7#~BvXwXp3y*2;<1FB>W7=Y4UCLjb5sO%SB7{vK)v|8sT z>T>JR$$xz+f<zA!qmN~)T(8HdZ&#KdfAtoWf+C|Am+m0Y2rb!zW{Q0ot&0HxBmsR!3jSStMvso-lh1FF3B^20T$9(0awVh}12kP(rO#lD@ delta 513 zcmXAlKS*0q6vn@M-_48GKP0VM2U~(ZB}ht2kb>ZnR1;Bbf_eS{7oQplmZVWbctg<) zA~>|mEA61&I=HA%7ey%@GYQ(IgARg|){dD9_IrBZo_l}ieCNBDdmdctTuqv05`Fr3oe1R(oaoJgdS>D{XFgW@vzIFTNU9jb%BfUwD-!SU#5 zb@FC|`hVn^5%P|D-?P6(o=%(5RkQN^>J#AUW8vB=SxfDCV}*v_ z$UU<;tAKiZCjWMMp8c~>cbsTvM${y{sp{%Cg`cmwVKkWFwm^+K)7RCmUp6 z&aw+oDIP@|lb*L?xy<(MFB#~ zPH#L<>+a{?W|s1(an?N(y#kWAv08Q~`4Bgl1q3tqhch*04Dap>|f Sh03jUG^C`~2DKmdh17owVPlp6 diff --git a/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline-drop-hints.41,42.otf b/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test-retain-gids.41,42.otf similarity index 61% rename from test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline-drop-hints.41,42.otf rename to test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test-retain-gids.41,42.otf index 03c4d3ceeceee51d78b0f8551bf2a2f66ac087c5..a0d7fee1e3d3c71d562ea137391c85d26682effa 100644 GIT binary patch delta 977 zcmc&y-%C?r7=FKRx-~ar)#7wvGS|T%l)^^QMT9?^BZ`SzcF{$ibTNq?$F_7>v=B7% zb3>S?P79rvBk*co=!Jn@dDpLt0s#u_qQypY&8=(iO4$A*>TbD>fIb5;yxtKb#?_qb4NT0h||EO&d}Ai zrK-j6L@Wy26zFN~{?Yw$gUIp$cek1&#yvhQh6x@M`_n zX`<>?B)(}wTEeTV_fZfz^7X~EI5m?2EP3B8@Nb(==+JwBOVNnd@3x1fejE5q6bV}o ze+AqDtVUz0v`x?`4io^MifQRMsa*(J9h_Cy8e@^t#yb?WE}-b8_+T>i`wg`~phDmw zf*4W$6l-T{KE<+!z7U25lb$iF`*LV3@8$#fb^boXA4vUwv&>#+{)DP|3ZvUOYcB}* z9_f-_^bgEJyi#Aqo2VXBD)G~H*|CNiDUg3*Q5qz}h~JJRbgD}Zj6`TZ{xqU~tcvA7 zTP_^;(lG!`Pg=z@ct&1SmOU7F_;R4C&(^hk6xVt9Ae5@)X8-mnFFD$H=3Ze_H_N7B zelm^1Vlg`|gm^Rs_t1nBIjqNnyU~PXE4j(cZX~jZDm!vxGAHe+V%^Fa<1;%*h^%58 zE^fwV<_pv2dci1`i~F{+hP{67?D-o`yKp*Q>a#*5CzYDDYd<-5O)8FZVYn#7ozV$Y Y&niymnz2JwnjleIN6Y13wa+=DKSqYzP5=M^ delta 518 zcmXAmPiPZC7{%Yr>?Tn|8ns1)SlY6OT2d;D2!j6_+oTjrVzcc2MCuO zADbSY{Cn^JBj%rwXC}z2YGsc3E9B*LcF4T*y8M{_7I`*n4Ogrm-P>=u`#u{x_OiXy z=NL~p@FV$Ru4tDK#yj$+&-3(u#RnYb$H>(}-oD#;%wk@K$d?Li1gGU1^BJ;HD7xj~ zOFSnV~vBn_U*SE~wE!6mucU%#T(qvwJV Y?Ht36Q_L#5wMIB0RSa6K-tkEu0VI}X%>V!Z diff --git a/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline-drop-hints.41,56,57.otf b/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test-retain-gids.41,56,57.otf similarity index 54% rename from test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline-drop-hints.41,56,57.otf rename to test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test-retain-gids.41,56,57.otf index 426d122fe9bb35a5a2059099fd4e1165d2337212..68654ea0aeaacab225cdfa876380f708b49f5649 100644 GIT binary patch delta 1104 zcmb_aUr19?9R8iNyXkaJO=%EjvZNq{U{pFX%35>uhmE$3kf^1Lh3qQMbW}JAGV;11 zT~}-6CiKvH@aeuR$RO##hX|`ju@LrRW%Q=tgMIf7UqmpX`{Nvb-}n2z-#Pc3le6ab zN8LW3n<^QRKozH)PTR}hh9FT{1(6}!>NxE@{A$-(BL19+I$Aw$@7~LG1E{?rV#TfA ziziZ0V2mIkY@RaV^bs`-g^}D?XZSC>M82U8>U-SA}qQ2SM z{5X+*4#anVzrWWi)(@f~I6Bl3^7l}N-ogM#%{Ng0+;Bid!w7IT81Q#i8-1#N7WhaI zL{S^h13Q50gQ31i=^YAVLqCD@A%CQY>>i{HnYd%gp5h??xHWMmM=x7GZhLjG&oIX0e8y7se z1FT)OrvF1^=`VwcTydGwJbE{^Dkha=BKa+uNaZrIVM&r6j$wL`#3aQr9(QkKBWhLS zMxz^<6ho#t;`dcf{hnG3Yw^VJL;*=s%u+OvSq)80rN)yBsYFJ}6tBe+#@floV^>W^ z$y7QcrX?vnYAKn&w8G&UwUjEUfs7>Gx;KLEF^kDGpD2{HML?9*(6q8-KF9w6ca|m@ delta 584 zcmXYuPiPZC7{%ZG*+yGT6R8CyY6*dYEfiwxr5>7^Y(ygoW-US$+_sU0Hfv~?5)j&4 z1bY!-1rLfK6{%2B$R*zNAb2YNJ9zLUIjQv|Ue~uv2fmN_&Aj(!nCXso(;F4bsvs!< zjl?HfSJ23DXFz%EJMf1#yV;2FH0I*Q1R%&C_(bE(^AoohOD>H9&_YWXi_4E3OUleJfeMdNY?CFo5|5aR9Z-X5_CzpBu{b;r(?*jbxHy(bb0k(b(&}kL?->eVng7d6)(r`k!WO~Q=4 zyCb^Zx-I8?5%j^Q`;a|I(33<2)}urOJxEaWq=LaZ-^|`3=%F8chx7ZLzu#FqFx8k1 z@_Z0>696OFI{khx*S6jbz>NVIUI%=q{4}!B2S8f@pf%7F49(OxUc#6U`B)$nKKa79 z_zi%>k$bv&JI<|#;UzZXkx!jPzF>HE73<$19}0$=y?y!22=ad9kr3aJ<(C^iPXd@U z6ut;U!k|-h-@%5cLCdv-kc1z654vRS8JMy`BOo-N*d6xeJ`LQ?(RlW2r za<-s5o=9g*b_nCbtUi|zGD&dtpi3NRI8kUy#OA)f$A%VEO{bFssdRY-yqMs|ghK!* zy8sjq=_D>CN#wns0FQ-WmJsgI3D>-0qcLTLMwMAZrriQf&;``zKf^<9zmOK87H^9v zmw{I5=*`%m2#(Z^k=UDZLZ<%)rHz}<-Y#s4ny#tZM@=m(mgI3s zk{&!nb6-OvWuBzLi U$`BNGIbca&@B-j{rS0%cOGg@fls4FY7lSMbO1QM;% zY4ZXBwXpQR*+K;iOA8S-bs&X^2ud0gtn|!!XL!8toOACTX7$Z=^?clM;wTq@j-xV`nq`VDAJWG`k9emKzg?*Ne@hr5T`2hjHK zGxJ&Ua36U`TNz`1jXW2(8zUo2xi9q3$fLH?KJOgAzWl-MM-*<{Id`Vsv%YcQD!F+) z?PgF4`oeE$o}_;fZt$3YMP5%O-HECf4)anczfDmH49OklKa#CfI-4^>7$jR{GwtRw zkO^Kz4UZzveVgc+y<7?yk&kdQxNK%>ffJVivEYeCf| z>V;G(u~>No{zR643Q;t5wHZ{VOopCSe_fSt7pe?W?dlzBT230pusEw<3zZZ)r;{@t zO!ZxB3>G>U{E5#GzXMPw@@xKHuaGbGT3YWas7WDIOJGB*fu3JB_e9<YNhAq}}Wx#BRD+n{N^{`XWAp5ShHy{wHP_hoAsak22+WKz|Y57lUz}?C1QN}-#VEE zA(G^EEx1XtQVBH>cezhWl-(`|70Sl-LQ*MXk&O6dUzb7!-IuQV)^lwlzb>K&LxmX4 zu>mWrL@uCXk*DT8DhJ*TWmEy>#*@J^^b#yi4%z`ESQSQ=Cim z@V^O`{eOf9Y5yiVAKV1z55+V`IeJ;zBa1q_6F-J84=JbE+4xo{KeSmj>A$jCO=^F9 zMTzOLXzXJw8c!y|gPNw@9)Y<^BrkUdL} f_a-#$%Jm_158G|Fh3Hz!7=pmI0-Dv^a-Ol@-p%h! delta 573 zcmYk3OK1~e6ot?KNLpizsZ=-CA|XNh#V1X6&N1;%HL_YR1qGB@1b~ za3uvR;`|Xt9`o{Atz!_Ip6=W2s;j6Lw+*kYfOxQrWKL7N1bpx5%$bl}jUU^_xF{2*|my z$>EDXyjYX-56D+8ke{oKYk;~;Ua~8v^V4@5Yt;XduU4Glrt`UX_db{Pv+>Jaau+gw zcA18c$b;8wZXL_G!yA(1p*iZ?xsyH(cgUMw)t&9$=a_lJXFN7KCglrqnVj`%L8J3E zR>@g%vgS7GP(~6xEOFmGSF3LR{zk(%8?o{F&BY-4iaZC*104rAthjy!Wf|a<`hbIm zO+;Ui4+r$&&=MJ;LQi;lYC9Q)J7Pw?kDi8ua^@(%E2Ed$-9DL;ZX3vOU0bbt^0u%N z$a14B6wfoq1Xvaa6;}$!>P6| yx#P$l#W)y8tQc1reJ9bKgw|U8T|BLi@x}ihA}izgu(fqyPN^Q~*3YgjA@Cn*@ohc; diff --git a/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline.41,42,43,57.otf b/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test.41,42,43,57.otf similarity index 90% rename from test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline.41,42,43,57.otf rename to test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test.41,42,43,57.otf index cfa843f7262e4979bbe05be9e0c326c1ab1f10f7..0606b0208d35f0be9203fb94be13c88733e7080c 100644 GIT binary patch delta 133 zcmcbj^+Iccm>LfU0|RHQyNj!v!CLV+1_ovc1_p+7_W=Lkgm$2R0!f delta 111 zcmaE%bwz7}m>TyN1_sVpcNbSTgSFyu3=GT?3=9nE?g9S6I&3-8W2m@bEVo4qY9|H?e1H=FS3`{_Zk%1{Y fwJ484rZ}@I6)Kkkk_UmwYgi^SGHkYCW#Iz=aycIR delta 116 zcmcbic0g@{xM~Rl1N%vL7gsmtXf<~R1|}B<28M9=0RP~1-&FQ7Ft9WL`FkeXcr)5e z?5Jnd*v!Gm!^racpmf1z38s7|RTTy!pdL4$5C*=S#F9J)J_Z(`28RFt85n^SV|Hp$ R9s|eZLo5?Fhq5yB0RY`)9S{Hj diff --git a/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline.41,42.otf b/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test.41,42.otf similarity index 88% rename from test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline.41,42.otf rename to test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test.41,42.otf index 976b9ad9539e34ee1cd4138bfa7287f0f3aca615..13437bc86ea40df27d9641fe921a3b0067e57031 100644 GIT binary patch delta 126 zcmaE$^hIfcxT*~U1Dl1ri>sSJ!jDV_1||mv1_n#_0RQ0m*AxsG7?`&J`70*ccrmfE zOzhBSjG4H@pYg+H4n__}metm5CpU{QEoWp_WAK=~k6B!i38sSJ!jDV_1||mv1_n#_0RP}MH&pg9FfeZc@+VES@nT~6 zFtJ0Q(PQEcf5tnTIT$$@StgqO6W%Psw49Myg~4d@K4x)lMxbKG?9`$>29C+!n9~^< KHpj3?@B#oP;~Z}Q diff --git a/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline.41,56,57.otf b/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test.41,56,57.otf similarity index 82% rename from test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline.41,56,57.otf rename to test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test.41,56,57.otf index 616985611d64080b59e02837d56e263c1c0d7929..64e299ae7396cbab97e6c8def081c91e553da7aa 100644 GIT binary patch delta 130 zcmeyO+@mrsUIN-1v!24(>U28Lw!0RP}car2flFt9cN`Tr)`crmd| znb=X!*f5!c@dis;nMUm9Cybk!CfBpR;$#FW;bKr@@R&T0MO={y$YW$+%1$lHV~{D% atV(6zV_*S_r2sJ)Og_M}cXK*hFE;?uNFX8r delta 124 zcmeBC`Jy~QTy+Zr1Dl<@i>sUIN-1v!24(>U28Lw!0RLcZUv(!229_y6{)>q=UQDbt z6Fce|GbVE|-e3utDPFkw3FBraO$G)o1{DS)1|}CbpAZJVoWznm20jKBpeBa@{}~v8 a6k~R3Q62-wJ2n;QUnjvxg9 diff --git a/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline.41.otf b/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test.41.otf similarity index 79% rename from test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline.41.otf rename to test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test.41.otf index 6349f4ed4cbbf13f1e16356aa0c1ecb33eccbf2d..ada8cb64645297347a03bc65937a0b3faef8d0c2 100644 GIT binary patch delta 154 zcmZ1?yF+$@xat802IiISF0O7&3E!g`7?^Ar7#Pgm1N?*Mf0YNanO6Y$Efa0D84V_8 z$TMD<*rCs;GjWGMW6ov{Mixev*V;*kHVZJRGEQE~Tw%+_pvK_Az~tiQ6T-lklUS0+ tz{kJ>G=Sm%e+DKX#mK;vom!N~AXA)Kl?s(h0m*~F&5|tLTmT9ABisN0 delta 134 zcmdlXyF_+^xat}P2IiISF0O7&3E!g`7?^Ar7#Pgm1N?(mKTx>~lrsSG^CsG8GcK5z zA j)XebzKLaC>V$4o0%46V|{EFF`kzuj{bM0nBmUb=xR|+Bf diff --git a/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline.42,57.otf b/test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test.42,57.otf similarity index 81% rename from test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.notdef-outline.42,57.otf rename to test/subset/data/expected/layout.gdef-varstore/AdobeVFPrototype.layout-test.42,57.otf index 011e227317507a6e9c8fa18a43b06fe63b1c266b..e38300e3f418291bab079da54fbe8418169cb168 100644 GIT binary patch delta 137 zcmaE&{6l$yxM~dp16z%|i>n)#KbI2&1Cs{>14D>=fPb(;-u&|n3@ku-h7%KQycu04 zcGNQ(Oy*#`!m{e!{x6#!FfL}YR%7sBU~+Nu31Q&NNi4}@;A3C`s%QBBpMeQTF)}b^ drxxWg$P{N*r9$OWK=L3kc?C=RW<%D^JOI)YA@cwL delta 115 zcmeyN{6u+zxM~Ii16z%|i>n)#KbI2&1Cs{>14D>=fPb(~@zM|m29_Eif73)8Z$^WO z9rcVdlQ|f#uuOWg)n@Yp#>GskDhx&pOfGIdAq;#ui6waqd<-l=^$h?2GcW=v#_ZIh RJO+-*`&imHJF{-(0RX<29t{8h diff --git a/test/subset/data/expected/layout.gpos/gpos1_2_font.notdef-outline-retain-gids.41,43.otf b/test/subset/data/expected/layout.gpos/gpos1_2_font.layout-test-retain-gids.41,43.otf similarity index 77% rename from test/subset/data/expected/layout.gpos/gpos1_2_font.notdef-outline-retain-gids.41,43.otf rename to test/subset/data/expected/layout.gpos/gpos1_2_font.layout-test-retain-gids.41,43.otf index 89b7a14ffaec65e8e140d7e480ec8b1e5969fdef..1e59c7588054cdbbde9abea0de94cefd7eb7f860 100644 GIT binary patch delta 225 zcmdnP|A&8qc;W^I1{P2E0RP|zeb22J7#K4c7#Mu~gY}Ja&V&Nx7`FiV3CX#M1q^o? zxqy5FAm1V*H8Ew!Te)%|`v(x4WdH>PzOWqvvabNKN=9x;h2RwC76t~U1rsaeWSB&N zqFn{~#U=meGZ+EcAX60>7y=j=Tqf@GW7+cE_4s4~##DDkpg0$U9D@!6V@_g89s>sh t3s8jN|9=LM3}Z=ZaS2ci$O2;)D9ypZ#J~e&GyS*tcLhXmE@1Rw0|2>5Gl&2H delta 183 zcmeyvzlVQ|=J5~KH_AB^x`Ba#u>{CZNX`YSyUPfa zXS4zGEizIQQ+B+SD+lsffPAwIpn$*^wnISn10Yt($StW5oWk6~z`&F+u|m#_@d{A1 zt02F)CI04l&LI{*Lx diff --git a/test/subset/data/expected/layout.gpos/gpos1_2_font.notdef-outline-retain-gids.41,46.otf b/test/subset/data/expected/layout.gpos/gpos1_2_font.layout-test-retain-gids.41,46.otf similarity index 78% rename from test/subset/data/expected/layout.gpos/gpos1_2_font.notdef-outline-retain-gids.41,46.otf rename to test/subset/data/expected/layout.gpos/gpos1_2_font.layout-test-retain-gids.41,46.otf index 0516a86b071ba1728598ae4d236f8ca54d7cf1f0..67d882bde846401086728ead5e801643a98bbd02 100644 GIT binary patch delta 225 zcmca3Fh_8Lc;X%g29^iz0sg@c`kvinU|`H(U|{g^57sxzITN}W$ln6wCnV=47BDZ{^B?>>ogEmH`wH_`-G+$i4!^DjB&Y6@pWkTNoIa7EG*=lVK78 zigp#`7nl5>&tL>(gG^OmUSkhzx##DDkpg0$U9D@!6V@_g89s>sh t3s8jN|9=LM3}Z=ZaS2ci$O2;)D9ypZ#J~e&GyS*tR{)|n7cjnI0{}NLGra%+ delta 183 zcmbOuct>D@cw!9$1Iq*V0RLbHQ3fss28Jy_%;O)dZ?K+FY(3=GUbHW2)u!(cRdBa`UFtJ*AI7ONha N%)*$uc`M^{HUM}zD{}w< diff --git a/test/subset/data/expected/layout.gpos/gpos1_2_font.notdef-outline-retain-gids.41.otf b/test/subset/data/expected/layout.gpos/gpos1_2_font.layout-test-retain-gids.41.otf similarity index 74% rename from test/subset/data/expected/layout.gpos/gpos1_2_font.notdef-outline-retain-gids.41.otf rename to test/subset/data/expected/layout.gpos/gpos1_2_font.layout-test-retain-gids.41.otf index 4aeeb9b5d03492d71d2a3feee959c97d63366c79..77ab03a2ba693ff78819560b733dfa812567b5b9 100644 GIT binary patch delta 223 zcmX@W_lIwSc;Xxe2IdFu0sg@cL!XB*Ffb-CFfh3J2kRT&tL>(ZvkQj28I9z2B(Sp>R5!&-g`9Jfl=3$5h%{ZAjhD?z?hR*lE=Wo rzycIu`2U{)B*R#eT3iAY1G2!F1xj-OX(0Y@0i+oj95-h%USkCSkTEi? delta 183 zcmeyvcYtq#cwzzr1M>s-0RLbHQ3fss28Jy_%;O)dZtK=6MKgVE%LOrjI7MzdV=UoSJ+ Mgi&|%O2*5q0C({!$^ZZW diff --git a/test/subset/data/expected/layout.gpos/gpos1_2_font.notdef-outline-retain-gids.42,44.otf b/test/subset/data/expected/layout.gpos/gpos1_2_font.layout-test-retain-gids.42,44.otf similarity index 100% rename from test/subset/data/expected/layout.gpos/gpos1_2_font.notdef-outline-retain-gids.42,44.otf rename to test/subset/data/expected/layout.gpos/gpos1_2_font.layout-test-retain-gids.42,44.otf diff --git a/test/subset/data/expected/layout.gpos/gpos1_2_font.notdef-outline-retain-gids.43,46.otf b/test/subset/data/expected/layout.gpos/gpos1_2_font.layout-test-retain-gids.43,46.otf similarity index 74% rename from test/subset/data/expected/layout.gpos/gpos1_2_font.notdef-outline-retain-gids.43,46.otf rename to test/subset/data/expected/layout.gpos/gpos1_2_font.layout-test-retain-gids.43,46.otf index bb610312a52d3cfb8759273ea19e5cf96b7adcf6..148c9ca3109a62dab619a753ad642a615e2f6e61 100644 GIT binary patch delta 225 zcmcb@KSf}Ic;X%g29|L50RP|zI?rx0Ffe8?FfjP|2kRT|=J5~KH_AB|x|xB2u>{CZNX|_xV0g+X z2;|!U`4$i+aWhWEQv*jfr0C`dw_rNeWvFP3=E703=9lFp1x5|Pv`|8A1KCo-j z07V%7|7QTnFqWhimjK0pEHGw)(i{v-417Q~^M8wfSN;`%SPYH~&J1pwZ5TUv0RtvC AVE_OC delta 182 zcmeB>J0d$lEQ$FA0|VD>_W=K322lns1_p*LK+NMGtZ$Ul6MBJxfzbxYPe{&9Ea1Gt z^^Spo=?jqmDI+y8Wyf2&a-cj5kZ+a&6cG5rRu5!90AiJl+>#215~~?N^%@f^H8Ew!Te)%|-vr1v%K!=pd||5xvhPgH&{JcQ0J6FY@{3FU&u1_KviAV7 z0s}(;0|PSy1M3||9T1#&qJgFM&)pr9eHeAUK?ZX%$T8>uosd|P$H2kB0u*8R{~v56 nV@Yap2~Z5;07jr3NIfG^go%L%NHhJn_;&?FgYf1G#u8=#klry6 delta 159 zcmZ3(^@ekTcwh#0XNX|_xUaQelama&xr8`kkwU?UtIEkK7$dEeFBIT r7#IQ=7?>FtSnn|EfFJ`SP?QS{87A&&V6iJ$D>m7IQFrrB#$sjwe_|v8 diff --git a/test/subset/data/expected/layout.gpos/gpos1_2_font.notdef-outline.41,46.otf b/test/subset/data/expected/layout.gpos/gpos1_2_font.layout-test.41,46.otf similarity index 67% rename from test/subset/data/expected/layout.gpos/gpos1_2_font.notdef-outline.41,46.otf rename to test/subset/data/expected/layout.gpos/gpos1_2_font.layout-test.41,46.otf index 6f1a6287b7b223f606433ed0c834e481f6ae1f4f..78e4ab84bca2ece8fd0d2cae4f22eb9b22f921fd 100644 GIT binary patch delta 223 zcmaFEwT63wc;FHS24)WT0RP|ze$S>dFfisYFfjP|2kRTH8Ew!Te)%|-vr1v%K!=pd||5xvhPgH&{JcQ0J6FY@{3FU&u1_KviAV7 z0s}(;&@u)F);o+kAUN?v1IrIH0iMY|jJn<+gSi;w7<7P6NG!=?;9y_@iZJ~D54MuA mB(=B%Cco)IX*#J~fjnf_b+D*(|Tyt#t$3o`&hVlIyW delta 159 zcmZ3({f29Tcwh#0XNX|_xV2EX? z1oC-+e3OjS#FQOx<;sD42O!@p11KQyg{>aQelama&xr8`kkwU?UtIEkK7$dEeFBIT r7#IS8mN77}-eJ@MK?X*kC>IzqOx)AJvSa1FMUx#EbvN&1{LBmhOpYae diff --git a/test/subset/data/expected/layout.gpos/gpos1_2_font.notdef-outline.41.otf b/test/subset/data/expected/layout.gpos/gpos1_2_font.layout-test.41.otf similarity index 59% rename from test/subset/data/expected/layout.gpos/gpos1_2_font.notdef-outline.41.otf rename to test/subset/data/expected/layout.gpos/gpos1_2_font.layout-test.41.otf index 58785e364788668b0a8e86072f8ea45456e2b785..8a17ae6f82be4197cebe65c61479117d480802be 100644 GIT binary patch delta 215 zcmZqR+`~CRJa7gB1Cxq-fPe5q(dQuy42&rZ3=D4m!TLryXF}Hj`D=jugyh`B0tOz2 z5+EPQWzfk;O-$MGR<0b#*8%d)GJpaCU)bt_>^l=P^i-I5fUK^9{Nj@T^BIhQ>^(rN zzuyard^;K8(8FAcMIWq?!I*`Bwm?wfPXN9C<7M*1H&F5=J5~KH_AB|x|xB2u>#0XNX|_xV2Ea@ z1@d`-e3OjS#FQOx<;sD42O!@p11KQyg{>aQelama&xr8`kkwU?UtIEkK7$dEeFBIT r7#IQ=7?>FtSnn|EfFJ`SP?QS{87A&&VB!9F{NQ8i+aWhWEQv*jfr0C`dw_rNeWvFP3=E703=9lFp1x5|Pv`|8A1KCo-j z07V%7|7QTnFqWhimjK0pEHGw)(i{v-417Q~^M8wfSN;`%SPYH~&J1pwZ5TUv0RtvC AVE_OC delta 182 zcmeB>J0d$lEQ$FA0|VD>_W=K322lns1_p*LK+NMGtZ$Ul6MBJxfzbxYPe{&9Ea1Gt z^^Spo=?jqmDI+y8Wyf2&a-cj5kZ+a&6cG5rRu5!90AiJl+>#215~~?N^%@f^$uMaE zMY{^}i%b5`XD|Y?w*avM1494ek{_Pq!=d)Fct!x)4j`Woh?#&`1T4bHpa^6u|F`%*XLAGN4;BDK C*)r4s delta 183 zcmX@W`-5kKcp?h}19P!^fPXN9C<7M*1H%>|=J5~KH_BNPI*EaSu>r_WNX|_xU^vI{ z2*|eq@|`kL6H|6-?q3e%1NAeQWdH>PzOXF;vL67kN=9x;g?ItW1_lPEoQV~3W{e=w zu7dpHlK=A=jDYL|K&-&P5Wv8o24pb;F&7vD9Rp+o!T&i7Mw1URiB7z#&2mTmjp$?+ M#=^}f8Nagt07khh4gdfE diff --git a/test/subset/data/expected/layout.gpos2/gpos2_1_font7.notdef-outline-retain-gids.21,23.otf b/test/subset/data/expected/layout.gpos2/gpos2_1_font7.layout-test-retain-gids.21,23.otf similarity index 70% rename from test/subset/data/expected/layout.gpos2/gpos2_1_font7.notdef-outline-retain-gids.21,23.otf rename to test/subset/data/expected/layout.gpos2/gpos2_1_font7.layout-test-retain-gids.21,23.otf index 60f432ce4d7e12396ae7b10f041ea5c0acbcd99a..3c6c260ce299a2b8bc1cc3c9edbad717d96c9d76 100644 GIT binary patch delta 238 zcmeyveS~L%SQ4`Z0|PUUdw_rNgKy7s85kHd7#J9W{Dbw4a@K@S0P^<$`3cFni3JR` z46A^A10dfbBQ-H)r{@0UK=uzHHp>7C2z+5%1Y}Hhek`vv8dpsgU`!2W1d4Mp$T8?JFy5D+smC<3wae~bTf7#KE}Fm|v2 E0HMP(OaK4? delta 184 zcmX@Y^M`waSQ66*1_ovx_W=K322lns1_p*LK+NMGtZ$UFCUgP=17iu0pOBoJSin%r zunNex0rD*}QWH~lYVKbSiJ4bGUSQ3i^0|VD>_W=LkyE~rPF)%PrU|?WK@ekHF%IOKc0OT70`3cFni3OZj zxZW`^F#7=cpE6PtQ+8_ZUk+sd0AjNYpn$*^wt67@3J|MgD2F9Gkk~{_u z1{Rm36F(-$EBQ$}iH%1+Jw%YpJNK)zW9P(a`dTRo8d0EksGa!V>4N~~r8)oVAo diff --git a/test/subset/data/expected/layout.gpos2/gpos2_1_font7.notdef-outline.21,23,25.otf b/test/subset/data/expected/layout.gpos2/gpos2_1_font7.layout-test.21,23,25.otf similarity index 62% rename from test/subset/data/expected/layout.gpos2/gpos2_1_font7.notdef-outline.21,23,25.otf rename to test/subset/data/expected/layout.gpos2/gpos2_1_font7.layout-test.21,23,25.otf index 67bb640f73dfd0a31cfa7ac543ad62f5d77a1781..e1f580b2a9b134beb6014f6aefb34c847663cb12 100644 GIT binary patch delta 233 zcmZ3$^@3}Hc;F5O2Br<}0sg@c{GVTEU|_6ZU|@z^D rz`zi|z`(-5zH8EwU=KkeCz6p?TmH`wH_`+5XWZ#*Xp{K^A0AzI)m5cN5S)0TfhF|yi;a_g7S#MxY!Mn9Tu{#0XNX|_xU@&Kh z0rGi(e3OjS#FU+y`Agik&zqsW8diJ4bGUSQ3i^0|VD>_W=LkyE~rPF)%PrU|?WK@ekHF%IOKc0OT70`3cFni3OZj zxZW`^F#7=cpE6PtQ+8_ZUk+sd0AjNYpn$*^wt67@3J|MgD2F9Gkk~{_u z1{Rm36F(-$EBQ$}iH%1+Jw%YpJNK)zW9P(a`dTRo8d0EksGa!V>4N~~r8)oVAo diff --git a/test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test-retain-gids.21,23,25.otf b/test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test-retain-gids.21,23,25.otf new file mode 100644 index 0000000000000000000000000000000000000000..2c67f99fa6179ddf654e049ac2da9b653d94afd3 GIT binary patch literal 1780 zcmc&zX;4#F6h1c_FN?Slw1D^kp*k>{_X0txqoTOiVnti64w^!|h=jx>D6xcEWl2b) zND&d#g2v7`qBwPFE1kAhM$t}}sa@>UVVM4C^+!9_p(grt=y{Ji#s2Bf-aF^q@B7Yo z-`$e@)vNPC1G_*D?1Dv$SlzKtJ_L~O!f-BLnO`t)8`jodx z26QTC0V>b5G)X}<_Hx0sjiYD(2}F5YbX29D-6f7cok+h6u|sAptR_JUqz(-|gOH$CbTChK9A)ZW(g;e>kwG#DkARm(K#T~>8kJn7)XHQE zX*Q;(EjMreLYRjur4FA@%mZ`DkhrS47g;WLaYev4O@s^}WoB17t}T8E&?Q!g%i?rN z`;i#d#NEsAE;X1ZN*)&GBSszXSPX(#JRgxlWHFL28RDecu!o>$I7EloRPd5`TM9Mm zagh8smO(VmAJ*j~bj1j)M2C3q;#`%azXBF;fD^WW4a$Lo>0p3Ws8OhZGB9I}f*os4 zJjq5WHcL(yWC2LO1ZhkEUwXQSks|?x0tg|h;tH$PEuv)!g0(Xu+Q%w&bp{c0A~hAbqcCSS064`A|u(O6QDo@?c>BeYb-oZNZ!)rEAn41So7+- z^@ZkQT57dBx4Wy}++FMS@7>>guerKzW?QQ{G7VOv-0b-bDFq%Fm>H4mBF6k)uZZ zq>&mksWFQhP1Kl;rz5^8kcQV5#i%t}-Kgl%W5$jfAES?*F!8y#_=HJ`li8%?lqsoc z=@}fKouWz6ME_S~H7uG~O_G$8HPMdH!_<&a9}4HSeijm1LaK0g=<$`%&Cs$?)W2)Y zKQ;9!&4BilPB+k~8-?$n?v0VM9v^2sC}j9YXeE=0i@1M{+|sx1Z*4lX?{a(i#X$25 zfogBH*R#7&7~?VTVSK(oL%c7_TGd!|rv6&p_4-Sj`sWEC#O3Umw=?Y*v!`NDjr+j% zpfBhP_zt|);yn;#g29GBe0xnB_AXDC=S3eIx_g@Y6H~!G^(br6<+uzf2;pojx z7tJ56_)0K3=APJb@%<~cU)($NN8SB~vrYaBB`pF82(m^2b}|hCzdsP?=qlWH#KJ_< zpJeH^zegVEZydT_^|_DfJQfIcPIi`7S}H6iVcHyFTBVS?Z}Y|agQt&%bG{3w_J@;C v_lEkebax#0oZRYTYB#*LXMKELa7o+3okgDZwddbvBBm!Z^xBBmuh+s~G^faU literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test-retain-gids.21,23.otf b/test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test-retain-gids.21,23.otf new file mode 100644 index 0000000000000000000000000000000000000000..267bec48632382c94afb2316d2dba70a01331db5 GIT binary patch literal 1656 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 literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test.21,23,25.otf b/test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test.21,23,25.otf new file mode 100644 index 0000000000000000000000000000000000000000..693e784bf58253ed2371b9ebc9eb9f25e839c79a GIT binary patch literal 1436 zcmZ8edrXs86hF5wzCJ|Us9AvF2aH7mQ3eC!MidnBF&zfn!X807_-I8+Yg>de%A6GX zmW~1PPzSF5vB)bEnE|tGLKIyVml-#f5!S!9nQY5um@R&q?%Z|@xO;QX{hi=5HpcYRSFOZDLL{^A~BXlOLiv+7Z0g%ojF-Ld7 zkoaXl=7~YV46?WGs?Q%@oA);m@d8yer;eYX>yH=G@4@=eDN&Z-5{5z$P&PaWM)W)d z)|H7XgOg^HAO%uGp%oPJhkgnzuDV+woh4ongMuuPC3px~;S~@g!VbtJLWx)|5YSFO zQE@@xj$M$CH>5`1MZJGJ3DMi6vltcNjO>v?B4hxmRhjCrE_xE6ik?PHoY90_L`N`3 zs}^7nW$2#?YgpKU7D2fg1k|8e4M>MpX|4n)({wusnyCjk#9|y_*VgW?s z{s=Ez#fw&9F)C=k>0U{ge;qh5fDw*>4(i|q*o0j#K~4?zPzx%|sX>o9BfjKt*s8-y z6XejRibOyNkyO=dwPuR;C6IR^f!Ig_u?x_I3B)Sm*C~XFgV5n}MZ6;FS%A@{HAB4Q z;q~R+VvOL*+5{-2VE!rUudV|zA%%PQ7nkhR>CJ{CYK@8ASeeFVWoBlv1y#CtIJVSm zG;vxZySJ`VXVB{mDic?=i7lwDWlN~s$d+(M&Tt&baCz$NY;|^yI(rM&O&kIcVcqf= zWr{3C7R}07>XN8SmPH$U%c(xz<_i?|Ui0xiK1pEA_h`m<$G6WH_5U2Rl9OJP`Q;ZC z3cpve1|K1vjSYJxzU*lb(ZB8`8;FURe+kYjdq3#y?Cbb)Ah6%v^^&{A-eR|$Eazh^ zs#eC~a6982QQBs2<*4mO`%T+a#bQ1WeB9QC{HEuBR$1y>t>*6I9*4)_c67hrWAFAb z9*@%25LSn`_6UUv*`VP@ai{=Z_G8_bNSqzib>U#1Go8X!}bdelb_AB zef?+OU+wpuR}N&CQGrer);VsDo*H`_0z3 d;tM@{`gb)|S_aA{K4gNqk2fpjLAy&S{|AF-nV|px literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test.21,23.otf b/test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test.21,23.otf new file mode 100644 index 0000000000000000000000000000000000000000..2c0626a85b0078b7a5f1044afa59b3e0aa94dc0e GIT binary patch literal 1328 zcmZ8feQZ-z6hHU1eSQ643|WaOb-qlqKaa>PBQBVZ^8`FcZHbiO#sp{-yGViIV9y9;TlAp2Fh2Ip_X<=l;&S z=iK}3O-**t!VypazoovO2ivR-fGMEax9+w#7UI8V0mv5s5VtozY4zk^rrd+P)#-Hv z;2C%gIZ{~f794F8l@;B{*CT)0je*iR_ASISXlvZw@If`lG$S5I5(85-14dNO z%Y`nH(839Rhpu{1LM5&&t^^pUfX9kOI<7lk=Cb~L}tS&=V+lEs_}swVIOeV2@X_A6^DgT7-O=I;2y1u!MoF< ze^}D+uo*GN@lL7Hdw5_Jl}S1?7^S$ZA&CE*a<44BL~m88!MG93|6&G8Fkg-YPw-ZY#md{-{I3gqV^=6FctiX)pVJ=< z_=AqH(6)}Zc|3drm52BSAtVG3U{I>gRa4`tp*52P{*zd>eYef)^&vw=xdi-Zcq~ln$tN%bIkx8Tz{cjJ%`!if7lT5E3jt=3>NAi);=$)>a z+Y>*0JiFt!7sg`gcqW!P-8A=Z_LL9R*O{kUzI}DR{pN(o^>v;I#XGvivSzoaKQ1J9_3Zz^H`4AOZvU|P zyVQ-$Z1(%J*S_I$W2uROOYhxkz3jNM>ua$lxanNy<&Ul(|MK@!fAri*Ug%9-au0|k iEizdV4spqJDwQ?{^DX<&2;4%|-y00Ng?P%KgMR=uHDkyC literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline.2E,23.otf b/test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test.2E,23.otf similarity index 100% rename from test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline.2E,23.otf rename to test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test.2E,23.otf diff --git a/test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline.41,42,43.otf b/test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test.41,42,43.otf similarity index 100% rename from test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline.41,42,43.otf rename to test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test.41,42,43.otf diff --git a/test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test.retain-all-codepoint.otf b/test/subset/data/expected/layout.gpos2/gpos2_2_font5.layout-test.retain-all-codepoint.otf new file mode 100644 index 0000000000000000000000000000000000000000..b9c03f00b09214d6358f680f134ce3c27c08e671 GIT binary patch literal 3904 zcmds%iFZ^*7Kd+T<7JVc(x?QX(@7`YEYkae2!u@p5hd(VNSmdy?+MvDK+>IF(w%fx zl5_$I1kXqUVIUyOfWsoIj3|!6kwM1eIw}Vl^d-J1C%HE&tnf4t_cvS1B z@;QW4U+`gGe0&1WVK)3BgghV*;8#$MyaC5J!sVa<-vIw$A0I!A{lmY;ES$dx=AkcP zbZ^YwnM)o$dc<~%vlwinOb|?l=|D0}1zErW`z63A_G_ddDZc=Hqj3b+*uH!)4?$?3 z9*Ggdd>o@6^TRs9aX3Wan{_rDj}|}z6GvvFF$7~qJBwgX0K9_VP5c7UKM|ux$38F? z`O&fO@BDth8~bAf%Nb(>M*M3a3GyHxQXw0%Knc%*0#>4rLLp>;3D+p(;95R@$)=H> zJQ7&|S^!qX|Bp73SHd!bqY$j#*ZB6s#^wo334nrN7Jbb6V5}diEda(~)dR80!N@&^ zH3)@q@HjjHPhze`Fae&z>OX_I4ueVXEb31-tSRD9oc!Eva9)~0! zOw&T#+A`eM3fxjGZf7lSB@Q=X!s~)U8f2ol@}USypd7Y9C0M}@HBbxn&;;9|9Xg>4 zcEelnHeN*ia1ai|Q8)po;53|r3vd~(!Zo-KpTJGH1)swg@D+Ru-@{$_2_68Cm%u|j zSH2{G1dcsxeZnf@+mitD;&p)#8SI)}WN)@vch48>s*#Q~^~eA2&3hbUL6LWz!1>P%_8iU6jiu z_!~;)2K)nM@(uie68QxLl!reFLTQXA&!8+Khzup6B6^fV3|Wj)c$KV18EhhnB$Z^5 zd{Ruzq!Q1Ei`0`A;w4>V57|rl$pASPX+7Wn{w^K!M*PLu6H~~Y)33#tmiY; zNAp{=T-gmUZ7&gF7rYjdf*>b2z1i3wH=$5!X37t2*5sUOt@Pe&!khz673XlcoMDbJndP2@{k99$mu$!5 zZ_g7zm}uNQuQcjwlew_UQqo-HcDNlbNAtE8d$XH!yPd8uucaMZpSjPx-*Ug?)^{gv zp1Qs4$2t8rm)&i1cQkmL+PB}hnEuP`LyF_Vm`X(gmy_R_+~2?rP9MI38TfK&jA;Ih z7iKP+n!YhH(Glw|^H|y}pC)V*ynZylFd#Du!4@L~h zMAV(!oKhuBPmdLzO%^7m2ouf-3;1vouXuwG_c!gonyXScMM~4NUKK&eFwcy_;e>>}b-8W5^HfLKCHz*a} z6$RfN{6%!R?Na#_2iLvJ^s+U z@oazBZu8se4$k`ehN`%*h3+Noi%NeJ-=OZ{Osw+ZA%jT0T@r24It#YtHWfA%H5RmP zuCHpeG*z3*GjfYoW*7#9$zP`SRPHW&%k`DpTK(ZM?!v)p-oNTS$L@;m%I>P2CGF*2 zOG9N{Wo@koTm6yGi@vabW!+iYXtr-_+S*v*;JBiiTl;?HjH?dx_NZrEYlQQOhL_44aP?zqahwB*cG-Ic0=t!F>xCw*AZXm7MO zSltom*D-gM+JYVs}bc*AB0@qj727 zQtNVCTIK2l^GgLU9ACXNp|yDZf#PGOM@x^E?cKU>d$0T7^)>uT+a=D~UyaSN%eLFT ztMydr&K;*bUR!HrV|z=@uFYOiN#k tJzeb`&7EBhUEXf{K=q%C51Bcq0~PNu*Oph>ia37t@Cn?vy+#xa{{ed%eUktH literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline-retain-gids.21,23,25.otf b/test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline-retain-gids.21,23,25.otf deleted file mode 100644 index cba4ceed04f2076023ae75699e9728237729bba7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1656 zcmc&zZBSHY6h7~MarZ++WwikD0zx{N?!60(q@$wvonfM-*`OP&FCxpXyNj~Mk|D6) ziUf$D2D&!mh~nf&B~4#4iZy*qPDPW$F#V|UM@>28qF0B`y=qZ^`q}%=Ip=xKdCtD) zz3*(n`t=2%fxRFHcFD43tnT=S?*YgaXwKzp3kpGxRe%dnYU@FB#+^{NwcnEEJsnu0A#jZF9AS*}SW;IvYA!98< z=tfgjn5`C7X7WeaKZHDBw>e#-Zvu}PbHDhyDa#rVU?%v&&dbiaa^okuDMnV6Lp zK_*V40|l5cGPuQR3Zy~$=;%KX64Z(c=5ZdQOx;HsK?yoCOorhe@KOZCh_I|t$yG|N zOeTI&@ua_2UjE{xun12|e|SI94=p64;;HIBWO=y7rGn?gDHUq$Pk_`%SO&2W{|L*+ z z0coWF&pn=DY$Tvi03k$GQfaliMYJl3yb4LgOOl9Bh9*xUbqZmEPM+Ke2ZF(eUKcYJ z;Oy|YEfPl^WF%*N5)_J{W1{HiO@OBe$zQp8O~Lbp8(!SBxyW2X%dB?iE_d~7 zwe`N>{)5ej+K+agcrDQgnS6xO_a}}{9MZCQlo(yIcmh8G*V+0HD*(zi5he8 zcEmp&GVrs-FlvofH!gO3+=Pjf;`NiKJn>{gV$#&)X>3Yr+Vu2{%vl_tlcq`2#QxV} zH7tr)O^W1GHL;G!-SmjyjYRX?K8Xme5mmG&a{o%?Mr2ha=HE5u@0$9wW=MNlryFY2 zjl*|P_r*(IkB>766f*oHw2^7VMchA+4Cvbqwly6-@Nq}<*--N{p&DO}&r@3@#Cgp7 z7{5OhNc6{8s~d~YdapHH_g>yQxJUpYA$RwpJsCflJ(c_F+%3Dp{;)sfZ+X4d*AiyJ z;Xo*{qplryx2M~4w(hq3=B?iEKNwv7%Yq(n$QSm8k2G~Ow;vkl-*IRDdBbHPrq)o* z*qukW^)xXfv+fV*wHNMA)`#%yKtf%(uCXDxeOZ2Lf6>>QqGi{51*UoTey6XpMu^{7 zD(LDhfi(>~&s21k**ePJ-uP|sYIv~myUzE&Vj?}k-qwr9Zfw0|es|56g3+sH43nY350^dP=ceoXy;K2Gm`lrTd)0f67mjgyW~A|=2$fMn`ruAH1$khr2k4!=LyfL9e$?% i<(KwtPRtLlXkWUg*weA`!W+zp>A@VmcElIdYvE602DXL( diff --git a/test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline-retain-gids.21,23.otf b/test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline-retain-gids.21,23.otf deleted file mode 100644 index ebb92496412ac1dcc2bb0a485687af9ca57db548..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1532 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 Y&PJ`hzij+nI-L7(lS&bGc~y#k0lJZjssI20 diff --git a/test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline.21,23.otf b/test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline.21,23.otf deleted file mode 100644 index 4bbe32c55c515fef48ac550c303ae2ba02a5f97b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1204 zcmZ8fZ){Ul6hHU1eSK{oW5~*fQRmwPGBX0T6OBq_l{o@}B^#QVn6cVETIRZzwqq;O ziBQ&muTYn5jtzt*k5AN%$Uwq~QCVPoP>3Wt<1+V2<%5Zm;Wi$op8G~{dT-7-zu!5( zbKki)&#`Nl1B`G8G$3rQsS&_FWd~r~XpSvA9d%&FD!^4V-ch&S)|`7Y3qabDH@bYz z0K5S2Am@=k=M|mq(ely`$5kd}) zZE^ZUwxZ-q?4LlM3iw0e{AsWu9!C=ZP^$sZO_H^A1Hr6O-D(~gZhF{pDq#C8T=mcE@IaAQIf`@rH$R*E536YPAV=xBp#HsEdTcqAw(DZE^X70e{dL z7TxOvdvmi;OXVSmKh5Kqd;A$u^=eVua=d# zJX_uOwXF2Y?Ch}o@S1!_-X`n+U*rC*8O|A}P3L%iI?FG?(G6oosyE|(mV<`DN9rR_ zkyXFWO_=*W>gzgj{HuZ4?NawkQb(dA5k1_X6h@s#xMWgFtxW2D2eYoB_>In+@hgo} zRSGD@FSb=3So4cB+Il1w>Dix2W|C5}=fmDaPln56QqszSSU>JuG#4F;-HS}#9sTi( zsn>shWjHP+GV#pGu7U3Uk0-|8`)lI`>lHay{M@7|tmx-qJ7-EGH0iPjFKsNSpaN5#~R&V8S@3^w@(nm()lK7Bni zmHpw&)!UproF47H_{p8dOU}zXZYh<)O=sIKeSYoeH-DV?v-4i+d{_FSw^t#O!ekXV dz@?;gS}G3a8upzMxw(qJH<(RxiL}`S{{T$GRnPzc diff --git a/test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline.retain-all-codepoint.otf b/test/subset/data/expected/layout.gpos2/gpos2_2_font5.notdef-outline.retain-all-codepoint.otf deleted file mode 100644 index 51ef75e1d02953c5ebb2c4e594adda2a05f0f92b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3780 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 NGKFE<<{ZW+EC8xTH2DAk delta 184 zcmZ3&dx2+ySQ6781_tIp_W=K322lns1_p*LK+NMGtZ$UFIdmEW17i-5pOBoJSilg^ z&k_57sxz*&I3p$Ugz%C+8*>Fic@M z0OT70`4$4m(eFcbBGIC2Q1g9{!FfcG}m{=hv!=wQe zZ7awxF8M#7!3fCS0>lao3;_%bIurN#u_$FpKbtJTm>SOr6z5`)W6)t>%tAL{rvjF*K89)JnFKnxT><2)sl95|dAvlG(g@J)7W@3e$8RHe8 zXj?&kamoMr3`Riq0U%ajUVs!Ag?_7*nGef#O^Yatt~Qj5&!Vc?=v3 zEI<*4|Nj|4GK?ju#U(&7APbCH7?>HDfNTyR<^!^1fT9cxVn7}fgC>JEkUqum2S}ze NOlM%&T*Ao13IHLuGGPD! delta 183 zcmcb>+rT?PJduZifw{yzz(1Hll!1$Zfnf^}^Y{nr8|7>Xox#AsSOVlHB(jKgVQFO@^Rwe zz)f*cPIB1xBsmaAH{~EoQtLOf4qpBK@AviIt9Pv3XxsH!69_!ThDSzGg%E%nA{d*T zn0bl4<^XX)ot&8IiY9Y&x74%L@kL8d`|ks9fNWF0n}(jajBL4i19gu{qxwV5l7A7+ zre&`V+I{IE{y@-UIYB0f3c_6i zb%fZt9c!e$ag?85s2cc$P@dg%t>tXp-5*a6`klB~$+|}a&=7%0>UIic@VR-h=v^vo zBV*GmJt3IMkeHMawd9>>MU&e{109*F4eewF{BRoBS*b)XHd;mrh zsbm@hP>9&HMMX#yBB6ZNx%2Biq5&j$NOxtz#=D>Rx^W zOPmr;H~n#IQt}7m82VG3_{T2zIQZ+7=`2a(Gxn|u$}pj!!5rdt9d(q5H({`9RBBY# aQSIp(Sq>Wrxw=+My0va3`Mm0Q?E3+rQc&6e diff --git a/test/subset/data/expected/layout.gpos3/gpos3_font3.notdef-outline.28,29.otf b/test/subset/data/expected/layout.gpos3/gpos3_font3.layout-test.28,29.otf similarity index 60% rename from test/subset/data/expected/layout.gpos3/gpos3_font3.notdef-outline.28,29.otf rename to test/subset/data/expected/layout.gpos3/gpos3_font3.layout-test.28,29.otf index 3474f06f1fb03919aaffa615a4cb23fffde272cf..1111175aadc40a884e32c9beac2ea93d098aafc8 100644 GIT binary patch delta 243 zcmX@XIfrY4c;Ffa2Bre{0RP}eKVO9~FfgVtFfb(e2kRTm5cN5S)0Tg5~s*A0?Ar7o-j07V%7{|8&i zSdv;?0u+NdfDtIi%)kVc;Q(SjAWMlshCvK03lat4REFt5@&v;#Aeq82ZF2!*1Tz3= Clrand delta 159 zcmbQkb%Jw(cwhtr15<%}fPXN9C<7M*1H&F5=J5~KH_F)@I*oyWu>iaQelama&xjEy!_ZccUtIEkK7$dEeFBIT r7#IQ=7?>FtSnn|EfFJ`SP?QS{87A(jV40YA?!sgXM%~Rv8N-k_57sxz*&I3p$Ug((C+8*>FgP$I z0r@~KgGokeV#-dPz6(IU36O7=0TdAU!d4Gt-&tL>(?*U>3 z28I9z24)5Z);o+kAUN?v1IvHe&cl;^7S#MxY!s0~1h&1Bm&6EF}gRpqvAgiq)zqsW8d+ufPXN9C<7M*1H&F5=J5~KH_F)(I)j0Mu>#0XNX|_xV6bOM z0rGi(e3OjS#FU*neHVay2O!@p11KQyg{>aQelama&xr8`kkwX@UtIEkK7$dEeFBIT r7#IQ=7?>FtSnn|EfFJ`SP?QS{87A&&VCk_FES~JZsJr(jKgVQFO@^Rwe zz)f*cPIB1xBsmaAH{~EoQtLOf4qpBK@AviIt9Pv3XxsH!69_!ThDSzGg%E%nA{d*T zn0bl4<^XX)ot&8IiY9Y&x74%L@kL8d`|ks9fNWF0n}(jajBL4i19gu{qxwV5l7A7+ zre&`V+I{IE{y@-UIYB0f3c_6i zb%fZt9c!e$ag?85s2cc$P@dg%t>tXp-5*a6`klB~$+|}a&=7%0>UIic@VR-h=v^vo zBV*GmJt3IMkeHMawd9>>MU&e{109*F4eewF{BRoB0P3q*pU^e+yc zmJ%LP`$%xokzqTF6|z;V!GRp|)a?;QG&Fsl^G3fQTs?baJJ{Z_>+{uZ*NTaTm*2oL zr-ai@f7}X5{$Ly~fCNwme!`!Z;fiiIk2CGJ;PGtkN YzOIqwu!$*G&uU9I*0m&`)EtikKYx=^*#H0l diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,42,43,44.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,42,43,44.otf new file mode 100644 index 0000000000000000000000000000000000000000..af2af9f1d37030131e0ea9b935f59ec072adbbf8 GIT binary patch literal 2336 zcmd^9eNa@_6+ds6T_4Me7+snw;)2jfVszi0t*@i)KznDo$6f_jDGln=xOkV-?s)5FJKA0ECNBQ{%!h`$~eF zGai%_K(Z3?CCxRAWLUEn5c$R^K#Rh26kLzbU5Vc$oQiFmokeL)NGg#ED-=K>*b*#y z99ZOFcPx1FA3$lYp(ixvzIIUg{%J@32}qyqOk!1Ups5Cxg5ppmPf}6PfS#J7rr-{+ zi7%jz8qzwgTB}J>sglt585zuKKtU7cn}T{cg|ZTcP&(i+ zN)_H#ka$%ZT8ig;@CC|C@Ogq&a)fn+?<<*2N=D2C+4pr7q{8C+y7~b;=>c7X9!lPn zz1jr+LvTV3_+U49F%kx&HNj@Y2-Jcb?8p(QLe2*~>;O*!^`mzcvQ9+oxT_po=%Jjl z1DHfd;3fahL&?G1R9YelyPl%7j#`hWLD8Pepk9Ius-4Q90xDeU45}qbUZ_`R4nbEa zG$-}*mI3^HYW}dSz4PwO(;Bp>I}0+P6cyFbLyGyYg;1=*^KI}fY=DhW0zZIK*b2|X z3s45zu`~`WUIiAd3QJQ54bTWLW9zj-07B3S-4KH#&=1G30Y~5joWwtgGjJ9r;7vFW zzk=VuBwU2c@Bw@XSKt%)6t2N%a1(C9U*T`?C42=_AmNYg9tD(|(o)HkzR+9MP_vu3 z{Kl2#c}CV`VvSaZ_a{zcX@k%2^!SX=R+f8fs=PIJztgeWXmz`dn-zDTakJCstf@mV zktV_rmT-h80uhOsSV%r$OoU+w!xDxg3{Mz=Fd|{hgs~7NpRgvv;vSZ;9ASCF3WOC2 zYbLCPu=#{D5so1o9?21oC!9byk#J_hSqPU;coX3n!n1_O8+pPDgck{KCcK64`9v@g zfgu7*1da$8kU#{H2xcN!h>%Z26A>9AvP9&F$P*Fc6^Upjq6G^?breDoR(>9xtV_|) zPhF6<@S#PE4e8%{_}fdCW-QBGZp_MFk(2wKM^@%N`q-++SFbTKEXNC?*^>Xn+9$ue zZv9i%f0QnPefipW;P3SDYVd?q(8x5p*h(RbqV;kZ^h z6Tf>QekJ}~eBOU^^nbYIQQeJ{QN8{~R6ie^F?n)vLK?6`7lB4;%K*$$TT~CLmW|J( z8^RsoU~oxGq$S#x*`d=Vdy!x6>D>Js>aM=92ZT&fvzj>eH3O72bi0 zv)euiy&Jh6{o~LtKcwSlLgx=p3|`rJ&i>}c-^*Oh`d9a!`^AOU4{rB;)%JDpwVu#~ z>#$6PWmQy$eRMD!3Wb-{jBT$z=A@?|yC)b@rdQ0YG?2)ypSqgmReMV1WxM1hE;;=j zxlqcoOQs)7OQr4&(gMe)dje1NRY%Ew-yzcIZK$puynR_pm$b*|(den>(fe1?@_>BT z@b;vX_wj_R8Z)nxx5}Eaypxq*cYP6S=?nJ7=;>VfZ9~eJ)BiMF?t8EC{SJEgXW_{3 za$iNgv(_ofdF$l7dfD2w>s59?$@u5% zr^bdmCVB?j2RmQsp+}`{hDcdcS;a2TZt?x*@q-txN*N#ddjq|#J*^RUmpkI2rP8}m LtVbYZNCEgaKDS*T literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,42,43,45.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,42,43,45.otf new file mode 100644 index 0000000000000000000000000000000000000000..9a74dd1b4d9fea8f0c6d27f65b54341180eea874 GIT binary patch literal 2332 zcmd^9dr(y86+d^^T`$WDnz$rU)CDD#hU(sX_uggWD+prLTC9lC+G@72o)uUgy9+J| ztyN%OJeEjMSiuFiwu%;O)SB8c(@2f6ahi#3I_Wrxlj$Qf>12|WcEPJd&t1$k>A(H6 z-<@;5bAIQX@B7YUw`kk8BGAD>P=hhQu+VrX`w0M;L8N(V{g$HQKmYXO+W^d41T+;D zFXt=YD!D*CW1 z)Z7J7eMB)&I&Iz>DBMCOI7_6hvN`SSsf-G;KTmqJrrPb9IsrV%7m17j?D?>6YKru{M?0lRHeCW)t5`vmG{%HM1A1nh z8HfA8Cw3s2B+6Q+RckfLDwR_Hue>;~VC_11PC0oxFNNP*!%QjnC5@4mN8fae4i-WV zHOS_v0yfb|ATQ-K#$$JT2%Gj}$TocsOV*VX#lX{)lZr@7vKP(}FN0p^ z3*4{|s-X%vSVrhp!Vv195^Q8cs3Dsh%&-TX3DiU0HDt9DVxy>1aFB;`${yenlR%gJ zKQE;QUyxD17ygS)J3_phz3jnFEl{_?UFYuOd>XGc7aZIePWND0GEF(_BAu z0l?43XAQ~P`!^=nYe-|JQq!TB1l3O-Q@DB#tXI(}6u<`91e>7iVH2q18!UeblSKumKgI~iK zyg`F_8{URH@GiUuci{v05dK1=`7wL~pTRi9=|}dE0Y=SenIuNfq~=%GG`RMm!(&`p znr-AwCf=A=R{eduvADtQu{+(y4OOMpu9|9>&0{ZHX3VRsG;USg-NvnUx7}4wV4_gS zA&&x@QA7zXn2T2AOvrJ_@yH3tnUNEblaR9@my4Vgc@y#!!y_*sZ$@53UP9i2d@k}< z6ig^^DA17t3T6~U6eJWZDCDAGMY9Rb9GZDF(~V{{i)fb6Y(aA_nyo0BP~=eLQ4~<5 z2Z<<3C|Xd=MbV0q2_+6C9wh-KGfMPc2_*|kxhPqwX-uF13aR}w*(6=EepX8A>^YA; zKG%@;#FJ0Wo1ea5;UZ&3=Hew;Pk(J`_Sc`u`Np#4CXN@(qGZXnKD%P&s?}?r%UhdY zu&!{^mXhtemgtt~QvTPKp)=}IGISXV%cSEnbc=NptL9vsOf$3x z+JnJ)Egdc4wuSwL1(`Q@zq2!5{>D|A?b+Yy_SgMDp1Z>#>s#%?&26>ks)ov|Bjp!% zyc@dF@qYM^(O_h0_S_14>;_I=j&dGP#8p-YZl znQ50*VHq0PV0$RkKF@V_ckO_kop|P9eZDP9F}t`isc1+<#`S{?R7an zo?(ldz89Y#@7@$oEqkxR|7>4v7@OTc!lvqm+Sj2i`dd#+U$C!-oyd}3GbDd9@h`)zzBikG8(@cq+dGC9 zxy!xwI=duiua>jDa$eWo%f6%M2IJO0#IxRyXPz62-Ml^;J=uJ^BEYtO_dADo%`fP9 zzJFa~X>(-9#Ut#5^l&-lk~*1c*csUsd!buiHC!Pdxtnu)&4I4J2iWeO&aSRS(db|# za{S1~u8pmmedUKrN}D%$R{gT%MCmc_&hy?^8?Q88IdJCSxuYW;|L6|IxBA{>gQIQq z1%`bm{lmwuHJ%u}7LNFi9XitA8yempVe>79j(uH@u*2{59cXRw*46E=uWxQ|4mGuJ z|INM|10RH={l{M(h`tn!4EZm%{oMOXGaC#9g26y@XVW2HJsU51aFyQe4;hl_|MB0{ CGg=`4 literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,43.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,42,43.otf similarity index 53% rename from test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,43.otf rename to test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,42,43.otf index 7aac0d9925c5d633e269c47972d4ac83e4bc0351..2c72badc0800e3c6348a6a6d99f6208eeb3c9f3b 100644 GIT binary patch delta 561 zcmYjMJ4ho@6g}_Fhin)$#j4$sh;CzKv!mE(qwxcRCg87(g9&8UOdQMz>D*#1U08~`aMgDcMCoO{l__uaYguz5eRnwy@^A&zg*kj##b zCg&Pgoq%=&=o4f4+|=F1;~5~%0eHEoPj=Rjp}r(K%C29x?zQiLq!*U!)O$P(=UKxpVOAZt6x&WMvZ0rL%Ui1X;U;YA z10o5qclhV=$lwsI;Ld{4f{u@jI*;<%FeDE~ESRIl5VDM_O02i9Ed~kE(pIQ%qc!}Y z+p@um21(`@_`+FLy>Wa%8lvL(Rm7r6;M8b}U#j`c{hz7+t#pjAc}s93i}Ng))OGBT zi}+2J(Kc#^s$AfKETZj9OsW^@@8~lFXn!#hO?dyJHDq4%`WtPqLp?xUHjxREvb(Dn z1-Mv21wOvOV=OV_po#^Qv4myR=sz3RA{{s~3<{bdDZgs7;#cETdlWK16YLq|dMciZ JH~t!@;u$UAVxs^6 delta 461 zcmYjMze_?<7(MsB=Yu5DC>_HhHzN|V2A9x`eyP!~CD2D2LjHo@&=BMh?e-dj{(%O; zhT5vxv6iqX+M0rjXsFk@V&MHaeCK@Ue3yG`?hDs`Vr3-(Cn`|ki^O8S>7xb!H4kXB zGs(mZt*f#Zlmr0$~nphcO%*$+CZfjliyclY81wH6*bG2ixb#Mn0^67F{hu5koBYh#H uu!RzeFfj%=nj*jteOYfxms1KZaA-ZMYob~o*ItFPuw)JDbM=ybE&c$z{Z+OA diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,42.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,42.otf similarity index 100% rename from test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,42.otf rename to test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,42.otf diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,43,44,45,46.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,43,44,45,46.otf similarity index 51% rename from test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,43,44,45,46.otf rename to test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,43,44,45,46.otf index 3a4ce942de25f88b442f914e24b49b0f3827c929..9c0853bab6deb2a129bca72dd2911dd6cb3bdd7e 100644 GIT binary patch delta 297 zcmZn=X%U?umc$~#z`&N{9^fDRtnO_t0|Vm)1_p)+{=xc2IcGvQ1Nj9&enN6?VgX|o zV{aMsStj{vVnntnPFmuoD5R} zP;@~-esRhF`3y!t_7)&kU|D2F9Gkk~{_u z1{R&_A5a$)g9-x=kj=xu1|;(s768cx;I{b|qZ$VQDp@*C delta 184 zcmZn>Z4j9tmc%@Tfq^Z@J-|PhL6m`ufq`KQ5cBv4>l@{q3Ej-Vz*qz1CnV=47BFTp zh64FEK)zi@YGTUHM|svjJ`0d=HZU+S)l96AGh@61 z6kSk|UtIEkK7$dEeE^6R7#IQ=7~Fv@Mj++_Lk0$BAR7q&&tWi{EXXW6@v1gU(`SY! OlUW$gZcb!U<^TW`7b)Wa diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,43,44.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,43,44.otf new file mode 100644 index 0000000000000000000000000000000000000000..5f5797519744ce056cf2871cdae7c91731f39849 GIT binary patch literal 2328 zcmd^9dr(tn7C$#3@e<;*hISEYKxk!aHTRjIT@?w`M=h;rYuBxsh44j82#|na@kMxq zgg}5)1r(vA&RB5my5P3s&UUM8wYHr;>~^QSj&+>6?M!DnZHL_pUMxK~*s0xr_s{(@ z=k+`1JKy)6b8hlCZ_WoD90WBObMo?x>ke#r7C=1-phCrZ!z1(596}^75bOq|;NTLIQIb+%jsDF%>kvDRjXQlD5?5vePG1ccXtT+I?kik9X<>u&56s838ah7d15!uBl@& z-?VWrrvTzd5xA_mMlFGU%?d!|XUiHx5bZhSE8a2tv3~=lxu!(aX1sb(k^k6HeG(F< zTH{#NAJ9~TNPaBrqIrYoS4KXqE9=GfEA@Gev}G>2K3Yz zH3qkVjY&WqHFWE=YON+grHaGYpWQgyx+WJ^D<@39OW`+GQB%q}@uO&E<8OM84pLwV zHpu2J1sZRL3!{{5l-KU@A~qdIp>O&e8okSLmkQGHO%#$Ac`5WEFM`9!Da@|Ce-3Io zq_^P<2lR5+WKVb1xTivsAS5oLQ*GF^>OlCy*i~2+JeDpuAi|G z;CEv)`(^Fzw62HUYc zMcBX+Y+M<(rwVGI77joiG=Lw1&ndKrVKE1|6?U(9fJTd(PZ> z_susX-v7Wak`^Q{OnK0lnzkrC57euoqYx#=DezkJd>g+W+ z*4(@ePdxohx-MNe>wjITIwK}Y)uri>Ez-@Zh)!fg<))})J$fN3AC79JGttS5(W}w* z(HZ~kqkrAXxw_OyEZmHXxSTOG2#!5-MySbn;+zr@{Ba(3${!M8%! z!+-Dl(+70)Oz`~Sk>0C2&)Htv_`b|lta^FRxj$ZPc<-C8ZyUc0yxI{QaU7PZ7FiXR zVJ{tM2?kq|Du%X~AGg!vkK7Rq3FC_<78^*Y_(g|LUb4GDURW$AIpo9(a*mX0lT6P` z3#9f9((Iy7cl(!jm50eb&mmIlt|>3?{pO04C~1$=gW*?vgLjXj3X~Noo2fKrIt|tgPxLVd!=2J zGgr!))pB-Q@wuiWr+cNWzeyR_rL@zd(aRUl^bPDgwY!;a_|30<+ZI?uYrAvz7VhiW zI^0Q*i+7e85~Ps{i-9|m_Hexr@E$6UR7R>gy+`-7`#S3*jka26dDSMTWmr!6d{?w? z;DwVdw?Yk#AHGgsI@>5|e1B~o*xz5*?>kY`UE5RNQP)=2+8V}R`?=4mZu)OEoY>pB z&wnU#uycP4eP9v{q2^GaHE^WqXdvQyx#p<7-93=L^HEvfv#5KGWc=s#SBCnVM>=|& zdRvcm(1X%eLugywwvuAkF7X}T@WG28OUWO4JN=yv9StF8n=|C1rGm*Y_QM}EBmn#X DV;@}} literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,43,45.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,43,45.otf new file mode 100644 index 0000000000000000000000000000000000000000..3dcc084f604b93d7e2290e293a99f52928a93678 GIT binary patch literal 2328 zcmd^AeNaPYlfYcd_7Hieob;nLCwbor{J9W1^ZJpNX&hB=0cRICYH_)fUo)_$_?!Wuz z-Z%H$^ZT81&$;)W6DZicxd2qK59FZD$` zP_%-t_-*ki!Y;xumQ-5oOcnDIVIASMHmjxd?XRjlg5xxmRhCLCdo;D2>`xL7+pC?f=_A0CewwBhfPC{wlhdRz zeK=;D0e4FVAYRIPS#h1ogdxRBAm*NtA7h9eX-*#5nfUlWfl*wSJQ~wa?vvKfcDj#3 z(sXAWFME@q9Apw38w?>So|>LXpp~UhvSvdLQ{K$|Bza>EGc9F}A19Pe-^?BrEP_m6 zDlD!l$}L3#@{*!4F00cOJ5LOeZ6*&(RvwZ_rqJCOVi_ofUXlz&m2Nnfri#!N_?qNp z_zOvybZg?Ne(<#PGI8<5>LBfoE`vER|Bf!di;ufYSCEJF#?oG8jDHTS-~cD=hH9t+ z4we&JNE|{fRDgwS2zIhL!2mm)ed{L!{V}*F4tyPRA>t&cc-?{>a;rQh>SfHa>%0|4QNCGO_+sd zN(U?NImKe zs5hcsK)ng|S*SOoL5Bto4LlksqX7*@Gze%gp&<(mW;E*1$f1!(qaKZPAR`(DG@8(u zg+?<9Iutk*cog&~7*L?|3MiOR$U?zPMPq!qkWb~G#m1`=)U)R#&YgGP{qr?R4?Osj z8<^_IDe~6RJU6Fo7!qlR1K9?hssWE{UmUyHpa>1DzdaCW zPj(#NQ8Qp=Cm+3S)FezUnOdg7j$NLX zQE@!uSk-r3f9+}M^Y`_zlj-6+nuKpA|E0Oo_hI92eC*J0d&kgXXPMhtYZb(d)nbNQ z%LhCL(R;X@Z1jtpK1 zhCGLw5A^p2hWCWn9FwMFcb6?_^SV8ITU*?D=CcCV~D%{2Q>KSR?=d literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,43.otf similarity index 53% rename from test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,42,43.otf rename to test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41,43.otf index 71a93e585ed17be3140cf10e87e89fb89f85b01b..ada1a5471e076923fea81e5c17de1baf9a8e4dad 100644 GIT binary patch delta 593 zcmYL@K}Zx)7{~wL%)DV8#N8k~Nvx?5q_l1kMO|c9BZ$^m>$;7)GSSXDv=i(hS`VEi zo9NJ`PD0?pST9~grGp0#9XiPd;UTi4t{`;S{%^#3kMDio|M%Yaf8SbiCDkZQO%>o^ z0VdM9iHY?1n_U3r55T&6XR=V-KRnn2WQTCBP`r|@>^@wj_NX7v_-=sj;!tO(Z+K;Q zc74Bki}eZPx<`;|+uN+aF$O(9te<;pz5`D1<{c3>xB=4}ou&b_LPAvC7-EO`-4*Q_Ax}YNbq84bwTI7Qhgb{okc5aG$~CO zn#N10bayu_3^Uuz!uv7gIvwh>to?27n84`zBCny)Ep2H>FQwSf9u6+hLn>}qMS?zD z^oVB*%e9a!o|43hZ-qo~3B5e~IDzJZS-j&Z{8@L}Ja_OjCOPd$a$nDEb&+Lo@wAS9 zNpk3)qR;LiIaor>A+Ow&XAQ`fcX` delta 463 zcmYLEyGjE=6g@LLSu`xfLSrY17%N3wP%JDo5d|UHi1Afv@IgQ~378^CASpyUQG%V| z4_E}&#zqt@EiBYRL=>%TjfEDjXH{^9bMJXvhC4@1$APkyN?Guu0u7htE)X2-W z1kwKIDExCDn)%A_q|V8b><;u}9xKQpivoH9=SnsRDY~i;+O*hr`qZnC$*F2sA6H?2 K*zc_B=i(c$(^tp< diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41.otf similarity index 100% rename from test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41.otf rename to test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.41.otf diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.retain-all-codepoint.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.retain-all-codepoint.otf similarity index 81% rename from test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.retain-all-codepoint.otf rename to test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test-retain-gids.retain-all-codepoint.otf index 56dd49ea127790b435716c4adf021b44aaaaedf2..8dd5444f76bc9b79ea2dcd478cbd09c4de3727d3 100644 GIT binary patch delta 359 zcmXAiJxIe)6ot=Af6(Yq9aOMHhk_tQp+g1j;BPy&P~03EOd&`U1ARlc7IAd26pDjj zadfSV=pf>tRYb&12XU~vD2S6wJc+~o-aY5sd*8OUKejtuJqOgM%<@VaGnfQ$$%3vi`fxs>Gw^`JUlUI9=d5k(~(un+otJIW; znU<`~%h^57d%9!k6$eI+ZM``#dd9cqY?h^afCT#&);Pe}sNZb_W$QQ8PKmgv`qxxw zh(nZgX`=^0&cb#5M95-U()<5aF!NGDN1%WyC`h88jA958sC2h*OjdA2+GvpmnxujS wEc)9qDvei0_)ZKGH~1hscqgyXC9m+t1%V}`If&46!%;38H6`3m1RnbS0KmXWZU6uP delta 194 zcmbOu-y%0byk3KWf$O%ri>n)hIfE7h1H%O%mT?d84`vW$-~zIb05Ok$u)a}FPbg51 zF$2g?NX|_x;Jm{1j)8&M1jzrCk(!vY^HH8PP~HH@H_HGD2z+6y2l9D?c>lx~3Trr-Xg}T>hFk3=Bkc#{w8V!KCBK+MZlK-AqcX)&jh4W^_lSlwWjG|+V z-vt5DT0qZ#2CoVH4!_Dk2sExjoV-p8g%DMtQ0U_9zL{)LkSG7lng8}W zuI1P7b1IKQbf{67N`8b=03`3lK}L)cKCE6wOb`?B2vWlONlB8wN&bv~ zhAQpVjqnPnAZ?}(9>>=cSQ6hEDizL|Jran8WFT~EO9@ce0S?RxS8QR-7WB>J5#j!L zPN8jsrC6mBdnZ8w(GZFM2LkHwjR>fOh-BFKt|F1~nOEUH;u!oKjtIi% zis23ZMuidROM&=VPQpBhn&pBg{K6-=2s8M5tTqKQ(5Hbi z(199b8Zcta3@afA^kJ_BvyB*K(4)p(d7#A%{wq1K9NWj&B?xhTnOG_@cR+~9BA+1_4NgVNJx-6y6=U<-eD$%No6_RPcHex9ExK}!qx=<(W=GjRE-G8g z$?S}4dwuDNl0cE6tLRMjH}1>cJHBsw&woh;Pr1*v4Rznj9aev`{R?h|Y5kFk;g3h` zpFimMt^T3wbc=gP+r|+dj`VS`hjMw`ZcmJ9V0YxyD=YzShbm z7iV&d3b+_87k!D_z{aWBly}*MZ1d~v{QU2V9WQm1`ZP7>1Da|>RcUGWgKKOwD?Uv1 z`;J@tXOE(|E^bP_x-jGSBIaPOyn-erN2)8A-~pf zwfee~3Vh)42A(w+RWfCal1p00B~@~&rh?&ygD1M#7r$l`@38SFMuTG`r+WKpjuks8 z`#W!2cP&iwzSg;MPhL$|_FyYDseHUlE@g+N*2q^JjDOCy%4IoF>M!$`w_4gOnysxi zf4#a|S6ZH-TQkVT{!|#O>)U(ObI)t9zj2nja;BaYSwD65?F-ZetUXno)m^rhx~96u zMjy`R;UCNII_}wf_O#YG4)|+Z_j#!O(;)Xcy{<;r!G?C1-+H8~ooP1oCFH)q$+{MI zzRJ=++&MlFa1OO}H*_~1YN7hsY`J$=-L9eneWCKYb+C5iD^_vC(&}inx7fY9CY@JL Ov6<68d=H0PF8vEe6!cdB literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,42,43,45.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,42,43,45.otf new file mode 100644 index 0000000000000000000000000000000000000000..8c0c211d23dffcf91273274272c24222753228a4 GIT binary patch literal 1600 zcmZ8edrVVj6hHTt)=R0Po8=EgEhr0QM3HHk^EC#(m=43k>DQ8dlp z=yRQBWWBK(UgtXr&%^7nRTQ?xPlzZ3zi^Eh=0FNiWeSrP7@PzbW`#O7u|^Ye;XDds z;d2;_F2^bgUcx(|QAFsQp$~Ntw4tU$!cQ?BMU3bg{EB)Mehx(hp`AqV7Jriwk;tV& z!c(7yX)yDtFL;KJc*YlE27ga{ttiBA1{MrpgksQv78bz*WOI>IK?Rh70%I!BW6TJP zp%647)`Z!5jIzimuu2JP%;0w^gheh#ry zVwKt?OHwAw(o$2?WEn-e_gPt9wb8_CjI#AwrOu$&85AbAXn`!FtW1{6ryFIttdTWT zA{pvWC10YF%T@Apm3%2a7iAZK5POfBE{&Zpo-dvjFP8Bto>vLHnkSxS2uvmhh&8}v zwO@J5Rw%%RuZJg7&CM#id`^~Lf$ron{(^}PJv{mdPGq%8K=-RezG(L13 z+vhx~ZX=Y7&|U&HjKk%0x?&9j+snIHX5!^1OQcZ~^Cpv|D)-L)>b)eTG>^>QNn+I` z<`T)|;uT!#d)zFp`Asgm==)OJYaQiYmBsj>s!ms3UfzBG8W+Qfx|n`%-`@VGM=``l z9!oEbaLG4M5_%wgB`F}nf#jpwhn`pL7Bt;|Fsxgd@Dec~_awT`QGU)q_TUYEOP zuCc_-RoN10n$tC>Yx{N&9_V-f(d^`MtydYxP$Pc!Uh837 zZ~OV0L*3`SK5P4)md-Y3Zg9|A!4!~<&gcMRWHmK9l{JnrHB&SF(U^lh@ak;m?lMK)JLlZr?|07q zIOi6XmKK2qj)4M%-28mur%87K0Cx>7T(GC8JN>U_g8kO#r}Lyh(MPWXC3|3N##%ccOVQveXlRxM>t- z*e)1QZ2?sNGZ-g$4qJ72zJRL|C*!%12zpZ_61ljzFP07d+s_u3Cp>-|i0V3KKttx} zF}D6#?mGoZk>g4O_c2lha7@L)#Z8kis6a>N$Q;}OLv#hih%l^CE7U42$FWYbJN_A_ zyzM*S2{1u!tPbX9w-J02s|=Y5XKarKQXv~ijoIq}o^=ZQ5{aHhyrRd8S}c!5>tmQl zGvF=)4`S^cni{bW&Y-tIH+pW-@P81^z^~|8w-|q#bxj$EJO|PjF$eLGxQG=?bmbDP z!VK0MwpSh1p8*lv;DJNn1P5$@b*L7jW`#Pa0W-#|;KG;(HbObrqpBCPT^JQnG2^ZZ zuwe!}r5rY3iTHzrs4aDNdp$#iDdZ(cA#Egu_&GF13Tal-l{!UgKXe9zF|S*;8sNjZ zA}U`!I^p=UI)LtVW~NxEa5Mv~!@u zcWYPZGc*~R_%w~cTpDxfns~RgkSWnNNzQwFQlj0GS{{+^PDxj#LTTCmWBk9dxIxXV zc2K9A4eOR;5pmOrQLo3!?gu6NV?RVlDcLu+kfaZ_hXR4*=8ooYYwC&oy!4p^SN6$O zpPi$8*OB8Mf8EP8vCKwwEn;AIYwfUOpvu`>^-r0G zFrVH1HGSBuUb+hNs)?0zm*MsA>Zc0Lw3sX4C2SUMMDA_%9p!TH5&p&i; zlU_TYv9MNe?Wlay)Sjo-1B+E7w!DOd!dej2Rv0iu}(D7tgST5M@^lT6K!t|_sNfbD`(!2 w(}$;}nW>Tf_Zv@FxAQH}Ki9N>RbI!FCw3gIXzVQ;dxM`h-dm5g_=9@w-*d)?s{jB1 literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,42.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,42.otf similarity index 100% rename from test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,42.otf rename to test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,42.otf diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,43,44,45,46.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,43,44,45,46.otf similarity index 50% rename from test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,43,44,45,46.otf rename to test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,43,44,45,46.otf index 4142387f414804d5fdf7eae21be95c01eb3afe60..9776758355809f02349319fd3f7208535a3f0539 100644 GIT binary patch delta 297 zcmW+uKS%;`6#kz6JTye3K^o#{xG@NhXt8FYK?QAT^6G>e^b-6HHv}%NfhM%(Bo1!2 zv@|tTIyO6qSb?Ma^_@JvzmNAunQ^w8yN)YB4GZN`Wp%z@1M&@^TdEw}joIadSu@ve znobK>xMNN-pLli0eO>r@<}>C~kHzlB=+G|-%WLW&Rg2%#zw`q0Am-8yTDNT-KEtMe zCk}x!VD#P|RZ!j7{i-~4g#8Xo96=h6_K}2QgD^z25nXRSD!ItNUn2}YQrZt=B;+l(Vd=O0@ZXV@-yG2OW>*>v~IdHjCoobUV2`Et{@ zZA%9cR00oVsq5CsRurxD0Fb`}@OG@3GNZ|BMVs`3VxwO;k*cVQ4;`BgGdZ< zRS*!Y0AybJI85L^oR#4I^Uw;>5VpR^PF@xJB8x~=^_^JdU%q`MtOF3^-46zqth*~0su#+gf7{bP9 zr%QOT9Z>IbMYLqnY=F;3CI?vIv&&=a1&HA6)ELO*oV%}Z`oeS&5JcL>&FLAbdPAux zU!}Il=H(>Hl9Q5>Wr|$=$FwZ7)NG-(X4ytvj^1R@o0JwhcY#cy(a18mbh9jjHq)kJ zB*WKJ$(N|)OI33GlL*2=0w3=!o+gbK#fzrQ5y?0e$EmrZDW>39LXfQuGHK11f^1Vz z$eap}4+QT7Hw7pCKSuo*i|P^$i@PL}VXtH|HW4*ABdn#^*{dKR@dfP=BDRsQk+XZo zqNQ$!+v%KX^VqyKv90UU;)ZtJexE70a-OC9d+N;gqJ8X)EHx{srkz`Aj3;%00)1P- znXK zCEP6OWuc66x?L{!OjGwR<6)W_ee?Mesd#km*gUDqllO_*%FZv$WM}8GGu3SLB{r3r zqhyjkVrDT7?=n+!e=M{wZ!vmR73Kq~a($`M*#6`i6U_(@Q(fK@)~<=8D7K9qm-Y`b ziMM-MvU}+&b~`KRPCTxATL0K@YjL*tsnG4%^l$04maFC09aP{`w{*77!6V^w`sU7Z(KL*FmO5A2VskCgc; z><9dnzI|?L|2RlJ4v(|Wd9b$G>9-y&ZKfOao$JTh}nMpYNaO4mf%n+iTnF z4mDC;OqSHMvubBSo;F{8-P%(*@GTQ_%i^>9svE04ntF{#OEH<_UVIO`ODYEV2agl- ASO5S3 literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,43,45.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,43,45.otf new file mode 100644 index 0000000000000000000000000000000000000000..3d87498fbaf20f476340ba85cc57c6e96f6fc3c7 GIT binary patch literal 1592 zcmZ8edrXs86hGfrT0cq^-7J47YDGyTBZ{43e2)PtOostcoSWE{&z46Yv<1qen^T}~ zS_BcOV8PBrf#CxjPNPPdLpL*{+2$7G$d+u&VixDvKJaR~^R+DM?#(&(_xqi5@44sR ztZmz}Kn(jp0J78#8)TlfcLo9IhX8`ija##Fem?!X9)P+B0EVobCGwK5a?c<)Bj2Oc zDDeM?!gF@}j2zB8O2J z;deooa5bRv(x5^Ls*5f*ugZ^J^EXh!`+P=C{HcBX`a{0?IK%`SBINX0qynIMH8dz> z{CN_*R}!uaPCl9fsgNEFK1abT!OOu*FVvu?!2LHDFUQtNj4lEeJ2!)^nEi8q_sAi+4f-)!p1;$jM$Cwe8 zK|W|gstL387-dmW;4USoF@rxPAC_V}*bhaC3d%H^N*-m#Qq>SkS*cjcMxzO0soDrK zLn4^#2anSk_L3=c06rO;+C@Z9u1{pmSjgeQy;pdDaRvw}DlKDkR(7gRUuh^* zsZFv)$^@A_DM>C%DbT&o%5o}=CRSsVWoVT;gI;G)nAn2FvXqh%SvH?;lx4F<)=-XO z=z6N;<*MWrs^pdUMUCzLh-cuVj1t^c(*`2%@CM~4-jjBOKZIvAT0qA z*B^L#EpRuG8JP0_81p<9*&`l}>XArBy^^WeMC9p}t`}6|d+vb!;0sIU6xb9m3 literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,43.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41,43.otf new file mode 100644 index 0000000000000000000000000000000000000000..fc99dd804c48f6db713c7962704099866de1be81 GIT binary patch literal 1372 zcmZ8feN0J6#qD-(gSecqqObZUsQ7Aqu=`h$YlViEGpSxthsz(0{t5F z4_DaDE_fOm(MK0@ZIapY*$u~5^mEbAvmvp1fqw<@HIxT!c5i*0z?C7ML=o)fdKW16 zBZN^D-eI;&!s*m%Je$=Ixttzv-V6Fl{b&X`R%`jV$ccM8lXQjrr)L|s% zSOpBLw#FJ=k-{1$_#I|-poC1cJX!)Am>@qAK|g9EpGRiyRmZBpy?2vPp77}3KvZl# zXv~;6&g?Jc^`{{zazbh3K0#N3--<0x9VS6gfsQPY1-K2ys0GA`aB2;&;8j|VQ(`(h zKE`foyyrv)2IvPJ#=wq8)oBj~BUE9>G}b z908-5kc8TRcffc87U)GC+w4XN%)zfwKQ;>wPqJH6s*%fqv}MdeJR~k-#R^`z0;@2C z-3hDZqx@4Kfg3z<1f1Z2jj$fsV&tq)2Q^^Em=#zD_PcyrkWbDn5BEfV#y=9Uqmw6oi%T>HE#<(3F*ZD5PR0HPS>Ps z;!`yuQ)!xbcW5aiMB77h!P^%?v^T`dQ-Uv z>TqII>v5j@LCN8}bwGral7o{=N%}x%z~@VD>1qkKrSumTq|F_=a!{`N;v5xvj-K#z z)V)j-%WPEFD*5)c)s8uatDFN>AD8{;zu0v>_|wq&?}X5}|6K3X;MK#^=Ck|0rJLN_ z-#1^xQH~ao-yXBjB-9KgPr6fSPAcbRsFW~nFlHH?+YEMeS;zM^g>$QvNOPP9W zSLK_wW}01HLf2K&WE)MoK=b8Pvz+t1yjFhg2|2;?b9KifeYHVrljl`yqqCv5cJSsU zIZ5VE3M0V}nn#w866gTEqn`=OSy!egH@amTJwR2XS!W!#x_|3w>GSpV2#XnXMz8&I z@gM!AzAqcU>J*0G3v>-X;Hj#Y>ZClHwT))gQ&V^4bo*OlgYv^a$Qjq=w6Sn#Zgza= pRMVO2PNDU=XPTc~ThO(uf5)+krh&4_H-yE!yBlzp4!>Rt@GlM-g{c4l literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41.otf similarity index 100% rename from test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41.otf rename to test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.41.otf diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.retain-all-codepoint.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.retain-all-codepoint.otf similarity index 81% rename from test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.retain-all-codepoint.otf rename to test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.layout-test.retain-all-codepoint.otf index 56dd49ea127790b435716c4adf021b44aaaaedf2..8dd5444f76bc9b79ea2dcd478cbd09c4de3727d3 100644 GIT binary patch delta 359 zcmXAiJxIe)6ot=Af6(Yq9aOMHhk_tQp+g1j;BPy&P~03EOd&`U1ARlc7IAd26pDjj zadfSV=pf>tRYb&12XU~vD2S6wJc+~o-aY5sd*8OUKejtuJqOgM%<@VaGnfQ$$%3vi`fxs>Gw^`JUlUI9=d5k(~(un+otJIW; znU<`~%h^57d%9!k6$eI+ZM``#dd9cqY?h^afCT#&);Pe}sNZb_W$QQ8PKmgv`qxxw zh(nZgX`=^0&cb#5M95-U()<5aF!NGDN1%WyC`h88jA958sC2h*OjdA2+GvpmnxujS wEc)9qDvei0_)ZKGH~1hscqgyXC9m+t1%V}`If&46!%;38H6`3m1RnbS0KmXWZU6uP delta 194 zcmbOu-y%0byk3KWf$O%ri>n)hIfE7h1H%O%mT?d84`vW$-~zIb05Ok$u)a}FPbg51 zF$2g?NX|_x;Jm{1j)8&M1jzrCk(!vY^HH8PP~HH@H_HGD2z+6y2l9Drg}{m#d|=e={^E84cL2#nAOTCn677FtSTrF8(>MgU#fGh2#^!AxF&NfJ|0@mj9p zciUeFV0^@PmwKE&_=M3BParP1UCy$%ZdR@%ZYM6e$*_1v|1RMhB$;kcpe}i_wgo^# z`Ao9MS?7a-E#!g;5`Cr9<1(B~-$%YH#7BHye_;LuaD?9_u>eqP0U?IO7@t%sVH)!< z$K&pi2Q|eePLtu1?i#ZiMs@4r*$+nK5n*T_bypK4z$#i3XsX;XKTkS0t{JishCIjz zN8C#h8^6i5?ppNJH^Atwkrx`WUTaj>KkceJ2`Tg437qDaM75w%tu!==(@X?(U}9#N z8MqBxd-xir-)IHINKT?_=!)_Jjwpjv~}r)m(kt{v&WfHTYpKc%c$lSVPvWWJ9Qd3UHDS z!ACwn2(Sx0ach90edKkK#YtJE;HC(5mtDZdyAUt)|5vH+;NDbQoIp2?Vf1A+9#6fB zo=s(5gjA-TNo9f>5^XBelAtUxY12lar?c~(HZ52I@Qay+ql*6a`*Y9eh%vVpr9v?Q z&B#M4{pS)W)X@G8*a(|oGZeuOp%}KqbMQQrz)osS88xq*n&zX{)IvQpz)R2stq_Dx z=!Ra1!ciE6<1hkaa1u_@M|uX%!W6s-=iyiIYnX>JP7evWs&v|m)Q{P*^;pyDGd`CgyrY+lF$TVgelmFL|ZnPMa(~aq>%23rx zV{&zDE-R+A$7IK`_hQPCm|i{;yK^CSHTG<5!GHS<|M4Y`8*e0yn@l$%riFAF6Q`HP zwV7_{!=O{IWf10>ZJI|kD<g?=VRz0z^>bT1=`}keaoHV;~ zZj~9sdw%9_R#xvTR#xm$mbsOb_mq4&-6>mtA}^PFH_402KHC?3a-b@L2mOb!!CPNd zHT>meIYrhVH;hMKZ63dWltCF%?wH@1ma{*eQZy5`^~!cdH<5j+^6Q?zMq36#15v|l zmhz4{>5JKam@g0fw&8;g!|2bu!lRG+%j;Y?BJ<=9fsB)ztCK=+!6l%V8MaXgF`ze`wg?w-L>W}cRy|JdT7f*KG3b(d>^p@e`**00%{F{!k zL!(Wj%_r&y8-`l?ntGbLyCXDv&wXBdGkB}@#DV^U!NbwU{zF}cm+pW$+z}3ShmN)% z3q_k>sXylG^^RrkenK$~tsKmgEq}iL>cnWrRNrv>aQDl7hH-g^Ib70IQohHtSNfoN jvhl(va_UEc{$PJ=Uu(Fcry}ez$i;Ue)Q@1NISJrj2dqmj diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,42,43.otf deleted file mode 100644 index f4290a3c9e3d5122faaf33a3cdd296e897cb01cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1996 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 S`abFYMEaK6pgD^EPX7XPbK`3O diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,42,43,44.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,42,43,44.otf deleted file mode 100644 index 9ea5415cc8abb787079d9f1ebaee3eb397d8099b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1492 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 diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,43,45.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,43,45.otf deleted file mode 100644 index 839256c717a579fbd1966dd4f81b95380f55b1d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1488 zcmZ8edrXs86hGhBhaaViY?dsDT2KV_y zJ9cD&1nNKl^3;qBxjX63C;;66AjsUjJu3%f7zMb5Ce6xOl~8gs_Y?qyaoDHSD0Hw3 zZX@48RrDUb^3fxrtCxD>b;xG?K&I%J&kfC!}21T_IqAt87IVnp~G60txm z3Z-eBeO48JVcMJN@CLq+J~J2ZA0$%&{A!wl#R>MkEvr$t)Ih23`V=B;L%m8a3A2dPLh}k-f zvZyGqN(pMr;BU!?)f5PYKv9&qpj@M=;!$Q4RRd9!g^HrAG@2laY7mlesbH}W+z!W# zm(E!P@ae?dJ|cd4b!xK+8H|NRK@Jaoc!~Gt!$Cw*XwW`E* zs>Jp96_kwzA@&_QU$#uLOfoN8BIjKU@0LpD>HSl&eq!-+X&smSq}?y(hW*o5{CEAC z{yG1TF)v~v1Cj@!15)V&k8~~$5i-6Y=w&$B%OIlh2dxmGcFn%E!_nqUa>%QlE z-}&2&f7o%ZeYE%PzB7ukZQqdB^vR!8p85PrOd~pFHRoRkst$NoWs&YR2w# zIGmCC!M$ZYEHnA)v$e9&$)!`vWh&SHL+S%$MR5*Uw4X$(NyKH6%0(-<`1iSmT+3Tr zSiz6Q*4I1BJSwx{V^yuTs;sQ{(G4zw6ZbF!o)ZTKo^X-x5QSi7jUnN!%t9XCf)? z{bwwPhkCj7-*U0{xtO7G|FtW_zN6;j#Wtq#y>}1nS(xV9(v@DVG<)+#TA9hjXRC0Q zu&FTFZtoudt`?HiUrbu>t+hT@)dHbv*O`n-g dn;E;!X1CkS&9(KG3Wm#_K8Jl<9kNh>e*hPr;bs5; diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,43.otf b/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline.41,43.otf deleted file mode 100644 index c976e0f40c9b70b0771617462f97ea16103b513b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1280 zcmZ8fdrVtp6hGf>d%1lKHl_T**t~!wG%g#fTZztWt1$L(lLeSEA7d3R?SQ_ED-(2v zcUwkPhITll?z&_GLKJXjOE9CEIG@?#Gs{B!NB=NpF6b@$w$yVAndtZBob&tr&N<&b z-@UiAqM{Tua2yoC7nPLozn@X*0T@48$Iktw<)Ftbz(q7&Y54|Y!M!vKevq}0;0nS)@%#SLqaMhoCnYT=cq>H2@#X zuZU9i_T`10Dr7K`mIdW9`1(HCpI-$^LW+0qEiH1onmk9WHXol~ZQzXs1xDUn<9tEj z%bUDD!S3aEJF1-?m(yeM2{r3^b3+4PCYO8pGQlf&UPLiDoz=A2YAVFfK)Uh&z?rox zb2Yh|)NBneyBtlbM_kAgX{RU^zjaBZ{UR%kiFaniYvLX;<^MVE-<*0_Gp8Na>E^<^ z6*#&&mY(!_ywClhWbnInL4s6}gA)rG`cQW$5XfxnX$yC(JylYiGkfUjL8D6+;b!R!_dWVIdLp_p?`Al+Tkh7`F-Ee zhdtZgJ3968O#4?iBY$?>3XH!VoV4{*5~56)!Z9uo3I;=&o{>ZD(*hTN=Xz# z%_~xd#GdAc!|%5aFFlH*1N4r5Iwl#ePEuy1a4S7PRU?LTj$6II_O(R<&4I}*_pAS pGcD)pySet~o@sq{b#c$GQ#+1Tw+vKHyurmycQ@c&x`KKwz&|S2d9nZi diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline-retain-gids.41,42,43,44.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test-retain-gids.41,42,43,44.otf similarity index 56% rename from test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline-retain-gids.41,42,43,44.otf rename to test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test-retain-gids.41,42,43,44.otf index 08de422b65ae29fd9627a39549f8c259fd79f26c..0313313aa45e914433c7bb66aa1a95273e88262f 100644 GIT binary patch delta 331 zcmW+wy-UMD9DTnu4MC*DDy5*54vvBlijzyLrDKa}S248F42cGMLnk|^9mK&3elGqC zN*CQ696E@TIJwrTqc{oi5svqGU)oyq6)5zrKXi<;A_1gGkR z`jyDnomD${Yq6Iz`ki*@M);64eUZN8dv51>QvRiH(y#dptRLfr`j1%lL)FVzsbe5z za+3+&UW94`7+z)|^_F+P2 zf;dhZQC?Ru;{yqF@PE`Mv4s*etYemJ@Mu^<4i;|{?BSN|;hMaQ8*&F%WDR9(kingB UIWLUIlw*7+bp@NFL(Mk+0WNkwzyJUM delta 208 zcmdlXv_Wu!SUvLu1_o9+_W=K322lns1_p*BK+NMF9O{(QRniJ%UjSkW|6qNioHL;t z85kI60Qm{Yxrqe~R~T7=d>tU)BqKF3W#?1JZ$N$mkZ+a&6cG5rb^yrd0PJ>Vtl!Y6$K2g0SpWirwXb60IFy!$S*GWKcB$}$bJFD3JeTDSyv#75s0}! laN?m^EP9XPr)*AO6k%jxy~C(8S&;enWCdo{%{(kRtN^>#Fev~4 diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,42,43,45.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test-retain-gids.41,42,43,45.otf similarity index 65% rename from test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,42,43,45.otf rename to test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test-retain-gids.41,42,43,45.otf index 7137efd834dd89fd72170b2b104698ed24e3c357..99116b4e520163a49f4846889657b42cf166dcb5 100644 GIT binary patch delta 490 zcmYjOJ4*vW7@XaE;0uY5#8@anQbdRt1+4^0#Mp#fBoPD)J@q6-UXUwN2tGgyE9FE> z|A38;Mi3h6GunMc?=-h(vU7>Tp1nhU#|j$R;nBjw+&TM))JrQxvmzoQM?FtHk+;m% ztC#o(b%=UAPs8`FyR+Y{aK30S)cR7|6L>pA!J=8KAekY@HA^ptfgo#nKK|<$}WI7!S$HY|}5hdc7A_6{Ei|20>@A2w&6B$gi z!KWe3Hw(3yb^rr^T%sM_e_Uzs)dsFH;eIc7R!6`I%b~6@EMg61lwf0of9^>{oh|w0 L>`U!pU5RNwce_u9 delta 356 zcmdlYv_`PrKP1GTfs3Jmftf+U+09MivZgo#0|WB}1_oA1_W=K322r3a1H%>|=J5~K zH_AB^x`}~-u>#0XNX|_xVANm?0rG8te4C8a#FU+n@~nY;79ig&11KQyh3yEC{Q!tn zGIC2QWPMogFfcFy^)pK3CRW%NFt`N(ggh3`GpZK)&H7W)n65Ks7<5 diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test-retain-gids.41,42,43.otf new file mode 100644 index 0000000000000000000000000000000000000000..564d0c5fc740441cf5c0a6cd728ede80b27bef27 GIT binary patch literal 2120 zcmd^9eNa?Y6hCjjT$UC5V95}10WnF^eedmi%WA2>f~gTIkea2gupC4_cNYc2vIGPc z1Pd`V4RUM7z;IN|Mkh-dMa#+2vaxZ@sjQ|NM;&y*r$gs0jxqh)pWQp>-19r<+6$aF1{XVKJ8!qxv*okoXX}Cus0fx?zBj`Z|lWA4a zlyTDFAn^o0XGljfBtjCcvX!XhkT-B;@UwS;QOoy*ikJhN$90b z`ECI{gc4{D?a@I5#68ZFd=ikC|Hf{I%k9sdAJG@7{d=@zjfY9Z<0uCT(9l$nq#=z1 zb`Z~o7UBvyKCM(a;=S-IafUJ?4-LF1XHgYEnox*(Br6~YLLSM=VS3dtSxp{tj^w=> zzy2kP>I4_8fg&gb7N&s-7LyL46!O7NHiTlbxj=xGkmL7qlOOo2?7zq@v<-=Nim)8>eK&8ab1RGbUsgt#%mG%Uy0q zfy+3rFssN}T;#O79of^23HkZP#j?B0xY*%xIMWLac6 zWO-!G$O_1c$Xbw%N7jm*2|3!sA;%+UMovIZM9zX-JaSg#O~|vz(~&CnmII6L^GNNG>d4qpgA7RRuoJquqbdS@F>uQ1QbLREGWdIU`5e{B8wu2 zB9EdOMY^wuqJ?V1)Fy(BiatUcpbONG3<@4Kdd%1mL+BIZo(vlwJ|SYFF)}K8Qq1J1 zro=uyHSU>d(@iYLn+4GlZ=Eso+2>}>o|BN6WJ^w2urM=P7p)8WuOm`t)CEQAB4rk( z3vzk~V!YB8ug~`GNw3u6)%d!+4^DY6dFOja{M)Ae#}?3`yB^q~*I#eakE9L^=n3(2 z1GVK?P|3Ym1A|Nkv+VFdsG+{LzOF8;vZ1o6I$~#vEvk3L#bv&{Gsh%t^ZKo>n$p*$ zkfphjzRFRTT3xcgusyG6SKh&;mp!K&t~Gt%cKm|Y+vPdd(!J->sw4KJsozMvbM}Yp zk9>Nn>in(N+tqjK4!rH@&TWyHdP&hF!3J$zy~k4@=ImTivfH8UpZZWR1olS{Ofg_X z&i35RQry~fX+n+^mMevxl#+arcAx20-+14)1-{_yD{E_Jw3amCM%SBIQB+=1vgg)0 zU#L&BTiem}@#c<4p|sL2>4D)yk1zIOx1{K_%#t!Cb!Y6p!aI$>HCMLQwKi+}W26&? zz?=Q|4Ch+UR(w^fZU3OYp?#t&ugp>E5T)2zQf!%&(3o>%%Z~kfeAe%LG1q)i`+K~- vr@GqqZrr!FR$KMT%bS;vw>3P!GkHVS#$8JfzoYFJA5N!lsqq*B={fxyQZ~kiUk`w`58$+9R11w` z?}++|m@ga4*~WAA9*}eTt!>A2Wl3W6oAhh8W!4_Y`EU9({ff;XKA9R&{}PL~Bw gB<%GtJER=qldPeDbwD3Urt51z-CIrXpG4l&9}#~=mH+?% delta 205 zcmaDN_&{KSSUvL`1_qYH?g9S645AEN3=9lMfSAWUIMgYptE3gkz5v7${=xc2IcGvQ zGB7YM0P+)(a}x^~RT+7J{1hPHDkC*9W#?1JZ$Q2dkZ+a&6cG5rb{NR#0PQD zJxs3Moez4#@=_0p!Nba)AuycNz7V;Zo7%ffJalVkD<=()NL4Hp*IORCc4PRQ-+0%8a0a86=V_iMWt{J9lDMIeE zyjQ2#S5y9CaKRQRfP7%7*A_@88$t=>f}MN_h2(RA02^Vm66K~iP^PYw^Z#XX4~F+a z)@ihKQyE5=U6PkqE^AApm>m$s)G<+vM@6KLVyZRLXrns13z~htA#NNo5#X)H+ zj~fGvwS<_#@F>V2MRn{cnX5;`Vik=%1(v`vSPp5h5;7nY*1$Sg4;yG$*)*&i$fJR| zpcKlX0$zbCr~wc7pb1)_m9E+$=zuOb2Cu^#a2!s;X*dTL;WG5XyYypvA8x^I_!#cM zr|>!bD87QP;XZs1Kfq7$3-m*fKBzzGo~jug6T%po@Z^HR^5QM%berR{rkOd5g)=8* z7i@BvGs<0VN1n^PBtNU5xUitu?sjC)Fel~an$zWQmpR?xauk=6QE3#i$RUqb6i`GP zCSW467GzmuIb?Zct;h<MheM7>&WfCXoQRwaxdh}Ak+&evB2P#1 z$Xk&YkQb4+A)kPJB3dnIWzou^l`>k5EXfi7x3F(8xE_1B1*3=E~WDNK-?7gV#I0y0O|{8+|A> zW%A7ppR5b!ynk8Jw{B~4c}jLl5o?{2vBu$DUR!h`zdNU(J?He=PklEUzx03Bb>(Ay z;H2+z+qup=FQ2zxT>g>77teof+xZLEYi|F1@R!;L-cx&g=bUX4(;%t*5^UFd8+^Wo z@x{kC6m>ZC52ybrm_i>;8Hh7s(KZ3-`w5vIF(*%mmZm}_64VXa!yhmx6P9> zCGGKPZ{$B{{;sw9p!Z;_{$Z?imC}X}gqzm2uMezgk>(!VD($@+e|!Fp<{#_zEv-$> z&6B#iI@{Y1?_Juwv}So-PE}@Bi4$X==jRtb?ETEj;=jj?cJWUwQrZ5snmPx>%HFk%BG5{x>9{G^U-Ch K+v78Z0{jJha4SUs literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test-retain-gids.41,42.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test-retain-gids.41,42.otf new file mode 100644 index 0000000000000000000000000000000000000000..1965933bab7c5225ef8adbcbaa2c08dd51df5d11 GIT binary patch literal 2012 zcmd^9eQZ-z6hE(Dv|ZWw*eZ@OyTNpm34Nd40D*2}1P}*|DMSSdE2oTg-P-aoMFrVL zX$KTDrvpKV)dV*kK?fL!C@esTL;?wlAxadKNMZ(=cH=?nd2fh||N5u*<(_+f=bU@a zz2}^F%N8yygCy7pTCf+FmfB25w(0=1Jv494oL5%<^Sa-{0L)DQ@Xsu-D5?$z8;S3x zIjXFDB3J!&MJMS)gqN-Gx@uu393yNaZ1=cbm7m{m{z-TqVaY>+VZDYgiN8m4oW~nn zZ@I2n1faQ2HfFDDeJvC#rf{65p~mHP>-#e2lm11*O|`y2F!3I6#9yUp10dUC;uxA{ zu+qm=yMi@fB&-bWz>;`Z-7^3NQ`%=zZgN(CmC1+w`pK%N!4^dX81kb;uz(K6(W;|Q z!9|G#QKw27k`WI@s)n@5-#KS2O_}lsFnZ;zup#H*MrHke`7QZlhQC7)dKYHql(Vzj8|rtp?)U@HWv(XeG)} z1ZAHhKMTL85+!qrz!9_ZRTG9nTgr%@jwF;6QsMS@E^ZzAE4yebe3_9vwhA~vG@p|hO zZgvLq3S=-_m<%SQp{dPa8g%k-i#Br~?1)4LsAb3)fKPgd?w1XBPxsH%6JmN&GN7Co zO?ZR?dxt}bhWwYnESLjxp$z6jIaI*&uozx|B~+kFDo_=8sYn4>3-z!8UWYfJ5ke4w z?euW8P)qHCJ+KenhY#TZbU-H@f-X2pPs$hY6+Jp<;2fNX3vdZ8!xef2euSUk2Hb>O z@H^awUWn6=bD#QA%NUA%we|j0=n2|#SLE3^yPdN+D}Bq|w(|Nw(CrP_X4S0l`D=ZC zSI}KK!RD;4wk=T11GWY3fZM;8gldYAMGkosP(%qGSb&Ad+L2|E<&fo(6_6E?m5_BH zTYzjKa(3is4~HC&oPeB&oP?YMxdP-0k+&nyB2O-P!XTWNMoAkx`GPkIopA`Is#$d+fNJ$Dhc}dvbjKQxhiIS&kP( z$x%=^Y4Vh(r%s#hEGjOUQ95T{wmI9J{9i|w*=A18GH02S{jvU>n7kzxFL~!=Om2-C z;+?U3r(&04vtvX4tuy|kGqszqCAC{D*P@o8)OM!sRF$StFOCGQ(tsgIFuKqBt!d3$ zo5SJshHVYerp#TXCD~_}TwENlI&(}mwyfJ82(5WdPF>`YEsgH*+@`vZYxY<9c2^x* zbUAW*+Yixi_Z`1rjCDqiwRY{jwCu3!=-h8)-aqYwb%&3fYCPZ5cDw0L_~4t7E>Ek> zG|QT(3@;nQ&5=lRy1!#d-5$5GZ~T2REvav8e{LFXTltn}vz))WTpqJhPWQ;xlX7u9 z%N4i36dxVmIVYY{d1ZBIQd?aVUkz-+4Zixiy1hN;;?}rfkFh=a(dPCCp^Wlw`Ci(I q?s(qCE?Lvzm?~Gu`i{HZ{ZI;@%W zW+vNheJla;mVBMg=JdCC&jdt~%rp`$p64FP_vG!Jl2IP%_&x#EPyR0C4fF0j(Pthb zuM}wbe>^p^o6i?Y*3p_3Z$g2RtT#hJ8KiwyKCD`U8${WEv1a)vz^wQ8)yna5#4*KU zM$q>mgavM5SO@Te7XStWxQVdxRf`_GVW~{L?Eh+cNbST25|;a1_p*7KrH1R;2#X+aRJ#^fSAWUIMgYptE3gk zegMQ0{=xc2IX$5l7#J8Q0Qm{YxrqgwSGe9WFfh9S`JXaU6H|6Rb^HdDj{x$`GJpaC zU)bt_d=nsFB_p?_!lA@!1_Lt#Q^mv?at@3ifWmDB`Nbvw=Q9`qm5BiP3JeSZ3=Ani z79$XIfgy}7#vsPPn3GtN$G`!UW0-g;i$zoVSNmiKM%~GK8J{z;-kBW0yl-*>GuLK5 HmP_0KsUSBI diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41,42,43,44.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42,43,44.otf similarity index 61% rename from test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41,42,43,44.otf rename to test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42,43,44.otf index eb06c2016ce69181c8602a3c76a5227f5a0869f6..6ff7711b13ab67758de5b6d6ed84fd99d9b01037 100644 GIT binary patch delta 331 zcmW-bze~eF9L3-Fl9Zqsib@eI;@}t%OL211rIWN6Dvpgdnjz6Z56l)2b#Q70e=Yhq zNGErP4pRIhtT=RV5ZCw!$9wnvym#E)=j_z!S2Du^j83D~^d@`LbwH&6ZW>;DJG$1F zoIj|=rngp$-rFyL^vRvW*iYc#jO>!#Fz~ytldV7UK6xW#Q2s4tWShJi#yYj@#s%j$ z%8C6nfz<*Aw{uHBOs?*Orcf3Ut$&Y94S z3=E8Ofc%8y+{6L~9)@xt-vY?j$w*C1+47z%X&Dkoq5>NLxXEamoMr3`Riq7a&$(U;xUp0$Gee%msoI W56xpaeR0K^%_)o`jGK9w6PN+0c`g(H diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42,43,45.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42,43,45.otf new file mode 100644 index 0000000000000000000000000000000000000000..bf8265e9d86296c12808798e48f7d4b674f8ec0a GIT binary patch literal 1624 zcmZ8edrVVj6hHU2yWe(lUjAk=ij5B*@Sr+G*w|F((xvg`?``vTC-|sxW@0|1H z78K-y1a^V|(lS@AQXI;V#{me0CGx3pA_M?U+4<@f=<#%;Eizj`%ke1pvm1@V`Z*{e{xld6y&5^`nFzEAB6cYVVLm!3+zB8d6IO=9 z$W{CvJ|7-^lFiqHax*(+)7IG6{sBUCi$An6`N&Rw|8Dyl4amc7!gTT&QURV7{m7Ux z!iU{Si3wr?9zc3z2gHbQB4SEFi6kV6FZJZENTw=l#Y%XcuO!+JukS1;uq?hqWGYXSL~Cjmx9DmF7Fb7XeW`i1yYMM2!U%p|d@dESug40E zV1g1bKn1)63m^^h(58iIC?DdHo@f?wGo*rq0C-)lsFqHd4e-&#)B%oqaA`7IgbdEc#zQ_2et3@8=Vt&# z5Lv6&kSEz~%+ZjcEoypATO^VeOg$84#!Kg7aMGF+F z@^VEUA8u0QF($@XgT_dGTIFJ`QmIvDXq8K_cETY55!No5E{jVNCyA%c6)Si(msg3r znkSxS3{EBoIa`p;>b?-E~xSy0f;;WUt=A z&D@~lq%DkdZEMwV#XzaSUwU-IH?B*b+rFEDv)Ab0i0e$(iT)egPHIlA{fc|pxctM~ zlb>8{xq7$fuhx6cBfDKEbX^?b=13n0^|aINa=GJ-hqqMqF?8s~M~h{W(7eg{GOee0 zk8T&2T9(hvF6QENocscp$x44Kf#fQGnR2`PINfsV8uP}ubs_3&Yn&>l+2CFB!7nP z%dYfXZv4VQ4-C3J19MEJ7N(j}aw*HW6bq;F7N4~39qwnBe9b1`W)p|Ug5wuQ0tc)I z%N%seyPI}xo|WZ!qjzO}q1C_Pcn2L)K3a&q#7@S_Hu^UQ-)ZNT4wi8pw^FYzZ}9%% zpxZm!yxuv1K)>I=uOr8s)3Vl9+N3VDt~M|IRK35j+p_V9<#he2`cn;ub`I|y^8DTI zV)Ja5Y3E2QF2|tlfPJw0T>bw3b3VVVyQ!nM%QaZ*r!zBTo)WLlr?XpZ4K2-<>gw8> z8mrstYILvvtmIPP_r5^yzCC?`-2wlA{dnugmSa}h>2Nrm4r^OuldXnk)ep~L-FBBu F@-H=C?OXr= literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42,43.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42,43.otf new file mode 100644 index 0000000000000000000000000000000000000000..8f41e9695fb81057b87c035856bc0da953b8208b GIT binary patch literal 1408 zcmZ8eeN0HNxO2LqX#ofHi7V_Qcb?Vw+@g~0@! z;bYL2Q5BgChoJS32?)`FGb5P+GI45Lw)mN4k{CbY9|jlPE4y3jxh*Q$y*cNe-|w7r z&$;KC%F0Zjf}=4;iqYDF#x-O5-#3jGXGrihY5f|4E4q4^6id*zYXn6DEFAm zoAr(_%g50lMtq>sY4Ly>>JjS@>+GV%`pGZG8;C0q8|+A|S>#?u%p=}lclsOn2U+Ty zMNv8}4IYs1K@+A>IG4pKDxw)rV=s2Z?H;$!AA1}0X#b8P0AQ>fKyj7PB{s4QiW0QA z8HdI10$PbKS>lMj70*wAl^XMsXcu$zHW*So8o%j|2;^jOUX67HbjoqliUqM4YGW)G z`*b;vvM4UDu4;eEV}ApqxQYxk<%}Pt=Z^<>SwI^*F4wakA(R12SzK(=EKXAaYG#pH zgqxs`pMW-6=vHzvPN8C1eD`vtcp4Tj+`a=I2O|_D-a+;JHU?XwFGFO+{qKA-K=zvL;YVAyCUW9b!7?aL)uqd*0rd3YXs%062 z&>ajWw0hNgfDaZ|4-xL>g{5KzA~>6p4rXe6e;3tLYeB&>kYnGfHJWT?wlX5XvGSmf4BM1;L3qX%h}yulLx%p-a9<`@l4xS3w?jJUk{AG7M!s65++30Fo7d{AQTLS z(!3-4YEOxL^uF8q8dWrVX`{y0RrQ9wh3IO`WPKG$vlHz!DUdQPQr-*FI_cFXr4;KA zH64%i)rM`&zE^Bb?#9~MfrX2bR^m?a!{PT^hL=n6q@UcQ(Li#ylH3Mj?5>(T zc4BludiWbD=bDr?Ivbgr85?}J`E*Su-}d~oEzhkh?0Vwljw6-L{S{|k=c9((oAE6j HL5=DkZ)S(A literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41,42,44.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42,44.otf similarity index 57% rename from test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41,42,44.otf rename to test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42,44.otf index 65f847c673e022b49b7a7ff1822272a65ccdfb52..63d5b1a3c3e6a7d3908f452bdc3ca741ae9bf2c6 100644 GIT binary patch delta 292 zcmeC-p1?CfEQwiwfr072dw_rNQ`rb}Fo-b-0L@}#NN1P{BvTot s1IaXo89*|HVH%JGK_;Mn0U!-hH;sY+1duwx@C+=$#K63{i;0OD02nqnrT_o{ delta 151 zcmbQh)5ASMEQzUyfr072dw_p1gD3+R0|UbaAm(uo4t2`uDrp6>?*Orcf3Ut$&Y94S z3=E7*fc%8y+{6NgNQPP<-vY=t$w*C1+4E26%m4`!CVKz? diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42,45.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42,45.otf new file mode 100644 index 0000000000000000000000000000000000000000..2d5de06aabff07738cca101ace5bb05ba496b74a GIT binary patch literal 1524 zcmZ8edrVVj6hHU&;iavD8*LVctmsTIBaU^7*+UUQ4NQjv>ojI+h0=m8Eqy?F)HwwD zgcd~vDo|LLY@*YtCCSyX06;(5v^Br*=WqVF3_wkyg_?ivw|!*<`gvdqIWv?bYs`T7``tFbPQu((cMgFew~{7X+{pijX2W!N_rgJQfXpkY01 zh(-}-kvsZnbab|w@IhHu`k`-6{Of-KCAv!DiED(#NG>!Am_TnqEa@KEvb%aT59-{AMQb>zTh$sus ze|t)XwAnq8mjJVP#x||h#_ul1Ux-Xd4TG{4mY_}r8EPT&mEjgB(84j)#n6tL95P1& ziiG#pqrMKm@_u^eUx?vNvQ1$edKLI)%%))hB+l4^Iey_BTZ9>8SEN?V`?q6%3s|8P zOi&Il!3s!+0`%#?4hGO*Ob2F+Sz#6Iff7E;hI!aph<}ix#Km@_v6@(UNmMN)Q7$Tp za?>b+B&tEkEtCn8!w~TKVp=wDF~G+Y^ZPjQ!o{mgki`Yk5`aA5iZ0j3reDU}D-LH051a(g9d%8MPbwx$bgD+VHEAD0nf+r3Q%(P;- z5H~HqGR7{yHOSE?SFh#Noap58kIEkgers#!^meu}lgqd(*fxGDUcNK5EAneGk*x))ELj7Y_G?LdTEf1@aoVxXS9)Mb2E?n#=0mq7KK-Gmc9&Lp4LS zCk~!EHqiX2)yEdNzF@qkoA7x0UGKa5J4S1Idq#sHS4aJku6AF4Rfx%6EpILj=!1H< z!&TeZ;IP}PDl46Sr?1Yx{j<{X?w^9;uH#3$!-vD6KKJ>iPaNl*jMwAwdOgmTx_Vb7 O!>Xr;k+<6?m%_iI!NPt3 literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,42.otf new file mode 100644 index 0000000000000000000000000000000000000000..aecd96ae7afdc40a7ce90a2579dd9937d6f72121 GIT binary patch literal 1304 zcmZ8feQZ-z6hHU9zPHy8Hqf;(vovqhC0kseRyPtgVz;q{2^QDQ%s+&c^{r*}`*p$; z5yLh{+d(CBIuT?^{R1~0QHB^uFtFfa@FS3DG{h|NGsZsbb9rF5H`Q-tTul z?m73|=V@#6fEo4y56*_BCfTv!$VmY1SCqBQTRh$$*8SE3Kz;{+M6#6}r+sh5iik&aSX81{UZ=UWL3SsQCOJ|K$D~c^mS&AR1QAi!UQLAiqBtPVO#} zxDLcKC{ozBI|lp~gm4~3jQGNeu;6$ad+9_z7>laO{M+C{{3D7CfU!J)aGlh!4Fs(w zu;C^lUorv`a<(vrt^8YhZh5d4r@w(jt238xjLFe`PJTiAa zpZ{bjkM)7_=ib_eZ6%NW1w^=x7T8mHY9IT4w|$cjZ23b57xy7j9yn&j#TjQv76h=6 zc`^^Tz@>iyF(P!EL|zok9LJ`|YW%m{jrAMg32;Mw;T}xSttZ$LyBRV!?m~_U9DtKr znh!e(FiP(@si;YPW;(;$33`r%-iM(AbrrrYK|6cYlXLo^FN>%4F; z5uRd`GZ@ik!*dFlgJLLM!u&G3VHp-Mg3X8Jin{$7teF56c0d#&@F1)KC$yq1fPY;G zeCP{641Frp!ZzsEqmmehr49I6goys$aJY}57CU(n?BoEklOYa;x08MYU1i}NC*W{8 zUC@@I)d26$uNbG|t;>te0x~#VVh1k+U);s?*;Qa5q;caWPeU};m)H>qCgrNGYT4y< zx@5OMx?PdIeQHt(tMbN3S2PieCVWZ7zeaY4LUJn$SLIekRT9smQSUBLR~x9S!=A}O z{O7P|^U4ZSg{ipQBr{cRDo*4UD|7TfPHTMQVvdgHL~SZ}`%>;&t|eD=r%(FdXPhw2 znI|lkxvXUcwr-p$)wLDxb2soD4rvJT#Bh4iX3ZSTq*7)5!~NMo$D2)!6|-BfKCAV7 zdX7pXyAG*Cy?beCN03?ul+@*7z|+T6o}} zTB~{CzQrnQV7U9W;C@=O(@R%()3PA7U8D_KxleOGr`@Z)`lMFk|90olBV+Mw;3f5y zz@BJdJbwJfXPQkDk4Y2RclS>$m6GUDdfR$oMytL$O}WW+kJEN4Oje(a+&uitNdH)B RY(!e9q!+O4P}*vSe*rNASI__e literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41,43.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,43.otf similarity index 100% rename from test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41,43.otf rename to test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41,43.otf diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41.otf similarity index 100% rename from test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41.otf rename to test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.41.otf diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.42.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.42.otf similarity index 100% rename from test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.42.otf rename to test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.42.otf diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.retain-all-codepoint.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.retain-all-codepoint.otf similarity index 80% rename from test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.retain-all-codepoint.otf rename to test/subset/data/expected/layout.gpos5/gpos5_font1.layout-test.retain-all-codepoint.otf index 866d06e24de4f9dfbfb03ad84ac1611dfb5d389a..ca8eeba4497ad2fbbdce8a482d2fe7ca14a54bb4 100644 GIT binary patch delta 443 zcmb7=u}cDB7{;IPyE`$9kSK!?4Qi|elLl$XOLH_3w}y_+lF$;pp(TulriPOXv!#~) z1E-*=$uYvMh8hx=A|hPvIiWuwKHi7-_dMKt@AqAVUc+{vrm2AMIh{;xU>Z{ZI;@%W zW+vNheJla;mVBMg=JdCC&jdt~%rp`$p64FP_vG!Jl2IP%_&x#EPyR0C4fF0j(Pthb zuM}wbe>^p^o6i?Y*3p_3Z$g2RtT#hJ8KiwyKCD`U8${WEv1a)vz^wQ8)yna5#4*KU zM$q>mgavM5SO@Te7XStWxQVdxRf`_GVW~{L?Eh+cNbST25|;a1_p*7KrH1R;2#X+aRJ#^fSAWUIMgYptE3gk zegMQ0{=xc2IX$5l7#J8Q0Qm{YxrqgwSGe9WFfh9S`JXaU6H|6Rb^HdDj{x$`GJpaC zU)bt_d=nsFB_p?_!lA@!1_Lt#Q^mv?at@3ifWmDB`Nbvw=Q9`qm5BiP3JeSZ3=Ani z79$XIfgy}7#vsPPn3GtN$G`!UW0-g;i$zoVSNmiKM%~GK8J{z;-kBW0yl-*>GuLK5 HmP_0KsUSBI diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline-retain-gids.41,42,43,45.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline-retain-gids.41,42,43,45.otf deleted file mode 100644 index 9a31fb7cb1b7ecc5971ad4ac761453f6f37c8da5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2236 zcmd^9eQ*=k5#N(6ah8Q0666ptARCPiu!W6m)MkhwrUWP{88QtnA+$_0VVX`lOu}R)lg>1gNr;oPb1?3n3{$56 z_RqdIyKjHH`}XbIeRqYMHy1(*>;o-W@(K#fH*y{Y0BsCF_t=_^g+*Wj11Uy{jBARD zSCxmntt5X)G^?;^DPR7V;xhnDjPT1P70zmA5wn?aDdA;qm$UTkFC0G*UQAeWlj5N< zJ;h>J!VBFMUfe6cHCQ4Pko}|4p^mHL6bbnL_h~dW{eqwAAwJ-Kr%^G8G~M{*QIDQNr_X4 z-5-wpRjc7yHS*NGRDNqEGpU}JJW9wxQyqHvnVMZvGM$|cS@&cOq{7U5vi1Re(gU)N zJk)!td-VzZ7H~l=cwiS)K_zgogl@ZubO?1&4oHPmP zwFdV|t%52ukVG$qVf3YS6%`Gtv@V0$3mJ@`$zTE+B5elKlBCQqYUjnED;%EU#%Xf_ z-W;1gsOW#ZGOp_b>vT38Popb(yiA}EFzU>j_Q9n`E+ zYE~IkP{TY>4-L=+zk>bH3IPa1Cv-y(9ELvVhZr1(-@*wv2_tX@&cOw^2$$fG^wW4B zuEBNsS=@k+;S;zCpTXzw1%15#g0JCQ7z3Fe^j!uREu&|W86%UHS5@6my9?c3^P-X* zGjFl*W=Cn&D=u?UgU9Qt@R-+DmQ>YNSJgVbuF@rDM|rt(TY|PtrA*oXw5~d9YqU@9Ev=O0*aK7 zh@ym|4aHm(?I>AL;!xsI5>T?DMEOc6*-*+w$xcmUg85KD?VrXb8&ZtZQ_~)r@$e%v zP3e!$dTjQbjJfmXn=`W(EX;oViA6a-d2;bnOO{$VUa*RiE!Y0^Gs~8*Soy4DRbKw; zg7q7Vw`^Z%SZGN7Uq`0FY)H*CWU4HS!ets37*cEF6WMXaAD8owycbsv#r5(?{Lbb0 zjrh9wwEwoT|FIBcM}XX8I!XWt2tFUSXLD+JG1rU z@Rg2FBY%&*^C24_312*PZs5kt=baZe{8bTZSN>+t`QKk|z5Y$_w{5pWr(X@9b01Qe zc106Wppgx=hr{i&YftW|>36Z?Pu>+xDdP(!7MZYP=WFf*%HrKc%G{mGY`2pBo{}eL zI%Ug?@*KH)y_{D1$?m|@y)_YR_WT-~sv2r)2EMr_r_1_&b~y6Jf#G{cu}W0AV|sT~ z&iUw^qB&_>p%g2+lQ}0UZ+Cs!)6yI2?P15Wm3K`kUyuJ_y4L$a)1QOv;81(V;CxS+ z&sFD=l$;exj!$uP?L6;4d}=_p|4q*RRL(jz8ozpZBzC;{#O@&5`iq|**ghw}#HE!-P76CH9r;`h(?bd zT-UX(b%Vcbe{o6kTJQ2d6dx-&;@fuG_jcoj#tVDj*mvsiaL0GuVR@7P12#0$Ml(3% zKOPu5a;fpyz@@tup5cOYy^q5tE*0Uex4 AFaQ7m diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline-retain-gids.41,42,43.otf deleted file mode 100644 index 701368cbcfd8bfc420b6cdb3bdb6c40ab6095626..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2012 zcmd^9eNa?Y6hCjjT$UC5U^he11;ivx_r168Evu$3ESMUhBB@#G3d=!c`Pf|)6w4A2 zSWqndK+_<%W(*8R#cXu4lu@&s94#9g$DAgoW}0!-K^J^Fblzgc^lyK5@0@dgzjMyL z=iYnndzp(CWkNV?0wtJJ)6-3hk6udzP&NRlGG@=u%mM@G0HB*hKRYWsrLf*tP53g& zsLZS>T;aFbhXI(~#8>9Hoh9%+d_jB?aW3EG%>Def{UPy{#Kn9v4C~Q+NnA^OT)x{^ zuK!h81)$hOHoe*`liZX8L;w4s`2%FIrZvLkQ(jQtpxw8rr-fD>9FanVp>^bJdQic5 z8dcO~p4#6}+8)vj*$6`lq|zvRNo=tj4y=fr{s0*D4YELG;^9s5_|vMFonY+Ws^Sz! zi7G)MTd66+x|t?WgP!SOdf*Xop%DlZBDYSX)TqN13OSdYuo&T?r?;zAcMX!lrG`VGNcZH1R z#xNTohS|czFtrL2WeiiLl7{P*V_IRG-#?)BLt+6w?HSr8X&#;Ho2@3sJcx{eECPxh zBV^h)9MTk2W(UlHd5{5_umG|k8y3S-SO&|fK)F<)0&r82ys#E3pc3AKcc2<-!4F$u zJ2b;C*aQ2Z6%N41a1c766OKR^oPd+`!GA?Ri1Tm}F42$SDqMr>a07mZU*I-Eye`jLGKMY*S>%vM3koQr6_e41tQlDrSq@nqSqriPvLdop zWRsD#A!kO8=5WaI$XSpRkQ0%!BA1Mu4S6&2Eb_D@kGutW0eKO5EAq+6+t6Z03yT&G zEtJuM76C0HTC8YEMvDyvGYTvU911)Nv>^cn5d|v>$tc)RG^5C($f3xiXhD(oE23zn z+Awt~;Gm)p(T3^5^+O{fhYcSwGRk0lX4JFMqhn&nj5Wo@CyYxR|J;P6=O<2jVe%9+ z%kdULv?kl8PMiMXjG43SDXEUM^m+5M6Lbl>i2vH+bS7OyoGwmQ@wy04pf52XZ3zS& zyUzrqodHd-Gw}Fq;A&uQV939H+JAgu?Ydjx?Rx#KCjC%)fnnWIA#I>%ITBRzTdakC zW)ZXWSfA0*P}fjjA6?a0)l@TPPr4)i!tyIig9YbLO4{aiTfMbqZ%R>1@+Ez>t3IQq z^iWY-LGj*#BTKIN&o$m``my!YWo@9-e{yHn{;MmGJ5OYMC-I({AFVt7+1ct#cU$h& z+^;|UuD>gPr^GZ!iY5uxYwH{Q{)T8z$MVvBE^Y6`CxRioH=%EW0UPsnsh!$V+JqauZ)0U~MQQ2&yBCATpk|-8z3G$9 z?N3u_rM=Q)!|Co|(v>br(P5n-WlQRgq=QBGxBb>!)l%QmtnE#dP8-7S^gc9PZ27wK zn>uaVhYgKwW4#6Ct}>S>CC!kM$|d`@yyIJT9oiqX{SZvN8H_*F9k_6|v-QBngKO%v m)vv#{dD&=3<4b$e*5_>8yX4q=+FtR=6go?--w;l}(?0>p4diS9 diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline-retain-gids.41,42,45.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline-retain-gids.41,42,45.otf deleted file mode 100644 index c8564a5e80950956544d4aa65f72f4e63bb18305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2144 zcmd^9eQ-=y6hCjjY&I+Lkqsr-AWA9w-rM&!@g0d6R6`=jm|`XCtjPCnA|Yut^0C>? z$AK*`n3AHVriK|E9aE-L)6TThLDQ~yOnTmiX{P`7&)z%d-19r<+;h&o z=f0P`bZIh#!WK}1DIqDzI4)+?V*sTOKy_)};^b5?fDQmUiS+YQ)8=HmomC{?CK{TY zI)%&rChZge<0HH#BgdN0jA!(OGYL<%+pL-AAIJYicoJdJPKp6t8j8he36HhsI7^1) zt4;zaT%;SCV=c*tq{U={i$t1SYmQC*eB=_c%ew0PJcqOA0B|J#LSzIW-z1V4B3*F4 zks~1zm~5*v7vxOxQ1&i8`-1y>L0?WWLgZ84P(Pq*52~jHqxSVk3Tnu&y7;Hu)#20s z1V;Tpb|{NExkX;TU;CaFB6}KCoZ>V=WpCNCg?1`~yY--g$%HkuGGw0vb9;IS$G=`> zPff7qc-cl4MMx*(1vTiIE~X1!02f?=WRl3N(-)W%3>Ly$4xlKt(TwVKkXV zIXR`Wv>=Mv3{gxC6UDd`M9L_pQY8)4D@XdE(c|gm`hFt-KI`g#P}01();&*6i0KKB zf>aU|hX=`AIS}S4sO5<;9~QzQNQNbl3Tdz$(qSd6qGn}Mv$7zE8s>mvD1|ck2r8fo zT;PEQXo6hYq*^m*7kKXWKGDj$a2W? z$eNKAkQI@&ARCKp9C9Y)Xb*=RkDM7f0XY#l3v#i@#UXD(o<*KQ^2nQ!7myc`w;&&j zd>oohXlBvOp_ww8(JY`@M6(6Wv1pD%!Gr>f0*3;R0u>~nAfjMFAr^%=6iq0yC~_$B zD4J2EdPNj1D8`}~M@?gD6CsJ(-%lH&3)S}z3m-6W(BKF|s)`b=NyJP%PjX#jM`-)%M>DL5K_+MW2-}Nu>_xra^`;RT8P4_6YO|O6C z)%U0O7}6OLF?Eu{E5RnMyUydO8&-I1RY9vw`+VXn z!4UdCk?YpkyoUIK(sYr`XDeo(6lfRo_T+RYwDf?FP1w# z#vq?cH6l()%FE3EtE{`D;;BWMf98mxO diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline-retain-gids.41,42.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline-retain-gids.41,42.otf deleted file mode 100644 index 43a79ad6288d4c72faf35b5a9c915dbb672a7e97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1908 zcmd^9e{9oL5WjDK(RO9y$69fW*$t*l5c>Vu77*wcuySRr>(-VZ)2Sfa zDD8k^COQy=SWR%#5p;loh{6JdNF)$37^1{TG$AoSrrr2L>U}%Z#ee!xq?zPPM58J^ zlewC&E4u)gHo_}b1-x~z3r-N8NZ980d8H354i-aXVDTejxz9g(CJkB48Y&89> zS^}VIB%Lwf-B<_i1!RJgM7mmUz^CmiSV*>B!Yy^da3uX6a3udqWCb8!H%SbUG1LE& zEnoqr#v7>xC6dzA14H`V%=`f`n9~{tWtZo**D3ph+NqgU2YZwfU}zmBnh7*8jz$f2 z1(&AN#9bNAkd9<1%~;6#?fy}xmgh|S9T@F(vOr_;;Z4f;{mN&&U`g-LaH>xUszIe_ zsi_P-OaioEVtQ%k_khcc$|;aUW}{B6(`KnuN*pEn-_2E4Itykhu?O~|@EbFjw33&h zhmec9(sb~wvJ;Jg=3AiXp{#;z$bBfQ2kA9~WG#6pxhivY8U1tMgAjya4FsVUSeOJh zSVTI6bx;FdvLV!wEes+oht(Oc2>C(gq%-OKf0=Ry%4?ybp-N&HUDdikph1!5<} z9LiL*ei_Vxc`zR;U?F&*5}t>p@B%EO3#y_Es)hhvQW(}l12n?x@CGzP6ymUh9&{VL z4SQf89Dw)XLpTJT&;>`J8;;Xc{{p_E&*2gFDa* zDJtRz3@~a&=ML62gw~)xVjaJ##LC%hoYhqoTQAU)3b5 ztER@fNO2Ea7x}`z(0Wp4jtE)gkVgSUl+cb2bRug*mPM9BmPb}VRzy}p){d+LStoKf z;qHAHcxxh{LJw$IX zW|@X&=L{P@Vq~t_^2n%1^G4^7DR|6USTuHA@#9a7FL`pp#HS`rwy_*9h?3pmoHBLV z)6-|nbd|cxW|hxdP-HAJX8+e#XtWx$3yp=w>`=15I4N&Urpn$qos@Scb*Zl8{WHlc z$+^iP|F-G>u^BpyH?lfRrW*;62aY6T7?jUs-X~dwl*kG9Q}p!G@#9&NN@V-F~O#ZtU=z@oxWanQ4_(2^n72 z$6Dj@*1S;Xvif~Kecyx!qB*N?Z2x#OZeRVDe~UbEtw$cSTF&#!meaC3Rp?FGUP_Hl z?V6X$sk*i{I;Finfv<))V`H$PzJCAh3n@!Vw@=@Z_-ISV!%%v8uYBKpswY))xm#9s i+NaBvvbMA2Q0?8FzqB>A$J*QUeZ}%A3LA}^v*1rbezlPR diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41,42,43,45.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41,42,43,45.otf deleted file mode 100644 index 7be86edf3a299feb7dcfed069e0f115760eead78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1504 zcmZ8ddrXs86hB{Ieza9&qs@Y-6(Nz#C}UdYHf0s?!DKi}oz6|IP+A_P&=x3hI1-I%Wi8HfR33{ARLtyx{+wzeR?i}p&sdTDya zcbek>6oY(6kx^R(TVWUSH;^wg=(NRWe^)(1UV&U`z{Knc(I?2`ktZ9BRvW#H-;DSc zn$)PZRe^9LLO72ms?-{F!tlKJQI7z5Yn91jjU0q@#1m)=0IU@vqR_@~G` zF=JE!CzVnY)C4?+^k@Xci12sBBECo{;YELmd*j(sWv|YGcQ_?e^KgDVlR{bCgveC5 zxg~=4xM>72s80?_)0hXdAbuM2pUVrL!$Pd!v~qVv(flURff+1N3MQz8*I)^xK>_CU zPy-d9#WOur;h6=N!*(c%R#~wQpBCT`Qk1B;#%QePP;MgC2#J(~N~D}TG=3u0EFf`G z{=5+QJ)S8qoiP{S^NE>*MD+OTdmEk zgH^GpC{>Z3mX@wi6`OYI6zY15RcEv))>jsp%vC0{)~YLBqEJ;-CS|GAxyj2c$D`oS3orsF&f4FN2VWALoP!RmhX_ z;!aM=WnP!p?M`U+H3wSf^{&ZIy0-217Pjo0bA;}!YqL0Oc9Hna1|n_Ix$|19M=A%) zOu@3_n}76N_1z2n6gq#4W=1{dx=sz;*>PHXChvRlx;gW+y3=1?X}S5J=dad>?qmBr zrwm<$@)BNvKm+aedOY3)^U-b9{W?1Q>eJ;iNqFJpBAMP-vfr?mEG}1*xg{jQK;)N6 z7P~;prhUxLVcXwjV~c+-cfQ$E9njk?pX!@T_0`n_4{oq>R@6@q2afC=o_>lZLGna) zag0s9eTwjoW~?F_B0QRUxbmU@erI!!yQh;5r;v*>$)DjzvKu|uo4$3?gF{~5;CxG& zO;@8+lGIfs)kakQlGBa@BLnP;AJ~+8Y|_XWbM4A#=#c$zxr=W3=)=8R=VbfV_2x7b z*@K%;cF}0HLOK>amK|5JFR8BhXF20%B=>Nk-w|BPr{qsYifncz&BiEnX zlIJMfqbahlx32t3bFiq}w&j@ZY{Qv`GmS@fj~p2G{oU?i3mn&J_h>6_*O23obEx}5 z!@+?IfuN&%Pe*T;XQ(bnXJyEIrG7)e;Iug!TbgY(HFdSMcCX#jDB&U1EJo& o{r#bRq2QqNWa}5U6L#9|a=G0udt1{UM=i~2o}5G7PLE9TFDzi*XaE2J diff --git a/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41,42,43.otf b/test/subset/data/expected/layout.gpos5/gpos5_font1.notdef-outline.41,42,43.otf deleted file mode 100644 index 08935ff314d9dd988ae400913db0dc7be966cd9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1300 zcmZ8ddr*{B6hHUdhabBuXt6sDB7H#2$iygZvi2Hn1wjqNSZJ_^y0Ra;!oGJ=Fen>d z%RXc)q7WshuRjb3ri5%{#s(N8tI5&nIgas9(|?UQ6A zS3Lnh&LBTr>oB`P1ILg*fxN)Rn=N1dVZ4Lfg4|$3Vcnwg4dm&_AF(<7P3%^t2Jsx4 z%3*GDgM2?im_}1N%?@4>%X$Ixmyvh6T|R&O1JEO0MB@N3R}P@KK?;%^Rf48U?EkP1 zbU^H8zY|!DNlTVI;%5?XCCO@!Z=^^a%}X!Cu;S^&tM_G~CQIlV?196e9Jf@xI37oD zjK||&t=yATw5{%P)uFU!{sE$p{tsI6CQeG{Z%4|_po^c9>zU7y%7BqnTujOwiGl(& zWRWbwUC<{^K#T~(Dy2-RP%{kv!AhmXH7s7Ta~C`dMkr3sA^C+J1Y43OLuSM+EhRiJ zO(9Rg`#Q*3!3?BA`U;k<(&ekL0yCsurMt?6{vz<;1s@y*7dYWD*bIeGiJBD}!477O zS;37l9~8kMs7qw|F%L`2@#hFpS{faWW(n=hB(Fgx=^~jVz@W)8NxPh`*T}MlpeGbc zdd-@R0G}?d9j3~=mzT;E$lyX+CYU7f%L9_1UJnXFO7@gjR2IA3&EBI{o1fcMo6qSB z3-z4Q;yS`}re>d?clfwH&RUn(?ed!ayk#?IwA;B#Dc#3a@;=^s48=ryRzs21V6Ymt zVc(>i0Xg=qUZ>4f<*HJ%Rh;CqC6}X0^$JUQ0__sSlJ{o>+9xQ*abbB@xGwA!*4!Us z|Bt1Ns20>C8qGpfvlfR)nM+T2El&0z$Qk^u0K`cZIdFbSrww<9gTajUNPDz1>vU;J z&iuh^2gLfXFH*Mm_$gnY@pYPBW22f5KDe*bGv*wwcMa5kR`XNna^z<8=b`DVtS}zB z*f%+N{qU6e!oDBq zZ+m~Rzn6{W(MwwOU$HydEB)WJeA~?qe;AGoKkTb-;v0Db&EHP*o2ap;ZmR3Ou|e_4 zAH}?zV$Rr{Fh4s!^ik`%hHkdwm6zIH-cSXe6$^GN*jX=3rGTyOss=>o5*Dl*pNxr30d6ML20>^mR_LT6dBMf zvMlJ@0eg zf+I%?KmaYkhUCobY>8>^?mYmO6YXKn;Q|?mfDZt-(1bZMc}A7p*p7Gw?U@4Ei_)s^ z(TF^77p?boz`IVkAf8O8kz(EYca!JA(Da{qXZg1u>Zqi z5TgKvu^LFsF^e5M{6m3WL9*Rrk5ER@4W=`UabFK~eWC(m>_A+I8WJ$c!;=6OWWWKx zA9*@+`oHuqKEBOpLksz>CH_SC8-D@8W&RPG;-_1f^XF5C6d?9@aipw^NZHscxLBb} zgd4aZB-V&Ecm&eG35XHl@9=qS9#_B${1WrVE6 z58h^`;e?_-F~n|R7KA~>7G`gYbGBhFRxnzbySzaBC@4V>1}FzDRKrWK2a=%>V=6E~ z6(}&L0v+ZIkOC*5EKp^{I((XgKS&U~QjIv4@$G}>QCYf2l3rCMDP+nGl0v0HsjtOgK%Oc! zMU|SWN_`b|6E+rbP`6;GD2^Y;4~yYT7#G91Sbmt^w-N87Ej}u%|C*2P^YN%D-{y7S z9bcX=ff}glTEL_?Ui<~y6-5%N2 z+2-zu9?Z^)y>a|@F;(&PJWcl2bs4Ot_vwftH7#sc+VeYV&R36BXgw7dihgh`cmCqO z>s`1-`lcN7eKR9>PF_~b=6_GWtWW!-?(&uE?Kkfa{MqrqK7Gb9qwb>#C(Uxx&_LRq z4u>;RKY6@nSV^wG@K1_JupYOOAX0UfomHQvlPYEO?lL-3O^dJ5nN*B|N`8-emg+u8 zg_r(RX?<;=#;s~Le5h*D*4NaG-2avmQ@mkv!hP=a#MV7+cPw4a^IV@ zoaRm@ep>y&^+#{pfPJ8sT#u)(;Uu+m1S#*0W{jEKNeU9-u51F}7)LHIQyVX{+rLn!uY%-7{ zI>RWRL!9at=;6F(G7h?9s_;r%$>$sSD?%SdZ=jNRE`~A*2 z_n!OS^K9Sl0V@mu56S? zdROR1#|!{DhPb@B8+YrJfbTOia{iZ_IOITk(J{*fCQ^gO#g?Jua0l-=wz;v6`vjqfIi?Oi9 zz;>_$38|?FNXVICJ+tBm#y(4AWyC%+o8~&(6(&v37(3lpff{eh`eaBa-4v*?2P}+-O{uXo(DHHE!~5~xeWwIVmCwP#>Gs87uhWY zGxpn|W*Ku(3Kh$kU!e;tun8;JtgKfw^q0X82}r_jh(ZJ&hjrkDcGLp+H-tdNTmWL2 zOF{$egdU?Rg>`tefNzcv(bpFa_cOHFLEZodIY=C2ghS^YWKf{1WxnbZ9LZ#sqFk~D z;M0XwlT^HWZL!US49=E0z{|k553qQCH3)>XY}(>!j>h^Ey92?LvbMWUaXFnX#qEpk z@+;o{WXc~-Dw`tR(L^koP*Z;2I>j9dDebI0skHl({={o28q)1uI5Rnf-ydhT zme*KnETz>Jg@tNMX+m49)#yP@Z#i~FqvM*W&uI6qYPYn_TFL!6>HnO0$}(r2lI6La zyb4D*=PQh8!}~l4Jclo71d2pByJ)v%4`tKo%E8gW+;G+Vtt~azcienM@BQi`mB#iS zPLA}wMJqakR37rDw+_cYiA?rJkN1Ao`D5nV=x@27PF?z5(q=Lj$7fI8>N=;M-})VW zBC+A4z30BTI`qx_#Gk`=(r1olW`pCDWGR=U@Vb=FW-{5z#Pp8%3BOc$?4JgkweZN| zT3cYW=e^(oTEE9j*YwcJAhlni&3d(}J73iw*57?WFZ2DfXXNRLcrNf}@}0o`Xn#C@ za{g=Gu8Sw6socj0rk0PA=y7__b~&%t-JGS|^i$8#4r-dNI~}=mi(}NrPZ`9=>qSJwKOwyV>r{#k~0hbZ)y^sf{PT@_;G>IIq-J3ys&E zTR?pJ{ez|nF%(VxORNQT6;aPap zj*=@BsPBj+pbBjD9y-p+;hsMz$*deh*i0e^57IDE3mG^}kR-N|sNRm4@vnu0w4E9H zGFG5a#1wfEb8vY_(BUsZj2m(b*JK};WQBEXkik8%n=kl4R`86mtv6B9@8b21`s;^E J4|Y?Y{s&}IJ>dWV delta 195 zcmeAW>JXeDo|wVFz$)h+;2+E&%D~0Iz_0~~dHjR*jdIR}Ze(C!ECBKol5-Oa7_Km~ z0{JXJzDY)EV#?0PpC1GH7C^pP22eoY3)=x8`vDNEWaO4q@Ch)tFfcGhOstSMy#N$! zE66V{`9Gh*2*^GF#0m@y0SpYTKo%nqbAcfP12d2f1pntS7)^f2Bs%eGJd3}NP26S+ YMiE99);o+kK+)e5FR*UD!>q#!0QHOV diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test-retain-gids.41,42,43,45.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test-retain-gids.41,42,43,45.otf new file mode 100644 index 0000000000000000000000000000000000000000..e1ae2bc1c6afb16785c4a094dddd89a2acfaefaa GIT binary patch literal 2308 zcmd^9dr(y86+d^ET`$WDnz$rU#04dlhU(sX_ugd_A3+eK)?h@8#@4un^{mKy7g!Kl ztH8c^ERmqFf(vevQ8ZYi#?+3PMrw?WQzy3Rq~jz`(?@2~$>c%0kgKKVE_Q1AZ~x49 z=bZ0%p5J%Q`F0C7Z!Q2G>;p9zbMy0!H!~js0QDyTnn%`bEGYcTiBGQsFz=GGsi1Hv zU-oX%8IsFL-dS93t6~;2n@Kj2yv$*@mAvusS059eAd(!Um^H2)Bm8@!MUHZpd;SkK zw*XW(DCXgEo4X3~HN8}2isZJcN~de;DDZ^O5*Y!=H=mH2h}P7R zm~C3PpECgQ%Bfd1x0oy#(mVmA`PRyhX-Hc?{&nd2q-9?Nquh&%%s9PI+5fcjUr$5w zRA(HodW}Ris1$8%F(fJZ^biM1-CEiivgg9;sVS0k?(I|}*>o|@D#Z$__%S938qhQ2 z%s6}ld~658gs5trR;|?}s8n$j^Q{}_r(jbmCTfKUi=tIIrL4(=pYrc zXh1es1+a88TI8ieW3V(}PmD-d(JgsylE}nGBkbV!VAQ9%=!|MC=ara>jc_=+rVzn{-7O+DN zIAJ$bLIrTJggU*6bO^Oj1~#%GRFTaI5`y>cqaGd@OM&S&cg9~sGF2S#14Bn;(cO7oPO?V$ZfLrhp z{2BgAPw-Rt48DMIh|-VgE(463(K7Ljo=M8BtZJy)jSiP_adD=RH<@^2PD$lY?8d?d zr^{aMG_I{EuB@r5tg*T5B}~} zIOKTb1mw)fiO5OFS&+*{&WgMVd5YnY7mzn2FCs4?Z$UmAc`FJg6gU(prGSDN1rY@a z1q%wKLNkYE9?f*38OJh0RvH@P%Y%Fx{|q)>m!O}Sm^5ql0}swIBtP`sxnEA+_@aN8Ce&Z@xM0qzqa@h z-R*=Cz5aGkKa<{M{MeirH_$_U5H!l`^uiRgS*2IaK0BFgX!o`I{c~G7T7qq<{rP$6 zS9iR(En52aMValX?{s==e=5(}>X7xVcK?R9>Qfa%rIn%5Gh5#eT;0$VIZ| zWajaTFT4KU)6(bf>tQD{u8-2cE&oS@t;Y*E22QLLf zp2PbO_V)&c>qBg=#n7?4%Mo;V-JZRzE$-Ud`ntO2_U1rS`|+&l*MLRt;5briYzGcX)#IdR?j1sDv%yxVUhUt< z)OXZg7p01z8A1?Yh@5Wa;e_1pdp-0UVP%RIGpYe(sDtaI*Z4|c0&YlzN?pb|IgLZI zgn2CR^1I|Fp2-4>10RJ0LUz&n?2hnH#nWc+IdBV7M3RW1Y4BBygT$g)}HTee;Do@-1 delta 382 zcmYjLJ4?e*7(F*Humsz|;^H7xH$|F390U;p4q_WA4o)%FNQ9;hHiZraJGi)2vN$OI z0f&N}9BSPa9CVQmMf?f6xYU!)7l^;L8TfF@4$iR5%U0xO)^0wMi-FDd4@MIqGu_6^&sQo9+)&u(-ZS)#VXWyrBpC{vteA~WU^rZF?-@`SHUaFrGD*0@)L88xMq wO&dj2P(}zBb-r2H@KHmF{1gGBOQ%Zb2xlYTrLu8?tlAgL{P*zTNj^~i0me>CWdHyG diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,42.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test-retain-gids.41,42.otf similarity index 100% rename from test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,42.otf rename to test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test-retain-gids.41,42.otf diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,43,44,45,46.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test-retain-gids.41,43,44,45,46.otf similarity index 58% rename from test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,43,44,45,46.otf rename to test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test-retain-gids.41,43,44,45,46.otf index 5a0fa7dc8fecca4fee3f8621037bb7454d5fb392..3e9f1e797259200114ed23eec5bcb66cf03056fb 100644 GIT binary patch delta 312 zcmW+wF-yZ>6ucK>sM4WW6+ws&84F4WM?nO;wS~6eXf%Z&Nsaa!x|zwjrQoVRL5Pb8 z4ogr7d3?K9|BY8yrGxe);p z&>tN6b|A;npx>n5cAK_yH~tz^{}Nj+gWR|ANc~D!uCF@zseZ%0xYt=*ePMVJoU~PP zg(CGWu?|#$QtzRx-=CRIl#{xgL%5lTi2}s4RSOyXe~2VWH=>$t#f*QX&|#!ALto~V z1`Ap0EOS8%*JKBmWWi3_WKo&CS>aqDM))8P5t9d4dgpk;ghhf~>;bcHQs|#*KmAaf Ji`<#e_ya*NK|=rl delta 196 zcmaDO@WRE Z%)%JL$ijMuQ3ojcd*TJw&2N|+*Z^KqF@XR8 diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,43,44.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test-retain-gids.41,43,44.otf similarity index 67% rename from test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,43,44.otf rename to test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test-retain-gids.41,43,44.otf index 4bd60da7d50ebe150df4147c28010cf24e558ec1..ea47831bdd77367d43a98633407b6d916de8c02a 100644 GIT binary patch delta 421 zcmYk3KS)Ah6vfZ?y+4>pn3X|?95j=f2-L=YDYEU5*|2>Ql8YpiQr(QY~nUVTZq4&Qo`WRnHgy122mm}rJ%J>SD;r!KYYJteID0lW`NF#rGn delta 354 zcmZn=S|K<=yuOElfmO;qz(1Hll!1$Zfnf^}^Y{nr8|9n{-N?YeSOMfGB}(dDcKa3y^P?0TdAU!gdJAegMQO8M!4DLI;>z7#Ns<`Wc0C6DtZB zTmyho3~PXxEiW-Qm1CJ=Hc%_$4WPh+g8br=|MMA)fb0W6tiZqkRO||5F#<6c7&0(0 z1KB|Ee-4Au->1AUum^_6^SKWjmo*|c^lp%+qgdvlm e07$0-MG_hE7?K$>81fm47>a>>!_60%4A=k%!9X|w diff --git a/test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,43,45.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test-retain-gids.41,43,45.otf similarity index 65% rename from test/subset/data/expected/layout.gpos4/gpos4_multiple_anchors_1.notdef-outline-retain-gids.41,43,45.otf rename to test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test-retain-gids.41,43,45.otf index e1f14e980c4ff453428a0af7e01a24555eac0942..79206e882e19adabdbfffa0b6baeeaa32998665a 100644 GIT binary patch delta 383 zcmYLDF-yZx7`&IJp%%d^HgPCLM8TnA?a*Dt>XcTBvyC>=p-F>%L$`KvRsycB4h}_K zx;QzAI4I~Z2uN{KRM5qEt%Ji|?(VyLq&wc3I5gUQAevk+70bcr%Nrmb0qhsci@EyU z);YbTuk1ROCtR^ZpQT@^*;cg|ya&`@M83u#@u6K)5B9S)N45-4?E=a@H&c$)@=z%8 zgfl{OEys?2r#FF=vccfMYcyqef*kcFF%7U>IJz>`)2HNvpAgAN<;V2rMXxP*k0Xr? zMBS1uVo;eN3^BL}X*VS^sv%Tp!*7f}2c4Y4C|M<{I3^1$Lt!UD#OZF)C*R&7nZJmS{p%|=J5~KH_AB^x`}~-u>r_WNX|_xV9aAo z0`hHue5Z`m#FU+n@~nY;79ig&11KQyh3yEC{Q!tnGIC2Q#0yw9FfcGR0M$t3CRP+M zxCH>E7}fwWTV7&rD#tR#Y@k-g2S9-Z1^LA#|K~Fp0oezDSb>27sMrn2VgzC?Fl1n0 z2C{+R{~QLR$q$)CCtlT-$+rLWIiBCV^goeJj3V*<=~Uo!&sp82o@b z8Cf`iW*IOjLD@_Ud<-H`HZzhq3lf_Zr~+gwNG}_M!Q?4Sy6Pqj@eH{Pr3^U?B@CGi f1wc9#D3ZvK$B@jB!H~~T#83?68*aY9WWWXhzVSj= diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test-retain-gids.41,43.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test-retain-gids.41,43.otf new file mode 100644 index 0000000000000000000000000000000000000000..db066b7c839903f7b687cbff97c7188fbda4595a GIT binary patch literal 2068 zcmd^9eNa?Y6hCjjT$U9?Su8|cKnjv{-{-PwDzac|ii(zIsT(Y3MZR}YFf2KTkvUg-lCKCZ+~`o?m6f8JLjHv?mhQz z#=?aeV1V_Y26Jk9x;bs@DF9IS0BB~;n3s`xwfDD+01RQs$;h0*<(*ozkFbmIimZG` z5&Xay2wMmzyPS^f&#wJ(jqE;}l8cC8y}F}he@k<$E8kNV)}*ckP#vN*!}1+vMPQ#t zF6f}CD{$mHwf)ia$*<(AE-G|;2HpdX>;p8-02FH{OHGr;z`Ft8Ab40Z072bE^k^?J zNzkU91jIZt>;Z<@kGD0CTpl|4HZa;tN<>BczV(W}xZK+Ys0Nk71_nb& z$!7!&B$3vUX2_ocsRILqA86Vl`E-K}sDiqgM$m$h>1BH14sZbtWRpcZHt5tkZLmtE zq4-CtO|ef;gK0|E!96MR%2Z}R`BqRjp%nTJt}#F~Rm9{uJO!Yqs%TJ@l8x~=-5%lw z;~4TObuq*+kN^=Rqi8=0&pY{Bp&b6~(*?QOrgrim6f2R7WwD8ad3Uj&6m`UhkkZ z4jD~vpm%7Sth;l(e}d%QU%FVDO{33rY)kFpk30dTj zM*&5Y(2B`uL)L;Ui!6sMkF0>Kh^&OH71?BDZOB=Wqct3IJaPhZB61RPR^*bAvmtLm zo<*Kg^2iIwi^xmJTaiyj-iCq&1r`Mk1^S|Zf{22If)#~i6l^G3P-Ic$P~=ghfANBhlYd>3mZNn+!QhLvBx7v zMU9RgV~&Z98yo+`lL?7WjZ1oZ`~(Zj@q#E>lWh|xO@3y|)M+WxQ|)Q#v!9zEXNWU| z{MQj1%TMVwY^Ja@NhMF5X+vmRqr9 zgN{RUzLEKosUNI4`025#(>GdfR^O`Ix7FL_YL=OLS=A`RT76x;*IOT1(y^>~r&HfI z?w)80?u+YBFkwT^+pZ0A(yB~(bdDV9k|U1Fss0#;-}175lz+=?e`xlFRW%b^iW_mA z`wgrpEH5tJb>pNz!mrz@Z*Tl)L;L+t>E#{rUDJ_nf8yCLS=C{kA}^A)9f^AiZf*Xh zsj{W6rAglxFCQ@lU+??Vbh72Eimz++ZSU7Nw2g7+mN`qElAJh2PArpCHs>7NxNYw) zzwJAJ{AGXa-fmydvCh`r>-Maw)mOdr;)bQ8>dDb&qDD~N-ei%_r?M8U@#f8ubyd%pAEd+z(>{?zfPdkLt|nbcYuQ49mPVU1;S z*?jlBS>u*yL z!z@Hemt}+y;9Yp0p9op3NY4I$70iNuA7Wa-926uFCMPh02vkn@&>$ULk!75d25O{& nWvuwSHCl{YqC95?iF>?}ZS=@Hbje%1@`1oA(m;J(ISu~-Ee}Uy delta 205 zcmZpXen)h1cN981H%O%mU0j94+iqMfb1hc%;O)dZY7=)kQJHw$7t`HRzKfp4m1j%2}LP#K_v$(?qu1I1a2VNHtiH(J6Y-62H zl12z(8Nr`mAq2It(>_kFnAw?k-rd>p(l~p!7QTZM9G8ma&zqk<*b;DCEFa|SZ$ROYo^{5E}8W7|=J5~KH_AB^x{-l_u>{CZNX|_xVBldW z2l54ge4UKc#FU+nKR*WYZGe2U44{C(7q)sJ`wbAQWaO4qaF{T+0NDp7R>-Sg0W#VO x@{3FU&u1_Kvd;jq0s}(;0|P6N#R$Y)AUJVT8_OH()~?Mqj3SJi?=U4W0|2A(Cu;xz diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,42,43,45.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,42,43,45.otf new file mode 100644 index 0000000000000000000000000000000000000000..e39e1b9c5e5aabb61a58b848208d85507c152117 GIT binary patch literal 1576 zcmZ8edr(wm6hHUw?)9>)qUG`jBCaTn6r)7CWci2yO;Rx)rdjF+%Px;)m)!-H$C@dy zZ*~zxUw9C>dH#j`o-u$CzxYnVQCwy5Og6=k8i*-*?YBzu$S>@0{<; z%*n|FG3*8b$Wqs=k@Y4=Mgh=Y00?r{ZpzI5;pt!215j51pf)pmNm9vYxyO*}knhaX zD0Hw5b|DucU#eCr@=xEodkgvV$mMEu%$#7}K|GGKP^~eV*rkFx#6u_&jl!e@(I$k@ zkHVBHG)mD_%xic)o(T;)t-%;L1WAZTP-Fm@E5h#vmGIBTzJn`pFqju2k7^1aY!n@1 zd=+$yUIg?!ws=nAe|ReaAuK}6prwF@R7ej5kf-oAFcKL4w>ne>T%1U@BVxrLK#6W( z9@NGi-Obx?cmA~zA_I-WB>Ff~0sbqr=&(`BgHuST32FlFK~m5HVnjH(m=Q3daGK_C z^s!D;(q2x7m-tRX^YD6nHHB^Q6Cz8&9jXyS3?u+mqA->Mi<98OtYF7RrNM~4P#%Rb zCWu*#uD~h^p29nzQ5eJ~=tZ3mt*Ggs@Kel05hJ?{KcgOlAA=D=@Eis<@;50ALtiAs zKEyQ4fY}eR;1R#@5iG(C{+{?+Cg|S`O3;G=3PB5{@GLBbM94y)3d*4b6c|&14r2z8 z!wx72W*IRLj~3$VQ52J3uF+KSC?lGxfoRG?MN?K9MG#HZ3CS#pAjSu7ha;pV)8+!a zKQXq_&qdYx9UFe>vG%Th{8WLbQ=L6)U7DD@TS4ECpzFH_0oDtWR> zz8rg}YyuEr@8L70Q47Tj#WUuMWxSftt5{ww5YN#2r{es?;^)%Z&ihHLpWz1m_b>Rb z`!oF0{vTuii-q-x$HV(1l5vk@I*t=IIy@ z-RW>RqxAjT%Q}_pOf8bCTm}2pdr3lZHkn&MqSPevJW1u|E4akBxH(+Y zt6W6>H^tT$+RHpDv*BG;t+uMHtn2n=E|Oz9**;J2-oA%NvBXR6ONU3f_-iK!-JiUQ z|`7nmWKZ}`KR=9`=#1XZESas)73rCP-Ie;E9E496^S>I z6nDW%%YlI|Zuys7+)XZaVAMZ$VbFKje5BaM*1!42-feTzT(5MbSLd0%TZWq1N%?~% zI7`G-gmkNSoB#DDva+X`G~Y_~i`Fveo@4@B_cSijNOVOU(Jo7r^ z%8zmn<+Yi%9yOh=K2?3Hrg!(ifj-yWCI^>gxy0HB8*tltEQhT5aXDTnRtf(+M&5l~<=8p?6c7EsabsXH^>D%Y?c3X!U fJ}@0Ovv!-!Znv2mYxh_xST6Ve8SLBYkcR&a{=?{C literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,42,43.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,42,43.otf new file mode 100644 index 0000000000000000000000000000000000000000..a328c7ed8bf03a738a1197197512a21017e86254 GIT binary patch literal 1360 zcmZ8eeN0|aiBqH5;%AmgLZXR(m^sl0yPNggmMD5}&hP$y=bZa- z&do0>$_Fi+02PSYxw+zxQ=U8kZW1k+w=chN{@^d$0mv)>xbq7)87n{EKZ@Fpx}?-$ zaf2R?qE@5Mv`ZH2$Me6>qs~HYvZG_o0{=4dIkbE24sVU{5Lb+R3{C5>)VM*t4=D_x z@lK0F(kvxEjdwqcy4mfLz2UdPh4MkjhzXgI=eMe?FzB@%#`8Fb9D zT`-_|4AAqR!8E~h*s90#MO@W5na&P}5zXOncyf7PG#fg07L**0d;AX|nroN=b?Kug z*!n}sUwa`T+@UsdAEHzN$GkYWm>CiT4d}@NS%6z$jI4kh8HTmIir45kj&+jV@y{^l zY~KM-fElu*bugUUM(|0jGE`=q(LGv7hD;!p7OxWo)+y{uIC2{CO0pMy(L91NKEefz z8gUna`>=KnjYnPsXA!N?jmRw<{tvQQ_z979i|M_rYw8%(36Q$XIf#Y$Wv*J`SFhk2 z%wWA?d-;g}8IZsOG8_RHIN<@<2w6~oJ{wd+C0H7a@tXkR;N|p{bHcqnfVOtCIVn)9;U>e${$__ZLv5D{d&w5RF+`M$v3_y&#E&wX#=o$l@+%smtSb zc`RPZx=}P&R*D5IT^0)@S@Il3XXJS{(`K8=WHW8Scat^_)c9`Q8bg{kO&gn{6&a*3 zNY%!ALQCl(+7eQ7-kb{2?hvnxglJ>el->mGZP;{ z16Fo7sM%k(LYNeh17k}GhCo}u=SysCZwxjkpUTZiojr8rfKvX+c`9@r>yTTkU!w8F zcB*fZe0!R!hMfcDuHNzwiofw+YQG-*w*SIcLTJQ)zI(jyYRQD<+@3G#gPv{g9h>-Q zy6KA>J-;>I^o_piAGdc?5};g=!g0YD@cRRao}oikrzK(W{yUouy2Z4m4F+3#+3WTO znpsgu*O$>mJ589P*-DB<$vUX4Q%*jq#96hU$ND>YOAXHZd_Ip6#ld@ z7(ClBxO|mBd+BY%#Tg~z$~fhQwrr*Qsb(nSjPqva&s~i@zMd{&F`ZsC=zd-N({Q=x z)4I>vgn@Sg?F0A7U-p8q literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,42.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,42.otf similarity index 100% rename from test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,42.otf rename to test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,42.otf diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,43,44,45,46.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,43,44,45,46.otf similarity index 60% rename from test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,43,44,45,46.otf rename to test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,43,44,45,46.otf index 3f2ce12742e665f01024686a1f811dbe8e513abb..21b19831c95a4bc498809b8b690b2844362d37e8 100644 GIT binary patch delta 297 zcmW+vze@sP7=FI%>$pNPBq#{3h8qJx!bxa!(*tdZ29Gpu@E7KW}ds_YR#kARn@JzOcGj(`(lNynG>^w0hF$?<}w*KD*@I7W(o zN}K{Vp!Z(~^8WG1_KV^`bRam{g^4qWs-x;KAlV=cqlr+JmSV?$BS`3x8q7IvX|NEZ tkFgi1V?r)tMBcp3C5viOkEjV^hHvr*zR2&0e^TDC;vqq7`?uPY{0By!JM91f delta 165 zcmbQjKY?$8cwzz6_k!{B^iie~0Ltc?Rj$66?>Rs`0@yEC z7mBTijSI3%u5a(!E^6qJRr0dav>R8$&mnn*Y&tabFRf4gJaF>!iSKL$kn7|_x6}2) zQxvIhm@|L{@Rh`qDE!6X{y+^*u0MQBOe^)DlJAJUzTj>OSri~zw%0~7x&guv(L{L7 zu1Ak5P8C|*ljK!iNz5Wmou)6)#u;k^$E;CE?&|C*<{jQxZ}A%Y5(;O4wulm?P{(K+ n$c?nb1g1t>`RA)Jd|hUQ;pgStq=_x;pu=xHECH82SyO%i16)6Y delta 293 zcmZ3(bA@|?cwh|!19O;rfPXN9C<7M*1H%Cz=J5~KH_AB^x{-l_5h%})ker)Xz!1Rz zWHSl?`6d~ui77iDO#1BkvA zU$Ja*3}dM=0|Og_9|JQ3BMT=`rvZZ!l+DDz#~=b_Gb4$!Fc?g3U=n9Em^_0?SKWjm qo*|c^lp%+qgdvlm07$0-MG_hE7?K$>81fm47>a>>!_8NiBA5Z1SUH;j diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,43,45.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,43,45.otf new file mode 100644 index 0000000000000000000000000000000000000000..69b2e4635e2827c9cee91143be57287ab0500ffc GIT binary patch literal 1568 zcmZ8edrXs86hHUt!;ex$H_IQ2*r6nn5oO)1aq}?-=wvDmL~(9v2c_jvTG|5T(akB) zH!Xq)RIp(8hXTVXIGjd}GKX$vM)z=waU>?&vMh^Jwhz3z?tFzr+;?-%{r!ID+YIZA%(no7^z~aZvhJPw-2gyt1As9jYnh_>>+F-rEy(xe z>Qn~U4mXgmLcU6?R^^?!_wXKaA#$Y_h1p}`4-t=|E!OJH7WNe;2k`)!M5nSCK)3}V z^rDGNR64b2BKB>pzY%%8L2ojLj(`I3MKn18=HktwJ0x*(p(;SbFLXGZH%X>@0uV8b z!U%r~x zl41BsKGSh>>KkeBI#x)Vd>8LW*OCxlEn*m1GOo!p5{QLFAjK+k3HHU`1enF&M$BrH z8MVngf-!LzvlvxCH2N5P6R#7e!kMUPpbUyZg)t2nFlGWJ z?1ubsmKpP~v=I9yM4VTq(^c{)J%&_646%_IVrS3f5A*mZSW@M)54VA_Mjn*t*lA9n`Bqb^2$$9$s z)$*)LlUc1Z$v2eb>Wv1yQDs)=EtMx17t1sGbdx+&ZBiS{Q4F`IQ7+dgS7?+gv2WsF zK!|-u&Xz5fESAiAK_cf}9PbuMW*LJM@j+?}a;dGCg0v+l=K6z=F9&Z0(}OeqA7h`! zB6=jFkv&rBs82c*9}zJ;H|%Bjvgbj>;JEA%B3l_LGiP8TTIP1Roz8i+o?2ghZ2P*@ zxRG5qcW{MYo~3MaMT5y+_5q!nqovY1wR2N_XTygrd%XQc9xBXTBzj>pprvdBNj|B+p5yIS*=gYD{ed%6~y3N7j~wUQ>Rp$Qh6?9D%IJJi?7 zt^AIQzstq-4F^Xq_Xmzzj}`jOy0}c+Ro2;GkIT_*J8JK4JzsUC^SsY*Yu(q>-s0-6@Utl^ zWS#=A)~B^wY}IwOma?*n@^Y)&>Z);X`=a1V$Ire%`{9Effdc`5mwllAQ_CqU>vTAr XPKULjW}mH`<+2~2#lGz>StP)Ju3YJ0 literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,43.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.layout-test.41,43.otf new file mode 100644 index 0000000000000000000000000000000000000000..d533fa07240b9649e6e3b327fe6929bb387f2456 GIT binary patch literal 1348 zcmZ8fdrVtZ82`>~d%1lKHl_T*I=ll(AQFak>*6Du6~^3jV**p=W24ebJD?BRA}~Q` zcnsPysv-(F2Cn`w0U-`>W=k-mnKFbz zO_>ving6l;pWToWJ*qTvr;sY}Tk*xIBP0YW(2)hQ05`!H^MDu;POae;yh_V)N-Sr0 z+*#&=$F{+vOi6qmX6Lt(DAT8oAT#5R_h=vua_|ST_?#f%B)G6Drr0NWeHe?^5zO&1 zEMPVZQqUUk4OpCj6?)OeH+vBRbMSMF$7kVTH+wau8e=JtzKl6YgydzcSP@sQz$&a@ zZ^C-{So~>_zyn@52rh8K{g4ZJP>eAf)IkkcFlPfd=Dc8n15g>O@?jlbtwgPa@YXtq zqmiMV2J$i($Pr>79ULBofwU^=8l56-2)YA-xYZ@B1Nd-Z)iC96o?qIoLI#sb1}I_R ztGk#zy#|zo6zq7iDBtC7^c=L=ePUKcwrI@DGm2)b>qSW{Y4rLehgaO;tZ;eUE|0}0 zS#w2mO^sO0%DrN-S%xgz3_ z<{Yka4OD$p_Fdq7*VWMXLubDc!sCH6y;Fmi%cm`;cYRGC@N9j*e){9twlA;u{n38I zKk-Ij%HB&!ka8gkhXj8x5D2DvM)%hqlZ3_lZg0|S7c-W!^tP_bx9lx6r@Dl$tE8!R znsScj%j+$2-V5?t`SmB{Blfq{nLj3sgg$5)S-wi3 z1N4@DCL(8Fnxfq3<}GwDRgGq!bl&LxrKh#e-`687X3`nG_V>lV^%wd+Z~CHB7=AC< zHGGe^szIugOf-87&2FIP?#k&SZ;uVi4}L3WUX|0wBH_8&@u3sVC#yS!w&$O1d2Ve% b*W>-$4plS{luf=VEShd_z*#y1dM&`eDdDb&qDD~N-ei%_r?M8U@#f8ubyd%pAEd+z(>{?zfPdkLt|nbcYuQ49mPVU1;S z*?jlBS>u*yL z!z@Hemt}+y;9Yp0p9op3NY4I$70iNuA7Wa-926uFCMPh02vkn@&>$ULk!75d25O{& nWvuwSHCl{YqC95?iF>?}ZS=@Hbje%1@`1oA(m;J(ISu~-Ee}Uy delta 205 zcmZpXen)h1cN981H%O%mU0j94+iqMfb1hc%;O)dZVlF;Vszho``)sNA6Y@HT7!xhjjfTwdRCOr1zZqX ztH6Hou_%7P3NE;9$DqX+HKwNKLu%C4(TUSE$vBCVOs1V_CzB772YFh0-fB{(|Mt(^ zJLlZr@0@erJ@=fuo4a;xE*M}JXu+J7lViS_@dyBDJpj5#m#)gq0~2`xPLmjO^XBo} z|B`YuV!#rcZ-<=eY$62yC00miCHMlVZQ#y7nA0H1B{v@Kz;hjUF!Pb z=6^p2$zyGCyyg|6TF|K0*kFjM*%%=XEVSxrWyqfeOUA~CJMOP)&iYs-9k5vSf+l{5 z34sob%rG+y-vJ+6fiNMekU_82>k>2?wUX)yKMY6q;wA8``sI7~QuXac%$Ry!{17n* zO?BwuIW@buc-o%~Y4@=P5@FJPtbM>9_W;&WgnCbPuRdm92TrI2H*AG6CHK(=T7&OJt%8afh@+RnF#4kEl9E~#El*)~ zLJH$$QW&3xM4Q4i#winw+UXH!4+igP;3m8WAHXg67(Ri|;2-c$_#D23 zVUX!T-(`T&GI}PSF)~S6W#zS%ThUczo?Vz><}DW9>?kVxh0~l@>#lN^xXsH-3(G3Y z%PI@1oJDiZj_upcYt(SJd5zQUtgInptWd}yj{;gzLb>;w4s=Zq8%j*N*qc&N&-q&lqg>b zB^yeaDA}oLj6WN4sQu&Ecte75d}7i=6CR#8$&~!a{jNZ8zy%}8|9rwRJ_P@UP0mJQt0i*GD$T*(f zWc<*im^RTvod`Phb^2h8S*tN>CY&BkHnsR$0)Z)wt&O4P>D@WmX_q&>yFo5~=e)vp z?r3xSs(-0WTJKVfP0ql|=86-geZ^(r;#2G23tnpdDD=0;>o?fwVDS8bGrc!ApDj4I z^132aF8a-mv#(xky7ooam(5=VPVNn!aUD>Y7DW?MppFf+1cNP8Dvxif=y9?mPu>+x z2_rK{XPdBf%YN4$WzM!dW!e^Hic3j;Tgj4B3uMdB<*9PV3OT9hgKfU2yDCE1;Qlq% zm(^BO^nP(wPL}mO>_F(HJp=cTVwJFR$MnXKobm1%MRVM?P{~(x$1{$Ve%1c>&c?1l zS0_7?uDoGN_vQZg1Q86L&azU8d<;E7(@{#QBu zBRTEFQ1tS}!N}2uW83^})6ZVmvvF#6>rc9u)D<>_*Pq_Uj!1Xs(Or^8lS~`J8>7#6 zC=2?xDf@2CxwdF$`@j5bM`v4m`;17WHyl2^Z+ZLjrj_2}-T8$L%c>UqA^%9>At3J8EhgS{j1&E$jZY^-|Brp-A`P{XLPrk#L{ybo0xeR~p!W c-yaD08`|o3duv!Z|IT^J+ZQw?(EsCq09WQjGynhq diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,43,44.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,43,44.otf deleted file mode 100644 index 21255770f16c31179283e70c6df68a29893c9070..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2192 zcmd^8dvH@_7C$#>LYf8;Bwa0~hSDls5pwU%y-5+l(zJ>!Rw!r{#b#-G+R`*_la?0C ztIsrP+O*9AZJ|&boxzqxu|*vmA5ewGb$sAsT^VF_nRUh)$4B+HT(F)S*p=CT_fO9^ z=kYt|eBXEOch1dOzdi@_unW{+%FNC-t=hTa5dgIpK$CFaLpix%q$t1$u^}gS30L~} z4KDyNHH7mwyBy_AGGidTjPTMTr=#GNuYUZBa13Fwh#WVKYfqAWkvOHu<*k|hhPn|z zl}|adU5=V^$a;uEFifm1bGV$E$)vRu`v>9Xa<|7jbr3kR-yk*tP;M4k46#1Cs8q6v zruIkku7MjR<;ISYcSm>Mm|>54D6hCTFaODz%YFhzb6!cPOMQNqqW_uy z%YzU<)gHsCUL>dnmEw&OLrAH{05Pzbw3akO@eHs}O%cw3%&1ms*3yc4z)o5fJH~`S z0|sWC8HdZjMKzF37KQa%wN?|SQYkN~-0)w@u&>O5dzBlmeU~CHu3)B=dt%23WzbSc z3lA#Q#l+J7cu2l(t6&Dqxo)d(@WYbZncPGzq)>VFuVPzfF=1~-%eOW$gSb>u^+ zf>Ll$456H29uVP4D2!%#DG#Er9xdnhEB^Bail!N)cEr$>FpRdK%H^t6tOpXAry!AO zVGvTpZ~|U~H(?A;!&!J2-iLGW348|U;S2Z@F2UFE4SWmV!#GGZ z%vTv;)QpyiWel0_^4iK`Eb^KbZca0CW;18XC~*JTY09njc%3efX;s-~cV)S|(&2R$ zEH-77mYUWn=^oQMr^i`YP0r{uA&VUHXh8u*w4x2uku@XBBFiDmBWpocKvqQ7imVOU zbmYv)(H;&t9ytqg0&*g9R^)8Rr6X@fo<*LHZ$;jQd^%dpXkpR9p@nX= zphZB7h!!haY-mYG!Hfcn0*3;R0u>~nAfjMJ!G=OQie?m96gd=m6fG!Hy&{TM6m8TX zrZp3?sPofwvHCc}^cgd6nl=08ImY-u+;VHe+{AfFx0&WAFGxwf{f>ocf4pz~4R`%*Yt$jE}pQ4}f|I&QDi4K{sPu7!Ipr270nM{qy zEfLAS?_@;Y6VXaXBUesE&P5)GO#9!M?zdR%kp5!akil>s7a?=8a6o8{1mj{QiW-U}LB`sW;o6d}h;!k4hz{PsqCP)^?AtYKJ^0uShmD zIsI#zD~^;6l(_p!j^%w4csqC@^y#5j-`7Qs22Si5?LU`)-0||7_hi0u#WP!vzjUhU z-S2w7Z~npmd{Ye|J`jm$V0T zL!svyhOS?wll$Z=#@ENBv=2vR)v$HByg}9sryVZ)q2u4-#vXr9ST~U>ziy2CcH(E_ z*`B}Ez0;~2c)Be(aGR&3##!YQ<+SB;T8*61QFy#%?~#5f{bMQhf|Pt@EOO@5(L;mV z4{vGJH9h`V!^XMx;QhT>+ct0S%Nyy|O^8>Q7~`bTNt==1n|w#3;P>vX2v>!xyS@9i zb~bc3hMOIAr4`ldN^K)@(!Yu$^@C46+jc3~)cnCKy3@y+B~8Oyt%ExT>IWJQ*7nx* zHFni^)VH^XXmuX{qWVkUrKW@1y0`mwhj(@FXw&Vy0>)r#(BJOg+p^CeZg{44pR?0F zn38{&Z0K9iyHYZJe&M;{f!5Kk{+9ms{av~tDbE<(SiiBP&{ZtH(=f8@)JIa{2i|U9 ZcT-nWu(YEz=+a5KS3=YeU%(g#@GE%DM=<~Z diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,43,45.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline-retain-gids.41,43,45.otf deleted file mode 100644 index 25c803f3b8dd506309591446ed71aece8338c771..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2200 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 Qrb>p*UK~f=W}77NUwJ;;Y5)KL diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,42,43.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,42,43.otf deleted file mode 100644 index a21985f0e6a871a5f847019afcc146ce6f9f9766..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1260 zcmZ8dZBSHY6h80W5AW_?0gL4aB3(dcU}BWET&Hrh4TQ9Gjl~Abl#RXY3M{+qE(!)^ z!}snYTOoxcv32`lKrjVlqcb|d7@19t_USmrj6eF*G-lLYe6{V|3o|jk@0@d==Q-!x zbIxlmEwzFkj)4mJf}$e+*J)od0J9%0QoP4%10zNOE}(H%+eTB(<-OwoB!IlU!fp2g z2Zxa-Axh3xTkmoQ8ra8}GQ<;Tdbhp73+g=xVFXQE zYj+Ep#q{T~{(I!@UXMQze;-VUFQf4Qn5zcRTqk);7gd6$S1#ZV%89?H)GU#e9&>fG zD9p)!fT-q4rTV@M)KrSjVJ{woYP@onf_NOgB_5AoSgw;*w9;!ia|aW*{0&5N9TjNG z9zQ03ua*D18&cxO)h6aMq$*%!6%V7EB@xg7M;6Ee+yRsF1;mIjtk^mcd(EKsnthwSIK5gbY044DP5e6+Az-a@Uz`V`1q#tbAt@-kMf(A6uj1~cSY zJO1GVr7Y=C?yLCp#EPy=?1Il+rDKbYYlR4Q2k%){1dd^tk2j(WGd zQARt{$g7Y>I!GGnWYAP;q*YDVaH{kn=m~|EJhy5cz$Xi1Dgzf zen9r;)_{hP!X3|9OA0*RM&BW)E5PSe+#tG zf@1@3sj1;h$fOK?5M@UU=O6{FvPUiGa)0j~g{IKoZ#WBb4n{&S3?|06*-#OpS zUcWvYWKattP-d-IpsJU8&wKT7T?%1VqCF(@tRTcq{rNZ z0TeC?Ux0{YVZ8dO4Aew%U4eJaz@QXQ3TRM+CKf}khOAgDb}n}IakbC`+P<5irCY`? z`Wq;T&_7hC9j_J6AM^iR3yHA?aVGr4BFB2(iQmK4?s(})wWJ`qwLVH(E4q(@lv zgf4ypOE5#|Rj8H5^^L%R1*}jECMboMVHRXS4r)3m2Los^rh_t!SwRI`peUYY!#uoN zj4w!0(!z41u}VOzlc*h#MAcJCl$%BqB~cDBnWzvYAB0AqZ`3QsOa=I8aBPG~A6yt- zDM1D&$0tFq0KR`l@Mk81grYR7-pJ0$GL=iXAy~inYtE@K8 zXjQH%EihTiOct$;E1acN8w|=EA>FFX;jEmc0>yZHI@LU#YQ9dj0Q;sqG>EZp`2;pq zmMR-JO{NrFir}Wp##y4nX;D%itb1X{^ZR`8A-}%M8)<0eMy~mqiFsYPV6o+O?pS^P9DpYbj~g>QPDA7A*xR`;u|=Af>|x?5Lm zsxq59?p@{+dFg(pD|p1-_2?>ww389`>;RvBy_eA4^B0p1MADspxb%MGZ(&EPw>8WR zrIE9&{Ewl3*vqY-S6}fkkq`WV$n(~cO0Jw!k@UqRy^^RKi~8#K9_`>?`G!xs#itw{ zh+gVHcCfSN@Kz7weCKWZrYV}hYi-N77u2-p^@Nxq)x+7WobMf8z|Ps5@`7WY*S6an zE)Q3PY%SZG>>)?krL8uYD{>4AdPwrG#nHOX9UuDd2Ar;Ir76Y`_!nHhA~ew|K+$LsczY zlc_T`|0SYmpWe2NSN?SCNO#23+uTv#(Xg+X>EiR)z^1xQB}K+!)fIbBZU5JN(luMi Z9db511BOOJz{v2qBSHKhZXYWL_z(UG-)H~; diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,43,45.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,43,45.otf deleted file mode 100644 index e7aa903eae826bc6ed9f348b7b939ffe3bf742d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1464 zcmZ8edrVVj6hHU&;iXiOjq-;gR+L0Cf{e`)Hy>kw4;L5p}=qo4u?^rjG@!aX!eY8CN9}OW^szU;HT@(EhMsiC+B>>-+6rJoO?5} zvok;hhkystAK1e`(162xuxqJY@T`G1?&`Y6;0)itW#^dh})Xb5E7IT9p z&@sim0A9h{f$INeaPOf$O)rc)5VG+pP=dQ$LVfh;M|mj20qRmyi~GA zv_`aKl}O5&D9)@FEz$aBqkY8WV^cb=_(;1?$PW9SU-jMbrTG^9KgPU_1r3Pq2M>tF z_g&(}xJ1xISinkfvsXbtx>;wg{Dg$%s))EzVNGwU7%KA?Yuv?Wa(}cb zrGHP}&~Ev>`rKDn8*e`9{Hy7)_4HBOsH&Y%c0#)d)G}7P&1PSw9o%2hqhMxUd$C>; zJhOUstwiZ4Jf=EAVoS2fibAqXMZ&L;WOkLDjsJ*U&bI7iLkfN=F~8MW;ZhoPpDF7# zH5C=TkFK-ftgwd}aGg3bFyD$HZt`4mX@ZTpJxb`o#LXm!2nJ(LmOXa<(bmvu?QCOa zqRAym@Sih(ORjfbtN+fzc>C=R?@C>k5$ZUut&%MvLw}ou#FCndW zV{dM$b3U{%Ep5$C=Sq*K*X{0ZO>?F-rkjcn=j0oA=r?_x)0f|2$UAK~UprPiR(I;q z(D4DslNKABX}ZQ(hnr9={iYM<{*H^aeZ3c5Zd1qM)~fY%tX| zHW(@^tE;MvcB8G{zUP~w$)4X_p04g=J)WZ;x7R$<^rhjfk+E7VR;$I>Tz}Y9#jrWg M$8m16O%e?7FR~uoYXATM diff --git a/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,43.otf b/test/subset/data/expected/layout.gpos6/gpos6_font1.notdef-outline.41,43.otf deleted file mode 100644 index b493c293e9f014b16285c2721de91c0b43558b87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1256 zcmZ8fZBSHY6h80W-OJq%L5t-Fu5<;NVJAmv%XKnG-9SuB*8mIqP&T;i3hW2FOM*e! z@Vy_h6;UfmkhdQO1XDmZIzuBnM)o;6eU3TI_@jO_jT&`XUu`>gVT^j;Ip;jjInR0T zdEdF#(o!pE;3z17FDNSFe>lqe??p4aQYikIHnBoI2z})HF!X=7aX;?<){NC`T@rrfcka{Q_M?>&%_IHoi)A0k!YSqqC%$4CTJpd)i+4sL=e838dOe0>e8U{zX% zQKDS_#+_v;e0V!-lP6iYkL+i+l7u{;I)==GTV5>ek#D0^V}Ax@FJcB#A$<`mmgJR7 zunHCOta2}#%s&AFc)rXQPaE8ORG@ARWX&IvF&DfwU^=3Y{Wr0J?+01+Pn41@QjdvO&t;JRjeoLI&e$ z1}KriS9i(&^a@ZCQn>RmYk}L-=sje2`1!mFBX7#jH}RHA_j3YY(&+OGP9MM1RpIt} z++Less9eWeYHRsoS?=SD1)t!39+S!G?B)%2^G2MRbm4!1Gi#UUXmT{Et2MmrvNfq* zF`g^Z4pAz6^PEU~MOGRWZ%vDr#9d;_|7+a8HT95YRy(BA%|>*~aCCJnJ?Zs$pSwZH z;3IWHf|Qc|`)hi?ck8={CqJ5Q`|?`! zdi#yQ*sH+_M=vEI%0ws};R2yxFqG*XK2Uc;;O6hWy+N;?&xz;h?cu7|9W8WiO$l99 zMKc{V;~XuJR@r7o-e{J;4n{-fJ0J z{1iv~=q>$JOfp`apv>^bEp#7M4I59nZgl_B(;5v#d${>rI;GeCKL3~gLiDqy&%3z6 zcS7O8dwkUmLcL(7#x2y?KrP)>lO1o2^h*zZE9G91vPWX#%=GBM$>vivU0mBUPqjR~ dvM~I}@$E+{n)}MeU*qP@x7XucI)i#Gz(2YRb+!Ni diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.layout-test-retain-gids.30,31,32,33.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.layout-test-retain-gids.30,31,32,33.otf new file mode 100644 index 0000000000000000000000000000000000000000..445f567685f2d09d982dd4031cc32efb49214371 GIT binary patch literal 2400 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 V^+rn-$>xj>W8GF86@&j8e*x)Rj_?2g literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.notdef-outline.41,42,43.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.layout-test.41,42,43.otf similarity index 100% rename from test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.notdef-outline.41,42,43.otf rename to test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.layout-test.41,42,43.otf diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.layout-test.retain-all-codepoint.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.layout-test.retain-all-codepoint.otf new file mode 100644 index 0000000000000000000000000000000000000000..f1d3e4326ec558aeb79271c59d8ed2deba40655a GIT binary patch literal 4012 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 E1Jn$Fa%ot@d~&TOkYS9mSBU0lp8qqf%>ZNmws7 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 Tdkx9uPEBCn4ks0le~rHZiL!?E diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.layout-test-retain-gids.30,31,32,33.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.layout-test-retain-gids.30,31,32,33.otf new file mode 100644 index 0000000000000000000000000000000000000000..77f9ce01d47bd1a53ff1256317e49ffe2b32c864 GIT binary patch literal 2420 zcmdT@eNaO9;-7RVg)}9CkR7=ek0^YL<5_Pk{)0Yibe4cu=pW9;vpOf5klXDTuGRJ329Ls zGN1~iM>TK@yWpIB;4rF3)kp(AjB3GWK*gvOl><`&al*uKW5q}pjxz#N3-MZD48Xh$ zc|yK6oOc5DMd6ncF8}{i3H7gva9I&>M+6}$tJmq81#~EZXhjKxl}I3LBADU?!W_Y` zlZg{YklSuw)v~C^5PI|8no(Zzh8LrgT8XB70PMIt=yUXi8(?2*e_S)|zCZ}iT7cO2}y!QT$o3}pw{D8i;xvm12 z8x=cBQxsHM8l}iC)4!}$6f_%*TAe|0u%=XBSF5kn7`0`)6xr3)ihLp5pvc!6v~>+Y zhCc@@F@Jcj52n&E1vwO^XiTXv zrN&e`rZO; zU{xko?ZN6atcIsU5DbM>(C#QQS{fr;6C1a7-TDpj@{N!D;?Yf;6CO+4qIf)M>$c?W zPwYr}@~PCFyLP83DO#m|IxFYkcIkF$?Eg5Dq}!yiNz!C#>{h8lP>)Mv>q1M(A>JC| zasuy$_}-9&n+z>q4&4eJ3Pt_5kNl4>dR%%ZW?Uw_o1!CCvzHf790}^)ZM{(S zca|If+lK-FAk*)5IGiATOn~WyjP_+-9>X12N|8JGDlcCJ+O4_da?Y?^wS}u>xvI`L zHFom}lKcFp6o~w0DN4S7=f2&~K3R3Vtc)pewtCEc=FiHwjlu6y4MGVzae6b+O26M4NnW@c%l+`%|lc9Yp@_H-xq z=jJ56cl_fbuJYOfPx>2O23vgxAAhu*mszyz;qH@f)Qnc@gO$@qKeb8#cXsGj$(&~X@P|BIm-TAn+*_9|H~!K0efJOSRF8eOyq727d=HOWNY-JuJ2ur# z96vdzCGS7=lNvfRyOb%X&m=uzRXQxm)tNJV;x`o` z(^%_kj&Gfo?vE~z*QUF<$gV5QSjVVov}?Gzzb$C)F}Y1Hmj}c<_f^B!wr?%NExvZ! zX@94$!$F=}MsnyI>tfGX1FXO6)#iZKs~_7|vXhquxAyPn6o2~i+{7p|+cRVxat-v5 z+iLnZ48nJGUUz*ce$tB z)?{t9n49YB8ygzh9qslu$4gf#t`2_X8R;K*WpJctBsglD>HdAw`F4_J;FU1#t~Qgk Rf#eF87ocvNT^@tbzX9-B+P44z literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.notdef-outline-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.layout-test-retain-gids.41,42,43.otf similarity index 100% rename from test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.notdef-outline-retain-gids.41,42,43.otf rename to test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.layout-test-retain-gids.41,42,43.otf diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.layout-test-retain-gids.retain-all-codepoint.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.layout-test-retain-gids.retain-all-codepoint.otf new file mode 100644 index 0000000000000000000000000000000000000000..7d4dea0b2a46da778b7bd83532b10c201c34ae8e GIT binary patch literal 4044 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 S<&FZ5U)FaL<91ew!r|X;kcor< literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.layout-test.30,31,32,33.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.layout-test.30,31,32,33.otf new file mode 100644 index 0000000000000000000000000000000000000000..e57101a17ca6f18bdd6a4aa0a912c076170ad69d GIT binary patch literal 1948 zcmZ8h3rtgI6h615^-?-?>UEhi?C>$&P#Ngv=A5F8MKgy1QJIO*L8U-Tu`SO6Vrgmb z?VEO3C_<6CEaHPHG8}5QDL!J1b6d7-Gn+FrSr(V<;c~@`Vdrn%=JubS^Plhg&$<6O z=iW4D%a$CFK?{gMu|7LnF_txB3_vUgh;zNZIVbOj@K5&vs7nCA<>W0(*NoF7MActLu;}EB+RmzeNYt%I2G{i5ck(hQ@x(EH6sPolYV;#L*Y(akrRjyUmRe@wP zx^Ng(TB+2k5@yf)20*k0@o<&SV4UoQbo4($RRCbD1b;WE)V~Gmj;_h>Xj}|DYAJyD z^GIAGS7o+|#ULUqE>Zk>%8S*@sk_u&xDV;k9neP)k7ZJ^RFWVP zkx7y}{#lt>>t2JkkOmpCK8U@!hQg9aXNWRUVmUHMhE$+5N@FF^*a0q#idJk?8H~u0 zI0|dZ0_j6UBg%$FQHjlRI!2K0NgSC<%#URfpRlp%Q230P&P0}EMDN5~r0^!mjf+Pv z8&V$nB1nXp4}I|?eB2|x1S81YNUk)>Zv_?T!2o5TgGzWFmf|dOkt>C2(0~%pN}&qR z3{VKgphl()`#Xx=V-E-4@Tq9|!ewN_hCyp2he z36dxql|bsD^(j6i;5R3($mt?6`3Wvw^fR~dV^7=H7GVz7VGp?I=#}U zDp{(?)MymBB;26LRT)(J8YH9jl`dady8NZm6=|g_NbM9W1_{=lFpZhLP_|H(m?E1` z%mP{BJeh)+r)7!y$oPVYV2kis!A~MWM?}gWi%gu0d>+{tnezWL`roto0ol!j0lEC9 zSN<5b6MueY)H2xP446XR{9YKKUZuuFtT*NVD4le z61YZ1bE5>&F)}PNBjl zRG{@JKX$u@I9_Ar%Q?QH<*3qO*+uhTKUj>BKaNjf)-74R?6qerc9xW|c`lRJ(rNjs zgr61q?H#s|E#!(~`OXm+3hnbboZh)Ze(T3dJI&fTc8-UiW9OfIi=V-|?Jm}3^|gA; z9BsAQZML~AM;0wKOr$b_PG4sr80sH9+ub*M<;>+Xm)}cq3L=|8EjJ5KG#B*J_mTx2 zlQ1+si*d3}j+wPe`p|F(62dIJN&^p>(yU7e{1`l8*F!+ zRCfpz-tQHlf##eJhjX_6@Xp=)RrI~*9<0F0oE%@tWb8|M#?`jNL+RYxb z+wDd14S!#A%YNJ1+u(1q?+vv0o1OHY31Dz;oSWNc3vz+hgY`j`PuD-cXo(;X&Ffmn zE57~i(BVGzWP6XT$KBmd5AfR=*ADZJ@?F}p7p}ApwVeBcPr7dO+x^ydt4rh2xU@8% zH{oRx?oAz^$`pilM7H^a)dwmB|BckEYfPRyEbR-BuP_|$35B}-8$BDXn{4Ig{Nkn! z#?>F@_ZA213I^*=HHS?El^y?&^MLf4Dsy>a!2E gys2!U2G6-Ybja@8*1W2m6<> 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 S<&FZ5U)FaL<91ew!r|X;kcor< literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.notdef-outline-retain-gids.30,31,32,33.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.notdef-outline-retain-gids.30,31,32,33.otf deleted file mode 100644 index c85e30b392d93a8a0710f332efe7db6940de8704..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2292 zcmdT?dr(tX8b3GTaS0K$8oO1BDT>t=mE3#7qpnL)N=G{`U63m4jF3V+;Smx^ct6CD zklegOQVfJgkhHTawy+2k%hp*dYHi1$Fa%ot@d~&TOkYS9`rGozLOA7G?_ zo#<#3GRz6yk@DnU{u2?gcOi;8(x{X;DsSdSR}kC7DW~Uz80jHqK;@_sX~0trd4giNrE;W=<{81GhkP}74B&Yc>V$fAwC*IVi=wX+ZU6t% z2>q{$@N6;gdk7+~s!^+L70{s+q8+6WRw9M4i9p3EggJ&^Cl#lLk;ma!wbJ+}5qj&v znlV1^$LmWk#sVXB$tkEr0QVmgtYIBe5=6nlmkt;Grlj;}+3^#qDqN%08=6`>PMa(? zhuar8J2)I3f8+NTCZ}iT7cO5}yz#-U+jl0VXK zOIi&^wbmd%SYN4Y(CZphMs?M0d464;yjVy#$cxnmbwd+4qsPGtOko-`Sc$W6HqODh zSdobp3ap^8g2oC4E0kD~g%#OYk%JYvn99Ty)KHkBF~wj?iK#41Wn(G_Q@NPV#Iyp_ zuq2IX2GdGRXJI-U(>a*V#Y`q<6qunf13NO9QDP6)bEwd)>Rzd^R~@n1Z#X>-bxsaxbvrET4ozWwPPJD+(rW7qCInF@+#l+WcA z9NaG1E=l?yN19}tBq>djE=k%dkqhQ2Nm4^(DLuklBV0l7y$IhQiQ^_C%U2_JB8MXJ z{~aU$6HAzo+)JF0O7D54Yv6qo7B@t#3?6+wiWk98I)f&NUlG?ttT$fYmslI2(E z_~$IopW)Yrc|EtIoa~;u*f+h|=XZNNTW;T&KJWU$`L=h?I%od6jMLKdhG4x@*LT|9 zW3`yu*>+o356LB!$-XN*&)YlXT^Xvqy!gV=koLXyOSONua}$62C>R)K2R%-w3uJ%| zvi(rexy;KFxdTf(Wlp}<$Jc`OsIItOGj^`d!qwQh+U~bh4)aNp`~0V!konD0ylnrj zeS2PbruIZt6;4PyCi!&$?|c)@AYacuaQEVzF7RTUfg=NWN`3LlzkD4FrOr@u|y0V+$X?d-L6! zze{uSA}dcYCjRlRvQhG3DzB3z&Ma+|Ia#OOzRBz|dwWv{3k%ZTKk-Q!S94>5Cj-rH zgRQZP-*8OBOD$^q;oehk){oWbLN(LJK6PAoed+xy{Kwm5WYV$FKRa@#Voo)G_#>Wf z$a}qc?(M6VTmKmNzV`?FRG(v3)6WyIzn4dCq}}OoI5#z1IB{xNO+I|~Cnem>>{5=5 zKAZNmS!p+(ITdIOH2ICeW?zrr9OzYb)SYT7uFIL>Q@^Q>n8w@RaDMBu^nQGayfNL& z#r9ld$GgT%V?Cp-gB>ArpUGo#yS*U3xv!eOwtZ_EZS!~9&IG#sT~6}!GLpf)+1>WD z)}TGm^LlGg?bD5KtJuX$Lt6*;bMn7@dH%u}JKHy69dQr!krUi8nd`Xec+E*|b=HSH zGu>DJ%%yy6^xOQFK8vf)Q|Ho>T*@JJ{$g&T_dBcN4uMLO$!l5zSOz$6BE_RZ37Jdoa>FzLDn@Fy7c>(&iIb?|l{R?y? B&cFZw diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.notdef-outline.30,31,32,33.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining2_multiple_subrules_f1.notdef-outline.30,31,32,33.otf deleted file mode 100644 index 210a26361ffbcf20a91e820180e53f80c2b9f66b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1820 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 E7k=E=x&QzG literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.notdef-outline-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.layout-test-retain-gids.41,42,43.otf similarity index 100% rename from test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.notdef-outline-retain-gids.41,42,43.otf rename to test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.layout-test-retain-gids.41,42,43.otf diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.layout-test-retain-gids.retain-all-codepoint.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.layout-test-retain-gids.retain-all-codepoint.otf new file mode 100644 index 0000000000000000000000000000000000000000..554fb54f025dcdc223d8ea0bb03fef7b86d7074e GIT binary patch literal 3980 zcmds%iC0ud7Kd-K`B)T_*d`I9(9qCrH1@t2qv9ToF%fYi5jrfzzJqLy3f=TVH#Dn2 zgMyNriJ&-&#wD8L64y8}F_Y-TG0Vv^nJmW`lLzzgIJb~Flgytm@145u)~)*9yRYhZ zYxUZ-t054!fj7t(EnOP=z_IUX0G|T@0iP~gyksdUCAk2E0|4o=msZDoG5lQ?_Ag?; zW_8SLWu`Os8unAMpOBbk%=P~$;3oj@x3PaWHQAVSyf|$dj?1yHO~t^(dwyHd{|Z|~ zYF1&%g2Fj%0A6>ne>uxok_$;Mp$m-n%Qj{ubEm^1ahwIab8`v`AM64p`sc8P0$?}^ zJ#TDyJ?I=Ad)WECB>?`6xafO}%!D4_X8|LBxX5TEXe{OhKKSaj7>k9C;02ptGkzl; z5;4w5Y!!>f^YOuRe+A-ui%}Jl1KZg1Z@(1SVe*4IAEnnJ?0O^p@bdCMN8I2GLF68} z2mb=)=o8RK5C1U0&)d&8(96pQr~e_l=*0_{zygdVKKut}Kc7z?Jb1wV3VYFbKV$-6 z8q5TeX)MeJ4s*o|XN_iDm|ReZF*c82P7A^o*!- z2g#5R1&{_gkd5De2BT{*Mxh8Y!H8oNa&fF+bazrQl7{nGqnLU8D4B&bGLeag6i_e) z{D0h|Yfac{p%;X^{S7{S#uS>!)Bz|GW=EC4cHJ92UtHO7xOe^#fOQ`P<8fbtVIn*N zkHTZP{vwzRkHZu2Bq|{UrovOGsp+VUFx;_lhyV%dBnqS;gBkEN>Sh-1$!y#e1!_bE zYS4fdbf8By%z5Lb8M`Co9Q|?%{k_(dai!nI5$W%d#_0&KWa;i{Jg_0^%RH3E{4OM8VLPr&PsxVNc zoGOt~Ql*M2)l{jWN-b6Ds8Uar2C9-%m4d49l`5)IQ|Dm_&hs9H|d3aVC8 zHGWY|)f%eSQnik%^;B)38adS{s76UODyqSRG*qLd8XeW>sm4IHa;jBOt&(b0RI8?1 z%vVdbI;z!Et%2&~RHvXiCDo~@PEB9#WQJtRZ3{)?tdIi-hsa{3(YO2>zy_V|n zZ}n7fpawZLD5yb64Jv9-Q-g*YwA7%Z23!n0_6V`R21!gjeppizv4*B#%|u|0JcBi% z#~N6OntuTWwGO3}fM-!Uo>_$`p-QMm`M97FrPB#LD4RYwfRZ^5@1R^R!Cz1+H{kCm zlW*Y%l*n%&pgep@07_#Lc@kw2PNXOaCDEZAqRCQ}!b>C;We`u2NE*o|1*C+SNEOzH zlQfW4;vwDSb+VTXkU?^coFZq*MRJvVNIoIA$QR@r@;$jjew`68BVa;kKo~P(X2O|? zU`E1BBr{RWNSToZOb81IWd?~bMuagUj1ggs2xCMTBf=OF#t1PZ#EcL#Ld*y;BgBjl zGeXP=F(br`2xmk%Bf=RG&WLbEgfk+X5#fvoXGAz7A{Y_DhzLeRFd~8x5sZjnLPXq8LdJ;v-eF0vVD04>x1H$~T6_KYf!>j`z1MqJ^p5-AG48)({(S+T z2lfR8eeMn#kH@J0xk;l|glFqx5Xfp`JM@vsWS`dpuM6JuyqkR1`v&_?;w8hgM9~R3 z!W_$j?ZU)vA(xlNbK4FaYCIUy&{S7nKmFQ;gL_?foo~61SdW;$+{kCCjuy0KJ98Sh zI;yP}bGg0TR$0yQ6E=!|Sh`nmRD@Q}G(IbM_pkS4ohd(-@uP$9`{(;@&0Y46dZ*Kc zce}mK-im~2L=Xk?i-u()r;yPgWT34#p00BZI`~WrpYGr@w(U38no~Ib=6xB?3?J$j zo$tAL@JiiHcioJPxcP#=(7m=wm}}2$&2neDx4UavYED+X+jP?Tp7Uzmd(H!mwTDw% zxiGr`=Fob3S9O=G)5C}HJI-9={jc*Amh)mkp19r=m$#uL(d5}M*u?R}BmJVlZ-;J( z+8Wv#+v`tz_!pebbDWj7N}H)_voO(Qtmf=?rz6BZE~~A_2n@d}YU3QnZxyYHM+EE|Yo>K9T`a!1`NNHT`h^n$*Sw{!z*bZ# zOxlnt1X+?Dt7`K0W%s1#c+wAU__+4G>$dxo?zgXTy#uu;S`Y8Mo^Zr?bk+NUDu4d# zTaLVS)^hbu`_DCZ9S^rrAozW^0A-xRSzGIzlHb2MuPd1wdiuUb6gU(jJ*6+K7?;r$pjwNMd;v3T5pN+eGcvvq|?GQ(qHIBmVdCf)5#Z856TNduVS7}Fu$J|&|UsYG< z#=GIjXT@LIzP9WtYckokH*agIbaGoqK!h4_)H!xo+Z@f+ua~wZH{|SzNSGxAdBQsu z@}ZyJ-rL_}Kis&}y0fmck?Z3(h+J`1ap@^pY1%8*gWJx2#83U8u*ueBX|%X9>oZ+h z93L~{#{CE$4i;_n#PzOk5T4teAvE2Zd3Any{SS7op_!d2-Q7Dqp3bHf^(!o^tm##; ziKgcZpF1AAE3vI)3Nyu5@we+=a^e&;I8>-*?Wr|2gO0 z+3dI9&ISpzf)Hd|va)0onTsX>1it`8IbMG&JNJ9lk2e5_ivVEG&V4RbHJ%qjtVCQ` zq?T8L6m}zyLY%Br$cvBFmL?)jLHxWDiG`EmJ!s#?yXez8nd@_Tv(a$M`-G`r!7G0NA-ahX z(6nNxl|OI%uBBn|j58`#a0H@gR5M`ju=13qBl7UdkbrnEj2e>dQQn5~<)gi~n z5m?hE5YHhp(s?p+D?x_7__>NBS%~>L%ua{T<85B}=a6$dZjO)KhaNG!$v-nH8vQAd zG-nGS7UJe?;X{1XL$(Mb_?hv!;t2l^D4-g&PzoBTfVJ=}vN_0=Knl@iQd0RA< z4b`P3N}X&~(P~+0N=m9MqgeC4LYCX0)hX0k+1838O?9QFTCP(RKP$^nsbo2PxK@^< z&?>5Hk&M(=vTl9Jx))2*Q%cg;;>ZbF2qLUKW+4^7QnFGKn(G>Q$ z2NEPI(IN69mcPV*~P(MKcEZf0;X^_ z-#+F*Aw3?O-Mw_!XF4snlC+hfm$=v^R`&7t*hRF{>YyDaPn*lYkS3GWVp&Qv{35x= z>14{^;py-Pg8f4$yL!hjpSX15(#J`5PGI4Pbq4OSmi!*_ej=x#Vuq&{Q+C?UF!4r* z(QQub%*sr&nNlgl7ySeIMMQ@oVSax{FSGMzxTkfwz z$FGs$L$>kuk?t=FN9AMNuX1VC8$YZY{p_si$}b(intx-4ytWZ#J4fLCZVnnr#%{CO zdo8?Was@fdY`e82d zhtja2U;mN)uES)$ew4g$*vyLBCg}c_UPEtNPeW%@(C9U|3{IyT#WVU{?H%h~Q%|F> z*}B)?>T9u+d!~WHxiL;=pC!Qf+dgavC_I|}<%MfFY4FL;&8+O(TLTAr=@DGPM{hFi~m$tGOa`K&&Z*W^&SR1P)C=1#k*nEMN+7Et-Yo#A&q z+=jk#&UZ8U%0|8G9!+}u{8tzXbq9l8zHP2;rtOw8LtatyR^5hUc|Ape`uw5#qm5&Y zWBP&CgZl;@zk6(Kj^z@`95SQOeU^S}U*Ke8Pxnc8&=N5CI@@i1bwP5=3zVbOrF1K; z^%lL!SYK09S6ka`Z?-kr-qzyCXTsI%*X{UL8C*lQg&e_DT}nPh1EO6X>1lfhC; QvU$_vShv+i#o)ijUkw literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.notdef-outline.41,42,43.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.layout-test.41,42,43.otf similarity index 100% rename from test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.notdef-outline.41,42,43.otf rename to test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.layout-test.41,42,43.otf diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.layout-test.retain-all-codepoint.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.layout-test.retain-all-codepoint.otf new file mode 100644 index 0000000000000000000000000000000000000000..554fb54f025dcdc223d8ea0bb03fef7b86d7074e GIT binary patch literal 3980 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

#Q*>R diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.notdef-outline-retain-gids.retain-all-codepoint.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.notdef-outline-retain-gids.retain-all-codepoint.otf deleted file mode 100644 index cdb899f45791e321119346ea35c9fbf52d63f249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3856 zcmds%iC0ud7Kd-K`B)+*u}vaIn}&vNqp|nJxPW^!#ze%8MCh;-tLz9uqe3^m&<)Kh z(4e3sXCf$$qH&4lxWqM1Ow1%YaZDzYWoELBF(wb@;c;%ECzF{!VP2iO?^f0QUe&An zt6H&Y)d~oPt>6oa`HL2b?>qNC1K_6t2>NvKf`yAn8OZ}6;{ian_@xzbAc7$D&teT( z5jR7X?TWvO<3-p`O3pFm1%4Ft1AuP~w(q2;no^FHWK72KS=iR4W5>9=0b9_&jWseo zr>HchXl5IL592T8m`d{?qs~t05H%pb#=37dCw~d=nE3!00~`dRW`mJ?1oILKL*28VLG2R~kW!qJQ^vfdlSnyCA~rIK*nP12P9hdR;n5J^$=y(2Tl>I< zjCmSh-`z)ggn)mY8(!>>EuWUqNf3vQ|N6&Rv;9#>^}+8iz@;t2Wv##^#o=<+;8GHB z5hgtD6f#HUR0t(d1{JUcs=x|%sD(OcfM(bZ9nb~cup8chH=!Q}-~b$gBXAr}!YRDC z&ch|Rf)~g&_!w@$P52DHfUn?h@GblRKf+z$@j%`qKzvC62_zvTlsra6ZqO?sF5laRH>v&6;-OKQbUzms?<@Xo+=GgX{0IzRUxCIDm7JUs7gy! zI;zrBm4T{^RIQ+DB~{}m)l{vaYAsdks9I0e2C6nvje=^FRHLFAoKZtHTB^}ejh<=@ zRAZ!C1=T94RzKCqsa8j|da5;0t&!>!RHvjm71gP!PD6FLULDoxsm?%kMygj( zy^`uxRIjFb4b^L@9)Cwq^#-apQiFmTl+>W21~oNks6k5&I%>ebHBf_*8Wq&2q(&7r zs;N;!jaq8dQKOz3aWjl4O5%78QkZxG@Jx-vGc*y;OeCI>XYouJ@C?jD&A)(xT8&al z!n-IF@2nz}P$g8OeB988(&>aAluaM(N68$6cTg@D;SVU4>+olk$v5yFO5_(1P#*py z2&FNeJcY7|ATpGMis(@ev1AcS;UyA}GDsvTB!g@ug`||2Nfn+C7il1^#7nx#>tqiZ zAcN#6IZ4it3*-vPASL=+>U7!k#YC`LpvB8m}FjEG`H6eFS;5zUBbMnp3rni0{A zh-O4IBcd4*%?KGIWQ>q8LdFOgBV>$_F+#=&86#wjkTXKg2stCibz1Mn|_Kx}AG44NOfqg-r2ls`9eC`Q(1h3J+ zv*Smt2=CU%A()+sZO}(1ki9-JKIeVs_%`{i@elPM&r64=i(->}+YVd4SjXq6j}*3TbmcZ~aaP-`mU2hAy|S9) z$F387w`h;xtPodDGd(Bx_OJ2goGw3_^}Unt`^Woj&0UU;dY8+MrQOlyXhp(2B8YPSv>woqV>H&vf!xTlbl2EomHoc=Wq+b;L&CqpGTSHr8d;KXd|AMP| zrmNCkX*XAG5XPBJ)ttlOa)vp^fnCUbGMrL3jI z?QlC>j+Sk$_7*qib~{~RUP}j-esjNhpXE;3&A%VNaq`x(@8=BITz0q3-P!1E?%00) zLe?*{4l0fbW2zL%TwY;U+CU>WG;QQM?!cGBV?^_&&z`YxYSxC76i1x9++%6Ce3HUX z@c!81NOUARlOF7#>xdf**U(Vw@=O_QvYs;8Ifvcp2&?DA?EF*f`Nth~c3hvep}M}x z$yu#-n{A52$sSJFJTgtx+}_aM+~(cA|72&+@yjPJp1AlsiA(UY2}DyRJW;uBCpR=% z$Q1<-4o?uda66n6EpCgaW^%`(1(FLJK3vCVo!BUjk`9}WEPr267tDQq)8V(ySg+h}|FPzd z^FbN~g7bR>*vvUywY9E^1^pZHyHdHKXYOf5!9x+lG7)vBwWL=I)3V}(r_+Rq>B5B5 z!hAm5#4BFq!}x|}d}zvzEc?v%d=E7jZle{sW%>C#ZeQXj@Bv+1pJz{X-@~am!7Gf2 z-Z{(5KRhJ(^y}vc@q&N9{LPJb>c45Wv^(3Ixgn|Wjwtwtp4`g<>0KZtglW8Ti{;O zv2gQ4@eS$j&A==l8a9a3+a=K!t+QxbesghiNmEhVriSV!OLL8>B0IliWwv2ZnEYi% zZ`JPdH(X!2tu-GU<<1|d;r*-Mb?mO}sp_fTS=LeEwKP`MSJl;durwV0tmF&(SJs`I zo6PoY&0Cu)UEG!t5TOQ~bt$`J4Y|7`lcozH-iVHQy!g{wd-{7EhZ=X- zcGPt?a((<-kvpL(Au}x}LwC7)aO;_m_(>lWHQAf2jaGMdeYQJ?y1mp^Zncya7jG&lF}uvQ6|U9qW}NH#%+uY`+0xbB*zN7H57zv?^q`q@ ZI#BTrb6rK1t%T#_M~>sV?X{v{_&1)acas1B diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.notdef-outline.30,31,32,33.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.notdef-outline.30,31,32,33.otf deleted file mode 100644 index da47accc5ed1d7c20601ad44b9ecc2f23362ea63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1796 zcmZ8he@qj16o1!W9;KpA&t=N6qPV%?hJemZouZ6IGKYcTWF|rfl>#kAT7DJ~`-Aqb zziGun5sGxn0!*1ALs6qsbjBHVnwf1zjnRJ=m&}djWXHnZRksGto~}DHTP>t4re0UxWTi6%sSYCA$$nL|v@X=xfPTp&9XMRGCImTLI!N2w?zK zQm)V_$ukR=VEqmBLls(`eySUi5r2m&2f$o0A_7$!5fI-Z68{yPA+n}ABQ;N)XD!x6 zokQYVz6yH8t0QlEE(1AXgqMMc-xIAU;-^eap_eo@HFfQ29p4A4DeX~V{){z$0wKPI z3^XJRHuKM){?O4dcgiJ7792rW2m+qPC5SplcyJOKF;0xbUyvMm0%AlMmP&*YakM}n z!d!lj|5jT1hWB7SBtgoPIe2?_9f2+JlcAS}!Y>JY$WI}P!ulkLe~JYV19P5Y;WNDG z87#&OzE{3h65+Rk5-LFlC7^|JSPpL>n~hvCRDl{47%PSfjOidB3PFWT3Fh%y3@OO* zl^V=YV@*EZmgNM9@I(nhQdFhU)bS`YmM}mpVI^V-n*dc9OPEF6ESWGa1a753;gzH)<>DDocu0dikq`OXbN) zNy+lGBJHP2c}|^9uhi(|o5~Bdl@;1bgv|-GSXjh>Z;<@ zw~JRK6|Y#1pM#)*37swC7{w|FNik>D}mlne47dHXX-_IyWa`DV%XOOcUU@+yni@yTq7) z7N!X^*o28?R9bvQ!Rj{w-lg)!iS`W|n`dn`Jf~yw}_c?!eeC-*w4x8`g zv6_?-U7*~dZQae7tQNC@HrSd>BpZ`QJ`NnXp>{o{E|K&=+ zzn|`KI~-1wb~-?}VMXI4M@6$6CzetUuFT7op>-?HxST@_tG2ME3|rQGP+>RkB-tPT zUW%FbC#F#wmaTpBz1PZi6cy1qPJ_qXZoXN>&J8}=OXt)1Ou>_S$A}Y!^m^?M&w?SJ z<&45c(l&;k?`G%Q*q1(GXVWg5lXhCXCby9xEf$;Ax`1Z*MRN6%iIl(H+wKnpdk0T- z_KaRSdGX}MFXA1Xz{(M+M()L?yl(Pw9H*tChbHDy4%)#m^UO}OrzNf{&HWx^AE3` z&9+`7nL{lo^Z{$H?LgpEeRtO>PtY1L`a0U|2Wo=k#*H3yd`v_tHEfkCfVG{QS94hr=sz% F@ek$=fBXOd diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.notdef-outline.retain-all-codepoint.otf b/test/subset/data/expected/layout.gpos8/gpos_chaining3_simple_f1.notdef-outline.retain-all-codepoint.otf deleted file mode 100644 index cdb899f45791e321119346ea35c9fbf52d63f249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3856 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 ZI#BTrb6rK1t%T#_M~>sV?X{v{_&1)acas1B diff --git a/test/subset/data/expected/layout.gpos9/gpos9_font2.layout-test-retain-gids.41,42.otf b/test/subset/data/expected/layout.gpos9/gpos9_font2.layout-test-retain-gids.41,42.otf new file mode 100644 index 0000000000000000000000000000000000000000..c382ed2c93b9ec58561a99e7f7bfd1beece71fa7 GIT binary patch literal 1960 zcmd^9Yitx%6#iyk>~5EqM_aX&x-C>&sjxG%vk%^VPyz%C6cl0vR=Pc<^u5cYicd-@ z-2%l_v>*s^F~L?#kOE1GAT&UTL;?guB-$7aCL{((&9)4b<2={G)1Tgbe&zOkk{5R85biS45-c7S8^+0wJ{h<*~|hMdQ>09bk%xL~{~ z3jtw@;qCj{e7X0S2y z@VnalrV4E$bttP$67^l-|d7e0B zZb9BG%+zuZy^E&%W(ZO3T$Wz;a`_orV?`QrAXNB*RWQd+435%v6N3Igkg=gS?QJY< z>tN@a3$X|@YnH#R#eD5OwRMlss3+!YdAL4!NxLzFg|TF0JhF9&N8%$}{}^s~%r0eQw)C@e$*j=)u=`lL`;MOix?xUMFo7!5o(wVz>5_qjYS2uYR4)XJI?=CX?MVV z&1Eof#|na}WNl?-y=Ki#72ZUuuti7}nshAsRH4D3jH;v0O6UYy58T*75s#dX}k zP5g{s@Ed-|ZTx||=tqPEUfxh2)F`|ZW`fuO%K zV4qX9s=BVGy3QB$mrS(hR#ey*Y2g9;B7eYNw~oQs6_H31$>b!3T;wJXc}aATD3U0V zD3j=!2Fyf|@^LzHBv;&OYulc!9bHhsp-+`RmPS%vc!WLPt-@&9$CTkY2PbZfdbzAikN z8CJK1BLyFy39Gxprbt)#!P)TD@Z9jQe{<%4I7^4MFRsI8>ua?Q=eD!-CdPCU_u^>i zwFYcLR4^PJOipUq+S1&d(y*b#WplVI)U&I5-_@1Jd?)6AugY~Z4z53T{OsmS zciQhZ-fKSmL8!ZImnyWVx>gl$n44Qdp_Y`o&gHdx{pNuQ50#|2fpLRbNwlr>!?I0k z&YEI%Y^j=3rY4_J^CRiLh~u@$n8?m~k%W>PYnmpv*S6AIf%j-*b$xB^zB?Bq$r00D zb4TkJn>rq)GOK&k2T7-TBiUEFRb8ihy1GO)c4i-{y0_z2TSI$udz*P6Q$59Ln?gx( F_#3_nx{d$< literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos9/gpos9_font2.notdef-outline-retain-gids.41.otf b/test/subset/data/expected/layout.gpos9/gpos9_font2.layout-test-retain-gids.41.otf similarity index 74% rename from test/subset/data/expected/layout.gpos9/gpos9_font2.notdef-outline-retain-gids.41.otf rename to test/subset/data/expected/layout.gpos9/gpos9_font2.layout-test-retain-gids.41.otf index e43a0268f6da770d20b94b638948516c56da5251..0ff63b906efdaf6de7bf23077e64cbe26e8b3d30 100644 GIT binary patch delta 231 zcmdnP*T6qPJaGX71M>s-0RP~JanEBJ7#I^67#RHggY}Ja&V;T5@;3na3CX#M1q>4z z%7E-2K&+RMnwYX%!}thS2#5ya{}y1r|=J5~KH_AB^x{iT?F$c&`NX|_xV3^2I z2IR8<`Fa_ti7C4^j4uKCCP2Pf22eoY3)=x8`vDNEWaO4qaPMG>U|?VhnOGrb#&`xO z+E$QXT=IWDgAtH@0EiVB7y=j=oPaDwAm#!?pksh+AoxFr!D#YACeevkqggI#w+2i$ MVbtBck?}k$0Po@{(*OVf diff --git a/test/subset/data/expected/layout.gpos9/gpos9_font2.notdef-outline-retain-gids.42.otf b/test/subset/data/expected/layout.gpos9/gpos9_font2.layout-test-retain-gids.42.otf similarity index 72% rename from test/subset/data/expected/layout.gpos9/gpos9_font2.notdef-outline-retain-gids.42.otf rename to test/subset/data/expected/layout.gpos9/gpos9_font2.layout-test-retain-gids.42.otf index e1706ebfec22ca575d8f165c0431636cc2bd86b2..7981553b0c1312390667892992b5e68e264903e1 100644 GIT binary patch delta 231 zcmdnP+rT$LJaGvF19P-{fPe7A_-8*E7#I^67#RHggY}Ja&W5fB@;3na3CX#M1q_oJ z%7N@3K&+RMnwYX%!}t!x);S0-}NV-xV<5X>%515Gw#}%`vY|B|;C zZ7awxF8M#7!3fAc0K^Im3;_%b&OjC;5OaYc&@n(Z5d5FRU^IClljy{&(JUI$>e-V` M7=zc zV!TbXtHkAG;$B}#s~(M&I)fKzJc~|B$nAzCUWhF@%|vNK{R2Z&B8xq?WnrCPV-+xL zeyY^yA_;4p;Ct9^2NOF3y~*HBx{l1J>-v`qbtN@C@X@=!Z?AazPatMC7woG&x1a65 zo>}t@IQ1hYFZVf89yk`o#aX6E5zJsGvt$^j_;06znXfP885huWfDx>3!tYk1&(h!H4B)7a;RLu{GzyN5jLZOeG^tI81a`thBPR! z6A}=IM_~mtKpV!w_(w${h`BH%F{i*2upK%LRfgR(j(|5rh!E*E(kF2-F?hoSOz9SS~fiI zZ%!n8(mTVEj8xZAFL@gpypk`JcvY4HJxWH7Dbj{`M-uVviUYfkDB12eX=Qta+7HUPO?|0P;=^5u6J4LR|CGPl|6B3r z(-(gb)v^5K;KZrxJI)6$Z2F$AO0PY$`}`MI4t{%U=#ReJxpT+!6Olnm3Y05ScwNjD z^7%qldURXrq%6)oa&NW6Huuncog>`e`A*~j_3R4J<(;%DLYk`q&z} em6}KE&&F>by*bc3lp7il=W6LCJT{wm*x+x3)KAv{ literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gpos9/gpos9_font2.notdef-outline.41.otf b/test/subset/data/expected/layout.gpos9/gpos9_font2.layout-test.41.otf similarity index 58% rename from test/subset/data/expected/layout.gpos9/gpos9_font2.notdef-outline.41.otf rename to test/subset/data/expected/layout.gpos9/gpos9_font2.layout-test.41.otf index 6e2775cf3f1740df2f852d69ee15f3e904dbd706..32f8025b7a348bb823385c123e2079337094e4b3 100644 GIT binary patch delta 223 zcmeyvae#Azc;Flc1|}8v0RP~Ja?fKK7#LF+7#RHggY}Ja&V;T5^0xr_3CX#M1q?h4 zB|tuq%b=5ynwYX%!}t=AuLIPzOdB;*>@&p=&3M?09kDX`Nbvw=Q9`q*?WLk zf%Oif4p==y0MOEj$EsKYiaQelama&w%j)kkwX@UtIEkK7$dEeFBIT pSnn|EFzNtV3;{q(ffOSUbAjN*T~#bXMoY3LTQKTw-pa_$3;@WzA|L<& diff --git a/test/subset/data/expected/layout.gpos9/gpos9_font2.notdef-outline.42.otf b/test/subset/data/expected/layout.gpos9/gpos9_font2.layout-test.42.otf similarity index 54% rename from test/subset/data/expected/layout.gpos9/gpos9_font2.notdef-outline.42.otf rename to test/subset/data/expected/layout.gpos9/gpos9_font2.layout-test.42.otf index 5fd086cc7b69757b18b756861587b86dee002303..da4581202e4d8172e90d58c94818d433ca110004 100644 GIT binary patch delta 223 zcmeyszJ+6gc;Flc2F4lg0sg@c<(~ZnvQros82tQ$^^J1QhOP(lw*dJG$+?LI3_J{_ zKt7Pmpp%iBn6g{L_!5w>1LT`!00jiTu+;5Wfbjy5)mD&ST=IWDgAtH@0*Dn@ p?=b2x>Ht{`0SpXGK#CEFxj=B@t}2$(5;v?STQKTw-pW|d1ONqFBa#3B diff --git a/test/subset/data/expected/layout.gpos9/gpos9_font2.notdef-outline-retain-gids.41,42.otf b/test/subset/data/expected/layout.gpos9/gpos9_font2.notdef-outline-retain-gids.41,42.otf deleted file mode 100644 index 3e4e03b0a8ac6adf5f9c122ce829d68a63fd1734..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1868 zcmd^8Yiv|i5dQAI*xfEIk8agc>b6jA1!3=N+vVK{B|xx1K_Nz<(q)#??Y6ruSVcuC zrF07vQ_+GT#Ki<#EkOz-HGo|~ETeKT{; zoO@M|mRoZcmXyNDUf>vuqoj1QRC#G>7a&wJU$r_= zR*hZgVa{vd_WR1pd$Q%L%oXMyKO08$TTV0XV;S!c)V}8U*{}>SEa4b?pzO736fR^J zI$11LWdWc0VfrHWU1Hu?9SqkFehi86X%-j2v4xBT7JK~TV>0G3_)$FW5gDpE*4E30 z3+9``L>x3vjjtXWQNTptee_)&Fkw8;CjN9@FgVCMKduF~F-Ae$!`?qO)OD;(n)W9I z^G)_(W7d&P`uzQ&8Pkz6xWgnFzGP~ILAUZS*m{LlnBfrmg?`+J6raJE5xeacqs5$H zFz9*o?0=8^qJr6&rRRS1FS_oVDGci8vh^~{=T9FNyrBPy$;Rtbkog!Jkci~R*f_*) z8iLInp`TS>Yl+)mgbyKvu@*s8LBu4uv6yXyI#i;JeS~WEh2h0Ytcgd}>Q#u}bo@B~ zU!~sx_ZyeN#GNDvmh!qlpk7Dw(u6mVCTtbbgeC)vF->SNX(JuR^aI!#i9FJdVPkr6F=f7{DR+b3%}zI`Vr$MekedN3YNlPb$w_p`DIxg_P0XH_tm|>a^)IX3oklC@h*?Jbz)PJ=31}Uq^=BWlzkoXV?=% z(SfX}wlx|n`tVFt+a0yUx}p!xMz2NZMTh;{XZ^=#>#+AFbT}M+t&ZW`cDCN+xOQ?c zj)qZhz$Od|regys&X#R0&CRI|+Z$RN)Atk?WnNfub$P7fe2->r+pr_tRQHyayv(mT zw)mPCG}e4xb+971x8mrs>ydNYe`x*gz*kqS(XL3(?(Y59Rvj-px!_w(4$VBY;rNNO zTQ1*jztecP`N(^bZvSpgXweL<8eX?Hw?rZ>siDplHT!(ldlMe2&V+m82C|*Bea-v+ z&Dz9urP|mvTB=`5IinTEGRk7^S7KvgyXMD|%5SV|n$lj=N^geWp^d@%nwtH$FUC@0 zmVMTa*3UL~JWgfR_G%BDr+Q;KSGzSsXYLGbsb=oXIb3yj=dW!I?al3N)_YmnDNfrI HaVFp|h()fK diff --git a/test/subset/data/expected/layout.gpos9/gpos9_font2.notdef-outline.41,42.otf b/test/subset/data/expected/layout.gpos9/gpos9_font2.notdef-outline.41,42.otf deleted file mode 100644 index 5a0da702d4d687cbaf16c2730e4e1b01212478ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1160 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 diff --git a/test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.default.53F1.otf b/test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.default.53F1.otf deleted file mode 100644 index 1492cd0f694d99dce2e247c3508d720e4c71d978..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2440 zcmbVMd2Ccg82@J9UbfpJgd)PSePSi0!nU-u9yPU4=t2wK!j?iBqkZkJyOrI2>+Yk6 z5<{ROcTg!uARvMUqVP|}BO*b(h?>|^f(GLiuX>=CsMGoi^*4{D3PEF>$v59QznSlw z?>%o#jhE7C1xZw2R$eaGRvq0$WX&Uz7I~_@zFFG5WkhT=5xG3RMKceK+UFxO?T1bC z`f~GM${EWbpN7A_*1OOnJqU^DSCG9iqQr^^^isr6haL$96#s~EbRFV%K`#oyVAo7< zL$86J6^dxB=633YJP1mOD6KIvS3{&9LDr}e31q)M^8%51EHKB!)Py#)n)0z<;LFXx zvwS&fJoHxRS%D2ph9n zQYV+(H{!0}NHT6o-TTvi5ol+%LwA#F=&8>H-py>nZ^|@%0w$9ctEhmW`5*!2geGn~ zAH7604P;6;vXLQDIx}QQ*&s%~K4CSugwo1T%$NxB^@$>j^?B4sM2R7U6dGhp$Y#7p zZ)00LOkV}#fu;0SNQnmNMXXJ0+nNc3~CuI{}`}?FU z(LCCnl+AyOv5-bNNxKyiQ5C7MspKPtqLiRAs-Q}GfMWRe7E*wMw2Z>=#i(qf7LaVhY`+4ln{4AcgA+*AlEq5`1i zf&cvskMVEtVE2E&b20uRv#@U_&Auv|%NX)-=5jK385O9;jjznU40nxD8!FI*nuKs~ znGS;TanEVE?UZ4;5Yi0%%T#0(fb7Gr1mXk8Isttyswe6a2cB3J!{>)5+rZUezmsw? zTa4*O#AP(Mu`>eSWYh`GVaA8b*qAC+Q+-M_QC3m;Ky2#5KyX=Di3?ASldW^I_3Irj zCwq)J*&36Rt(Bat-K^(0q=R?-Q9p3jvSI54+PLaux@#PH9hnnEuRA7!vET@?Mjf{Z z*5=3(Z0AU_F&1v$vSaVDPs`L;Tf8Y4(&YTSY15~OwNRenR~rJduPvbkA_;kJv{8-6 z)VQJr{Bm|k(_(k#=C-u7xD^rRZd4<=lijjNKyFINimb&Ie;}g7m&)q>vPV^e;efz! z8xbN$8A-|&)p9b+tL?_=bNzv+)}*yvvo2FTfoLG!)Oc+twyMFn5(_0n{Vcr5no4;^ zy(iBvPX5yI`!th@u@MuTY=dKxlUyi^bmJ%|+c>Poi~RA%C)G^m6{nz|@SvTs^Bl*Ty4V8Tye6<9dGJ5i9S~OET(Lb-b3zJ8j&2 zhSS%d{!n&wY*on}r3Dpse&O!He4E$r4K0Z6TE6eWZ4bY&=g8AXp0VpIY!jc2eB+WQ z^zM0w7k6YX+Z@@^veT~TtZw($k58{V#g(r9v~G5`n-`qog=hGoE?nc}Kw-vUnqJVK zX5$ZaXXwWVf9n2%KV;=E>q^EwD?5&5@^dzR?(?<}^pA@zyr)$E+NS6Gca`&-4qNoI zwuuMS?_Ipy`t4K4xw|8?`SIxX*6ntE+@tMH_l{3re2O>V&@ORkQP0n3_-EZX^Syxr zab}S?^AV)}=HSKd^ZXGjZ`T_#7OmKJB9rg1@f$wmH=pbMuIAOTGfH$vfu1tk-hXT9 zg%viPJr_Ce;tkfmy>IYoTQi$CN4B@_uH4Picoa+ddTVD&XKLri4hJZ0 hgJa|$%SZp7@t60lly_6#dSbW3@ovY?%YOV6{{)C9T?YUF diff --git a/test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.retain-gids.53A9,53F1.otf b/test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test-retain-gids.53A9,53F1.otf similarity index 53% rename from test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.retain-gids.53A9,53F1.otf rename to test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test-retain-gids.53A9,53F1.otf index f758958b0adb6dd7dee351f4f16dc4e5799e3a57..9a58feee6154bb9b5975c671fbc3aaa33fa4ab2a 100644 GIT binary patch delta 1030 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 Yc6@1lGw<#EH^1|Y&Gz>2Q?qvZ4+ssk#sB~S literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.retain-gids.retain-all-codepoint.otf b/test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test-retain-gids.retain-all-codepoint.otf similarity index 64% rename from test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.retain-gids.retain-all-codepoint.otf rename to test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test-retain-gids.retain-all-codepoint.otf index 38e53bc681de5e99e48033544d0e70e6ec6118c3..7249c5ab78f4c118b6c885a17852b4cca4d517d3 100644 GIT binary patch delta 1126 zcmbtTO=}ZT6g}_FOeT#@j7dNIOjE5fYE4sH+qBlNSlXb0im5INfY0}Z21_GYhI{Utd+)ht=DqvAO#GPM7|Qhh1mex* zTPu~tR{05lU$oS62jk|-?KCoLrAiv9wbE)D zL%{Yn`^{=Uqx}WtEkrPgG|r;f#rAj7r!{R#`}3OKhXIV>46dQ9#pjiHwo5#OFp@~& zG$wIX@j|eXz%gWz#}yq3;Q)@}6ee)l*Uc@&aReD$LZQc>vc>bii0?T`L38iKZbD}{#;iO*vCyAm7y7-6 z3RB{9t+5xJ%Zrb-#;)l1PBZI1uDar#!nX?F{9nX#t99}EZ}fJCc8~Btg*q<5p$gU^ zg_c4?p;Q>$sldW`0T(wodWp{SDsGMVoopDAH$rj_qO6rPTX6(gl2c@IA_tg@GioZc zS^I}OPW2eOCV8u3w2pq56$xgFoX8pKW;tWQcM9fBDo`!U_JdpoqZ%|1-lD`LRnW1A{=3dw_qiONmb@0|Ub!AeM6v4s}|gwz!;ufq4T117qDpn<^$& zgNZw?ute-V*tB^9qau?zBTyk1!ym>726h)WpAd!@$(2Pp3{TRFQnMMJWF+RLGi(Er znG7A-iFt_(Q8|evc?>!X43pTTg}E6R{{LrS1Zs!SoDg9SD3={dvq6Mep%0 diff --git a/test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.default.53A9,53F1.otf b/test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test.53A9,53F1.otf similarity index 53% rename from test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.default.53A9,53F1.otf rename to test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test.53A9,53F1.otf index 13c7478a3576b6374d47035cdee79bddff1b09b5..91357c97fa38e58e3fd4680e2b333d9d143e228f 100644 GIT binary patch delta 1086 zcmbu8O-~b16o#KOGyN35wWw$*3Kg|t6_tW0h(t(i#8`AuH;#=#+h%M?UFc@~34U!f zF>z&FxX~_TMf@2qO#B<}@XYO)G!kkexw-E-bMATHGjr~l9|PaB&r{h%9+E?IHx^2> z&EjK_9FU$X-I|$xbLT5W3Sj?wG5OT8GoM!+aS}i8^|!u>E3J16E(4I3kLXy2?IKfN@+h0#V8`4HYdnTkO*h4?ZxlA!EK4FRvcNC8jXE$k%ahhqv zixOiOhZrW$R2Ye}lY<=P6qo!^Ji-q8$a0ZFmoFPJ*}}N0zYanV$e2d z84UiZV8`(&>mcTI1kHN&%<1#nr*Xr#727Ld#C2AZx?{RTZBXq`wnYY8rzxSkT`N%N iQGZYeKBa!3Who=bYV#B7x1Su9QZ13x_10=Mo%{{KYWPF| delta 344 zcmcbic1Ll7m>Sy_1_mxw_W=K3mlB^+1_nkQ1_lN>_ux>c6;g|%85o!qfMQh>ZK{}9 z=4{--!pLHE=SJ@41B{7`=8Qm-!0`V+10zsBgyw{bb3pm*P?`-Y&I;wTKxt-( zcs&!84|EIIJfM?+0H_MgXJFvT$xqH<2m_M=VA6{`5ukyL3_#m}B*@<&%*?>S!ob16 TF?j)p^k#WxNv6#PoElsJa(q?2 diff --git a/test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test.53A9.otf b/test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test.53A9.otf new file mode 100644 index 0000000000000000000000000000000000000000..df08b73ff2057aef9ca2e3332283f34928ccd4fe GIT binary patch literal 4504 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 literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test.53F1.otf b/test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test.53F1.otf new file mode 100644 index 0000000000000000000000000000000000000000..39da89b55573b174bc5534b10c6e84b9c238a25e GIT binary patch literal 2804 zcmbtVdvH@#8vjmin#49ufh85&kX&oUT50;CMJ+<1(8x2Dl)A(0Xm6X4lqR_`x%8oo z!$?&WbnsCHVSMZ8`1q&Gs3YsJuDXmmV@nxyaD43SxQh?eGVY$%+tU4=o6s!`j*gr& z-#Op=b2V}>To&=ejfYNsWOI(SCO8&ZR0{)%_6f5ojCeY$EtF14G7A0&s$Yw3hss0w-Du-LkYC+Ad7C zym3u4*$gY1oPyu~TW`)=^dFLpENST3+#iLvZW zf?l28*-cc%R)CuW(bN#FIWv5IzmMtzBY_bqF}Xuj!RlMR%qrw2kLfdPGFh;S4hUEa z5YAknM7C>jmWV0=CWldt43r$qz=4$j7zIWI*VrYrRt90lgi>HcG+C@Kqd!6`J*>1* zL@?v*(8H`GgEOk2(F|@v6PvgY|FExeh0KIqa6vigT(t<3paRT+Y-k zqXSLI`0VN%kZXc^(SZ*1B!awUdJ#~CJS&my{3*N!*izgp6%~bm2Vj+geh5{kK(9pi zL|>BdCsxIf1tBRh{A%D|OXZl|#`Hqtj5n`g8H4Of^eKH`ve_onV`LTgl&xv+O-9+G za5B`%=0}uxn7+f>K~HunafLQT6)lcTy(F#nua{}w#_Izzxi?CRZp&Frp>$Rymf8FU4@{mc2!F*F%noUu1k9%`GHv6pa1E=LRu!=H(AsdyUA$WE6{qlt2; zh{_Ztsxj|{teX=HuVy6|vPRYRC@V5nm$BymK2AK^-pOWM$ZDKB@zOHm>kO*`pkN%U3&4FpIgU{XYG1qF5S2Nu)|$I ze!IswpY|ebESx9Sxczdm_1cTYwr?g`8H@Hky!WZMK5tMHy~&PnM3bv3Di_QbYmK}# zsJ4aVKyOM5#ZvOhc)OZRs7XZ&1?7^6rX{W|FYoT|_9{Zn+pfmSuk^~I0J$S2E3%eU zf}xm_?3C3_vQJgR(U9=rH8ezxGK!Q}HOZMO&*dA@R|Z3ItwZZQZ(quMp?E0S(SCj* zOx18wNkmeje_6cNl0y}>Ck~&wG4uPxugXj&#`5O6*e?4#7rD_E>5^G4cHb1Wa2AXax0GwI`sn+1;gL+ zn1v7Oi=D08`~TwM16FQ6#_6lizil`;XWim!>Z@1T_{5U&Dyu)}kKB;hzxA109=+|) zPaJsqz;iZzo3-fq*uUKJ+!Igyo!9kyw(O4W?cQh8OYiCnwiY@z9^uO1Xzma@KE$h! z@S0=%l|iI&c&x@bo~u`n=34o!Lr(qB`1eEq;I~@%>$>9n(;fY9dH6{yKlx?vNBXCA zS$w!&|H`UY1@|}dOJB{>k6VjgP``2WM$5mSJjA{Io~{StdwTZR^nyG4I&La-+<1hy zA?Tn8T08v1G5*C6Vtz1IEn?P+n75^BXm0$cZzwG3R zubbbTvvjd;uhz3y*ha6apV(&A*-NogZr)}YdFpSx@)1wh?%1B5y*Az5cSpFT(4pVI y6CWk3ai?V-@j;-R$>s-hJ?KyZ!zCeP`sjp#KAv2&2yc literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.default.retain-all-codepoint.otf b/test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test.retain-all-codepoint.otf similarity index 63% rename from test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.default.retain-all-codepoint.otf rename to test/subset/data/expected/layout.gsub3/gsub_alternate_substitution.layout-test.retain-all-codepoint.otf index 66ef86caee6cecc00699c66b66e143716d285560..51afa40e7b5ffacb7637b61b98834397a2ad0d8a 100644 GIT binary patch delta 1059 zcmbtTO-~b16g_vosTOKgP(fM+u_#s)gaJ{c5FpY7W6=fCgt0MTJE;xUg>J@`YYuxiBvnRPh1jFRHvI96}0bFo8Vux%r!Ej4sX=(#R~%E~L>avn)6`h)(q40 zMiR%7K|jV7W8nZga2n@vRrNNJKs$PH1+F-2kd-{)oT@O;f@3(vcNtR^I+}45-M9>c z--)=H2@P=^K^I0N9AQ7&a1tXC4%o-%JpmV!p6A!-)1MgpP5qlGRfk<_>OzPuroZYg_k;)iRNNwGsbzG#tlssvFg99dx>po4DfLP delta 344 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 BaryuN diff --git a/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test-retain-gids.41,42,43.otf new file mode 100644 index 0000000000000000000000000000000000000000..ed8a98bca3eea2aadb13202d88e1c839468fd106 GIT binary patch literal 2236 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 Z&eYZUYjh!c#5~>u) zoB&3H;fVjW_E8|;lZ&h23Ge1^#C}sfOJd#O6pqT!hfUCpCnHuS?K&$ zO4M&$L&=n3&KWa@fcQ&(NNHvki4f&DF8No|T1r>n2d^0jkk7K2oY6Rfm)bhO12CM} zdn)vq2cdejWA+DvT&IKL@X3y~*RCG7Dls8n5(p~XoGff=MjB2yEWgo!;7sn*8T(6YHyVEtP+V%%s-BP#! delta 370 zcmbOtzd~+;c)bq;1J`YL7gsmNO2z^P21XGE1_llH0RLbHQ3fs``v?&8_y_A7<@AJJ z0LqsD`3cFni3OZjxZW`^Fh>CSpE6PtQ+Ac5_W|W?fPAwIpn$*^wt67@0}!iZv>S%n;9z%#gv5$dJj92gd1>&oF7T8Zt1j-kHRFXtDq^+vY>em$(6UQA+aw diff --git a/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test.41,42,43.otf b/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test.41,42,43.otf new file mode 100644 index 0000000000000000000000000000000000000000..bde0da12507efb7774f990c428e429d97ebca68b GIT binary patch literal 1440 zcmZ8fYfKzf6h1S%JIpQ%w3Q`>QaXSnC6X3bS$w5+fzpSq7#@cDC~RTaEwH<=j}{PY z4R3ZSTZ<^gBIx*|0);4`u_h286)Q&5MvbOvFfp+|jHwMe&`YzPJFFHxH|N~%JLkK1 z?zwkz3kq^U2d6;=LRLl@ zYPVE_9!?!)i@~63I;KngTdfTXx+LR;^$696h}S%Coq~DsDOs# z@zZqvX?n2+VuEMXM)qT*Dqv|Ajn&RG0nmV+S!R~uE*O;=5F^5}j#F`(aF$i0mVV=3 zGiPV+g=fGFS?hh!xU`4CBhk)~nQ^SI(Lp?<;saSc4&bo^G*l@k_K0o|=BSRrGd+%X zsZkh@oO+~Ep|veoqqo6^?v_<>sBgqn{f~mGsB!QdU8B}wEgKR;n8jVALs+#Tuik() zsG#>m*K$h!1rWgnZa5B3aKIz56Vf0Lb5`&|6c=5TAEQXmpPA#LVlgwBih}<0Y|CRRqb?HJYv~S!CX}($P?Y7>jWm116ob# zR+GtU%CKgnTQf}fj7*0bI6Qy&CPVD@Bwdm&GC?QMkU&GCE;5nQL`q%KYO+MyBsu%- zS&8&YoIED2%}Lj#gHqW4YyAD1c38I*KCIU-1@sZvn07u|i3aTU0Z`Mwq8)-v0dr(x zHOAoY@OO5`Hg`1#TI0{>WG5~hy>>*d_~J6*drqElw|ieB(M2|*ZxK5Wx7Lh0hAN!> z6(1FS@4M1XW&auW$GL(R!zI{0-lv zt(P!mHA{_If=EAm|2n~ zCs^dPSLCho*=OabvL7qkpX{p%SR381TN|8pH8lgbugWnpcYz-ceAqM``V>$4$(mt$ zUQW3-N!XE$-K3CcMp7<1?sWg!)7;nD*Tb(QlW9Zv?<;>9uJ(P|@Kpyt^q#+KXuG?j zR`iM{lCqnm)Dm-d`Bd9mqXY62-^s~0<;2l>X<=?`@cqV%l^uM`%P%&)v^BeH|M|W3 VrH%bX6X*C9)4g5TOS{hy{x_X>jHLho literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test.41,42.otf b/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test.41,42.otf new file mode 100644 index 0000000000000000000000000000000000000000..3e2a6a76b1a44274d8e3eecf7c3d526772e5f5c9 GIT binary patch literal 1400 zcmZ8feN0bY&B=)F1Tp5O2M&b#-X z`wB}+3PBC0KmlTYL4mk9?KuFzEun?>7nkP!vU{ltVEn+mCRM2=gshla}gV?NNiZBQ`^n;E>J#$A&j8$ z4zpcSFJ(^S-a8PFyPRHMS@w%8AT7Um=p(1JbpFmVMPyvlu7f!MD z=c#LMNQsbXx5Du81w4lZGigg^yavP_oY4(OvRV2lx_)x3gNX*iB`lI`)&Fq-oA z!4qJFyx2XMU))RZNbF{aj5uR8YDkA1AU3nl0Rrn3_9YVi8u3Y9A974b@Ju7zFk1)5paLqR8Xsos!H3!kut!xstahPVLMEp5 zM0p8O1yo~?L5VL)2wzoaw>PlpP#Sp|(nvc=BOM%?B8{{t=|-(0eGs|>ftc5>+YIpW z^7c%uTQdj#e!HqmIaiA7BA6^kUVbGa$lMlnVg_@b@M>0=wufcY+cRO>8|LM)@ZH()LikX4-T!mKzqy2A z^`d52t6dCf*W)D;=8~gchc~+)lsXm1GRcGm{e$(1ab83s}=4zU1r71HsU*2Mtb6=D<$!DIFld68I?Rc!u9kMie zU$Zni8{F=JTUX^2nLj5Chdyc^j&CKt3=W9EK))$^@etwgw>%iH4Co7x!%f{ajRt)#H<6SxeI?dmA4T-4$ literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline.41,43.otf b/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test.41,43.otf similarity index 100% rename from test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline.41,43.otf rename to test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test.41,43.otf diff --git a/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline.41.otf b/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test.41.otf similarity index 100% rename from test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline.41.otf rename to test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test.41.otf diff --git a/test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.notdef-outline.retain-all-codepoint.otf b/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test.retain-all-codepoint.otf similarity index 78% rename from test/subset/data/expected/layout.gpos8/gpos_chaining1_multiple_subrules_f1.notdef-outline.retain-all-codepoint.otf rename to test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.layout-test.retain-all-codepoint.otf index f7d4d9ce1629d72bc5228a1a217197fad64ee4f3..0ff250ba1f7bde74a7e849499ac097873be27c86 100644 GIT binary patch delta 459 zcmYk2ze@sP9LAr!^A5eBB8rwU=?4V`g+oL%q*+Eo3Few!df<>h!c#5~>u) zoB&3H;fVjW_E8|;lZ&h23Ge1^#C}sfOJd#O6pqT!hfUCpCnHuS?K&$ zO4M&$L&=n3&KWa@fcQ&(NNHvki4f&DF8No|T1r>n2d^0jkk7K2oY6Rfm)bhO12CM} zdn)vq2cdejWA+DvT&IKL@X3y~*RCG7Dls8n5(p~XoGff=MjB2yEWgo!;7sn*8T(6YHyVEtP+V%%s-BP#! delta 370 zcmbOtzd~+;c)bq;1J`YL7gsmNO2z^P21XGE1_llH0RLbHQ3fs``v?&8_y_A7<@AJJ z0LqsD`3cFni3OZjxZW`^Fh>CSpE6PtQ+Ac5_W|W?fPAwIpn$*^wt67@0}!iZv>S%n;9z%#gv5$dJj92gd1>&oF7T8Zt1j-kHRFXtDq^+vY>em$(6UQA+aw diff --git a/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline-retain-gids.41,42,43.otf deleted file mode 100644 index 51184892f38548fff44c1228ae2db71ceb63c81c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2028 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 s+xA;WQ)j5N!+bweJ;`NT!pZUY3!K`$hyVZp diff --git a/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline-retain-gids.retain-all-codepoint.otf b/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline-retain-gids.retain-all-codepoint.otf deleted file mode 100644 index 5ab176df51900c506c87234e3eff14d2a17ba493..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3888 zcmds%hksO67RS$>6kdve%AgX2$xJ4hL6GSM>0J;}LTFKvA?2p`gtQ4EnaPyQB$EOp z83GAJKPw4kAs|IyDN#b@xx$cR%;MTh900`|kOj zyL{!!5V#T`^wUN27c3-YBoBZ{06?)QHg0Z~yU331^H`r= z9y?W&<%zqF^VQf-Ov<+8g?tqH13*9`_V1;oSdx#=JsXVki?MG=!-3KFgEwJ&2y0YY zc2Vi5b5 zKwNSqdd0z75WzZFk831A5{@%JtVyOBGZRKl{~1US+apxU4^*@FpHIJ+4`UxR1ZqTw zup5B%!$%Zyp7w5vOKpoZr`1uJljLNR241?MQv7Q=?&Q(-%!<%A5Y-S2BT&U5sOm7} z9>Z9Tg3<6eJONK)OvI@4r{HOL2F5`IjE84o0!#!6L}GMh5Cw9Gh8R$Q5+=cOFd3#` zoTg%=)R+fa(19KdU<4DGVH&&u(_se8gjuMiIWQOIVVoDhLRbWg;YC;iOW`G0h6-Aa z%6}DO9gF&pgH^B^)?f~-gLrriUdKF0fJBV{2FwNaGnfyA1Sc0~XP2?olJTSh#uEn_ zPn;sG0pp1+P&WXQktC5+l0GjtudE=QrWHvPNlJ-ErP4^|BifZYN(d#sGb_Ak(#KPs#R32rfLmUYpGgC)q1Kn zP_>b&O;l~B8Wq(bqoEot)##{3Pc;UrF;b0*YRputqFOc8;wQCKtD{;y)f%YQNVO)a zHB+66>eN)Hp*mbqM|FCtGfP%E;rg|0CtEpZ?^;)XO4e6=gK=nqdH&MNr8dTJv zrUnf)XsJO*4Y*$eH5jSEL=9$YR8gav8a33YrA8e!>ZuWb$4HGPYBW=mikj5aq@gA) zHR-5HPfZ4D!oM|9lbM=T)U2jv4K-`2Sx3!!YBo@_k(%)^%qU9Y+5pK+Ji(Y#qcMlZ zVa`Nhjy#V!VZt1ki<*B41+@yLl!&)e2HtT+D4{B-MfrH48Ktuwx=}X0Z~!H998RNL zF2f&DDmURTD3h<@JCw*TAfP;gNGM8U40#4+AtMTugoYSV4s*ytl)@_{4rP!)l1Vzr zA%&!rSV;}$hlezgt;A2d$Qxu2*-!e(F>;EWBbUfE@*(+z+$Mh|Uy*OgkL2e`p_4*K zNU7!k#Y zC`LpvB8m}FjEG`{oDp(H$QdDLgq#s_M#vcfz-gpv_TMkpDfWQ39tN=7Idp=3ls&!D_VaP;u=+s^g~TYG}}{XIkHdT#VA=^63A zbKHOCLV82*hV_Pr-}Qw*hSzAw`7y&*jCbpk5XN$1GxU!9Cu4p0|BR97k-QujR9~ zM+@6>Jh{!A+_et7t-@8|tg7Ysk!!`@E!-oxDV1}aTPnxj z`c;XZvVlJFh3-oSuQuHBHB8EkpCyC{T`OyZ>8`A;*}g2_W?$Wwx|5afww(05=egGK zp65Vw{o%B&T%=0?o21dzS=;H|?&l->?Tu&r{7atJX`U))mD5_YUKnk))N(GD#~tAskzMIa+UK}fciC|~ z@y=`kgmLDLv&*BuvRI32ZDm_Zye_ZHGw1DJ3LOW!@IrN-`cV5=B3PErXNxr7e>^mlDNFW&eZ+Q+`#0an|K0W42}@b zoibzUf=QX{lapPs-U^?s-S$Z`Ki2=#7FU8R!JYW<1U*N+Sh%L9dXH~ne~bN$#mTvx zZdXJjAK~PmS;s%=YH;HI>`k?eHEzyscRCysU2gVpLix~Sacg^1duyA2_kmN}yH8v_ zdHLk!-$^}!$RQA2jqp^}+MV3M1R+-();~B_?7`!3kF$AgzPbq=3+GEOt^aT>pK_p-YDy*b?(x&DlUYd)^O;JxGfr0bpQT+jac6I&1OxRH3o za&+1Ig0^7R8ykr@A7!NCl+RurWB_b1m#RYSt`tFOg-Y*ws!|_{u3|1!%O#` z@40ktf7fp7TbVA-{@S|Q_=x%5#T^UEABk_k@at5J^5H>~Si4OcW7E5fHs`k%x0bXN zwQX#wZLzi1St_&gOIBo=`h^K!r1#Y9u6Wb)rPp5f!7=XQ!8$&u_FdQRs_vTZ+MQ(` zm3~`uO=C?%gAYs7k9rGZf>n^sq%1}hCqxOa5uQOIojN~zD`+WzWuAMxWqC~9%G z*qiO%ti~*FHpj;f`7j=%21kk4`r~_6HwiO#WeP2~CtsUY(fFN|qozkhqn zlEx+WWsZ!RxFqX~MKg}a?M!MbU3;MPSozWNqZNCq_ipR;{-dd$U*WjSx%by$aqV*K zcJ69BRlak_DWBibR@2h4wSLz|KR3@P_NF(c`O=)FjtaZ2w77U*7Z?3*FeJlZ6k%{21%t(GL3EvcUw! z@ZFYCC!!38pwB-hAVdKdw*&%Y;+)ZJQKwlZ|LI?5F6b+}Tk3hQB$C~mbMEi=JLkM} z&$~sXrA45HW>5iNuy-&2`<%ZJfayhx7M7IdJ43-X0GLI4q^M-O$$7PG0)R9lKU(Rs zc|i{+kQGcGH@sGfS_y!sefVpY_%}tV<*r*aTEu`TlPFv6o9CCT75=Z<) zr9MH{daO%YKw(k-8VqZmRlf8<25Krr*JEEEgKFGz$AWkqy(J!x&#uL*+(ZQ$vnQJ6^S7C+K1hq7R-2eFk*a`^Ra{Kc0*QhK^kkVV!(A{bCm=?IVJ)j- zH9CgDxmPgkp0qbf>)9!LuSD(FBV>sr%)$hy%jQ7F$2kvx{6h6 zboCmn!3_DXaxJUqFM|Mn2*7dhfE%8GZIB1WsM(mM16T(*2xm*o0I$$JkfRS_%Bk5$&R7TROrW^ID zEkn=~4kx^R-DZH#m)8$d_U`4CLJcywkYa=q8QgeC_Lnw-h7jxi7mJDuJl+QXal0eP zZ>`MXO?i1H-csc`Ch#Q3S)w*`f&ZM?0ADNw1pf&XmFwBf zJM3n&-MkZ@hjcNZ#(V2F7_zik+T;u^FS`ucWoncC;!3tiJ4DI)!JJ6@L{=IX@6C(X z#RKBH2V>m-v7{00l5Rw=UyAD2;}A&;sfst?WDkRy!B_2sI4LEECs)!8k*-K6l-}Ci z8g1WlcCR&a@yNBqQq4CPDc5`QbfB~DO`2Nnp!zl;bgN00c<30&;)`#TJ}Sk}r`gT1@@Jx2@8tu3LOt7*D}rp?g;DZ?h^y)JE%-g!Yv zsrt3H^O=5M)ZP?$+urDD@c9OBUy;%z_8d17{j6nVwG~GP=sm;Cf|PS@iZY`+chNGc z8O=HGzSHwZZ)<<3zn6<;(;0*Auh_qaEB)U#e%Hkfe;nx^el$>1FVqQUnzM`M)Kg1O z^>oMkV}sJuKS|lQq|C7eadCcp=#!@NwOw4>Yp=Aty2;wT@9dsal}!WXlkajd^Zo5O JOJ~@i`wwKRgRKAn diff --git a/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline.41,42.otf b/test/subset/data/expected/layout.gsub5/gsub_context1_multiple_subrules_f2.notdef-outline.41,42.otf deleted file mode 100644 index cc8183d86e362bf967a5e34bfaaa72485c0e5d8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1216 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 DL;eF} literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.layout-test-retain-gids.41,42.otf b/test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.layout-test-retain-gids.41,42.otf new file mode 100644 index 0000000000000000000000000000000000000000..00dbfea8d2a306107ed71bd8ec9d4f958f8e5c39 GIT binary patch literal 2224 zcmd^9dr*{B6hC*_U6*AQUyBBa3y49Q?)O|)P339oAS$A$rLM4?6Bfh8k5+w$vD-x&by2CzNJY8V*YghWs!rVkK)yMog;A&0^LEJA3!an=AiRT! zbGjRBG_>l*12KPVY7|CsRNe$yp#LSQ4dL{j9ztm$$%rEz(nA*Vo?&&m7e`L`4Vdl* zS)exQ&>D68_Eb?5MD=Xa@|uqbhJi+9scFJHSTpFr#5!3gJODm40_miY*{BcG>moE7 zb)COunU!I|zUIzpO+ z$XLizm8%0)IdTBZP>U=Rrowc(+PN?b@*p4P!F*T(a2VR*7(Gj$!ROEcXW=|tgiCM*uEBM<0pGz7 z@FV;TzrY>12b~b4OZkZEIgII9I5V+GHjtUwP!_}DSUek%QC?BwS%xm3CAl!g!dtDp zC9SA@sne2IFCi}@Z$my6c{>VL6gU(p zq=15mf`o#Mf(?aK6znKkQRGnMQKS_`6eSd86m2M`qG(6SiV}wskCK2AB_yFFqhv!V z6(u{$R+KrEd6Wf|MU*LD8D$&FsVLjgWD4 z-+qz(2MioE*c>%v=u^=#vBTnqTjCQEMwY6MrKy_^qI3}=grBVJFj5=qC{h&vEP4f@kWcWU%WB?iAV`5@&vk*0?NifF!QZb z0cBf2A8ZReJRP_am=@^sPn+Q{TljwCt%&_5)2(JxUn=16j=>>mrm7wUTD6qxpoh(2 z^N(~#nH%dH8yce5HLYvj5Vs>cGvVB#%kzUJXOAm}tt&Tq>#AN>1{b&#(|Tt^&W6f^ zWvwOUJ4+51T=So4y4n2Ao=-0s0&V`|+uCnIpOqyOYh>RQ#rEtulIfo-(Xh ziFPSbr<9Cfyd!9RF&GovGCdesbbWcLAB+m>cNz9Kf3SA{ zhlps%(1eHzOo)i|Qo+HO1JAf1us@){aA|9G z3~Gvoh=_=g28Sr8XmM$Xn(etmLXPj<^Ld`<`{Tz|-PMuuQ0WY z8IDAkK0Hky`H@^+kNEtVmkG!(24x&)DxKKV>yjM{uX!|{tF>-%<>JgLNmVo4yl;O5CfMl*6yAzOK?1uGGZRKcJ}#Ye;{ z6gX^BNpsv1Nqrn%1^rAVyC=0BYsWqZf&auhDbRM+9SVgPuxbIU*lP;btg`H+7lgO1 zMf6~xt)&iM?$8c4_|xoN1;L6(oER*ih&{xRKpr_5NWp|r*%hZGzoStpiw~EZQoZXB Dpf^wA delta 367 zcmZ1>zd~+;c)bq;1J`YL7gsmNO2z^P21XGE1_llH0RLbHQ3fs``v?&8_y_A7<@AJJ z0LqsD`3cFni3OZjxZW`^Fh>CSpE6PtQ+AbQZ~*0PfPAwIpn$*^wt67@0}!iZvc)2 diff --git a/test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.layout-test.41,42,43.otf b/test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.layout-test.41,42,43.otf new file mode 100644 index 0000000000000000000000000000000000000000..0a693c64161f1c4a312e0139ec1ffbb1752ad30d GIT binary patch literal 1460 zcmZ8feN0nT$X)an5MAsL?D7CMIfP%v{h1yIbnHEjskvoO93boZq?c zoO@qEad82t;3UXE$j#3ePT${l9zYfkzy@~}mF)cS)GvscD*(__P_#{7d!=L&aV_HV z3Y*yp8aRfSN1SOD&6S_z9n>Ly6tTgIf%qlv74&~XeZXq-G$_kut>{mo#@fscPT-zH z7sgOIyV)kHeodRjZy!QD<#f0`;kQALeh5_nKrRQMxXxtWTbPldqJ-ayaHC+YWdM}) zgauj&BZ?;hBmWVK89ayX8jyp4yBrtAx#2KcV>le1U9F3T+e=pPzEfGqOi&k695Hhm?dTjZi7Cu1N!J;TE)pYg_>pM$fe)- zSB$2edGItCAvZb)wTn9#Y>7^W$cQUiqk=E4_j8PtgJ?+K2 zR74Pu=rOFKed5cbu&@EM^gh_t+hrqubn@s;(F{F_E_x=9`cDn5qr$;{%91NFX9C@- z&q6FDtopJwarqiwfedtq5m6ab;X8mFU!7sN%6glvk$QWQnU^4$>0pwX zP8L;`%(TkMdW|e)7u@%@j#{i9VM|4ZpwG(E3&u*v5m6{=bbCabTi9){aJZZfm)Rp$ZWWBRwL&4K zyM;p0ExL|jFw&sKkZmy-EQTCQPPQe-fX~2m$$`WE)$!V-&1tGMRcxwCpeB_XohnvG zp^idVa3wuRI)akv&AA}y4|38(@XmbjT5wM==KneVUQRixT2zl}G>ZYvIvh+HN{Co3 zPJ187>3`A*VWyZlFtw7X^>_Kb-lW#<)1=v-Pc|>ZXc<33|4}J!=HZ52Pb?N`lpAkmCu+z-uD%G#I@tS<1-)4 zw|#kY;E(oO-pNzGX=^`W{Dch4wG znKeaZQx!?FlEgWZE2WyHtQVz?(reF3ah2cKbUraq7qB$DU$rzj8tdwYZeErWCGIRg z8hF2DboEm_86ISi1G?0w#B%^^Cd#h$T-WVT}9{)y4zaimL)4MFAJLWCX~>snKllnPtJh)PKxe&|CIxspq>TiheieeCPK&zwM)F^~)G9qupX}8Pki@yT~jFAHY0JXT2>N+V%e8?)$aKzu1bqTQE6M&>eB$ike zjHw<2Wd1W4Cb$lpb-2EOvl2gsi{f$grg%I)w^o->L+6lRTa&WuPavx6sDReobEnw+ z(|m0h(&DF;2JT~o3g8%vgG*W@5m14StdJGB4F-7zj4{HrMy*h*v>eAe$@chXn9M~b z@Hm*DC~*(wm-i4n61y296Ml&r4P-(AkVcEo2|Vi*_9ZT_Mtq{zhaA%pJku^v<5?Ku z5#?bWJ7==YsL^w>Dsfk)PZ+CBa6Hax8L1LfGa}@f5 z!Gzas*b4CB%EmFOzI}OhuL=>IPsxA^7W{Az^A|URiV*YuC(Fu!hWaK<#D?_7N1zVO)xb!3gt}h70N}g=y?H2`FJ+t4x7dS@YeEqWlj z;r}`Q-(1qTW?4I~(=A7I8}SlJi>b2LB!YXQvGKaDBpkLw6~}EC7N1or@BrtaImXs(m7V|8m|AS`n%xe@Quj#qZhy7 zqf@~P12ZGnj?P-nAN-m=!C)xe zGjXKpjL63xxVuBIjpeN7>22Y%7(XOMk~;V6dN$<hlps%(1eHzOo)i|Qo+HO1JAf1us@){aA|9G z3~Gvoh=_=g28Sr8XmM$Xn(etmLXPj<^Ld`<`{Tz|-PMuuQ0WY z8IDAkK0Hky`H@^+kNEtVmkG!(24x&)DxKKV>yjM{uX!|{tF>-%<>JgLNmVo4yl;O5CfMl*6yAzOK?1uGGZRKcJ}#Ye;{ z6gX^BNpsv1Nqrn%1^rAVyC=0BYsWqZf&auhDbRM+9SVgPuxbIU*lP;btg`H+7lgO1 zMf6~xt)&iM?$8c4_|xoN1;L6(oER*ih&{xRKpr_5NWp|r*%hZGzoStpiw~EZQoZXB Dpf^wA delta 367 zcmZ1>zd~+;c)bq;1J`YL7gsmNO2z^P21XGE1_llH0RLbHQ3fs``v?&8_y_A7<@AJJ z0LqsD`3cFni3OZjxZW`^Fh>CSpE6PtQ+AbQZ~*0PfPAwIpn$*^wt67@0}!iZvc)2 diff --git a/test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.notdef-outline-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.notdef-outline-retain-gids.41,42,43.otf deleted file mode 100644 index 0b7d0f069bf3dfa56ee3ea9ebbc1d993afd77683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2028 zcmd^9dr(wm6hC)g?k+3%V95}50WnF_z4z|D3tB3$VCoPilCKh1Sk8(p3%iSgVOfF# z3%V9+_zH4s#=vk?%*iHA88y?%(Xz2|%xP+>sd3an7rZ)j?&1{Fzx~s?YIj6&3_*v%C1j07LqLUQEdNij<{*!3D)8(r){H&}2Pz1=w;Idbi zfo(pSpo2(LYIiyGzbBp|+YQ1;%iLaH|NFp^e38fmK)&+L43QpUXfq{tUnyt_%S$h#(1Tp6tK#@@EV@kIZk)WcuaWblrr~Xv<3jFUe1% z(owt(5}wEkh=k}TvT~4KHAq&Ihg_>1s|o900S9=%3#-5lrNF`zFv9}UAyhyK*vW=u zt$>w~4+UW#A6YBGN8QK=SJ=x((PiZAAkBcUC#-i6%7-H0!kr11{{Ln2I|y%3(d03V zrm({0s*Ko2@3q z+>eTbToM%9N64^mIAkiqBQXc&K{n*T%a99sun3mGGFVQ{ETm=@Q`5?*F>9a-s^Lv| z8)~5r{ICVKK{M=xU9cBgVLyBX2j~Otgu~DU$KeG15Wa+NI0qNt5?qF>a1E}*4fqj$ zf?wb__ycakUFd-j4g6yU7$u`&bQ$ilD$go(`b-lGl1-f1%$d>(-76iY+$yin;qsd1 zloq%>Wp0n%=O~%0v1r*VWDVU0^8Ce!t4p|;q z3$g;TBC=LwQ;@@C{&&q6s#zuppc598ATRF4n-bC z3yM^)h@zEx!_=pPjha40tJ6mqhDJsW8$M!Wv@zzXQBTK?jvF&}oGCsbaeUH*XC@{; zJ8ANBQ>L0(j<*P+H6?Z0^ygogF>_X0dWJ1CYu^04M17(@^1rTly-6P#uaB2mf`Mwtn}Z?Sd#8iaj-V#g8GLjmcr`dTION|p?LRhMyZ%;0yTNcPU>HghsOydnb0dxA zNKnbMSO@*gLT1U)z8GU;ePcsIY)w;5VAI%LS+<1p%dad66`wmHX`9z>@zzzmAw@5C zN`_iTL-wZfgQac7?%l#oI&X*FvL1+vbI$3a_uOo7Peu!1dm@u-aW!UcT?ng-}dL zvsc?5_;_RclT=!1xAe$(vOAP~rAtzDSZ7FilDZ@LKJxiV67(u_&zW|Y%?PCA{ diff --git a/test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.notdef-outline-retain-gids.41,42.otf b/test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.notdef-outline-retain-gids.41,42.otf deleted file mode 100644 index 6f32aca35faa581043674ca4adaf664841357839..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1924 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 diff --git a/test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.notdef-outline.41,42,43.otf b/test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.notdef-outline.41,42,43.otf deleted file mode 100644 index b96e59087d31cc94dd5ba3c96ab9a1c7c0c2ec13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1316 zcmZ8eYfKzf6h3$M(P4KBt+K?>Z5=?85=o1z-Nr{+w=AVpD~5-mRZF+*uv^&oE-h40 z4DWrEts+XX2s-|#fDi?2Y?Bfo6|0S=jap4p`DgrNYJ<+w+h#p8OCssLIp==gcg~q} z&)m|Aic-)(D=2^~+`E_iea>GD!1STTipwkaI77h>0GLI4q_ljy(fNJlBmikeex$}_ z^@0wLBR3$=ckou**F}f2k?%upa-gtbS^XB`IND86k|J zsoho=ulX})7VDRgPkB9oVB#Y%BEEsf0bs5YKy{PkCpW4DO#>OYiPIW%1B+Z*isX^_ zP_9pswI1tI7EoA}z6K+zXXP(Fkb#;))^*sI!=Mtk)Uhy;KyOYY60@syl8WXlv0klC zd+r|~s+*`lbM9oTbpAGHi$X@?l+wt2iBtiMq~c;y7Dxtt1v^lt5mC&^;dugKLp?yc)$%$z&0p=GSuwQ08X%C%#P6pI11HJBj*G$+6X~> zg=%ogSwXD!Vm6OTGS@HbJhE!2#koO=f0+=qt-@fjix@~ZgQhT$b|u}Y zQ*0TA-f%eSb?Y_*e7?MXgsSgeUMW@~gY#(yD3`#Eha`V-Bd7?ml)PA4R_O6I`H$Hh zL2heJ9%n2lFmh&_=P1vWHwA*cE5MbwYdn6h$8Qbtwr!l*>Ez0!^Z-}J2YCN+6y@vL zO*`x+lijovpNI4?pu~G?H|TRTIhxcg4JWxQ$z^L&{lZGFK)VFd^1+-y`vtW)A>5l6 zt_%Bxbq~ha|6?hmnkDV1PPY`(t;Zo!7Sd&}$H^WBC4;Zp4GB^~4oOZ^9O#QPx^O%dSd3Q`Hri%2mbE76PkP{JniVGBtn@Og_CS3 z5)MZ){bPrHXL&aM`28JvZ9HdXtKJ^1eb3QG^Xtp$=31KRpc!+tP|UK51+R;n#M3W` zX|`YMyPp~G#q2GCx9!cICZBKU_7yQhRG(!>W1qE+uC`+7Aibx*v>@hPo2Jaz&Rw*U zs>brpx$pG;(bql@8t7x=x%84=`&ay5{gr`lo4@N}M?Q{3M;;B-HS!I-iRSI1d5zTE zTRYSB{`ipi^iN{$Eirq1L0Fuh82+T?TzwDQ@!FxbS2tOr`_2@dtZ5mnntGRwo9=JN JS-Qh|?SCOGgRKAn diff --git a/test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.notdef-outline.41,42.otf b/test/subset/data/expected/layout.gsub5/gsub_context2_multiple_subrules_f2.notdef-outline.41,42.otf deleted file mode 100644 index cd193d46a3cd363b85a23fa2738beee1c969db0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1216 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 diff --git a/test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.notdef-outline-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.layout-test-retain-gids.41,42,43.otf similarity index 100% rename from test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.notdef-outline-retain-gids.41,42,43.otf rename to test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.layout-test-retain-gids.41,42,43.otf diff --git a/test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.notdef-outline-retain-gids.41,42.otf b/test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.layout-test-retain-gids.41,42.otf similarity index 100% rename from test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.notdef-outline-retain-gids.41,42.otf rename to test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.layout-test-retain-gids.41,42.otf diff --git a/test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.notdef-outline-retain-gids.41,43.otf b/test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.layout-test-retain-gids.41,43.otf similarity index 100% rename from test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.notdef-outline-retain-gids.41,43.otf rename to test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.layout-test-retain-gids.41,43.otf diff --git a/test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.notdef-outline-retain-gids.41.otf b/test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.layout-test-retain-gids.41.otf similarity index 100% rename from test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.notdef-outline-retain-gids.41.otf rename to test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.layout-test-retain-gids.41.otf diff --git a/test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline-retain-gids.retain-all-codepoint.otf b/test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.layout-test-retain-gids.retain-all-codepoint.otf similarity index 80% rename from test/subset/data/expected/layout.context/gpos_context2_multiple_subrules_f1.notdef-outline-retain-gids.retain-all-codepoint.otf rename to test/subset/data/expected/layout.gsub5/gsub_context3_successive_f1.layout-test-retain-gids.retain-all-codepoint.otf index f3cb045076f767b95fd83c06312a8e9a2a519170..fd60657952e2d5109ec64162e3f8d509ce1444d4 100644 GIT binary patch delta 521 zcmYk2yGz4R7{$*`)6iB?2hpWyDT)pSUrylh#sm@fPsBOoqY}VqIha z;R4V(8HtX)l|F{a*W|s~NLTOLcJ!WXl9%F1J>!1#d;*Rq@|S7oiSzJcFZMhX@T6j=M{ g$WEM(L6yZS@>DUbpa*cimP^WI`B2f$<{b|;KM2iMwg3PC delta 401 zcmZ1>zeH|=c)bS$1J`YL7gsmNO2z^P21XGE1_llH0RLbHQ3fs``v?&8_y_A7<@AJJ z0LqsD`3cFni3OZjxZW`^Foyv7pE6PtQ+7G+%LK~X0QqJaKmma-Z1q6)2Ow6-$StXG zD6yKsz`)c2>$P81?{3w!FmLRIbO$XMqM>0rIyLdB+sbF1c42Gk6&z#P7*1^2J2Tu>FsL55V(8{%M&;@_cL|M8BInY*DEG((=S_ ztX3=K1#tk4Tr5@%Ck-D|X_w28j&RJ3LyZUuJeWs6 znb+k$a+PWewFcBOAu}>5FzWUZw@2KKf^)wWbk!)kiYbdDGA74lK;z3OJR_K-#xKP* zuMw)BT9{Y;Vg*6e{9(^OUHyl>Oz{7?vl_z1W~IF^gLN!HM*?d|!-0t$doLB~B>0#_ b8LS{nq+=O9fVWgED3`@UMLV1GJXHJu5-V01 delta 400 zcmZ1>zeH|=c)bS$1J`YL7gsmNO2z^P21XGE1_llH0RLbHQ3fs``v?&8_y_A7<@AJJ z0LqsD`3cFni3OZjxZW`^Foyv7pE6PtQ+7Fa8Uf{PfPAwIpn$*^wt67@0}!iZ<(Q3&tL>(ZvkSUSOCzhiKm)a4jp*pJ~@C(#EcAvK+FQf1`JFi)F3oLJTZZRfpwmHaHvyGS4k@a1H%>|mhcbOH_F)^x`2U!u?EObNX|_xU|7g- z3CI@!@=Y>Q6H|7&1j_>XE}fA=rt4q9UB@9m!?|$ z1A-z58VVYsmWGx-hJu!sh_EfNbFV}%ocB5B_dM@M%hwofcxxws=P8w#Pl~G00pS8L znM!BoUVq*N^EGpEF&&ELcQbd)D)Y*kChP8d&j(<;VE$4SId_&wkFXzRo>mD4+RhsN z8#SS7MrGER*$1RH^Nl7~bmW$3gE;5zEXbPD;~&4}K%Dth-z*uOLqzGXC_ljA+}`8X zaP=j0knN9uLpYwmk(Z4ET(Fz{P6uX37)r??qqAg( z)2c3JQ+<>`1QLeW5eU;oSz{JAPj!hzGR5?_oLGPj!tS;cCYzta8%ScTi}- sSfhL(*$hgNmb%7 delta 359 zcmbOrzeH|=c)bS$1J`YL7gsmNO2z^P21W%21_llH;83TWu98+D`v?$A_y_A7<@AJJ z0LnK2`3cFni3OZjxZW`^Foyv7pE6PtQ+ByV8v*5k<}sLM00jiTu+;B>>0_V%P&D+42%|Q#n(WIDrN{0P>d=-i{2rxsa|8p3OCSDYo_#{Lo&62Mzp5Nvx10yTQ z2!8HDgeMvY8n87(}3KW+ZVI2D8ZpOyZ1Y ulRKCUmGc?$7)lsY87hFJF+)5Msl!7#K4c7#L#wgY}Jac84wi@{a)d3CX#M1q?h4 zX+S;;kgt=GnwYZFC0G{72kK!k%K!=pd||5xvL8&$(9>d40kXCgsh$To)m{~16s pj3ueXB|tGC3yfJ9*uXRgkPpIqK+MR%1jH;*7Bh^!xsGuaD*zJTEZP77 delta 175 zcmaFEw}Nkic;E~M29{p;;83TWu98*;28IJbEa4xlZf@Ohx4aQ{xLB_&x!E?khQHKzqsW8d}fA=rt4q9UB@9m!?|$ z1A-z58VVYsmWGx-hJu!sh_EfNbFV}%ocB5B_dM@M%hwofcxxws=P8w#Pl~G00pS8L znM!BoUVq*N^EGpEF&&ELcQbd)D)Y*kChP8d&j(<;VE$4SId_&wkFXzRo>mD4+RhsN z8#SS7MrGER*$1RH^Nl7~bmW$3gE;5zEXbPD;~&4}K%Dth-z*uOLqzGXC_ljA+}`8X zaP=j0knN9uLpYwmk(Z4ET(Fz{P6uX37)r??qqAg( z)2c3JQ+<>`1QLeW5eU;oSz{JAPj!hzGR5?_oLGPj!tS;cCYzta8%ScTi}- sSfhL(*$hgNmb%7 delta 359 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 diff --git a/test/subset/data/expected/layout.gsub6/gsub_chaining1_multiple_subrules_f1.notdef-outline.retain-all-codepoint.otf b/test/subset/data/expected/layout.gsub6/gsub_chaining1_multiple_subrules_f1.notdef-outline.retain-all-codepoint.otf deleted file mode 100644 index e71daf2674bef5188152e4f8b51928eb447b83df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3892 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 diff --git a/test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.notdef-outline-retain-gids.30,31,32,33.otf b/test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.layout-test-retain-gids.30,31,32,33.otf similarity index 50% rename from test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.notdef-outline-retain-gids.30,31,32,33.otf rename to test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.layout-test-retain-gids.30,31,32,33.otf index e1cfd7aafd82ff8debc13aa7f012a596834864ba..e5b9d6ea285de9f10623c08dfa08ce4eecb96ec3 100644 GIT binary patch delta 281 zcmZn=dLT4GJn;Yn1M58Z;83TBM_)W(U|>ALz`#)9AFOYbvpaMFke>qNCnV=47BDPi zxCCVX0AiDj)WnpXF2ROCc^x3%ECVPY@P%zXkbMP+RWfo*D)7^#@>2Hpg0$U9D@!6V@_g89s>sh z3s8jN|9=LM3}Z=ZaS2ci$O2;)1~xFw!N9~|#-IU)%s>$a1|gsd79eH>$}q#(Abkd4 ZagZnrP!7a52J2vB@MB=!{De`49RR0VG-Ch& delta 195 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 D6EcQ} literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.layout-test.30,31,32,33.otf b/test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.layout-test.30,31,32,33.otf new file mode 100644 index 0000000000000000000000000000000000000000..ef1bc2d636db9e37b6591942c1969e880426513e GIT binary patch literal 1928 zcmZ8h3rtgI6h5~vFQvohb(u2k@G;#`5!AVdQxq|pITsL>nF$pt1zL)2c@_{$OM7qM zv|^zMMe4GM52lDX)cC?joKdHlS!On8G+CA{*__K2FAF=jb(`CN`k()N-}(Oj=luQC z^&2*<2Prgw5acT}GUP+)6NdlE)mhmqerWm81VCH?fU5Ob^HbD=*&)O##CiD| zMH$FoJ7N*yB$ZN8a56n>0peuDi&aRBdm`D1@qL^#R2oASxlm}vxDTgHqo^ta@kbcK zL7b9Og+>`GpZ+DDzZ`LYnO1KY?SvGJ&*GE=pjM2ZdqmRThIL2AXnRB#1uuF6Am$`On}nf#1WgG7y0rR}mVIQ%6V9Cy$Pf-g>?-s)o})yniQm?0bIzA-;zS zsGZr{z^~t&`=lKvkGe!Df@27UAmCXXf|!eh2dkG6PlzY*3{oO1V2lx_r4pe;94ip; zH_4yz&qzyOu?m($GNeZP;Qjq&1eU~ihA0g!xJHUaeNW})F-hfYO`SN?^92so?RMVEk*>V#>PVyA3T`A`?KRgLJ;X|K3Jcb zy;56Ntt%>28RWC`=g3o%lT+kr1=?*&c~-UFpw#H)YfAIAx-zX!VNe##lc%ZG@=RW? zmuD*VN?iq#k@^Z3E-762cHyGr!bN=T1T6$H)*d^Knlei|OB$Cbox!`A(zxkTIqzPR z#_7VtGsB!U%%%s`gzdy!oD}gC z_Bav7@W1;m=po)Gh6J=QO_;&X9G*+1^FbTLFL2YG1Q8=OXsh8qhxDA0iESEdd#iny9Mmz;BUL>TsoJ@ zi|%&}IMGP2*Y5C4>+@O8DQqNdW9X@FcB+kis8(dHcVwcwl>E z>8$b9*>?FGeDw};=Lk@EZ;XrCV+}C=#{Ja+rB~ZMBX2Gz3r=ra!OFk=?!dt=`gn7P zwZqlkO!lywDd!f`mg4Q2qQ%!5`x-9XVdHNZd^Vq@+2T~Y)lLn`W{r5L*r#KM$5J`L zE#XaGZt1=f&UY{A`ZA;YXPWf-`BxYUbp(U$zP0YPmUY%*Q+9sc8pF~rvODtwRXM#? zCu;_328;(94(;i2{_eH2nbxZ$bEFB4-e>K$?F*c#>FhY;30eatUt5cPUuBS7`4;6Y za;rQlTb0#lF;|tBS5{QiIqK}Sj*UY_m-c?|3AMHF-WzHT1-op0O`lgCt0Ng2UkP33 Vsx?_FNH%+95bL(tsaX8i_zQdMj_?2g literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.notdef-outline.41,42,43.otf b/test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.layout-test.41,42,43.otf similarity index 100% rename from test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.notdef-outline.41,42,43.otf rename to test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.layout-test.41,42,43.otf diff --git a/test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.layout-test.retain-all-codepoint.otf b/test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.layout-test.retain-all-codepoint.otf new file mode 100644 index 0000000000000000000000000000000000000000..3072df6215140da26ec3702faf2ac6db9b446647 GIT binary patch literal 4016 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 D6EcQ} literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.notdef-outline-retain-gids.retain-all-codepoint.otf b/test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.notdef-outline-retain-gids.retain-all-codepoint.otf deleted file mode 100644 index 19b4f680ba8e4dee2b2a858f8e0589b16aeb43f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3892 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 diff --git a/test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.notdef-outline.30,31,32,33.otf b/test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.notdef-outline.30,31,32,33.otf deleted file mode 100644 index 5d29d69239583896e61978b5860175931a6e1171..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1832 zcmZ8hdr%W+5Z}woBSg^Z*;c8h_^7t12x@JuRTQy0wRS*M>Qsmj36KyB;Tb>-3CUgF zBw`>4L1NnxA5;;ssN)MCV;!}2YMnajIQmb=&QxpX#KWO`!M2XyX7~2@+ui$izxyU@ z)~;OxQm6$X$d{$0$orGW^aBX|03yeVwDhHFMsEgyQ>bsPNt>OZ?n@5>5VeT2vNeh# zkiizjF^J<-N=44Gc!q6_;_ zC4~x&GEzSIN36exxTi>4tRHHF1oVGJl>=a|7=O2kxPJu*j7VV|3ZYi$3xPz;FX8ZG zs3lxK3|_TZ7jX`Wi~QT5UA!>-rq?o%6NY&ii1_`{io!T?Xb4gK(9qEJmvwv}sNX)H zUXvO9$=^VTZzBU$Q@d*U=dIIUx4^g|rzk;i7@-gZJc~;ZagK1~R5Icz@f4mzLih>j zqlaOsL?{tQ3Irm|<@fk+B_%Ii4oe^&5{KvD?Y+eWw!}|{C<%pM68M6jLKK1ZDG>Y8 z7eEw@ed!Bd;YF|bV$9%s^42%%q!EJ|5;!~nuKns(EDeTmNnN(7imiySeWIH!1$Q7~EGs)Vn!wrWf zc)U)RYtpp~hxR(2*pIqMUlHfi_rc>PR*!gL;&*mt(5r zHF1iCoN(XzfaZ+hSiv6*+xh!dzi$`a?6TV(C{47VZp4b}L5_-KmkrFI>|B9|D?sZ~ zoOU|88CGp(^BK0F_JG1>+Cs9oUd+JE2LmIhr85`JUjBZ;rkor)&0%nxnoKuy*l~f! zJLpV0lgS#cxA!_wNRP*6cTei}noldNByDBr2`+Ymm3{jwb`0&bI%tR4Q|B@=q}gn> zSSHa7zeuifFplyyd76CwKu6cfmiE5OCoY}1^j)l-6IeK6u917QCZmmfHj&d(k=+C1 zC_8OunDHiu$z4COIVCyv;-;T6*!&B99O)}_7F$bdxUm~loXo6bR@ZOcU)Y|n4dfr% z@Qdxd@ zcXLolGIpEIK3=zP)7D)|^4SM3=Hba48CXCi?u>oUG>_45-|8#zm3sC5GEbe?<=C0`s>HY3y11iaa}*%QPXa0uWPGlt_qkMj4q?o=|=JN z+%3IteQ0j0^j2H9`)a*4c5>SwPPli6wUGrqb#6@H~h+c70;CMOF_ZeGgDf4j4H zUpsxIq1DprY-u1n*$tFqqj6*Y7ERv#%XQtgXMbj6uIs&4uerhOP`lI)4auerx~a%# z(F4&`Mqp!Ty@y-0yMXiFj=Qqh;Ce)p9v^=TgTdB7pvAk&waUEOl5b4Uu3o8M^h0`E zw!b{1tNd7HZ)LAxZ|(k_osPdeHa69AiDVAeqtLr89oF6cla+0)C*1*y-{@^_wCyen zkjp-#9Cfl9IC0(rSCPt;)WxKkxjmyY66f%Z^>ahG3xG+Fk#B`Qd7k bq4Ac`)y^uTrIcjT2m7#ZtBs1pe~o_t|GtRy diff --git a/test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.notdef-outline.retain-all-codepoint.otf b/test/subset/data/expected/layout.gsub6/gsub_chaining2_multiple_subrules_f1.notdef-outline.retain-all-codepoint.otf deleted file mode 100644 index 19b4f680ba8e4dee2b2a858f8e0589b16aeb43f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3892 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 diff --git a/test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.layout-test-retain-gids.30,31,32,33.otf b/test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.layout-test-retain-gids.30,31,32,33.otf new file mode 100644 index 0000000000000000000000000000000000000000..eb573b02275f82d54e169771bbd42d3eea3bf429 GIT binary patch literal 2360 zcmdT?eNam1JUg*xY```Y# z=gc|xcfRgD_uPB@x#x}}A?ieYBsrX)FFEj+oOy)!L4;z5o-Hgo^yg3h`UixF1%#01 zc;P-uJ6{wAy8`U8a-FIcji3(zKLk-|)T)Zhc_n{@cm~*+8gQ(AAeaFBAxN4=XKYGb z%Qqv$gBkh{t(>c<~E_7sVnG@ql=M zzC%=WMSuZ8SSa8NViR~g?yR45nwxj%8T2%qFJHY6r|;(wD_n2!3t;5}uhs}r3d%r) zR%NU~WVCApS=?@fQEf1SZ#9p*ksyl6XotH|8uXch9)ny?I3j?#+Y)eVPD`Vjo0$Op zlABsgeAJuz1LmPbwBZNLhwOj*V}68VA%mLeA&(Ob-IYcwb*L6{)nJ`QRP?pE{{K&j>wlHGCy0UHNDzXG zdY!JBLr0T|R+LOwiDbgY1K}qV<`{OJh@TQh9*1L9i{c(f==BF{Mp(gjHWaORT&-48z@-}`1!{x3t^u6U>tGqCupBF}5@+HpoQ?NmnH0-pSVm!)9Lp3~ zro^&LEX%^OY%JT4DJiC)hQgE_QwmHeF_np_EKFr%YCo1sv0R4bu%#T!6|4rmGH3%f~JrH#vMn-3ll_Z5|h@h zdu06v@y16V+q8L0^5ZF6CEHTBr={n zouy>wsH#%5y`eJXNUuRzP>;(G&*@@U}XN?H*daq^OaO5%d@hC!o)t> zQ9MjOOkwrngz2S?Vkhmi+c%qCW^Z>&e|}!-+owJ#W~vtFSu)V*HrVPr*bOH&tjMCa zAL~BzTFpq6K2$Yz@*~F$*Qef(!@s{xMkXBdy)#31%4St_$KGS*bvZ9J&c1QYa_b*` zUw40FpX_nWXnI)!&iAsYg|s^z4(H~&@l$68)#Sq`zgNO!W|p$W^7E-rn3Zc&4F%JoAyjYfi`=ZP5GiSVj69I+4-f*(*6Era&fAgiS4>hk9LfhM!JTZ z``be19+Su9c6)(+v!6A5Zu`W@)}TGm^-^(Y@-;j&kp@Gxm9Nn9K%iJb7U2QO5!{(Bj>a#}rK(WEcH{lai~C=?p-AN3ry z9J5xLiptxM7!UrgXt+GsR6N;qxn-_puJvN)Yv;#Y-})R(f%PV7pXdgrFIY!y7lKz> zhKH_rL)M_l-{0%F&=?{QXNg^v9*tLHYqGXl%uV(6jSUU$&UQze^ZDzQHwHiRhWiIz o91Qn_LnF57?%y_DYA5Y9{1Up|-Da{jkWA6?JoIgIh!YU{7q4yAyZ`_I literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.notdef-outline-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.layout-test-retain-gids.41,42,43.otf similarity index 100% rename from test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.notdef-outline-retain-gids.41,42,43.otf rename to test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.layout-test-retain-gids.41,42,43.otf diff --git a/test/subset/data/expected/layout.gpos3/gpos3_font3.notdef-outline-retain-gids.retain-all-codepoint.otf b/test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.layout-test-retain-gids.retain-all-codepoint.otf similarity index 80% rename from test/subset/data/expected/layout.gpos3/gpos3_font3.notdef-outline-retain-gids.retain-all-codepoint.otf rename to test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.layout-test-retain-gids.retain-all-codepoint.otf index cf2d7633be6e223db8e2b439633f6a4cc274e0d9..73d92d40d95a50a5f5a87fefab41e02bbb475392 100644 GIT binary patch delta 511 zcmXv}&nrYx7(MsRo7Wgq#1s}ZwtLjP5O>+YS5$b}mmNQGo2$NqC0f6BInTueR zju77e@>{a#iu%eHB*;w7Kp=)$syQq$9>+3$!3?pTZY{*C27e*kFZR|}+sTf7K3$~x zt#PrQw{u=Jp&KHjnpt?b%PN)1H<-zsNzb{9jts@&9=;=Sr=2~3dQNQECFt}b!c*`w zb`Lqd$C)aa;HHo(9KQuFt0-#QLLhTondyJ-hMzlSUqQ(7Ngcr)*0JRLP=kt9WF4&V d#W-^0It*lxq)H*|ezB&cOKVY5PHS9`m4BY-S+)QG delta 384 zcmew$_e6Grcs&OL1J`YL7gsk1eg-iH28IhjEaD#EAIu=izy)L<0b(BiV11*Uo=~71 zV*-$$ker)XzzgO4mEz^M>eC*WyZ{?Gny=mOQv&q;={0e#cghPz5Czq{=e(HyS{Ye zr=M;FDb#}y(APb51rzKb?nrO{WCi-jhP`_N<>MP&(yKfw_8 zqe+St8YOvQ=2Uz>Umq;d>hz->kcjaqG&ulr#rU~J#Q&|>cUVT-!n`r?vL^r{&SByr zUj?1wWq_Ig2#*Q;9{!Yp2;_K*Pr(D1rP<3U&O+f@}iew zF*5j_@U@a~eiJC66m(DkS}2A^un@Cpn9GMUP=f;R^6|C|wnG-=fC@7O$m1;^k}$_t zYM=zUNS(`c&rXnhP}fEdC;#1K{inlOeiiMWX}VQdgwHrtq&je8y7 zz?1QvoaEX0;k9B!a6CE&()r-tE4)875hMhWvhJgeX&I}vB~_&b`6|79Zq7V;VnRZq zJULgpT`5nm(&?2NoqSz!j<&Q!TdL42a~H~!)oOVfPuI!QlsaW;IVQvX(e6XGl(HpPD?#5IQ` z?7`5;+0gaS`p~%l-;w{`Mf6DTM)t^Lcipn_I8Ma5$zf07jFVuT0DsF}&_jGk3<+pq zvM`mMGrWLG&en48n^*4QCIq<>c5W6~-+Q>}&~%U2>2l4udg0JM$7B0ZcfY0IbT5*VF#;`rVUh(_( z(ycDL-GSOd`{`z^s2$;`NOtw`Jj%`$dAK62!y|ZE7*y$YrMl9_^;H=qx6CtlmE0KqWmMo83L5&uc!d zu#&Wup{Kjp=~i~?XY3@}X?4&Jv!}sjWJt5wYO&0q8D2=PdL*9mwRl>5{y=x{$+phH zZ%20zdQ8jY}KHtqjHObg*Hv6>F{o8izRgzENdcFiV zb7Xiam9!`BP16!aziWrD%vbK!`zt&RUX!m;QKQ~bo~B;f$Hm?+2pPK#U)Ucw%#GKM zkrxg%vf_pzy1TB^*xArg)mjrUH5pw-r_+t<>AzEc&-%dJQSGg@?()@p>+Iyt5uk8y zjFZ`8@iV@L&#U}OkG6Yu_5w~8nAN(9mH%{m-~LYeNK?C|-PzVe_OM$h$5!Lk!aPmE zJKr|+)t~)=jk%`xTD|5bvqSAtJ2WJlKH{b#pGFTyQ<;ISq0Js{c~=qVy%m3Xg~9cZ zCOtm>Eer42$%CfSG^72}H zt*yqsX{g}*-aGDKYuoO-n&lA-Y}p=+HrMoT%#W{eDC-&PwHiT@gZ E0eFyz_5c6? literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.notdef-outline.41,42,43.otf b/test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.layout-test.41,42,43.otf similarity index 100% rename from test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.notdef-outline.41,42,43.otf rename to test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.layout-test.41,42,43.otf diff --git a/test/subset/data/expected/layout.gpos3/gpos3_font3.notdef-outline.retain-all-codepoint.otf b/test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.layout-test.retain-all-codepoint.otf similarity index 80% rename from test/subset/data/expected/layout.gpos3/gpos3_font3.notdef-outline.retain-all-codepoint.otf rename to test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.layout-test.retain-all-codepoint.otf index cf2d7633be6e223db8e2b439633f6a4cc274e0d9..73d92d40d95a50a5f5a87fefab41e02bbb475392 100644 GIT binary patch delta 511 zcmXv}&nrYx7(MsRo7Wgq#1s}ZwtLjP5O>+YS5$b}mmNQGo2$NqC0f6BInTueR zju77e@>{a#iu%eHB*;w7Kp=)$syQq$9>+3$!3?pTZY{*C27e*kFZR|}+sTf7K3$~x zt#PrQw{u=Jp&KHjnpt?b%PN)1H<-zsNzb{9jts@&9=;=Sr=2~3dQNQECFt}b!c*`w zb`Lqd$C)aa;HHo(9KQuFt0-#QLLhTondyJ-hMzlSUqQ(7Ngcr)*0JRLP=kt9WF4&V d#W-^0It*lxq)H*|ezB&cOKVY5PHS9`m4BY-S+)QG delta 384 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 diff --git a/test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.notdef-outline.30,31,32,33.otf b/test/subset/data/expected/layout.gsub6/gsub_chaining3_simple_f2.notdef-outline.30,31,32,33.otf deleted file mode 100644 index 5e68383bd45d1771615e0caeb3d432661170eae9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1808 zcmZ8hdr%W+5Z}woBSg^Z*{W0{KB_G$g0I$EMG>o0YX?N7&Il0#0TO}`o&k&@A-T(& zL<|HWNbGb3l`0|@b$sDttfSUWty4!GNB`;AnQHBvcsO(qZ0q#f?0)LK$2f$o0{_YVm{|FEmk-`KNLaoph0Ew7i!jWyL zdANQAylt^A>>?6Z_@_aec-ioi{+EHAaF~~Yh(8~#Xc)&24Izph8XCIwrjG9ewX-wo zUV7xGe*q!BhYVEB>@x8C-E-MXV8W176el=_PzVB^#U%*4NVst-8S#R60k0r#cn9>+ z!?08$l!(Ix0uko&XZ*Vo5?8H(l@JT@BXjWf;R*s<;wM9tfWj{ce92EC3d8zXh<@V> zAOgm}@r7^kqPKi8X7Ii8wUS|eGbo`5iXj)YPyh>H9N zA(M-FyyieWa(tx*3NcrSC>v)45#A_4NU};anhM@qA4TXPim(t-gjIklj3P`TZmdi= zB?vB?ZN$n(y$^8s#ppIp^6JvSS}`Ix6&VF7yz}TC-ku!`5`suv_r=EK)YaO;ilW>c zl}y(;e`MQEkZBe1NNTE|^&66jn)$(LMy;z>CELIkk zB01b&&cdZR3qQ_T6q~bX0lp4`7J?Xi4sbBK$sVuM<(hi)^3j8i z=k^os9!rnuQ5vg>?=AKh*tPY$m|Bb3q^I@Pnp%>LNTZ%69psoQc}aQSFmigQj!H^ZvUY#zhr z8xAXMrfibE`+5#$J{}lFt(v=h{+bW-w`XP1DGt5c)M&bs#ZCx3+e4?*=}g8*y}j3g zLV7$lyL)Q4*L+T4C21=|Pj<1Bt?b0F*>SYf>YyEFPp!+ykY=;hVwp-a{35x^!5GTd z=xOx%1MOXBn%nxWoxXbd>bKE$PGI4Pg+}h(nzUB((91Jj{ELA!BaQM z&=Ff-!||5e89j>L4L7*>q7?_qdQMz0U;m@=S>1D{tKN28)xZ&WzMF$elCj%t_DMyZ z+js6$k}p4cy$EmS_`p&sesA;#rbUcy_fB7luhgsamw9TvCSRSRO1-l*S-rHIoANj} zWNg=eV}If>*WEfvUOrmKifjAn_L??hTWxDaQ&qrJZ*&=*PB)6D=RxTs>l1TprMKF; z+h_3B*vVakK;gYHPG+yg&-iK&RQQ!1ZTpOjxtuI8y=fII|MmXC&NljZeT${V*<4R{ zuv;m|HsiLuY)$UsYqi~m3qP?@w{%{s*IaLQs9kD@hGbI)-BkF?$bm>IEwC-L#ltP% zpU-*k#av&ZcRi&^kB|QfgTaqi9^BIWBRH6B9Fuo;b$I$ucupPU4t6n1{!?g`P}i{)BmT>b_gI>U&kM z?yqX)>eVYD7%IUR6blwD5=f=|_(bIIV!JypH^1QFZcw3r8><)q z$0nmkum-^dEF{ZRkOLgH+2i}@^{{i4dDQs5MJ|y2$tC~WWIFWtzc~7({~p1<9r8Hj z1AaK=Y8(|0>%j*$z($;76C`1rjl-J0E%en*p|gJh;?LFy<sF;ee`f=f&zR4{DXab{BSs%V(-{9Ntu`-faRsfU3EXJ7i!Lfdr`2ZM$iVZ{s2P5|c<|P!y!ISV5 zJdOJ=LRCKl&%#8Q1Ys~4o`Wec6~qvZ8H<2OkU|thgAC*_4W5VTFavWk6SJa3&8tBJ zTF`+W3}A#=@FL8HmtYReMcu@}d{_Xnun-o(Vpsw%!%|oV%V7noWhJWoHOy-qYCRs- zz*<;`dfxyE@H)JKn%@M8nAy#!d-gM^eL@0~3$wFJn74E?DTB$xMkW)x4_4pF#NsDB z8R9#o8|rIoAK8#G&jB2`|3r@v@UIKQi~X_X(-Jxv;?VKm@DyvdKM5&5`2AR1+A>_$ zN?cMLE@v$+B>@*UC<4C;VpO@`e6VL z!4WtHC*d@l!AtBST!CwF9d5vHoGMCIJ3&|3)jJ!f#Bdf_;vVpuo5=jzCCFu)t z^Gdd+)3gGyEJ-d_DHJMkOmgn#6meWhenCohzWC*wq};7}xm!&IDakL0W3sZutJv^- z@v4;kl&wV=9NlE9q$;YW8mgr_s;35Oq)G)E~Cs*O~mpc*CBsHg^K z)KHCJ?P4qP8XGX$I1T&G$ zNSTRZCYl);GxDIZ;Xz_%kO*f)I3vOt5zdHkMuamWoDt!SkT62R2ni!3jF2!w!Uzc? zB#e+SLc)j$Mno_of)Npnh+sqnBO(|P!H5V(L@*+f5s{3DWJDw*A{i0Mh)706G9r=@ zk&KWsLdpm!BczOwGD6A-DI=tekTOEbh$u!xF(Qf)QH+RUL=+>U7!k#YC`LpvBAOA= zjEH7LG$W!J5zUBbMnp3rni0{AkTF8W2pJ<}jF2%x#t0cBWQ>q8LdFO=Bjk*bGeXV? zIV0qZkTXKg2stCa zvd-HfjO!Nic-bbd^5EgdLtza~b@laAuU|a0&wbDJj_0WDsO8J`e75>nep`+!w{g3( z+Ge$sIm+x6)f_)|z3BTz`vhmXxMI5LMZvd!tvCB@+40ODoP6IuK5T35a&*+YTy8Aw zjy6Xt66O&>6wEIemWy0MW`mH4w%&B6&OPYlv#flElh3R?V5+sGa{R3aavT{k)GxZw zbLr64x?7&QX_*Ogg+QTub(JvNk=2^*$@1**)U?!`Du2J}ln2ODdTq_uM4 z4goCUdPi4vm%G!;hx0qnUgraE@MD+o5@&TOjY91fQ=%rPdr+>>;`cCqHN?L^|8c>)NNjN9gw zMtx&47gk$JT8i8bx5MRV+0klmadU3B(-r2mbYST>_nQw`?v>pB`^j6U?=1Ua&VbEj zciY^Zjo#*toi{IK{yO`x;)F1!N|D6n<#(kHG;%}JM{eQ{d^J2qG=IiRGZ#+F+?br~ zh;x^DEbW%hlKBbVpIaQ89Gjepk9N>?%#DR>XsC60rVch)&zS6-!|rs1)$?I?e&PoH zX-AzM*Jo|0uCH=(R;%4+o9b|~hZ9Oiri+@}8`_)Oyn7Fx?(8{v_0;84m;WGf2|hM~ zXsU!~D%S7jhNcL)qTs>d2_hG6hjWs}ZSmAh=~xsixwP@)^?b&~lLFVgtuEhQSRssG zmnMW*Q=BVmw(QU8$;kC)99s8j?FIK8&u885UgvrTYEQNv*>xlFsOi{>4+Ztsxo>Ve z`p!A)wV&F5uDR!YltzKz{2l>HIj5_()-`Es|Hds{DcsQW5457-p@?Cbh`Li-(yE2& znQ_8%sluc*VZvEq0UvJS6>soie8Vz6H2GGheOCJx4>jlSpyjzGTej@_=?XuA59s3h zJo~Eq9#6#yUSUM^-g#dB@e#qNUq45P7ySF>Z|B^r|F+rE?rd-7hNQxKqTnBgeidD5 zzg&LR!S(EMxqGJOXB4LtrsxFu96??z#MGxAwe8%$i#Pt6m)_we`_K1YIycb0*Zg*- zgR{QAp*kTf*1e=-Vd-P>4e1`t#4H~fHi*L@4b@GS<{DFZ z)|R4GS%yJj%2(;VReQ_ca((T#)_ioFyLhOE_pg56vA3e9s;7E)Nk_TY(pXhrRafW1 z(s1;PqA%@VTX&Z>ne988E1N1@-1ZR=p$43F&YiY4XLI$NC2c7UxqBlMX9ywQh>rQZ z`13pa`g`m52t2?Vc%bm^f zaU&kgN9b^Gt$%bIa<#cW@2O>`v+K-sSanHZ84RYF%N=sESWA zzg+OriTK?~ZN=*k79TG?R(h;#U*-OteeQoY)bgurmpSJ^4Hm~9+g|&gw$r7%cb)cl zZEaOe9j&!{wt2Y)dXYQ5KFyP6FSeCgEyaa}+lq?JE^}?UYt8%V7rMUiba!;Nbagj& kdwcAIHGeEVZ04K}RJ_AnS6*c+;`sQHlelhsttc4&4b2sLkpKVy diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.41,42,43,44,45,46,47,48,49.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.41,42,43,44,45,46,47,48,49.otf similarity index 58% rename from test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.41,42,43,44,45,46,47,48,49.otf rename to test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.41,42,43,44,45,46,47,48,49.otf index 3ca802053032fad8b8f313a682b85c3acf90437f..4e0b307a48aa02b765c5eca0ebfca7f56d35ea06 100644 GIT binary patch delta 605 zcmah_&ubH56r8u4tm|6Sq)Mq8%LalqrNvk^n_^Mg=7$C$Y0`>R4@M1}LsA3XYA({^ zMFlTq59-O-lb!>D*rOnd^e?El-aL5mP*9rAZvOy3n0YgA-naYlb_SoHSS`-a7jXn@ zP?4O?<;?Py{vHUd0s5hQCYwV9a{#^&gZawB%+Btw&w%opexq19H_`a9@DUKt-@V_g zw&a6s(BGoJQm<7XY|6JqdXqj?XCwSa+oJwQ#OqDxc6+)L3IpmChceA-yM=Oz88!)R zsoJdRUt>eecIi8YK0(OHAT2BBL@cNx9H{6*wuTZC$jjOSYA=Ez7pj zwl!&|lXm(%Hy|%cD7&A6H~O5FM~~Z2o<2($3B!$Oldh@hZb2I#2zlp>an=Zp7^X+D J?uzz1un**WaM}O> delta 321 zcmeB>d?Hrw9}?ovz{SwOz|5fF?B=Erep9B4fq{7e0|WbE_ux>coUW2q1_p*LKrG=O ztZ$TaCUhGE17in}pOBoJSircFaS@R30p#0dq$Z~9VLTZHH#>ojR z5|aa%-%NI3Vc}xbfx*dDEP=wp{4xx|vOwot7Xp#uf(+i1@3G9>+|DY+2sDzBvD1UW gYw|%h9~Mn6O|Hp`?3R-a*f}OgvFmQ0&Hk1J05Hf#^8f$< diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.41,42,43,44,45,46,47.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.41,42,43,44,45,46,47.otf new file mode 100644 index 0000000000000000000000000000000000000000..28bc409b868a1f517893bedc50bfdf3418308406 GIT binary patch literal 2828 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 BGKv5I literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.41,42,43,44,45,46,4D.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.41,42,43,44,45,46,4D.otf new file mode 100644 index 0000000000000000000000000000000000000000..90e1cdf7691ade3a68aea2111ae4be52af3ff5a1 GIT binary patch literal 2896 zcmd^Adr*|u6+d@@^a>%lnZ(+DkPnC6Z!xLUX{LYl&)z%d z-19r<+x?{&y2!dMh18Gu9ilp!m_Y}ZCA3*r|hUE1r5DGg1V3bhUhSapg zryXBR13+U0S8PpPLFfM_?E`|{1n zPe=kleA9`92n7@38-g@K0&*T-n>_0Cp8~IQGAEEf)vbVsC=U7pR{2(W-6P$nA%0gr zk9xE(boJi>1w7;(s$x#p^5esr``2OiWRpKFI7^@(+4Z}I2%3t@9~hz(g1;}S6xcF3 zNpQlek&jmhGklsvNP=Wo55$LHLEtEIK>!4!7w83i3$$+pA`^+2MM6JeK#)M-Pki~E zzHbT1iR)nZK9n&kHl93?1$^r<-_h=4di`I*K7ph$$I5ifoUq?hT%M1gv;=2@&UXFci=AEgZuC)daN)aVS7jRjfy;zE6Krcsl#5cr24*nGDNlER$oI0?U+G#$cHW%hXsFk7+5U$s8Kf za!e~Qt;95gX%(i`n2yJCDVEEyoGdBFas`$vv7Etj6_%^9JRU2gSRum-8Y{?-3an6K z1%nkTtWaY`JXT7vQihc@R?4xG1f;}D1}jxqsm989%t$dK!wiiXIc5}?A@MSpQDH`n znRu*{VwDW5XsnWBl>)1jSVfMb!YVaZ#bdP;t7TYCW3?Qs6q%vBrP%K3qDY=a@hqBW zF`|$tk>tD8qj<}!7R~z?d>EoY~7JyRUk=4zG|s<(;_Zz3<)Ro%ZiG>R-0NLD7?- z!QkL0uHfn9O$3gH`M8)ols8}+|2hsM3LQcZ1a7}=erasX_%d}m)$DLMN$<3}tsP`W^#msl zIyXLB?65j)wz&o!>M*x1Daa z4{JL({!)|xXEgsri)UBb$-h8PP2aQFIFA-yB&O6$AF77}oH$R7)tL0{2 z<&xNinXL2|>^!z*GaH)y*#XPS&LS7CHXO!P`tqWpp0Dq)vsqy`HRw7~Klo}Zit}(2 z;wz(U>?gyVU`X{Am&OGQ#U3ws-u$QbhE7{&J2e)=T@eR;HTDnjozB};A6luteuuMf zfg!Ixi)HydAULy#14eOp6&V`f!;QR()4 z^*Ju$kGbBufy(zB&zz>lk1tR+&or_D_1CQfHGOq`^~cJ)syq#?b+DZ+wyTr~tb$jx1bh*rj_2+7@Jz&E>Hnv&XOsytoesjK4N3p3BE^;5C znm3uYnDgq=vZ^;4*L;w6 zEX!S%ak}h6#rcZ!l_zRX9vO80t;No6H{Yggry5DO_L~PR{qD;Z$9gWiJZ5)YTUUp@ z|DcCTQi+|p&03e%Qf96+HI$W<94sxZc2wJ|9O>6{Z*)I)^>!V7r@Obc*VAV?*Z8Zl fv(=Q%YPH#{)lF4(=2D7Ho482gw%El%M2v}MA{8XBDI%CAX+U(7P~#Uhslg5y+*G;~ zS7i`H1Rp5=fNYDn5PTrGaha7HMOOiFCB!pR-FV@i@1A?^cfUKAc^&>dyH#FWDbp-etfH7JrmMqMm0^kjOcBNL&e|h*_1LQaP?Q-o{s`Ih_iu@6IW4+t# z$xxn=Um(x7Tg}V6^8O-uj6Bn3V*01?iLrY>-tO9$`pJoX4M2~u$m%xxJychzVV7=f zG`p?9+XZS`pZrPh#-=@fj1=P`JqED0%1G!Fbk~GQjVL=GO8YCGMES+j^HC=%%jpbD z4EUJWV4*S|ljr`P?qvhhUM7zMiYU1?&bE}K;=Gf&E%%`y=8=GOn)U_)>_lT1R}s6l zX*0JskWkx;15_j2@M&a_XQ=nWi$c$~>jANtHd$kCMBqs5&qGXG5(ks(tm^^-lNZEobCkpPKw< Ri@{iMa&b^Me(3y9{s0cHaPIb9{K3=9lgfLOvm zSl=k;Oem1e*aGAyBI1Y#}*F(72jNi4}@-~jR&Cf;)8bplHPrQ?GpT$rrGXsxXWlwkov zkQVp<|AC|r49*NL46Y1r4DOR>F}gCkPkz8CySb8SIU^6F4gyY2VDT2_ z^JL9b=ThgI%*bvzS%95m PvK6}=qsr!V_Seh+{Eto_ diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.41,42,43,44,45,46.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.41,42,43,44,45,46.otf similarity index 100% rename from test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.41,42,43,44,45,46.otf rename to test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.41,42,43,44,45,46.otf diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.41,42,43.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.41,42,43.otf similarity index 100% rename from test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.41,42,43.otf rename to test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.41,42,43.otf diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.41.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.41.otf similarity index 100% rename from test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.41.otf rename to test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.41.otf diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.61.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.61.otf new file mode 100644 index 0000000000000000000000000000000000000000..275b11be46c9aa9a4ab118d87b7de7320721e1d3 GIT binary patch literal 2608 zcmd^Adr(y86+hns>jJ9;!&0k=3qm6a(Y^QX-n*Nq1VN1$B=S(us4UBJ7UaEv$RoAN zdwD8B0YSiRXAD|wqSjW&Oe68tv9)oMHXSCho#`|)&1904b|F`Xp1WA<^q>CGKl(?% zJLlW;JFoAYZ_l|mB|SX_0^tz&fFWViCVlSjk1hxB%>?lKXmjGmO%Mcj0GK2S*_@WK z;SaT+TLD-D;iQzbHGJV08NVWYk8rlF$XW`&fj+`vgjYN4*4(S?_AbJ&5f&XJcxGDt zfcP1rC`VC6b#Si_#Zr+!Ybml;mqO0#q=KtN>SAk=U2`*H3F!@lM@mba6?3P6C;oRt zdH}M`A&wDgiIl~_O5{uRc-P!Xul+oDdM6)$rK($gQ!Exn{a*G)dD>z=vd`n_z7R=D zUwV|&taEcucI7mZ5Gfj>h)nIFeL-vg2F!1YBv2Q9{*dxJ_2&H#Aat(Nmsh<@&<9kC zl$PQb0O1e|tk7Cf3>t4lpfkJ?E9}k+lKnHj?_*v=+WD#(#1pSnPFLkW$-2Q0v}~G9 z!?(bDe}Q=7NFAW|QTqj|R7%cD^d~Dmal=Mci;fnC91Q&HZ3`zceOsguuz|>m^<~UcBj3(iiF+^Mhl`YP~=e*P&A@Q`HCn? zD4J2UpkzRaLy1R8K*@-b2_-5=LdlGh121j|V&m9M@_ebZZyVJo!(Ccy}EQ*|XrMOjZlbv2>MI6?|bf zRM+0x-qyCXp`)R@DSTj4V&tv8A7*(9ZeEc!y$3p-EtPM|A(;+Y+h}h~ZYn!hJX%mP zSny8f$F3V4pLYLt`T_m$-kC`^0*%!xb)NOjd#E5|GMd$w)00_ z7ae^vYnN5sGSq0=+Fh>prR8V$mJQi8GcPlg~&aTp7N8VeGBXaEiG89v(kDwL-soxbEf#4u0QuS^tbi*YG$J4_jG|@&iq|>r~h`{FIzRE zW9=QIE1U(@_DZ`b$E=rQs^$2uyi3i;&kcJlA9<>8%>GtQ;~Tq< z>|U1G@#?_F8e9Ef=7nRL8S&8?swHSPNS8IZ+r6_#UN^R1J~kD5H?Fqpi&jlfZ)aE6 zijk4w!NHTqlDd)_lbZ_;XV~huRIK}X#wpv0>a6qCKdZT1bGi2IL+6f=XWilEDvc-O;T6ie L#ia|RPwGDaIX`_0 literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.retain-all-codepoint.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.retain-all-codepoint.otf similarity index 82% rename from test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.retain-all-codepoint.otf rename to test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test-retain-gids.retain-all-codepoint.otf index f6e312da1ceba346f546774808ade669d0cc5a9d..d29304c48b32d0afcec1817b842e35b50c7dfd0d 100644 GIT binary patch delta 388 zcmX9%y)Oe{9Dd$jBXv43kw}g~#2`M34ici(kEPMlp1~kaTe+dvUeY&BP4^ENbP+=n z{)etc17f(r#A1+`7^I8oJog%&JYT;jzrNwmTuypJK!3|;vN>@sTtLJCEab~(`qTM( z2efti=VEy|(YP>u_BQ=V)v?^s7yTQE(&ERiTeUm!c*K5%K4~);AC7p`AHibrE@~yp-qpnP1Nqi%wPkRF1ob^J3$U*BUOUm|##Vn&5x>F{EOZ!HglJf@ ziP-=9AVAm%S#L{bR0>h0HSBQ_XBKA~b}2%@BIco?gC@?%$2jC=3`PFk#{tTyz+@KT yU7ih>1x)cUhixRuOPm`lON8J=@N|uB$O&W>uOg#3rQSu5#;NkVs16F6KlTTuEJbku delta 224 zcmca0KSyqYc)bGy1J`YL7gsmNO2z^P21W%21_llH;83TWu98+D`v?$A_y_A7<@AJJ z0LnK2`3cFni3OZjxZW`^F#7=cpE6PtQ}!^Pi~`Dg0QqJaKmma-Z1q6)A0SrA$StXG zD6yKsz`)c1>!DP7`!|0HhZbb;c8c4+ThAAgDlKSR+XeWi2~nZxdCSgtt~%JP z$XvPbW6P->!zBJs3jyr)6A7A>DUaYf3O#dmRS|jZcoUW2q1_p*RKrG=O ztZ$TaCUhGE10ztLAt5<8v4DYxp$5p;0P=M*QWI15FrJJ8@thdI!kf0>omui52Dr3|s*~Hp3bqX3I;=P31VQC;`;)2FPDfkY8N#e?Ef| zko^RR6&M(RYPlE~Sno`HAR+}6VFY3>1~DLH%tq@_2PFzPT) zc478bxWF&N5G)JSAR+`L8LkL2a5FNxc>4GUg+@fjC8kW?#GEVwlxFPYVBlh8WaAbP Um6BJ{)H9xJ%3`#+jO7gr0GX>n=Kufz diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline.41,42,43,44,45,46,51.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test.41,42,43,44,45,46,47.otf similarity index 50% rename from test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline.41,42,43,44,45,46,51.otf rename to test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test.41,42,43,44,45,46,47.otf index cf572533d8bded58d8ce288816424fcb4217448a..3475f4e58240f2923b9f52388cf0b24b226aa55a 100644 GIT binary patch delta 489 zcmZ8cyGjE=6g@YatjQ`S5rrT|BQ8QD_=u1w*!aL82oYmIeBq+O6y^bLAvUp7!9v(p z&=0UuOF=soEc}2pR;IA9uuz-zxN75E?wND$+&gpT*kAQm(sOfZXxN2<$oS-BWcgsp z1-M=S_iHMX9eX;eeFE|bU?-jFi*G(;FR9Dat7`?Lj0WsbH&Dm&Ib;1w?iZ+ss1tb> z0&i-CyvEe?1#??F^i;`t2bv4UcD4-P3^~r2YSAdMvy>1_a5lHLwG8TItNt;Jq~_*`U{uC ze*CLe$o1Uu;BP}F%r~?qA|8X#L?))D)3e$6#TCN}D~qAzz(#VIEpku?pNLu?Xld=x WqrKLl(&g2)POVYbx-ZU^n(_tPl2(lX delta 428 zcmY+8y-Px26vm&|d%ImVu*5?8R5B8sfesFVEe%CWxCZqn z1VxiXgOGxMK!Zb*G!!(r-=6E%dw9-!e(!nC%jwweY}H625rGvKkg&WJ47z?-VqL)W z49MM3U^@sKQ~)28BNR_=X0OYatiLH|B);U!wv(@bpdTlvIjx8iD&!sVY9_6n)kW)w zd`@1=@L{;8RLLH)CzC5zE0!DikO)est}5GcyxTmvrubEv(lW!{nV4bBopulX0KK) diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test.41,42,43,44,45,46,4D.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test.41,42,43,44,45,46,4D.otf new file mode 100644 index 0000000000000000000000000000000000000000..8e8c4de44c427a9033077c66cd108b5f960ba7c9 GIT binary patch literal 2012 zcmZ8f4Ny~87CtW_;gO_bcX>`nsYZlWcB!Sf23y-&6tTK%=|Iy$Y1I@$0we@TfB*>s zNytA5B*j4ZNg&;s08!0!RiC0L-DJ>@Jq?_@n=? zcLAtH39eIF4{q!+zLtjKIhM%}HReg;I=#%@hNxg$Jo5t)XyeE25=elJ=oI3K zFG2zATUtV%$DKI&;!@ouU&vuOFaoWyc0Yk}G66=#D>f+g2DB~5QRrL7+>jz>HKf=;%NCh2;n7ek_ky@%Z9Xjm7w>7LqhT|=F&L19oXi*mXpGmWl5J7RWGY#% zO14!cds>y7t;)?+ZQX(oQ_e(4!d}EHnbqskGdDdZdQ7w;O|+gTVh z=2GIC!CCwm61o4NlcK3Z)K|O^|7E_M%~*JX$vdbc&)8n*Br7ANj@@{G?l^X$@A#VD zK#$M2?&_uE6W-gN_x-c>S?f2YtakHBeW=!>>pSGK*lpG}XPcwlLbEGMnOg-D#ATAU zXDPN3{?uz>?YXv7HGg-plYjd>6dZOA`aB*l?g3}W*^f8Oi-ZwRFRWrbPLIpA+Um9X zyVnjDCI!AW0>lJMFo9r64_vdVK z#qVnz&kWT2Rc3vs%A{+luOIpDV|EoQ9HuAz6PC$)Pthby7MTy{*vv0y2yZI)c_Jr* zsmyn4Z~Oidv<|oig7ka_`H&I+WBxzP#{*YPpE&90n8zDkr>{0D8%ql00AK zto`tj5%%d{vl%zov?Ft|%jb_q#?9~6IBDA(uUpF2xugllf)8oh8JNtFhH;!*@qpbn6qchkMX!p>E7J>0P zy{;bDVSC6Gw7k<2QugY`(+@sDB;gH%J6P!-ZcI!?oilwS_K}{UK6;WZVZ3EsW!071 zD%mHN>5lVXv8i7e0*-*K&*s(mG+r&u7BBkodn7L;Go|6O*lWGyxv?4&xSsXd_BP)w zC*2$5e#%H>BpeR$;-`q49}gGkCumwrN@k?T2Ho~Y@6sfa(L4FuU zWWPeYj&|dAj@ic@W1$aPM@K&JhwY)Rz+k_7tT{~Y%w@b)KDA%%FxuN}R%2shb5oPq zV|JT7uU@FSIQ+FgGC1`1aHKC1jyk5h-!q;t(=Mme<#L*POkMUSnw2k}!MYu8M*Lsd C>7nBQ literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test.41,42,43,44,45,46,51.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test.41,42,43,44,45,46,51.otf new file mode 100644 index 0000000000000000000000000000000000000000..cd519a58f3de6768b66f3b005c36a904ba43fc81 GIT binary patch literal 2060 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 R0c#Dz6+XRyb=#bB>3^c2<7EH< literal 0 HcmV?d00001 diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline.retain-all-codepoint.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test.retain-all-codepoint.otf similarity index 82% rename from test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline.retain-all-codepoint.otf rename to test/subset/data/expected/layout.gsub8/gsub8_manually_created.layout-test.retain-all-codepoint.otf index f6e312da1ceba346f546774808ade669d0cc5a9d..d29304c48b32d0afcec1817b842e35b50c7dfd0d 100644 GIT binary patch delta 388 zcmX9%y)Oe{9Dd$jBXv43kw}g~#2`M34ici(kEPMlp1~kaTe+dvUeY&BP4^ENbP+=n z{)etc17f(r#A1+`7^I8oJog%&JYT;jzrNwmTuypJK!3|;vN>@sTtLJCEab~(`qTM( z2efti=VEy|(YP>u_BQ=V)v?^s7yTQE(&ERiTeUm!c*K5%K4~);AC7p`AHibrE@~yp-qpnP1Nqi%wPkRF1ob^J3$U*BUOUm|##Vn&5x>F{EOZ!HglJf@ ziP-=9AVAm%S#L{bR0>h0HSBQ_XBKA~b}2%@BIco?gC@?%$2jC=3`PFk#{tTyz+@KT yU7ih>1x)cUhixRuOPm`lON8J=@N|uB$O&W>uOg#3rQSu5#;NkVs16F6KlTTuEJbku delta 224 zcmca0KSyqYc)bGy1J`YL7gsmNO2z^P21W%21_llH;83TWu98+D`v?$A_y_A7<@AJJ z0LnK2`3cFni3OZjxZW`^F#7=cpE6PtQ}!^Pi~`Dg0QqJaKmma-Z1q6)A0SrA$StXG zD6yKsz`)c1>!DP7`!|0HhZbzd(M2{ z`F`KyobP<+yUEsf-q{L5Xaqh;GP1HH?N<^e0r+D8f@5!G=cE_gO=bWX#x!ed_6n-_ zR?bHNgcIX^d3sGLafj%~_-%~Sby`jS$Ha|Y7*E5P)?vl8XM$T;eu8O%PH(DO{xE7E z01w9#YQ3ha6t--`CK$pbDADM(OASWTsd zRVWS8ApxZ+9h{EwwNPH#pAO>c>lKHRcBVLmuu?KfwE>;lM zzYAI@2O|`M0ZKpy%dvJl)*+~XV$fh4!qy6S5B5SH=&+^``*DOoj&)q59!jyV7NY`? zgs)u4--G0XpLZ}i}>?` z;C47(a?zBz0Ka@TwT~72aCQ8xNQ`)kV&fs36TX?j@g>t?D-X9yCTxIBxJ9?Z&mbFe zU4M88G-mctHTcCj>+kAtGXl8HAXa zMa&`Q5edWsVo`>nw7R?y=}eNvc_|V~Dy1Z8`G)tjlI&`uNvk(XHk9NU%1aI98k07E zxg@Q)ShAgSH%hi^joR``tPB?p$q2sC>5gAh)P9rDU!>O9B(N{as`qrk(@?y6_TrwJQXRV zNFhTC3Muf33ZzgX1&tIcq);P8DpE?3QihZiQp%AMC!|D58YxvssYc3FL`xAZLo|hG zIieMa#`)5SRv}uA=v1VVB9#oOD5R1jl>(`hNQJMX!oL`V?WeE>x5*STN*FDg8WTHh z`iwVbisODX>&LU_#Lt~KUy_iRv>mF>dxZ zU<%jaO$13CB);VN`P=w8O!D|LaoRouyVAU_iJcZ?OPR%c$;Q)XJI~DN@V2|%^Y2_c zbHer1`JrdjGTQnmm(k158T}`E7@AMEwLSjvgM56FY5AyM1=6tJTvsuRAL< z@%o-Ga+#uQ7g*AFpxtP#XkcgV)UhJ7*1ox|>|{w_ks(lYX6ILqtFHT=-v&RvLxxT{ zE*u)^y}NHzb8hozth{{fu>+$YUN+zUuIu}@r}opGjuG74+}M<-RW>RXO|D{ zDeKXa&zHPVild(=jV~4>SHb(b7Ix|WY<6w|J6p%bU1Bqs1Pvqo1v7`~*u=!WxjP&QM)e*8AN}CXNyGkb|BRErYL)BG~{tA^v2HN%>-gvy{P<{OKuv=v&KOF!i zlf6vpZN2|N*0 zjqLDoO&JXK1_DRC8{Hetn=M7nIeGOPOshZ2IhyCM$~|3mzUExbx!MzrCl3$0{?g%K zwp(tH_ET+m+WIX6)_(uRnxnlJJpqfq+1q`{(SIO7W~jujLbuMNvsPJZ&8<}x6$dIS z>z(zEI_JAr3a|D&@C3V$yx$Y-3vKb IjsL*@4ss_Ar~m)} diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.41,42,43,44,45,46,51.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.41,42,43,44,45,46,51.otf deleted file mode 100644 index fc68d33e4b4397a7e7c92fab334dd776a2335cfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2792 zcmd^Adr(x@8UM~Mte0g4H7>P^y7GvU_}IPsMB{^p7DYU0w^wTZCQq z%`T59u!0M0GNWKL3IwBLCW_D0iHU7mr&JxMPCIRqG1m4%E|#8)PU>{}M`!wH&zbM> z`yS`{-E+6U{q}YUg*xDaG$|!TQW*LBTLAoV0KvDLk~gM6IHUr=D51HV($W(RjuH#e ze@kfI_Ow;B;g{(b0nllJ_h%Zlg=h@*5^NwiQLocxT|hT>6RaRur6-12PX)ILo<(qs z-dIw;@~xZnaILB7_gqpmHPNBms8zp%hmGIb1SqCX}i0U)v5 z>JT9jA+8~KixAfVgb+bGGH6TkftvP`tv#1hN2kYmVSGuDybx};*MrBBp9koVXD-a5FsLAIBf8M^oIqA)^E(kj^y${ES;=PzcGFLevYL2VpSx zg-&YaM|;pqdN7IL_RHl8rtR;54vN79IZy!kAcK{}no4XKO2GhH;={yS3h%-`$OJvH z4L_~GirreK12Yr-QTjVSyXb2zwu zHl*=L=_JEu*b3WVJ1N^VNQa$}0efICx#BExxw+HVYJxJTfND4h^-h|#tJf{0xOhQp~4C^R%oyy9xJ6-DZ@${ zE9F>87No>V6;`UTQiGN8SS7_O8CKC)CC4fSR+06puu6?p8mx-PYAIIBu$sndIaVvM zT8Y(UJ8G=fV0Ap!NU=snUKM2D0jZ>PW>6u*P|?h=@L99xyfRlD@soK!oxdP*;iAQo zB~j5av9B&&7Wdlg%U7&iC6&=~g;J%~#IIiS#@co3HzXt`k$=n99qGIGW$Ci9J|{QN zV9Yly6)qKq{jV)r7$ppg7DjU{hGVfDdsP?~Bb2;6daQ7XFswK*5gTBw0VcWqQh+@i z5HP0#la~W`0$Tzz{@q9Y%NNowd=T0%5H%R`-$sg@33{) z{4j$t%12D?`L2SNgN_EP#av~tvehwSNEaT zY0jpYyU*gpp@S08prWX#`|(XCf)R94{oWG| z{V%4XSRXqn{&bXy`)Y{g4XD?#>1^;o-0}P;o_%A82l9HMcct zs|`hEsRqp;yXX%&f%?9x4_uGjmc}p7QP<8iGQka3?0vO8^*s&8Dmtru=9YR-eN&T{ z^ycCFWe;tSEXOKaYix(w>RM}E)WJy*yX|gAljDfB-O<+Yenq>kxu7p*{|Z**i|$Nh zB)_|NVxY%9)Y5J3ZaUgR^)tJ~?mhK;an{I_iTtvp)z)fhvA7K$gWE_k zX_H=ZAK??>;tb!Oz|LlNZEqgiI=1}Q`YO*icB;9JD__6A+vhvly2Z1_vdx-XpPpH> zxn%7p>BlnL%QH@wpQ{|H9H}}{ck)QT`>)MTCe?a_a-3=;-QH{Mv-P%LtUT6z(d)Ce z*SB^acJ?0dQAujCJIAB<>TTuLDvP@`i*_0}?qNuNAV)@^f&L&=ZvpWJaSjsO4v diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.61.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline-retain-gids.61.otf deleted file mode 100644 index 135afb1339cb6f61b8f40aa9ca256f29817becb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2292 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 RR*_8h)JZ(I%|S&1{0k)4mg)ci diff --git a/test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline.61.otf b/test/subset/data/expected/layout.gsub8/gsub8_manually_created.notdef-outline.61.otf deleted file mode 100644 index 0d0a677252ef0a79657160c73b1246c1d02f14fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1236 zcmZ8fZA?>F7=F*~2e%(moz$4Dn^z)S*10VxqT|)y`*#5^f03)CsZnV@lfDRM@@Do}^W1ID)D;^j^yo$EFrR|`} z_1O9g01=SCZ+F|gpoMG5k0Gyd@V1V-Wcdto2l8463ftF|A0pq4e4oP|2$iv<2Ju}q zrP~(r0`oRP$Wh*9bMx%?doh-wn&9>L1H~CIAznx06f2}g$_C7#Ap}i}Mi-H`T+-CA z3pa7u0$sqC+&Hhaic?a(O>xVGwN$i=hx8T5C|;2&Z3&P#!8)Z^<-nm+j+=5@u~<5b z!e$;-(ViHs>^a@Bzkw)LP=Wrcg#mi6eDLT#>?)4RP0S)vS!rZMj4DS`_zkpVjjX{_ zFiAHcMucv)Ql?aB7)Fk<^o{4sY&lsEuYnD0r8(%idV&;bXQ~`BGj6(+@D`myuEKmH zRBmDh%AsNtgbixQ&j2)f-p6g3-29~el47)X>slNrbrd0~fE z_ObxUM51(R%U%NbVr^TdpnUpZqfvnj7IX$^qhRR;dM@q&86lRYH|jjz9-p(*5#aXQ zt2vX=XyVKrp7T7{*5eQGZa>%5W%u~J9-l41cO2l%E*IBI!~I+<@8^BpC`!$B9zB9( zNemclS5v93RG05nbLw)RxKSk*B4XY$@ts(>E-Lf$;%%+iO}hV(AT|pdhhgoJ}`GgC`_2b9e@_XMQ=i-vJ{HoM i=