From 684964fbb14c5e2b0706eb8ad100e8f733c667a1 Mon Sep 17 00:00:00 2001 From: Qunxin Liu Date: Tue, 19 Nov 2024 10:47:16 -0800 Subject: [PATCH] [klippa] subset cmap table --- klippa/src/cmap.rs | 1110 +++++++++++++++++ klippa/src/gvar.rs | 2 +- klippa/src/hmtx.rs | 32 +- klippa/src/lib.rs | 132 +- klippa/src/os2.rs | 4 +- klippa/src/post.rs | 2 +- klippa/src/serialize.rs | 61 +- ...Comfortaa-Regular-new.default.61,62,63.ttf | Bin 4660 -> 2356 bytes .../Comfortaa-Regular-new.default.61,63.ttf | Bin 4300 -> 1996 bytes .../Comfortaa-Regular-new.default.61.ttf | Bin 3960 -> 1648 bytes .../Comfortaa-Regular-new.default.62.ttf | Bin 3900 -> 1588 bytes .../Comfortaa-Regular-new.default.63.ttf | Bin 3888 -> 1576 bytes ...ar-new.drop-hints-retain-gids.61,62,63.ttf | Bin 6224 -> 3920 bytes ...gular-new.drop-hints-retain-gids.61,63.ttf | Bin 5932 -> 3628 bytes ...-Regular-new.drop-hints-retain-gids.61.ttf | Bin 5408 -> 3096 bytes ...-Regular-new.drop-hints-retain-gids.62.ttf | Bin 5620 -> 3308 bytes ...-Regular-new.drop-hints-retain-gids.63.ttf | Bin 5628 -> 3316 bytes ...fortaa-Regular-new.drop-hints.61,62,63.ttf | Bin 4456 -> 2152 bytes ...Comfortaa-Regular-new.drop-hints.61,63.ttf | Bin 4156 -> 1852 bytes .../Comfortaa-Regular-new.drop-hints.61.ttf | Bin 3856 -> 1544 bytes .../Comfortaa-Regular-new.drop-hints.62.ttf | Bin 3844 -> 1532 bytes .../Comfortaa-Regular-new.drop-hints.63.ttf | Bin 3848 -> 1536 bytes .../Comfortaa-Regular-new.gids.61,62,63.ttf | Bin 5536 -> 3256 bytes .../Comfortaa-Regular-new.gids.61,63.ttf | Bin 5180 -> 2900 bytes .../basics/Comfortaa-Regular-new.gids.61.ttf | Bin 4836 -> 2548 bytes .../basics/Comfortaa-Regular-new.gids.62.ttf | Bin 4780 -> 2492 bytes .../basics/Comfortaa-Regular-new.gids.63.ttf | Bin 4760 -> 2472 bytes ...ortaa-Regular-new.glyph-names.61,62,63.ttf | Bin 4672 -> 2368 bytes ...omfortaa-Regular-new.glyph-names.61,63.ttf | Bin 4308 -> 2004 bytes .../Comfortaa-Regular-new.glyph-names.61.ttf | Bin 3968 -> 1656 bytes .../Comfortaa-Regular-new.glyph-names.62.ttf | Bin 3908 -> 1596 bytes .../Comfortaa-Regular-new.glyph-names.63.ttf | Bin 3896 -> 1584 bytes ...omfortaa-Regular-new.name-ids.61,62,63.ttf | Bin 4404 -> 2100 bytes .../Comfortaa-Regular-new.name-ids.61,63.ttf | Bin 4044 -> 1740 bytes .../Comfortaa-Regular-new.name-ids.61.ttf | Bin 3704 -> 1392 bytes .../Comfortaa-Regular-new.name-ids.62.ttf | Bin 3644 -> 1332 bytes .../Comfortaa-Regular-new.name-ids.63.ttf | Bin 3632 -> 1320 bytes ...aa-Regular-new.name-languages.61,62,63.ttf | Bin 4660 -> 2356 bytes ...ortaa-Regular-new.name-languages.61,63.ttf | Bin 4300 -> 1996 bytes ...omfortaa-Regular-new.name-languages.61.ttf | Bin 3960 -> 1648 bytes ...omfortaa-Regular-new.name-languages.62.ttf | Bin 3900 -> 1588 bytes ...omfortaa-Regular-new.name-languages.63.ttf | Bin 3888 -> 1576 bytes ...ortaa-Regular-new.name-legacy.61,62,63.ttf | Bin 4660 -> 2356 bytes ...omfortaa-Regular-new.name-legacy.61,63.ttf | Bin 4300 -> 1996 bytes .../Comfortaa-Regular-new.name-legacy.61.ttf | Bin 3960 -> 1648 bytes .../Comfortaa-Regular-new.name-legacy.62.ttf | Bin 3900 -> 1588 bytes .../Comfortaa-Regular-new.name-legacy.63.ttf | Bin 3888 -> 1576 bytes ...r-new.no-prune-unicode-ranges.61,62,63.ttf | Bin 4660 -> 2356 bytes ...ular-new.no-prune-unicode-ranges.61,63.ttf | Bin 4300 -> 1996 bytes ...Regular-new.no-prune-unicode-ranges.61.ttf | Bin 3960 -> 1648 bytes ...Regular-new.no-prune-unicode-ranges.62.ttf | Bin 3900 -> 1588 bytes ...Regular-new.no-prune-unicode-ranges.63.ttf | Bin 3888 -> 1576 bytes ...aa-Regular-new.notdef-outline.61,62,63.ttf | Bin 5252 -> 2948 bytes ...ortaa-Regular-new.notdef-outline.61,63.ttf | Bin 4892 -> 2588 bytes ...omfortaa-Regular-new.notdef-outline.61.ttf | Bin 4552 -> 2240 bytes ...omfortaa-Regular-new.notdef-outline.62.ttf | Bin 4496 -> 2184 bytes ...omfortaa-Regular-new.notdef-outline.63.ttf | Bin 4476 -> 2164 bytes ...r-new.retain-gids-glyph-names.61,62,63.ttf | Bin 6880 -> 4576 bytes ...ular-new.retain-gids-glyph-names.61,63.ttf | Bin 6528 -> 4224 bytes ...Regular-new.retain-gids-glyph-names.61.ttf | Bin 5908 -> 3596 bytes ...Regular-new.retain-gids-glyph-names.62.ttf | Bin 6128 -> 3816 bytes ...Regular-new.retain-gids-glyph-names.63.ttf | Bin 6120 -> 3808 bytes ...ortaa-Regular-new.retain-gids.61,62,63.ttf | Bin 6428 -> 4124 bytes ...omfortaa-Regular-new.retain-gids.61,63.ttf | Bin 6076 -> 3772 bytes .../Comfortaa-Regular-new.retain-gids.61.ttf | Bin 5512 -> 3200 bytes .../Comfortaa-Regular-new.retain-gids.62.ttf | Bin 5676 -> 3364 bytes .../Comfortaa-Regular-new.retain-gids.63.ttf | Bin 5668 -> 3356 bytes ...eongjo-Regular-subset.default.61,62,63.ttf | Bin 2436 -> 2436 bytes ...mMyeongjo-Regular-subset.default.61,63.ttf | Bin 1880 -> 1888 bytes ...anumMyeongjo-Regular-subset.default.61.ttf | Bin 1464 -> 1464 bytes ...anumMyeongjo-Regular-subset.default.62.ttf | Bin 1488 -> 1488 bytes ...anumMyeongjo-Regular-subset.default.63.ttf | Bin 1356 -> 1356 bytes ...subset.drop-hints-retain-gids.61,62,63.ttf | Bin 1428 -> 1428 bytes ...ar-subset.drop-hints-retain-gids.61,63.ttf | Bin 1252 -> 1260 bytes ...gular-subset.drop-hints-retain-gids.61.ttf | Bin 1104 -> 1104 bytes ...gular-subset.drop-hints-retain-gids.62.ttf | Bin 1120 -> 1120 bytes ...gular-subset.drop-hints-retain-gids.63.ttf | Bin 1092 -> 1092 bytes ...gjo-Regular-subset.drop-hints.61,62,63.ttf | Bin 1428 -> 1428 bytes ...eongjo-Regular-subset.drop-hints.61,63.ttf | Bin 1244 -> 1252 bytes ...mMyeongjo-Regular-subset.drop-hints.61.ttf | Bin 1104 -> 1104 bytes ...mMyeongjo-Regular-subset.drop-hints.62.ttf | Bin 1116 -> 1116 bytes ...mMyeongjo-Regular-subset.drop-hints.63.ttf | Bin 1080 -> 1080 bytes ...mMyeongjo-Regular-subset.gids.61,62,63.ttf | Bin 2436 -> 2436 bytes ...anumMyeongjo-Regular-subset.gids.61,63.ttf | Bin 2436 -> 2436 bytes .../NanumMyeongjo-Regular-subset.gids.61.ttf | Bin 2436 -> 2436 bytes .../NanumMyeongjo-Regular-subset.gids.62.ttf | Bin 2436 -> 2436 bytes .../NanumMyeongjo-Regular-subset.gids.63.ttf | Bin 2436 -> 2436 bytes ...jo-Regular-subset.glyph-names.61,62,63.ttf | Bin 2436 -> 2436 bytes ...ongjo-Regular-subset.glyph-names.61,63.ttf | Bin 1880 -> 1888 bytes ...Myeongjo-Regular-subset.glyph-names.61.ttf | Bin 1464 -> 1464 bytes ...Myeongjo-Regular-subset.glyph-names.62.ttf | Bin 1488 -> 1488 bytes ...Myeongjo-Regular-subset.glyph-names.63.ttf | Bin 1356 -> 1356 bytes ...ongjo-Regular-subset.name-ids.61,62,63.ttf | Bin 2232 -> 2232 bytes ...Myeongjo-Regular-subset.name-ids.61,63.ttf | Bin 1676 -> 1684 bytes ...numMyeongjo-Regular-subset.name-ids.61.ttf | Bin 1260 -> 1260 bytes ...numMyeongjo-Regular-subset.name-ids.62.ttf | Bin 1284 -> 1284 bytes ...numMyeongjo-Regular-subset.name-ids.63.ttf | Bin 1152 -> 1152 bytes ...Regular-subset.name-languages.61,62,63.ttf | Bin 2480 -> 2480 bytes ...jo-Regular-subset.name-languages.61,63.ttf | Bin 1924 -> 1932 bytes ...ongjo-Regular-subset.name-languages.61.ttf | Bin 1508 -> 1508 bytes ...ongjo-Regular-subset.name-languages.62.ttf | Bin 1532 -> 1532 bytes ...ongjo-Regular-subset.name-languages.63.ttf | Bin 1400 -> 1400 bytes ...jo-Regular-subset.name-legacy.61,62,63.ttf | Bin 2436 -> 2436 bytes ...ongjo-Regular-subset.name-legacy.61,63.ttf | Bin 1880 -> 1888 bytes ...Myeongjo-Regular-subset.name-legacy.61.ttf | Bin 1464 -> 1464 bytes ...Myeongjo-Regular-subset.name-legacy.62.ttf | Bin 1488 -> 1488 bytes ...Myeongjo-Regular-subset.name-legacy.63.ttf | Bin 1356 -> 1356 bytes ...ubset.no-prune-unicode-ranges.61,62,63.ttf | Bin 2436 -> 2436 bytes ...r-subset.no-prune-unicode-ranges.61,63.ttf | Bin 1880 -> 1888 bytes ...ular-subset.no-prune-unicode-ranges.61.ttf | Bin 1464 -> 1464 bytes ...ular-subset.no-prune-unicode-ranges.62.ttf | Bin 1488 -> 1488 bytes ...ular-subset.no-prune-unicode-ranges.63.ttf | Bin 1356 -> 1356 bytes ...Regular-subset.notdef-outline.61,62,63.ttf | Bin 2436 -> 2436 bytes ...jo-Regular-subset.notdef-outline.61,63.ttf | Bin 1880 -> 1888 bytes ...ongjo-Regular-subset.notdef-outline.61.ttf | Bin 1464 -> 1464 bytes ...ongjo-Regular-subset.notdef-outline.62.ttf | Bin 1488 -> 1488 bytes ...ongjo-Regular-subset.notdef-outline.63.ttf | Bin 1356 -> 1356 bytes ...ubset.retain-gids-glyph-names.61,62,63.ttf | Bin 2436 -> 2436 bytes ...r-subset.retain-gids-glyph-names.61,63.ttf | Bin 1888 -> 1896 bytes ...ular-subset.retain-gids-glyph-names.61.ttf | Bin 1464 -> 1464 bytes ...ular-subset.retain-gids-glyph-names.62.ttf | Bin 1492 -> 1492 bytes ...ular-subset.retain-gids-glyph-names.63.ttf | Bin 1368 -> 1368 bytes ...jo-Regular-subset.retain-gids.61,62,63.ttf | Bin 2436 -> 2436 bytes ...ongjo-Regular-subset.retain-gids.61,63.ttf | Bin 1888 -> 1896 bytes ...Myeongjo-Regular-subset.retain-gids.61.ttf | Bin 1464 -> 1464 bytes ...Myeongjo-Regular-subset.retain-gids.62.ttf | Bin 1492 -> 1492 bytes ...Myeongjo-Regular-subset.retain-gids.63.ttf | Bin 1368 -> 1368 bytes .../Roboto-Regular.abc.default.61,62,63.ttf | Bin 1200 -> 1164 bytes .../Roboto-Regular.abc.default.61,63.ttf | Bin 1000 -> 972 bytes .../basics/Roboto-Regular.abc.default.61.ttf | Bin 828 -> 792 bytes .../basics/Roboto-Regular.abc.default.62.ttf | Bin 776 -> 740 bytes .../basics/Roboto-Regular.abc.default.63.ttf | Bin 752 -> 716 bytes ...ar.abc.drop-hints-retain-gids.61,62,63.ttf | Bin 896 -> 860 bytes ...gular.abc.drop-hints-retain-gids.61,63.ttf | Bin 808 -> 780 bytes ...-Regular.abc.drop-hints-retain-gids.61.ttf | Bin 704 -> 668 bytes ...-Regular.abc.drop-hints-retain-gids.62.ttf | Bin 676 -> 640 bytes ...-Regular.abc.drop-hints-retain-gids.63.ttf | Bin 688 -> 652 bytes ...Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 896 -> 860 bytes .../Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 800 -> 772 bytes .../Roboto-Regular.abc.drop-hints.61.ttf | Bin 704 -> 668 bytes .../Roboto-Regular.abc.drop-hints.62.ttf | Bin 672 -> 636 bytes .../Roboto-Regular.abc.drop-hints.63.ttf | Bin 676 -> 640 bytes .../Roboto-Regular.abc.gids.61,62,63.ttf | Bin 1200 -> 1164 bytes .../basics/Roboto-Regular.abc.gids.61,63.ttf | Bin 1200 -> 1164 bytes .../basics/Roboto-Regular.abc.gids.61.ttf | Bin 1200 -> 1164 bytes .../basics/Roboto-Regular.abc.gids.62.ttf | Bin 1200 -> 1164 bytes .../basics/Roboto-Regular.abc.gids.63.ttf | Bin 1200 -> 1164 bytes ...oboto-Regular.abc.glyph-names.61,62,63.ttf | Bin 1200 -> 1164 bytes .../Roboto-Regular.abc.glyph-names.61,63.ttf | Bin 1000 -> 972 bytes .../Roboto-Regular.abc.glyph-names.61.ttf | Bin 828 -> 792 bytes .../Roboto-Regular.abc.glyph-names.62.ttf | Bin 776 -> 740 bytes .../Roboto-Regular.abc.glyph-names.63.ttf | Bin 752 -> 716 bytes .../Roboto-Regular.abc.name-ids.61,62,63.ttf | Bin 1200 -> 1164 bytes .../Roboto-Regular.abc.name-ids.61,63.ttf | Bin 1000 -> 972 bytes .../basics/Roboto-Regular.abc.name-ids.61.ttf | Bin 828 -> 792 bytes .../basics/Roboto-Regular.abc.name-ids.62.ttf | Bin 776 -> 740 bytes .../basics/Roboto-Regular.abc.name-ids.63.ttf | Bin 752 -> 716 bytes ...to-Regular.abc.name-languages.61,62,63.ttf | Bin 1200 -> 1164 bytes ...oboto-Regular.abc.name-languages.61,63.ttf | Bin 1000 -> 972 bytes .../Roboto-Regular.abc.name-languages.61.ttf | Bin 828 -> 792 bytes .../Roboto-Regular.abc.name-languages.62.ttf | Bin 776 -> 740 bytes .../Roboto-Regular.abc.name-languages.63.ttf | Bin 752 -> 716 bytes ...oboto-Regular.abc.name-legacy.61,62,63.ttf | Bin 1200 -> 1164 bytes .../Roboto-Regular.abc.name-legacy.61,63.ttf | Bin 1000 -> 972 bytes .../Roboto-Regular.abc.name-legacy.61.ttf | Bin 828 -> 792 bytes .../Roboto-Regular.abc.name-legacy.62.ttf | Bin 776 -> 740 bytes .../Roboto-Regular.abc.name-legacy.63.ttf | Bin 752 -> 716 bytes ...r.abc.no-prune-unicode-ranges.61,62,63.ttf | Bin 1200 -> 1164 bytes ...ular.abc.no-prune-unicode-ranges.61,63.ttf | Bin 1000 -> 972 bytes ...Regular.abc.no-prune-unicode-ranges.61.ttf | Bin 828 -> 792 bytes ...Regular.abc.no-prune-unicode-ranges.62.ttf | Bin 776 -> 740 bytes ...Regular.abc.no-prune-unicode-ranges.63.ttf | Bin 752 -> 716 bytes ...to-Regular.abc.notdef-outline.61,62,63.ttf | Bin 1200 -> 1164 bytes ...oboto-Regular.abc.notdef-outline.61,63.ttf | Bin 1000 -> 972 bytes .../Roboto-Regular.abc.notdef-outline.61.ttf | Bin 828 -> 792 bytes .../Roboto-Regular.abc.notdef-outline.62.ttf | Bin 776 -> 740 bytes .../Roboto-Regular.abc.notdef-outline.63.ttf | Bin 752 -> 716 bytes ...r.abc.retain-gids-glyph-names.61,62,63.ttf | Bin 1200 -> 1164 bytes ...ular.abc.retain-gids-glyph-names.61,63.ttf | Bin 1008 -> 980 bytes ...Regular.abc.retain-gids-glyph-names.61.ttf | Bin 828 -> 792 bytes ...Regular.abc.retain-gids-glyph-names.62.ttf | Bin 780 -> 744 bytes ...Regular.abc.retain-gids-glyph-names.63.ttf | Bin 764 -> 728 bytes ...oboto-Regular.abc.retain-gids.61,62,63.ttf | Bin 1200 -> 1164 bytes .../Roboto-Regular.abc.retain-gids.61,63.ttf | Bin 1008 -> 980 bytes .../Roboto-Regular.abc.retain-gids.61.ttf | Bin 828 -> 792 bytes .../Roboto-Regular.abc.retain-gids.62.ttf | Bin 780 -> 744 bytes .../Roboto-Regular.abc.retain-gids.63.ttf | Bin 764 -> 728 bytes .../cmap/AdobeBlank-Regular.default.61,62.ttf | Bin 0 -> 1008 bytes .../AdobeBlank-Regular.default.61,FEFA.ttf | Bin 0 -> 1064 bytes .../AdobeBlank-Regular.default.FEE6,FECF.ttf | Bin 0 -> 1016 bytes .../AdobeBlank-Regular.default.FEF9,FEFA.ttf | Bin 0 -> 1004 bytes .../cmap/AdobeBlank-Regular.default.FEFA.ttf | Bin 0 -> 984 bytes ...k-Regular.drop-hints-retain-gids.61,62.ttf | Bin 0 -> 1396 bytes ...Regular.drop-hints-retain-gids.61,FEFA.ttf | Bin 0 -> 8204 bytes ...gular.drop-hints-retain-gids.FEE6,FECF.ttf | Bin 0 -> 8076 bytes ...gular.drop-hints-retain-gids.FEF9,FEFA.ttf | Bin 0 -> 8144 bytes ...nk-Regular.drop-hints-retain-gids.FEFA.ttf | Bin 0 -> 8128 bytes .../AdobeBlank-Regular.drop-hints.61,62.ttf | Bin 0 -> 1008 bytes .../AdobeBlank-Regular.drop-hints.61,FEFA.ttf | Bin 0 -> 1064 bytes ...dobeBlank-Regular.drop-hints.FEE6,FECF.ttf | Bin 0 -> 1016 bytes ...dobeBlank-Regular.drop-hints.FEF9,FEFA.ttf | Bin 0 -> 1004 bytes .../AdobeBlank-Regular.drop-hints.FEFA.ttf | Bin 0 -> 984 bytes .../AdobeBlank-Regular.name-ids.61,62.ttf | Bin 0 -> 756 bytes .../AdobeBlank-Regular.name-ids.61,FEFA.ttf | Bin 0 -> 812 bytes .../AdobeBlank-Regular.name-ids.FEE6,FECF.ttf | Bin 0 -> 764 bytes .../AdobeBlank-Regular.name-ids.FEF9,FEFA.ttf | Bin 0 -> 752 bytes .../cmap/AdobeBlank-Regular.name-ids.FEFA.ttf | Bin 0 -> 732 bytes .../AdobeBlank-Regular.retain-gids.61,62.ttf | Bin 0 -> 1396 bytes ...AdobeBlank-Regular.retain-gids.61,FEFA.ttf | Bin 0 -> 8204 bytes ...obeBlank-Regular.retain-gids.FEE6,FECF.ttf | Bin 0 -> 8076 bytes ...obeBlank-Regular.retain-gids.FEF9,FEFA.ttf | Bin 0 -> 8144 bytes .../AdobeBlank-Regular.retain-gids.FEFA.ttf | Bin 0 -> 8128 bytes ...hints-retain-gids.4E00,4E02,4E03,E0100.otf | Bin 0 -> 4332 bytes ...-drop-hints-retain-gids.4E00,4E02,4E03.otf | Bin 0 -> 4288 bytes ...drop-hints-retain-gids.4E00,4E03,E0100.otf | Bin 0 -> 4332 bytes ...tline-drop-hints-retain-gids.4E00,4E03.otf | Bin 0 -> 4288 bytes ...hints-retain-gids.4E00,4E05,4E07,E0100.otf | Bin 0 -> 4356 bytes ...-drop-hints-retain-gids.4E00,4E05,4E07.otf | Bin 0 -> 4312 bytes ...hints-retain-gids.4E02,4E03,4E08,E0100.otf | Bin 0 -> 4384 bytes ...-drop-hints-retain-gids.4E02,4E03,4E08.otf | Bin 0 -> 4308 bytes ...line-drop-hints-retain-gids.4E02,E0100.otf | Bin 0 -> 4276 bytes ...ef-outline-drop-hints-retain-gids.4E02.otf | Bin 0 -> 4276 bytes ...line-drop-hints-retain-gids.4E03,E0100.otf | Bin 0 -> 4320 bytes ...ef-outline-drop-hints-retain-gids.4E03.otf | Bin 0 -> 4280 bytes ...-retain-gids.4E05,4E07,4E08,4E09,E0100.otf | Bin 0 -> 4392 bytes ...-hints-retain-gids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 4308 bytes ...drop-hints-retain-gids.4E08,4E09,E0100.otf | Bin 0 -> 4376 bytes ...tline-drop-hints-retain-gids.4E08,4E09.otf | Bin 0 -> 4304 bytes ...line-drop-hints-retain-gids.4E08,E0100.otf | Bin 0 -> 4368 bytes ...ef-outline-drop-hints-retain-gids.4E08.otf | Bin 0 -> 4300 bytes ...utline-drop-hints.4E00,4E02,4E03,E0100.otf | Bin 0 -> 4288 bytes ...tdef-outline-drop-hints.4E00,4E02,4E03.otf | Bin 0 -> 4244 bytes ...def-outline-drop-hints.4E00,4E03,E0100.otf | Bin 0 -> 4284 bytes ...t1.notdef-outline-drop-hints.4E00,4E03.otf | Bin 0 -> 4240 bytes ...utline-drop-hints.4E00,4E05,4E07,E0100.otf | Bin 0 -> 4296 bytes ...tdef-outline-drop-hints.4E00,4E05,4E07.otf | Bin 0 -> 4252 bytes ...utline-drop-hints.4E02,4E03,4E08,E0100.otf | Bin 0 -> 4292 bytes ...tdef-outline-drop-hints.4E02,4E03,4E08.otf | Bin 0 -> 4244 bytes ...1.notdef-outline-drop-hints.4E02,E0100.otf | Bin 0 -> 4232 bytes ...4_font1.notdef-outline-drop-hints.4E02.otf | Bin 0 -> 4232 bytes ...1.notdef-outline-drop-hints.4E03,E0100.otf | Bin 0 -> 4272 bytes ...4_font1.notdef-outline-drop-hints.4E03.otf | Bin 0 -> 4232 bytes ...e-drop-hints.4E05,4E07,4E08,4E09,E0100.otf | Bin 0 -> 4300 bytes ...outline-drop-hints.4E05,4E07,4E08,4E09.otf | Bin 0 -> 4244 bytes ...def-outline-drop-hints.4E08,4E09,E0100.otf | Bin 0 -> 4280 bytes ...t1.notdef-outline-drop-hints.4E08,4E09.otf | Bin 0 -> 4232 bytes ...1.notdef-outline-drop-hints.4E08,E0100.otf | Bin 0 -> 4272 bytes ...4_font1.notdef-outline-drop-hints.4E08.otf | Bin 0 -> 4232 bytes ...tdef-outline-gids.4E00,4E02,4E03,E0100.otf | Bin 0 -> 4292 bytes ...nt1.notdef-outline-gids.4E00,4E02,4E03.otf | Bin 0 -> 4248 bytes ...t1.notdef-outline-gids.4E00,4E03,E0100.otf | Bin 0 -> 4292 bytes ...14_font1.notdef-outline-gids.4E00,4E03.otf | Bin 0 -> 4248 bytes ...tdef-outline-gids.4E00,4E05,4E07,E0100.otf | Bin 0 -> 4300 bytes ...nt1.notdef-outline-gids.4E00,4E05,4E07.otf | Bin 0 -> 4256 bytes ...tdef-outline-gids.4E02,4E03,4E08,E0100.otf | Bin 0 -> 4300 bytes ...nt1.notdef-outline-gids.4E02,4E03,4E08.otf | Bin 0 -> 4248 bytes ...4_font1.notdef-outline-gids.4E02,E0100.otf | Bin 0 -> 4236 bytes .../cmap14_font1.notdef-outline-gids.4E02.otf | Bin 0 -> 4236 bytes ...4_font1.notdef-outline-gids.4E03,E0100.otf | Bin 0 -> 4276 bytes .../cmap14_font1.notdef-outline-gids.4E03.otf | Bin 0 -> 4236 bytes ...outline-gids.4E05,4E07,4E08,4E09,E0100.otf | Bin 0 -> 4308 bytes ...otdef-outline-gids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 4252 bytes ...t1.notdef-outline-gids.4E08,4E09,E0100.otf | Bin 0 -> 4288 bytes ...14_font1.notdef-outline-gids.4E08,4E09.otf | Bin 0 -> 4240 bytes ...4_font1.notdef-outline-gids.4E08,E0100.otf | Bin 0 -> 4280 bytes .../cmap14_font1.notdef-outline-gids.4E08.otf | Bin 0 -> 4236 bytes ...-outline-name-ids.4E00,4E02,4E03,E0100.otf | Bin 0 -> 4220 bytes ...notdef-outline-name-ids.4E00,4E02,4E03.otf | Bin 0 -> 4176 bytes ...otdef-outline-name-ids.4E00,4E03,E0100.otf | Bin 0 -> 4216 bytes ...ont1.notdef-outline-name-ids.4E00,4E03.otf | Bin 0 -> 4172 bytes ...-outline-name-ids.4E00,4E05,4E07,E0100.otf | Bin 0 -> 4228 bytes ...notdef-outline-name-ids.4E00,4E05,4E07.otf | Bin 0 -> 4184 bytes ...-outline-name-ids.4E02,4E03,4E08,E0100.otf | Bin 0 -> 4224 bytes ...notdef-outline-name-ids.4E02,4E03,4E08.otf | Bin 0 -> 4176 bytes ...nt1.notdef-outline-name-ids.4E02,E0100.otf | Bin 0 -> 4164 bytes ...p14_font1.notdef-outline-name-ids.4E02.otf | Bin 0 -> 4164 bytes ...nt1.notdef-outline-name-ids.4E03,E0100.otf | Bin 0 -> 4204 bytes ...p14_font1.notdef-outline-name-ids.4E03.otf | Bin 0 -> 4164 bytes ...ine-name-ids.4E05,4E07,4E08,4E09,E0100.otf | Bin 0 -> 4232 bytes ...f-outline-name-ids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 4176 bytes ...otdef-outline-name-ids.4E08,4E09,E0100.otf | Bin 0 -> 4212 bytes ...ont1.notdef-outline-name-ids.4E08,4E09.otf | Bin 0 -> 4164 bytes ...nt1.notdef-outline-name-ids.4E08,E0100.otf | Bin 0 -> 4204 bytes ...p14_font1.notdef-outline-name-ids.4E08.otf | Bin 0 -> 4164 bytes ...tline-retain-gids.4E00,4E02,4E03,E0100.otf | Bin 0 -> 4332 bytes ...def-outline-retain-gids.4E00,4E02,4E03.otf | Bin 0 -> 4288 bytes ...ef-outline-retain-gids.4E00,4E03,E0100.otf | Bin 0 -> 4332 bytes ...1.notdef-outline-retain-gids.4E00,4E03.otf | Bin 0 -> 4288 bytes ...tline-retain-gids.4E00,4E05,4E07,E0100.otf | Bin 0 -> 4356 bytes ...def-outline-retain-gids.4E00,4E05,4E07.otf | Bin 0 -> 4312 bytes ...tline-retain-gids.4E02,4E03,4E08,E0100.otf | Bin 0 -> 4384 bytes ...def-outline-retain-gids.4E02,4E03,4E08.otf | Bin 0 -> 4308 bytes ....notdef-outline-retain-gids.4E02,E0100.otf | Bin 0 -> 4276 bytes ..._font1.notdef-outline-retain-gids.4E02.otf | Bin 0 -> 4276 bytes ....notdef-outline-retain-gids.4E03,E0100.otf | Bin 0 -> 4320 bytes ..._font1.notdef-outline-retain-gids.4E03.otf | Bin 0 -> 4280 bytes ...-retain-gids.4E05,4E07,4E08,4E09,E0100.otf | Bin 0 -> 4392 bytes ...utline-retain-gids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 4308 bytes ...ef-outline-retain-gids.4E08,4E09,E0100.otf | Bin 0 -> 4376 bytes ...1.notdef-outline-retain-gids.4E08,4E09.otf | Bin 0 -> 4304 bytes ....notdef-outline-retain-gids.4E08,E0100.otf | Bin 0 -> 4368 bytes ..._font1.notdef-outline-retain-gids.4E08.otf | Bin 0 -> 4300 bytes ...t1.notdef-outline.4E00,4E02,4E03,E0100.otf | Bin 0 -> 4288 bytes ...14_font1.notdef-outline.4E00,4E02,4E03.otf | Bin 0 -> 4244 bytes ...4_font1.notdef-outline.4E00,4E03,E0100.otf | Bin 0 -> 4284 bytes .../cmap14_font1.notdef-outline.4E00,4E03.otf | Bin 0 -> 4240 bytes ...t1.notdef-outline.4E00,4E05,4E07,E0100.otf | Bin 0 -> 4296 bytes ...14_font1.notdef-outline.4E00,4E05,4E07.otf | Bin 0 -> 4252 bytes ...t1.notdef-outline.4E02,4E03,4E08,E0100.otf | Bin 0 -> 4292 bytes ...14_font1.notdef-outline.4E02,4E03,4E08.otf | Bin 0 -> 4244 bytes ...cmap14_font1.notdef-outline.4E02,E0100.otf | Bin 0 -> 4232 bytes .../cmap14_font1.notdef-outline.4E02.otf | Bin 0 -> 4232 bytes ...cmap14_font1.notdef-outline.4E03,E0100.otf | Bin 0 -> 4272 bytes .../cmap14_font1.notdef-outline.4E03.otf | Bin 0 -> 4232 bytes ...tdef-outline.4E05,4E07,4E08,4E09,E0100.otf | Bin 0 -> 4300 bytes ...nt1.notdef-outline.4E05,4E07,4E08,4E09.otf | Bin 0 -> 4244 bytes ...4_font1.notdef-outline.4E08,4E09,E0100.otf | Bin 0 -> 4280 bytes .../cmap14_font1.notdef-outline.4E08,4E09.otf | Bin 0 -> 4232 bytes ...cmap14_font1.notdef-outline.4E08,E0100.otf | Bin 0 -> 4272 bytes .../cmap14_font1.notdef-outline.4E08.otf | Bin 0 -> 4232 bytes ...hints-retain-gids.4E00,4E02,4E03,E0100.otf | Bin 0 -> 4332 bytes ...-drop-hints-retain-gids.4E00,4E02,4E03.otf | Bin 0 -> 4288 bytes ...drop-hints-retain-gids.4E00,4E03,E0100.otf | Bin 0 -> 4332 bytes ...tline-drop-hints-retain-gids.4E00,4E03.otf | Bin 0 -> 4288 bytes ...hints-retain-gids.4E00,4E05,4E07,E0100.otf | Bin 0 -> 4360 bytes ...-drop-hints-retain-gids.4E00,4E05,4E07.otf | Bin 0 -> 4316 bytes ...hints-retain-gids.4E02,4E03,4E08,E0100.otf | Bin 0 -> 4384 bytes ...-drop-hints-retain-gids.4E02,4E03,4E08.otf | Bin 0 -> 4308 bytes ...line-drop-hints-retain-gids.4E02,E0100.otf | Bin 0 -> 4272 bytes ...ef-outline-drop-hints-retain-gids.4E02.otf | Bin 0 -> 4272 bytes ...line-drop-hints-retain-gids.4E03,E0100.otf | Bin 0 -> 4316 bytes ...ef-outline-drop-hints-retain-gids.4E03.otf | Bin 0 -> 4276 bytes ...-retain-gids.4E05,4E07,4E08,4E09,E0100.otf | Bin 0 -> 4392 bytes ...-hints-retain-gids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 4308 bytes ...drop-hints-retain-gids.4E08,4E09,E0100.otf | Bin 0 -> 4372 bytes ...tline-drop-hints-retain-gids.4E08,4E09.otf | Bin 0 -> 4300 bytes ...line-drop-hints-retain-gids.4E08,E0100.otf | Bin 0 -> 4364 bytes ...ef-outline-drop-hints-retain-gids.4E08.otf | Bin 0 -> 4296 bytes ...utline-drop-hints.4E00,4E02,4E03,E0100.otf | Bin 0 -> 4288 bytes ...tdef-outline-drop-hints.4E00,4E02,4E03.otf | Bin 0 -> 4244 bytes ...def-outline-drop-hints.4E00,4E03,E0100.otf | Bin 0 -> 4284 bytes ...t2.notdef-outline-drop-hints.4E00,4E03.otf | Bin 0 -> 4240 bytes ...utline-drop-hints.4E00,4E05,4E07,E0100.otf | Bin 0 -> 4300 bytes ...tdef-outline-drop-hints.4E00,4E05,4E07.otf | Bin 0 -> 4256 bytes ...utline-drop-hints.4E02,4E03,4E08,E0100.otf | Bin 0 -> 4292 bytes ...tdef-outline-drop-hints.4E02,4E03,4E08.otf | Bin 0 -> 4244 bytes ...2.notdef-outline-drop-hints.4E02,E0100.otf | Bin 0 -> 4228 bytes ...4_font2.notdef-outline-drop-hints.4E02.otf | Bin 0 -> 4228 bytes ...2.notdef-outline-drop-hints.4E03,E0100.otf | Bin 0 -> 4268 bytes ...4_font2.notdef-outline-drop-hints.4E03.otf | Bin 0 -> 4228 bytes ...e-drop-hints.4E05,4E07,4E08,4E09,E0100.otf | Bin 0 -> 4300 bytes ...outline-drop-hints.4E05,4E07,4E08,4E09.otf | Bin 0 -> 4244 bytes ...def-outline-drop-hints.4E08,4E09,E0100.otf | Bin 0 -> 4276 bytes ...t2.notdef-outline-drop-hints.4E08,4E09.otf | Bin 0 -> 4228 bytes ...2.notdef-outline-drop-hints.4E08,E0100.otf | Bin 0 -> 4268 bytes ...4_font2.notdef-outline-drop-hints.4E08.otf | Bin 0 -> 4228 bytes ...tdef-outline-gids.4E00,4E02,4E03,E0100.otf | Bin 0 -> 4292 bytes ...nt2.notdef-outline-gids.4E00,4E02,4E03.otf | Bin 0 -> 4248 bytes ...t2.notdef-outline-gids.4E00,4E03,E0100.otf | Bin 0 -> 4292 bytes ...14_font2.notdef-outline-gids.4E00,4E03.otf | Bin 0 -> 4248 bytes ...tdef-outline-gids.4E00,4E05,4E07,E0100.otf | Bin 0 -> 4304 bytes ...nt2.notdef-outline-gids.4E00,4E05,4E07.otf | Bin 0 -> 4260 bytes ...tdef-outline-gids.4E02,4E03,4E08,E0100.otf | Bin 0 -> 4300 bytes ...nt2.notdef-outline-gids.4E02,4E03,4E08.otf | Bin 0 -> 4248 bytes ...4_font2.notdef-outline-gids.4E02,E0100.otf | Bin 0 -> 4232 bytes .../cmap14_font2.notdef-outline-gids.4E02.otf | Bin 0 -> 4232 bytes ...4_font2.notdef-outline-gids.4E03,E0100.otf | Bin 0 -> 4272 bytes .../cmap14_font2.notdef-outline-gids.4E03.otf | Bin 0 -> 4232 bytes ...outline-gids.4E05,4E07,4E08,4E09,E0100.otf | Bin 0 -> 4308 bytes ...otdef-outline-gids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 4252 bytes ...t2.notdef-outline-gids.4E08,4E09,E0100.otf | Bin 0 -> 4284 bytes ...14_font2.notdef-outline-gids.4E08,4E09.otf | Bin 0 -> 4236 bytes ...4_font2.notdef-outline-gids.4E08,E0100.otf | Bin 0 -> 4276 bytes .../cmap14_font2.notdef-outline-gids.4E08.otf | Bin 0 -> 4232 bytes ...-outline-name-ids.4E00,4E02,4E03,E0100.otf | Bin 0 -> 4220 bytes ...notdef-outline-name-ids.4E00,4E02,4E03.otf | Bin 0 -> 4176 bytes ...otdef-outline-name-ids.4E00,4E03,E0100.otf | Bin 0 -> 4216 bytes ...ont2.notdef-outline-name-ids.4E00,4E03.otf | Bin 0 -> 4172 bytes ...-outline-name-ids.4E00,4E05,4E07,E0100.otf | Bin 0 -> 4232 bytes ...notdef-outline-name-ids.4E00,4E05,4E07.otf | Bin 0 -> 4188 bytes ...-outline-name-ids.4E02,4E03,4E08,E0100.otf | Bin 0 -> 4224 bytes ...notdef-outline-name-ids.4E02,4E03,4E08.otf | Bin 0 -> 4176 bytes ...nt2.notdef-outline-name-ids.4E02,E0100.otf | Bin 0 -> 4160 bytes ...p14_font2.notdef-outline-name-ids.4E02.otf | Bin 0 -> 4160 bytes ...nt2.notdef-outline-name-ids.4E03,E0100.otf | Bin 0 -> 4200 bytes ...p14_font2.notdef-outline-name-ids.4E03.otf | Bin 0 -> 4160 bytes ...ine-name-ids.4E05,4E07,4E08,4E09,E0100.otf | Bin 0 -> 4232 bytes ...f-outline-name-ids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 4176 bytes ...otdef-outline-name-ids.4E08,4E09,E0100.otf | Bin 0 -> 4208 bytes ...ont2.notdef-outline-name-ids.4E08,4E09.otf | Bin 0 -> 4160 bytes ...nt2.notdef-outline-name-ids.4E08,E0100.otf | Bin 0 -> 4200 bytes ...p14_font2.notdef-outline-name-ids.4E08.otf | Bin 0 -> 4160 bytes ...tline-retain-gids.4E00,4E02,4E03,E0100.otf | Bin 0 -> 4332 bytes ...def-outline-retain-gids.4E00,4E02,4E03.otf | Bin 0 -> 4288 bytes ...ef-outline-retain-gids.4E00,4E03,E0100.otf | Bin 0 -> 4332 bytes ...2.notdef-outline-retain-gids.4E00,4E03.otf | Bin 0 -> 4288 bytes ...tline-retain-gids.4E00,4E05,4E07,E0100.otf | Bin 0 -> 4360 bytes ...def-outline-retain-gids.4E00,4E05,4E07.otf | Bin 0 -> 4316 bytes ...tline-retain-gids.4E02,4E03,4E08,E0100.otf | Bin 0 -> 4384 bytes ...def-outline-retain-gids.4E02,4E03,4E08.otf | Bin 0 -> 4308 bytes ....notdef-outline-retain-gids.4E02,E0100.otf | Bin 0 -> 4272 bytes ..._font2.notdef-outline-retain-gids.4E02.otf | Bin 0 -> 4272 bytes ....notdef-outline-retain-gids.4E03,E0100.otf | Bin 0 -> 4316 bytes ..._font2.notdef-outline-retain-gids.4E03.otf | Bin 0 -> 4276 bytes ...-retain-gids.4E05,4E07,4E08,4E09,E0100.otf | Bin 0 -> 4392 bytes ...utline-retain-gids.4E05,4E07,4E08,4E09.otf | Bin 0 -> 4308 bytes ...ef-outline-retain-gids.4E08,4E09,E0100.otf | Bin 0 -> 4372 bytes ...2.notdef-outline-retain-gids.4E08,4E09.otf | Bin 0 -> 4300 bytes ....notdef-outline-retain-gids.4E08,E0100.otf | Bin 0 -> 4364 bytes ..._font2.notdef-outline-retain-gids.4E08.otf | Bin 0 -> 4296 bytes ...t2.notdef-outline.4E00,4E02,4E03,E0100.otf | Bin 0 -> 4288 bytes ...14_font2.notdef-outline.4E00,4E02,4E03.otf | Bin 0 -> 4244 bytes ...4_font2.notdef-outline.4E00,4E03,E0100.otf | Bin 0 -> 4284 bytes .../cmap14_font2.notdef-outline.4E00,4E03.otf | Bin 0 -> 4240 bytes ...t2.notdef-outline.4E00,4E05,4E07,E0100.otf | Bin 0 -> 4300 bytes ...14_font2.notdef-outline.4E00,4E05,4E07.otf | Bin 0 -> 4256 bytes ...t2.notdef-outline.4E02,4E03,4E08,E0100.otf | Bin 0 -> 4292 bytes ...14_font2.notdef-outline.4E02,4E03,4E08.otf | Bin 0 -> 4244 bytes ...cmap14_font2.notdef-outline.4E02,E0100.otf | Bin 0 -> 4228 bytes .../cmap14_font2.notdef-outline.4E02.otf | Bin 0 -> 4228 bytes ...cmap14_font2.notdef-outline.4E03,E0100.otf | Bin 0 -> 4268 bytes .../cmap14_font2.notdef-outline.4E03.otf | Bin 0 -> 4228 bytes ...tdef-outline.4E05,4E07,4E08,4E09,E0100.otf | Bin 0 -> 4300 bytes ...nt2.notdef-outline.4E05,4E07,4E08,4E09.otf | Bin 0 -> 4244 bytes ...4_font2.notdef-outline.4E08,4E09,E0100.otf | Bin 0 -> 4276 bytes .../cmap14_font2.notdef-outline.4E08,4E09.otf | Bin 0 -> 4228 bytes ...cmap14_font2.notdef-outline.4E08,E0100.otf | Bin 0 -> 4268 bytes .../cmap14_font2.notdef-outline.4E08.otf | Bin 0 -> 4228 bytes ...glyph-names.0x0,0x8,0x9,0x1d,0x20,0xb7.ttf | Bin 41236 -> 39804 bytes ...glyph-names.0x0,0x8,0x9,0x1d,0x20,0xb7.ttf | Bin 42360 -> 40928 bytes ...varaya-Regular.default.c30,c36,c40,c4d.ttf | Bin 2588 -> 2172 bytes ...ya-Regular.glyph-names.c30,c36,c40,c4d.ttf | Bin 2632 -> 2216 bytes ...Regular.notdef-outline.c30,c36,c40,c4d.ttf | Bin 2664 -> 2248 bytes ...etain-gids-glyph-names.c30,c36,c40,c4d.ttf | Bin 4216 -> 3800 bytes ...ya-Regular.retain-gids.c30,c36,c40,c4d.ttf | Bin 3768 -> 3352 bytes klippa/test-data/fonts/AdobeBlank-Regular.ttf | Bin 0 -> 72408 bytes klippa/test-data/fonts/cmap14_font1.otf | Bin 0 -> 4484 bytes klippa/test-data/fonts/cmap14_font2.otf | Bin 0 -> 4480 bytes .../notdef-outline-drop-hints-retain-gids.txt | 3 + .../profiles/notdef-outline-drop-hints.txt | 2 + .../profiles/notdef-outline-gids.txt | 2 + .../profiles/notdef-outline-name-ids.txt | 2 + .../profiles/notdef-outline-retain-gids.txt | 2 + klippa/test-data/tests/cmap.tests | 16 + klippa/test-data/tests/cmap14.tests | 32 + klippa/tests/integration_test.rs | 4 +- read-fonts/src/tables/cmap.rs | 19 + 447 files changed, 1357 insertions(+), 68 deletions(-) create mode 100644 klippa/src/cmap.rs create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.default.61,62.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.default.61,FEFA.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.default.FEE6,FECF.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.default.FEF9,FEFA.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.default.FEFA.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints-retain-gids.61,62.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints-retain-gids.61,FEFA.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints-retain-gids.FEE6,FECF.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints-retain-gids.FEF9,FEFA.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints-retain-gids.FEFA.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints.61,62.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints.61,FEFA.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints.FEE6,FECF.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints.FEF9,FEFA.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints.FEFA.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.name-ids.61,62.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.name-ids.61,FEFA.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.name-ids.FEE6,FECF.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.name-ids.FEF9,FEFA.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.name-ids.FEFA.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.retain-gids.61,62.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.retain-gids.61,FEFA.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.retain-gids.FEE6,FECF.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.retain-gids.FEF9,FEFA.ttf create mode 100644 klippa/test-data/expected/cmap/AdobeBlank-Regular.retain-gids.FEFA.ttf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E00,4E02,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E00,4E02,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E00,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E00,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E00,4E05,4E07,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E00,4E05,4E07.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E02,4E03,4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E02,4E03,4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E02,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E02.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E05,4E07,4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E05,4E07,4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E00,4E02,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E00,4E02,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E00,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E00,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E00,4E05,4E07,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E00,4E05,4E07.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E02,4E03,4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E02,4E03,4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E02,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E02.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E05,4E07,4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E05,4E07,4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E00,4E02,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E00,4E02,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E00,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E00,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E00,4E05,4E07,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E00,4E05,4E07.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E02,4E03,4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E02,4E03,4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E02,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E02.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E05,4E07,4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E05,4E07,4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E02,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E02,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E05,4E07,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E05,4E07.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E02,4E03,4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E02,4E03,4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E02,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E02.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E05,4E07,4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E05,4E07,4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E00,4E02,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E00,4E02,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E00,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E00,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E00,4E05,4E07,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E00,4E05,4E07.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E02,4E03,4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E02,4E03,4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E02,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E02.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E05,4E07,4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E05,4E07,4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E00,4E02,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E00,4E02,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E00,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E00,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E00,4E05,4E07,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E00,4E05,4E07.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E02,4E03,4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E02,4E03,4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E02,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E02.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E05,4E07,4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E05,4E07,4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E00,4E02,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E00,4E02,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E00,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E00,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E00,4E05,4E07,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E00,4E05,4E07.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E02,4E03,4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E02,4E03,4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E02,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E02.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E05,4E07,4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E05,4E07,4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E00,4E02,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E00,4E02,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E00,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E00,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E00,4E05,4E07,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E00,4E05,4E07.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E02,4E03,4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E02,4E03,4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E02,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E02.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E05,4E07,4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E05,4E07,4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E00,4E02,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E00,4E02,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E00,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E00,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E00,4E05,4E07,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E00,4E05,4E07.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E02,4E03,4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E02,4E03,4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E02,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E02.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E05,4E07,4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E05,4E07,4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E00,4E02,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E00,4E02,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E00,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E00,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E00,4E05,4E07,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E00,4E05,4E07.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E02,4E03,4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E02,4E03,4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E02,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E02.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E05,4E07,4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E05,4E07,4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E00,4E02,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E00,4E02,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E00,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E00,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E00,4E05,4E07,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E00,4E05,4E07.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E02,4E03,4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E02,4E03,4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E02,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E02.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E05,4E07,4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E05,4E07,4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E00,4E02,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E00,4E02,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E00,4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E00,4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E00,4E05,4E07,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E00,4E05,4E07.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E02,4E03,4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E02,4E03,4E08.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E02,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E02.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E03,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E03.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E05,4E07,4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E05,4E07,4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E08,4E09,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E08,4E09.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E08,E0100.otf create mode 100644 klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E08.otf create mode 100644 klippa/test-data/fonts/AdobeBlank-Regular.ttf create mode 100644 klippa/test-data/fonts/cmap14_font1.otf create mode 100644 klippa/test-data/fonts/cmap14_font2.otf create mode 100644 klippa/test-data/profiles/notdef-outline-drop-hints-retain-gids.txt create mode 100644 klippa/test-data/profiles/notdef-outline-drop-hints.txt create mode 100644 klippa/test-data/profiles/notdef-outline-gids.txt create mode 100644 klippa/test-data/profiles/notdef-outline-name-ids.txt create mode 100644 klippa/test-data/profiles/notdef-outline-retain-gids.txt create mode 100644 klippa/test-data/tests/cmap.tests create mode 100644 klippa/test-data/tests/cmap14.tests diff --git a/klippa/src/cmap.rs b/klippa/src/cmap.rs new file mode 100644 index 000000000..0fa572f37 --- /dev/null +++ b/klippa/src/cmap.rs @@ -0,0 +1,1110 @@ +//! impl subset() for cmap table +use std::cmp::Ordering; + +use crate::{ + serialize::{ObjIdx, OffsetWhence, SerializeErrorFlags, Serializer}, + Plan, Subset, + SubsetError::{self, SubsetTableError}, +}; + +use fnv::FnvHashMap; +use skrifa::raw::tables::cmap::UnicodeRange; +use write_fonts::{ + read::{ + collections::IntSet, + tables::cmap::{ + Cmap, Cmap12, Cmap14, Cmap4, CmapSubtable, DefaultUvs, EncodingRecord, NonDefaultUvs, + PlatformId, SequentialMapGroup, UvsMapping, VariationSelector, + }, + types::{FixedSize, GlyphId}, + FontRef, TopLevelTable, + }, + types::{Offset32, Uint24}, + FontBuilder, +}; + +const INVALID_UNICODE_CHAR: u32 = u32::MAX; +const UNICODE_MAX: u32 = 0x10FFFF_u32; +const HEADER_SIZE: usize = 4; +// reference: subset() for cmap table in harfbuzz +// +impl Subset for Cmap<'_> { + fn subset( + &self, + plan: &Plan, + _font: &FontRef, + s: &mut Serializer, + _builder: &mut FontBuilder, + ) -> Result<(), SubsetError> { + let retained_encoding_records: Vec<(usize, &EncodingRecord)> = self + .encoding_records() + .iter() + .enumerate() + .filter(|(_, r)| retain_encoding_record_for_subset(r, self)) + .collect(); + + let mut has_unicode_bmp = false; + let mut has_unicode_usc4 = false; + let mut has_ms_bmp = false; + let mut has_ms_usc4 = false; + let mut has_format12 = false; + + for (_, record) in retained_encoding_records.iter() { + if record + .subtable(self.offset_data()) + .is_ok_and(|t| t.format() == 12) + { + has_format12 = true; + } + + if record.platform_id() == PlatformId::Unicode && record.encoding_id() == 3 { + has_unicode_bmp = true; + } else if record.platform_id() == PlatformId::Unicode && record.encoding_id() == 4 { + has_unicode_usc4 = true; + } else if record.platform_id() == PlatformId::Windows && record.encoding_id() == 1 { + has_ms_bmp = true; + } else if record.platform_id() == PlatformId::Windows && record.encoding_id() == 10 { + has_ms_usc4 = true; + } + } + + if !has_format12 && !has_unicode_bmp && !has_ms_bmp { + return Err(SubsetTableError(Cmap::TAG)); + } + + if has_format12 && (!has_unicode_usc4 && !has_ms_usc4) { + return Err(SubsetTableError(Cmap::TAG)); + } + + serialize_cmap(self, s, plan, &retained_encoding_records, false) + .map_err(|_| SubsetTableError(Cmap::TAG)) + } +} + +fn retain_encoding_record_for_subset(record: &EncodingRecord, cmap: &Cmap) -> bool { + (record.platform_id() == PlatformId::Unicode && record.encoding_id() == 3) + || (record.platform_id() == PlatformId::Unicode && record.encoding_id() == 4) + || (record.platform_id() == PlatformId::Windows && record.encoding_id() == 1) + || (record.platform_id() == PlatformId::Windows && record.encoding_id() == 10) + || record + .subtable(cmap.offset_data()) + .is_ok_and(|t| t.format() == 14) +} + +fn can_drop_format12( + cmap12_record: &EncodingRecord, + cmap12_subset_unicodes: &IntSet, + cmap: &Cmap, + retained_encoding_records: &[(usize, &EncodingRecord)], + unicodes_cache: &mut SubtableUnicodeCache, + subset_unicodes: &IntSet, + num_glyphs: usize, +) -> bool { + for cp in cmap12_subset_unicodes.iter() { + if cp >= 0x10000 { + return false; + } + } + + let (target_platform, target_encoding) = + if cmap12_record.platform_id() == PlatformId::Unicode && cmap12_record.encoding_id() == 4 { + (PlatformId::Unicode, 3_u16) + } else if cmap12_record.platform_id() == PlatformId::Windows + && cmap12_record.encoding_id() == 10 + { + (PlatformId::Windows, 1) + } else { + return false; + }; + + let target_language = cmap12_record + .subtable(cmap.offset_data()) + .unwrap() + .language(); + + for (rec_idx, rec) in retained_encoding_records.iter() { + let Ok(subtable) = rec.subtable(cmap.offset_data()) else { + continue; + }; + if rec.platform_id() != target_platform + || rec.encoding_id() != target_encoding + || subtable.language() != target_language + { + continue; + } + + let Some(sibling_unicodes) = unicodes_cache.set_for(*rec_idx, &subtable, num_glyphs) else { + continue; + }; + + return cmap12_subset_unicodes.iter().cmp( + subset_unicodes + .iter() + .filter(|v| sibling_unicodes.contains(*v)), + ) == Ordering::Equal; + } + false +} + +fn serialize_cmap( + cmap: &Cmap, + s: &mut Serializer, + plan: &Plan, + retained_encoding_records: &[(usize, &EncodingRecord)], + drop_format_4: bool, +) -> Result<(), SerializeErrorFlags> { + // allocate header: version + numTables + s.allocate_size(HEADER_SIZE, false)?; + + let snap = s.snapshot(); + let mut format12_objidx = None; + //TODO: add support for cmap_cache in plan accelerator + let mut unicodes_cache = + SubtableUnicodeCache::new(cmap.offset_data().as_bytes().as_ptr() as usize); + for (rec_idx, record) in retained_encoding_records.iter() { + if s.in_error() { + return Err(s.error()); + } + + let Ok(subtable) = record.subtable(cmap.offset_data()) else { + continue; + }; + + let format = subtable.format(); + if format != 4 && format != 12 && format != 14 { + continue; + } + + if !drop_format_4 && format == 4 { + let Some(unicodes_set) = + unicodes_cache.set_for(*rec_idx, &subtable, plan.font_num_glyphs) + else { + continue; + }; + let cp_to_new_gid_list: Vec<(u32, GlyphId)> = plan + .unicode_to_new_gid_list + .iter() + .filter_map(|(cp, gid)| unicodes_set.contains(*cp).then_some((*cp, *gid))) + .collect(); + + serialize_encoding_record(record, &subtable, s, &cp_to_new_gid_list, plan)?; + if s.in_error() && s.only_overflow() { + // cmap4 overflowed, reset and retry serialization without format 4 subtables. + s.revert_snapshot(snap); + return serialize_cmap(cmap, s, plan, retained_encoding_records, true); + } + } else if format == 12 { + let Some(unicodes_set) = + unicodes_cache.set_for(*rec_idx, &subtable, plan.font_num_glyphs) + else { + continue; + }; + let cmap12_subset_unicodes = + IntSet::from_iter(plan.unicodes.iter().filter(|v| unicodes_set.contains(*v))); + + if can_drop_format12( + record, + &cmap12_subset_unicodes, + cmap, + retained_encoding_records, + &mut unicodes_cache, + &plan.unicodes, + plan.font_num_glyphs, + ) { + continue; + } + + let cp_to_new_gid_list: Vec<(u32, GlyphId)> = plan + .unicode_to_new_gid_list + .iter() + .filter(|&(cp, _gid)| cmap12_subset_unicodes.contains(*cp)) + .map(|(cp, gid)| (*cp, *gid)) + .collect(); + format12_objidx = + serialize_encoding_record(record, &subtable, s, &cp_to_new_gid_list, plan)?; + } else if format == 14 { + serialize_encoding_record(record, &subtable, s, &plan.unicode_to_new_gid_list, plan)?; + } + } + + let num_retained_records = (s.length() - HEADER_SIZE) / EncodingRecord::RAW_BYTE_LEN; + s.check_assign::( + 2, + num_retained_records, + SerializeErrorFlags::SERIALIZE_ERROR_INT_OVERFLOW, + ); + + // Fail if format 4 was dropped and there is no cmap12. + if drop_format_4 && format12_objidx.is_none() { + return Err(SerializeErrorFlags::SERIALIZE_ERROR_OTHER); + } + + Ok(()) +} + +fn serialize_encoding_record( + record: &EncodingRecord, + cmap_subtable: &CmapSubtable, + s: &mut Serializer, + cp_to_new_gid_list: &[(u32, GlyphId)], + plan: &Plan, +) -> Result, SerializeErrorFlags> { + let snap = s.snapshot(); + s.embed(record.platform_id())?; + s.embed(record.encoding_id())?; + let offset_pos = s.embed(Offset32::new(0))?; + + s.push()?; + let init_len = s.length(); + cmap_subtable.serialize(s, plan, cp_to_new_gid_list)?; + let mut obj_idx = None; + if s.length() > init_len { + obj_idx = s.pop_pack(true); + if obj_idx.is_none() { + s.revert_snapshot(snap); + return Err(s.error()); + } + } else { + s.pop_discard(); + s.revert_snapshot(snap); + return Ok(obj_idx); + } + + s.add_link( + offset_pos..offset_pos + 4, + obj_idx.unwrap(), + OffsetWhence::Head, + 0, + false, + )?; + Ok(obj_idx) +} + +fn is_gid_consecutive( + end_char_code: u32, + start_char_code: u32, + gid: GlyphId, + cp: u32, + new_gid: GlyphId, +) -> bool { + cp - 1 == end_char_code && new_gid.to_u32() == gid.to_u32() + (cp - start_char_code) +} + +trait Serialize { + /// serialize cmap subtable + fn serialize( + &self, + s: &mut Serializer, + plan: &Plan, + cp_to_new_gid_list: &[(u32, GlyphId)], + ) -> Result<(), SerializeErrorFlags>; +} + +impl Serialize for CmapSubtable<'_> { + fn serialize( + &self, + s: &mut Serializer, + plan: &Plan, + cp_to_new_gid_list: &[(u32, GlyphId)], + ) -> Result<(), SerializeErrorFlags> { + match self { + Self::Format4(item) => item.serialize(s, plan, cp_to_new_gid_list), + Self::Format12(item) => item.serialize(s, plan, cp_to_new_gid_list), + Self::Format14(item) => item.serialize(s, plan, cp_to_new_gid_list), + _ => Ok(()), + } + } +} + +impl Serialize for Cmap4<'_> { + fn serialize( + &self, + s: &mut Serializer, + _plan: &Plan, + cp_to_new_gid_list: &[(u32, GlyphId)], + ) -> Result<(), SerializeErrorFlags> { + if cp_to_new_gid_list.is_empty() { + return Ok(()); + } + + let init_len = s.length(); + // format + s.embed(4_u16)?; + // length, initialized to 0 + let length_pos = s.embed(0_u16)?; + // language + s.embed(self.language())?; + // segCountx2, initialized to 0 + let segcount_pos = s.embed(0_u16)?; + // searchRange, initialized to 0 + let search_range_pos = s.embed(0_u16)?; + // entrySelector, initialized to 0 + let entry_selector_pos = s.embed(0_u16)?; + // rangeShift, initialized to 0 + let rangeshift_pos = s.embed(0_u16)?; + + let seg_count = serialize_find_segcount(s, cp_to_new_gid_list); + let (end_code, start_code, id_delta) = + serialize_start_end_delta_arrays(s, cp_to_new_gid_list, seg_count as usize)?; + serialize_rangeoffset_glyph_ids( + s, + cp_to_new_gid_list, + seg_count as usize, + end_code, + start_code, + id_delta, + )?; + + s.check_assign::( + length_pos, + s.length() - init_len, + SerializeErrorFlags::SERIALIZE_ERROR_INT_OVERFLOW, + ); + s.check_assign::( + segcount_pos, + seg_count as usize * 2, + SerializeErrorFlags::SERIALIZE_ERROR_INT_OVERFLOW, + ); + + let entry_selector = 1_u16.max(16 - seg_count.leading_zeros() as u16) - 1; + s.copy_assign(entry_selector_pos, entry_selector); + + let search_range = 2 * (1 << entry_selector) as usize; + s.check_assign::( + search_range_pos, + search_range, + SerializeErrorFlags::SERIALIZE_ERROR_INT_OVERFLOW, + ); + + let range_shift = if seg_count as usize * 2 > search_range { + seg_count * 2 - search_range as u16 + } else { + 0 + }; + s.copy_assign(rangeshift_pos, range_shift); + + Ok(()) + } +} + +trait UnicodeRangeWriter { + /// write or count ranges + fn write_one_range(&mut self, start: u16, end: u16, delta: i16, s: &mut Serializer); +} + +#[derive(Default)] +struct RangeCounter { + seg_count: u16, +} + +impl RangeCounter { + fn new() -> Self { + RangeCounter::default() + } + + fn count(&self) -> u16 { + self.seg_count + } +} + +impl UnicodeRangeWriter for RangeCounter { + fn write_one_range(&mut self, _start: u16, _end: u16, _delta: i16, _s: &mut Serializer) { + self.seg_count += 1; + } +} + +// ported from harfbuzz: +// trying to make cmap4 packing more optimal: +// it's often possible to save bytes by splitting up existing ranges and encoding parts of them using deltas +// where the cost of splitting the range is less than encoding each glyph individual. +fn to_ranges( + cp_to_new_gid_list: &[(u32, GlyphId)], + range_writer: &mut impl UnicodeRangeWriter, + s: &mut Serializer, +) { + #[derive(PartialEq)] + enum Mode { + FirstSubRange, + FollowingSubRange, + } + + let mut start_cp; + let mut prev_run_start_cp; + let mut run_start_cp; + let mut end_cp = 0_u16; + let mut last_gid; + let mut run_length; + let mut delta; + let mut prev_delta; + + let total_num = cp_to_new_gid_list.len(); + let mut i = 0; + + while i < total_num { + // Start a new run + { + let pair = cp_to_new_gid_list[i]; + start_cp = pair.0 as u16; + prev_run_start_cp = start_cp; + run_start_cp = start_cp; + end_cp = start_cp; + last_gid = pair.1.to_u32() as u16; + run_length = 1; + prev_delta = 0; + } + + delta = (i32::from(last_gid) - i32::from(start_cp)) as i16; + let mut mode = Mode::FirstSubRange; + i += 1; + + while i < total_num { + // Process range + let pair = cp_to_new_gid_list[i]; + let next_cp = pair.0 as u16; + let next_gid = pair.1.to_u32() as u16; + if next_cp != end_cp + 1 { + // Current range is over, stop processing. + break; + } + + if next_gid == last_gid + 1 { + // The current run continues. + end_cp = next_cp; + run_length += 1; + last_gid = next_gid; + i += 1; + continue; + } + + // A new run is starting, decide if we want to commit the current run. + let split_cost = if mode == Mode::FirstSubRange { 8 } else { 16 }; + let run_cost = run_length * 2; + if run_cost >= split_cost { + commit_current_range( + start_cp, + prev_run_start_cp, + run_start_cp, + end_cp, + delta, + prev_delta, + split_cost, + range_writer, + s, + ); + start_cp = next_cp; + } + + // Start the new run + mode = Mode::FollowingSubRange; + prev_run_start_cp = run_start_cp; + run_start_cp = next_cp; + end_cp = next_cp; + prev_delta = delta; + delta = (i32::from(next_gid) - i32::from(run_start_cp)) as i16; + run_length = 1; + last_gid = next_gid; + i += 1; + } + + // Finalize range + commit_current_range( + start_cp, + prev_run_start_cp, + run_start_cp, + end_cp, + delta, + prev_delta, + 8, + range_writer, + s, + ); + } + + if end_cp != 0xFFFF_u16 { + range_writer.write_one_range(0xFFFF, 0xFFFF, 1, s); + } +} + +/// Writes the current range as either one or two ranges depending on what is most efficient. +#[allow(clippy::too_many_arguments)] +fn commit_current_range( + start: u16, + prev_run_start: u16, + run_start: u16, + end: u16, + run_delta: i16, + previous_run_delta: i16, + split_cost: u16, + range_writer: &mut impl UnicodeRangeWriter, + s: &mut Serializer, +) { + let should_split = if start < run_start && run_start < end { + let run_cost = (end - run_start + 1) * 2; + run_cost >= split_cost + } else { + false + }; + + if should_split { + if start == prev_run_start { + range_writer.write_one_range(start, run_start - 1, previous_run_delta, s); + } else { + range_writer.write_one_range(start, run_start - 1, 0, s); + } + range_writer.write_one_range(run_start, end, run_delta, s); + return; + } + + if start == run_start { + // Range is only a run + range_writer.write_one_range(start, end, run_delta, s); + return; + } + + // Write only a single non-run range. + range_writer.write_one_range(start, end, 0, s); +} + +#[derive(Default)] +struct RangeWriter { + start_code: usize, + end_code: usize, + id_delta: usize, + index: usize, +} + +impl RangeWriter { + fn new(start_code: usize, end_code: usize, id_delta: usize) -> Self { + Self { + start_code, + end_code, + id_delta, + ..Default::default() + } + } +} + +impl UnicodeRangeWriter for RangeWriter { + fn write_one_range(&mut self, start: u16, end: u16, delta: i16, s: &mut Serializer) { + let pos = self.index * 2; + s.copy_assign(self.start_code + pos, start); + s.copy_assign(self.end_code + pos, end); + s.copy_assign(self.id_delta + pos, delta); + self.index += 1; + } +} + +fn serialize_find_segcount(s: &mut Serializer, cp_to_new_gid_list: &[(u32, GlyphId)]) -> u16 { + let mut counter = RangeCounter::new(); + to_ranges(cp_to_new_gid_list, &mut counter, s); + counter.count() +} + +fn serialize_start_end_delta_arrays( + s: &mut Serializer, + cp_to_new_gid_list: &[(u32, GlyphId)], + seg_count: usize, +) -> Result<(usize, usize, usize), SerializeErrorFlags> { + let end_code = s.allocate_size(u16::RAW_BYTE_LEN * seg_count, false)?; + //padding + s.allocate_size(u16::RAW_BYTE_LEN, true)?; + let start_code = s.allocate_size(u16::RAW_BYTE_LEN * seg_count, false)?; + let id_delta = s.allocate_size(u16::RAW_BYTE_LEN * seg_count, false)?; + + let mut writer = RangeWriter::new(start_code, end_code, id_delta); + to_ranges(cp_to_new_gid_list, &mut writer, s); + Ok((end_code, start_code, id_delta)) +} + +fn serialize_rangeoffset_glyph_ids( + s: &mut Serializer, + cp_to_new_gid_list: &[(u32, GlyphId)], + seg_count: usize, + end_code: usize, + start_code: usize, + id_delta: usize, +) -> Result<(), SerializeErrorFlags> { + let id_range_offset = s.allocate_size(u16::RAW_BYTE_LEN * seg_count, true)?; + let cp_to_gid_map: FnvHashMap = cp_to_new_gid_list + .iter() + .map(|(cp, gid)| (*cp, *gid)) + .collect(); + + let indices: Vec = (0..seg_count) + .filter(|idx| s.get_value_at::(id_delta + idx * 2).unwrap() == 0) + .collect(); + + for i in indices { + let val = 2 * (seg_count - i); + s.copy_assign(id_range_offset + i * 2, val as u16); + let start_cp = s.get_value_at::(start_code + i * 2).unwrap() as u32; + let end_cp = s.get_value_at::(end_code + i * 2).unwrap() as u32; + for cp in start_cp..=end_cp { + let gid = cp_to_gid_map + .get(&cp) + .ok_or(SerializeErrorFlags::SERIALIZE_ERROR_OTHER)?; + s.embed(gid.to_u32() as u16)?; + } + } + Ok(()) +} + +impl Serialize for Cmap12<'_> { + fn serialize( + &self, + s: &mut Serializer, + _plan: &Plan, + cp_to_new_gid_list: &[(u32, GlyphId)], + ) -> Result<(), SerializeErrorFlags> { + let init_pos = s.length(); + //copy header format + s.embed(self.format())?; + // reserved + s.embed(0_u16)?; + // length, initialized to 0, update later + let length_pos = s.embed(0_u32)?; + // language + s.embed(self.language())?; + // numGroups: set to 0 initially + let num_groups_pos = s.embed(0_u32)?; + + let mut start_char_code = INVALID_UNICODE_CHAR; + let mut end_char_code = INVALID_UNICODE_CHAR; + let mut glyph_id = GlyphId::NOTDEF; + + for (cp, gid) in cp_to_new_gid_list.iter() { + if start_char_code == INVALID_UNICODE_CHAR { + start_char_code = *cp; + end_char_code = *cp; + glyph_id = *gid; + } else if !is_gid_consecutive(end_char_code, start_char_code, glyph_id, *cp, *gid) { + s.embed(start_char_code)?; + s.embed(end_char_code)?; + s.embed(glyph_id.to_u32())?; + + start_char_code = *cp; + end_char_code = *cp; + glyph_id = *gid; + } else { + end_char_code = *cp; + } + } + + s.embed(start_char_code)?; + s.embed(end_char_code)?; + s.embed(glyph_id.to_u32())?; + + // update length + s.check_assign::( + length_pos, + s.length() - init_pos, + SerializeErrorFlags::SERIALIZE_ERROR_INT_OVERFLOW, + ); + + // header size = 16 + s.check_assign::( + num_groups_pos, + (s.length() - init_pos - 16) / SequentialMapGroup::RAW_BYTE_LEN, + SerializeErrorFlags::SERIALIZE_ERROR_INT_OVERFLOW, + ); + Ok(()) + } +} + +// reference: +impl Serialize for Cmap14<'_> { + fn serialize( + &self, + s: &mut Serializer, + plan: &Plan, + _cp_to_new_gid_list: &[(u32, GlyphId)], + ) -> Result<(), SerializeErrorFlags> { + let snap = s.snapshot(); + let init_len = s.length(); + let init_tail = s.tail(); + //copy header format + s.embed(self.format())?; + // length, initialized to 0, update later + let length_pos = s.embed(0_u32)?; + // numVarSelectorRecords, initialized to 0, update later + let num_records_pos = s.embed(0_u32)?; + + let retained_records: Vec<&VariationSelector> = self + .var_selector() + .iter() + .filter(|r| plan.unicodes.contains(r.var_selector().to_u32())) + .collect(); + + let mut obj_indices = Vec::with_capacity(retained_records.len()); + // serializer UVS tables for each variation selector record in reverse order + // see here for reason: + for record in retained_records.iter().rev() { + obj_indices.push(copy_var_selector_record_uvs_tables(record, self, s, plan)?); + } + + let mut offset_pos = Vec::with_capacity(obj_indices.len()); + // copy variation selector headers + for (record, _) in retained_records + .iter() + .zip(obj_indices.iter().rev()) + .filter(|(_, (a_idx, b_idx))| a_idx.is_some() || b_idx.is_some()) + { + let (default_pos, non_default_pos) = copy_var_selector_record_header(record, s)?; + offset_pos.push((default_pos, non_default_pos)); + } + + // subsetted to empty, return + // 10 is header size of Cmap14 + if s.length() - init_len == 10 { + s.revert_snapshot(snap); + return Ok(()); + } + + let tail_len = init_tail - s.tail(); + s.check_assign::( + length_pos, + s.length() - init_len + tail_len, + SerializeErrorFlags::SERIALIZE_ERROR_INT_OVERFLOW, + ); + let num_records = (s.length() - init_len - 10) / VariationSelector::RAW_BYTE_LEN; + s.check_assign::( + num_records_pos, + num_records, + SerializeErrorFlags::SERIALIZE_ERROR_INT_OVERFLOW, + ); + + // add links to variation records + for ((default_pos, non_default_pos), (default_obj_idx, non_default_obj_idx)) in + offset_pos.iter().zip( + obj_indices + .iter() + .rev() + .filter(|(a_idx, b_idx)| a_idx.is_some() || b_idx.is_some()), + ) + { + if let Some(obj_idx) = default_obj_idx { + s.add_link( + *default_pos..*default_pos + 4, + *obj_idx, + OffsetWhence::Head, + 0, + false, + )?; + } + + if let Some(obj_idx) = non_default_obj_idx { + s.add_link( + *non_default_pos..*non_default_pos + 4, + *obj_idx, + OffsetWhence::Head, + 0, + false, + )?; + } + } + Ok(()) + } +} + +fn copy_var_selector_record_header( + record: &VariationSelector, + s: &mut Serializer, +) -> Result<(usize, usize), SerializeErrorFlags> { + //copy var_selector + s.embed(record.var_selector())?; + // offset to default UVS, initialized to 0 + let default_pos = s.embed(0_u32)?; + // offset to non-default UVS, initialized to 0 + let non_default_pos = s.embed(0_u32)?; + Ok((default_pos, non_default_pos)) +} + +fn copy_var_selector_record_uvs_tables( + record: &VariationSelector, + cmap14: &Cmap14, + s: &mut Serializer, + plan: &Plan, +) -> Result<(Option, Option), SerializeErrorFlags> { + let mut non_default_uvs_obj_idx = None; + if let Some(non_default_uvs) = record + .non_default_uvs(cmap14.offset_data()) + .transpose() + .ok() + .flatten() + { + s.push()?; + let num = copy_non_default_uvs(&non_default_uvs, s, plan)?; + if num == 0 { + s.pop_discard(); + } else { + non_default_uvs_obj_idx = s.pop_pack(true); + } + } + + let mut default_uvs_obj_idx = None; + if let Some(default_uvs) = record + .default_uvs(cmap14.offset_data()) + .transpose() + .ok() + .flatten() + { + s.push()?; + let num = copy_default_uvs(&default_uvs, s, plan)?; + if num == 0 { + s.pop_discard(); + } else { + default_uvs_obj_idx = s.pop_pack(true); + } + } + Ok((default_uvs_obj_idx, non_default_uvs_obj_idx)) +} + +fn copy_non_default_uvs( + non_default_uvs: &NonDefaultUvs, + s: &mut Serializer, + plan: &Plan, +) -> Result { + // num_uvs_mapping, initialized to 0 + let num_pos = s.embed(0_u32)?; + let mut num: u32 = 0; + for uvs_mapping in non_default_uvs.uvs_mapping().iter() { + if !plan.unicodes.contains(uvs_mapping.unicode_value().to_u32()) + && !plan + .glyphs_requested + .contains(GlyphId::from(uvs_mapping.glyph_id())) + { + continue; + } + copy_uvs_mapping(uvs_mapping, s, plan)?; + num += 1; + } + + if num == 0 { + return Ok(num); + } + s.copy_assign(num_pos, num); + Ok(num) +} + +fn copy_uvs_mapping( + uvs_mapping: &UvsMapping, + s: &mut Serializer, + plan: &Plan, +) -> Result<(), SerializeErrorFlags> { + s.embed(uvs_mapping.unicode_value())?; + let glyph_id = plan + .glyph_map + .get(&GlyphId::from(uvs_mapping.glyph_id())) + .unwrap(); + s.embed(glyph_id.to_u32() as u16)?; + Ok(()) +} + +fn copy_default_uvs( + default_uvs: &DefaultUvs, + s: &mut Serializer, + plan: &Plan, +) -> Result { + let snap = s.snapshot(); + // numUnicodeValueRanges, initialized to 0 + let len_pos = s.embed(0_u32)?; + + let init_len = s.length(); + let org_num_range = default_uvs.num_unicode_value_ranges() as usize; + let num_bits = 32 - (org_num_range as u32).leading_zeros() as usize; + let org_unicode_ranges = default_uvs.ranges(); + if org_num_range > plan.unicodes.len() as usize * num_bits { + let mut start = INVALID_UNICODE_CHAR; + let mut end = INVALID_UNICODE_CHAR; + + for u in plan.unicodes.iter() { + if org_unicode_ranges + .binary_search_by(|r| r.start_unicode_value().to_u32().cmp(&u)) + .is_err() + { + continue; + } + + if start == INVALID_UNICODE_CHAR { + start = u; + end = start - 1; + } + + if end + 1 != u || end - start == 255 { + s.embed(Uint24::new(start))?; + s.embed((end - start) as u8)?; + start = u; + } + end = u; + } + + if start != INVALID_UNICODE_CHAR { + s.embed(Uint24::new(start))?; + s.embed((end - start) as u8)?; + } + } else { + let mut last_code = INVALID_UNICODE_CHAR; + let mut count = 0_u8; + + for unicode_range in default_uvs.ranges() { + let mut cur_entry = unicode_range.start_unicode_value().to_u32() - 1; + let end = cur_entry + unicode_range.additional_count() as u32 + 2; + + while let Some(entry) = plan.unicodes.iter_after(cur_entry).next() { + if entry >= end { + break; + } + + cur_entry = entry; + if last_code == INVALID_UNICODE_CHAR { + last_code = entry; + continue; + } + + if last_code + count as u32 != entry { + s.embed(Uint24::new(last_code))?; + s.embed(count)?; + + last_code = entry; + count = 0; + continue; + } + count += 1; + } + } + + if last_code != INVALID_UNICODE_CHAR { + s.embed(Uint24::new(last_code))?; + s.embed(count)?; + } + } + + // return if subsetted to empty + if s.length() == init_len { + s.revert_snapshot(snap); + return Ok(0); + } + + let num_ranges = (s.length() - init_len) / UnicodeRange::RAW_BYTE_LEN; + s.check_assign::( + len_pos, + num_ranges, + SerializeErrorFlags::SERIALIZE_ERROR_INT_OVERFLOW, + ); + Ok(num_ranges as u32) +} + +#[allow(dead_code)] +pub(crate) struct SubtableUnicodeCache { + base: usize, + cached_unicodes: FnvHashMap>, +} + +impl SubtableUnicodeCache { + fn new(base: usize) -> Self { + Self { + base, + cached_unicodes: FnvHashMap::default(), + } + } + + fn set_for( + &mut self, + record_idx: usize, + cmap_subtable: &CmapSubtable, + num_glyphs: usize, + ) -> Option<&IntSet> { + self.cached_unicodes.entry(record_idx).or_insert_with(|| { + let mut subtable_unicodes_set = IntSet::empty(); + cmap_subtable.collect_unicodes(num_glyphs, &mut subtable_unicodes_set); + subtable_unicodes_set + }); + self.cached_unicodes.get(&record_idx) + } +} + +trait CollectUnicodes { + /// collect unicodes + fn collect_unicodes(&self, num_glyphs: usize, out: &mut IntSet); +} + +impl CollectUnicodes for CmapSubtable<'_> { + fn collect_unicodes(&self, num_glyphs: usize, out: &mut IntSet) { + match self { + Self::Format4(item) => item.collect_unicodes(num_glyphs, out), + Self::Format12(item) => item.collect_unicodes(num_glyphs, out), + _ => (), + } + } +} + +impl CollectUnicodes for Cmap4<'_> { + fn collect_unicodes(&self, _num_glyphs: usize, out: &mut IntSet) { + let id_deltas = self.id_delta(); + let seg_count = self.seg_count_x2() / 2; + let glyph_id_array = self.glyph_id_array(); + for (i, ((start, end), range_offset)) in self + .start_code() + .iter() + .zip(self.end_code()) + .zip(self.id_range_offsets()) + .enumerate() + { + let start = start.get() as u32; + if start == 0xFFFF { + break; + } + + let end = end.get() as u32; + let range_offset = range_offset.get() as u32; + out.insert_range(start..=end); + if range_offset == 0 { + for cp in start..=end { + let gid = (cp as u16).wrapping_add_signed(id_deltas[i].get()); + if gid == 0 { + out.remove(cp); + } + } + } else { + for cp in start..=end { + let index = range_offset / 2 + (cp - start) + i as u32 - seg_count as u32; + if index as usize >= glyph_id_array.len() { + out.remove_range(cp..=end); + break; + } + let Some(gid) = glyph_id_array.get(index as usize) else { + out.remove(cp); + continue; + }; + + if gid.get() == 0 { + out.remove(cp); + } + } + } + } + } +} + +impl CollectUnicodes for Cmap12<'_> { + fn collect_unicodes(&self, num_glyphs: usize, out: &mut IntSet) { + for group in self.groups() { + let mut start = group.start_char_code(); + let mut end = group.end_char_code().min(UNICODE_MAX); + let mut gid = group.start_glyph_id(); + if gid == 0 { + start += 1; + gid += 1; + } + + if gid as usize >= num_glyphs { + continue; + } + + if (gid + end - start) as usize >= num_glyphs { + end = UNICODE_MAX.min(start + num_glyphs as u32 - gid); + } + out.insert_range(start..=end); + } + } +} diff --git a/klippa/src/gvar.rs b/klippa/src/gvar.rs index 077a5bb42..537be01f3 100644 --- a/klippa/src/gvar.rs +++ b/klippa/src/gvar.rs @@ -99,7 +99,7 @@ fn subset_with_offset_type( //pre-allocate glyphVariationDataOffsets array let offsets_array_len = (num_glyphs as usize + 1) * off_size; let mut start_idx = s - .allocate_size(offsets_array_len) + .allocate_size(offsets_array_len, false) .map_err(|_| SubsetError::SubsetTableError(Gvar::TAG))?; // shared tuples array diff --git a/klippa/src/hmtx.rs b/klippa/src/hmtx.rs index 33cf89ffb..5c489b4a1 100644 --- a/klippa/src/hmtx.rs +++ b/klippa/src/hmtx.rs @@ -5,7 +5,6 @@ use crate::{Plan, Subset, SubsetError, SubsetError::SubsetTableError}; use write_fonts::types::{FWord, GlyphId, UfWord}; use write_fonts::{ read::{ - collections::IntSet, tables::{hhea::Hhea, hmtx::Hmtx}, FontRef, TableProvider, TopLevelTable, }, @@ -30,11 +29,10 @@ impl Subset for Hmtx<'_> { return Err(SubsetTableError(Hmtx::TAG)); } - let new_num_h_metrics = - compute_new_num_h_metrics(self, &plan.glyphset, plan.num_output_glyphs); + let new_num_h_metrics = compute_new_num_h_metrics(self, plan); //subsetted hmtx table length let hmtx_cap = new_num_h_metrics * 4 + (plan.num_output_glyphs - new_num_h_metrics) * 2; - s.allocate_size(hmtx_cap) + s.allocate_size(hmtx_cap, false) .map_err(|_| SubsetError::SubsetTableError(Hmtx::TAG))?; for (new_gid, old_gid) in &plan.new_to_old_gid_list { @@ -69,25 +67,23 @@ impl Subset for Hmtx<'_> { } } -fn compute_new_num_h_metrics( - hmtx: &Hmtx, - gid_set: &IntSet, - num_output_glyphs: usize, -) -> usize { - let mut num_long_metrics = num_output_glyphs.min(0xFFFF) as u32; - let last_gid = num_long_metrics - 1; - let last_advance = hmtx.advance(GlyphId::from(last_gid)).unwrap(); +fn compute_new_num_h_metrics(hmtx: &Hmtx, plan: &Plan) -> usize { + let mut num_long_metrics = plan.num_output_glyphs.min(0xFFFF); + let last_advance = get_new_gid_advance(hmtx, GlyphId::from(num_long_metrics as u32 - 1), plan); while num_long_metrics > 1 { - let gid = GlyphId::from(num_long_metrics - 2); - let advance = gid_set - .contains(gid) - .then(|| hmtx.advance(gid).unwrap()) - .unwrap_or(0); + let advance = get_new_gid_advance(hmtx, GlyphId::from(num_long_metrics as u32 - 2), plan); if advance != last_advance { break; } num_long_metrics -= 1; } - num_long_metrics as usize + num_long_metrics +} + +fn get_new_gid_advance(hmtx: &Hmtx, new_gid: GlyphId, plan: &Plan) -> u16 { + let Some(old_gid) = plan.reverse_glyph_map.get(&new_gid) else { + return 0; + }; + hmtx.advance(*old_gid).unwrap_or(0) } diff --git a/klippa/src/lib.rs b/klippa/src/lib.rs index 6aacf2399..b848ed2f5 100644 --- a/klippa/src/lib.rs +++ b/klippa/src/lib.rs @@ -1,5 +1,6 @@ //! try to define Subset trait so I can add methods for Hmtx //! TODO: make it generic for all tables +mod cmap; mod cpal; mod fvar; mod glyf_loca; @@ -22,28 +23,33 @@ pub use parsing_util::{ use fnv::FnvHashMap; use serialize::Serializer; +use skrifa::raw::tables::cmap::CmapSubtable; use skrifa::MetadataProvider; use thiserror::Error; -use write_fonts::read::{ - collections::{int_set::Domain, IntSet}, - tables::{ - cff::Cff, - cff2::Cff2, - glyf::{Glyf, Glyph}, - gpos::Gpos, - gsub::Gsub, - gvar::Gvar, - head::Head, - loca::Loca, - name::Name, - os2::Os2, - post::Post, - }, - types::NameId, - FontRef, TableProvider, TopLevelTable, -}; use write_fonts::types::GlyphId; use write_fonts::types::Tag; +use write_fonts::{ + read::{ + collections::{int_set::Domain, IntSet}, + tables::{ + cff::Cff, + cff2::Cff2, + cmap::Cmap, + glyf::{Glyf, Glyph}, + gpos::Gpos, + gsub::Gsub, + gvar::Gvar, + head::Head, + loca::Loca, + name::Name, + os2::Os2, + post::Post, + }, + types::NameId, + FontRef, TableProvider, TopLevelTable, + }, + tables::cmap::PlatformId, +}; use write_fonts::{tables::hhea::Hhea, tables::hmtx::Hmtx, tables::maxp::Maxp, FontBuilder}; const MAX_COMPOSITE_OPERATIONS_PER_GLYPH: u8 = 64; @@ -149,11 +155,14 @@ impl std::ops::BitOrAssign for SubsetFlags { #[derive(Default)] pub struct Plan { unicodes: IntSet, + glyphs_requested: IntSet, glyphset_gsub: IntSet, glyphset_colred: IntSet, glyphset: IntSet, //Old->New glyph id mapping, glyph_map: FnvHashMap, + //New->Old glyph id mapping, + reverse_glyph_map: FnvHashMap, new_to_old_gid_list: Vec<(GlyphId, GlyphId)>, @@ -175,6 +184,14 @@ pub struct Plan { colrv1_layers: FnvHashMap, //old->new CPAL palette index map colr_palettes: FnvHashMap, + + os2_info: Os2Info, +} + +#[derive(Default)] +struct Os2Info { + min_cmap_codepoint: u32, + max_cmap_codepoint: u32, } impl Plan { @@ -188,6 +205,7 @@ impl Plan { name_languages: &IntSet, ) -> Self { let mut this = Plan { + glyphs_requested: input_gids.clone(), font_num_glyphs: get_font_num_glyphs(font), subset_flags: flags, drop_tables: drop_tables.clone(), @@ -273,6 +291,41 @@ impl Plan { .extend(self.unicode_to_new_gid_list.iter().map(|t| t.1)); self.unicodes .extend(self.unicode_to_new_gid_list.iter().map(|t| t.0)); + + // ref: + self.os2_info.min_cmap_codepoint = self.unicodes.first().unwrap_or(0xFFFF_u32); + self.os2_info.max_cmap_codepoint = self.unicodes.last().unwrap_or(0xFFFF_u32); + + self.collect_variation_selectors(font, input_unicodes); + } + + fn collect_variation_selectors(&mut self, font: &FontRef, input_unicodes: &IntSet) { + if let Ok(cmap) = font.cmap() { + let encoding_records = cmap.encoding_records(); + if let Ok(i) = encoding_records.binary_search_by(|r| { + if r.platform_id() != PlatformId::Unicode { + r.platform_id().cmp(&PlatformId::Unicode) + } else if r.encoding_id() != 5 { + r.encoding_id().cmp(&5) + } else { + std::cmp::Ordering::Equal + } + }) { + if let Ok(CmapSubtable::Format14(cmap14)) = encoding_records + .get(i) + .unwrap() + .subtable(cmap.offset_data()) + { + self.unicodes.extend( + cmap14 + .var_selector() + .iter() + .map(|s| s.var_selector().to_u32()) + .filter(|v| input_unicodes.contains(*v)), + ); + } + } + } } fn populate_gids_to_retain(&mut self, font: &FontRef) { @@ -295,21 +348,24 @@ impl Plan { } /* Populate a full set of glyphs to retain by adding all referenced composite glyphs. */ - let loca = font.loca(None).expect("Error reading loca table"); - let glyf = font.glyf().expect("Error reading glyf table"); - let operation_count = - self.glyphset_gsub.len() * (MAX_COMPOSITE_OPERATIONS_PER_GLYPH as u64); - for gid in self.glyphset_colred.iter() { - glyf_closure_glyphs( - &loca, - &glyf, - gid, - &mut self.glyphset, - operation_count as i32, - 0, - ); + if let Ok(loca) = font.loca(None) { + let glyf = font.glyf().expect("Error reading glyf table"); + let operation_count = + self.glyphset_gsub.len() * (MAX_COMPOSITE_OPERATIONS_PER_GLYPH as u64); + for gid in self.glyphset_colred.iter() { + glyf_closure_glyphs( + &loca, + &glyf, + gid, + &mut self.glyphset, + operation_count as i32, + 0, + ); + } + remove_invalid_gids(&mut self.glyphset, self.font_num_glyphs); + } else { + self.glyphset = self.glyphset_colred.clone(); } - remove_invalid_gids(&mut self.glyphset, self.font_num_glyphs); self.nameid_closure(font); } @@ -317,6 +373,7 @@ impl Plan { fn create_old_gid_to_new_gid_map(&mut self) { let pop = self.glyphset.len(); self.glyph_map.reserve(pop as usize); + self.reverse_glyph_map.reserve(pop as usize); self.new_to_old_gid_list.reserve(pop as usize); //TODO: Add support for requested_glyph_map, command line option --gid-map @@ -341,6 +398,8 @@ impl Plan { } self.glyph_map .extend(self.new_to_old_gid_list.iter().map(|x| (x.1, x.0))); + self.reverse_glyph_map + .extend(self.new_to_old_gid_list.iter().map(|x| (x.0, x.1))); } fn colr_closure(&mut self, font: &FontRef) { @@ -445,9 +504,7 @@ fn remove_invalid_gids(gids: &mut IntSet, num_glyphs: usize) { } fn get_font_num_glyphs(font: &FontRef) -> usize { - let loca = font.loca(None).expect("Error reading loca table"); - let ret = loca.len(); - + let ret = font.loca(None).map(|loca| loca.len()).unwrap_or_default(); let maxp = font.maxp().expect("Error reading maxp table"); ret.max(maxp.num_glyphs() as usize) } @@ -601,6 +658,11 @@ fn subset_table<'a>( s: &mut Serializer, ) -> Result<(), SubsetError> { match tag { + Cmap::TAG => font + .cmap() + .map_err(|_| SubsetError::SubsetTableError(Cmap::TAG))? + .subset(plan, font, s, builder), + Glyf::TAG => font .glyf() .map_err(|_| SubsetError::SubsetTableError(Glyf::TAG))? diff --git a/klippa/src/os2.rs b/klippa/src/os2.rs index 6968b7dcc..9f2417d51 100644 --- a/klippa/src/os2.rs +++ b/klippa/src/os2.rs @@ -25,13 +25,13 @@ impl Subset for Os2<'_> { s.embed_bytes(self.offset_data().as_bytes()) .map_err(|_| SubsetError::SubsetTableError(Os2::TAG))?; - let us_first_char_index: u16 = plan.unicodes.first().unwrap_or(0xFFFF).min(0xFFFF) as u16; + let us_first_char_index: u16 = plan.os2_info.min_cmap_codepoint.min(0xFFFF) as u16; s.copy_assign( self.shape().us_first_char_index_byte_range().start, us_first_char_index, ); - let us_last_char_index: u16 = plan.unicodes.last().unwrap_or(0xFFFF).min(0xFFFF) as u16; + let us_last_char_index: u16 = plan.os2_info.max_cmap_codepoint.min(0xFFFF) as u16; s.copy_assign( self.shape().us_last_char_index_byte_range().start, us_last_char_index, diff --git a/klippa/src/post.rs b/klippa/src/post.rs index 529f1e576..e6772154a 100644 --- a/klippa/src/post.rs +++ b/klippa/src/post.rs @@ -55,7 +55,7 @@ fn subset_post_v2tail(post: &Post, plan: &Plan, s: &mut Serializer) -> Result<() //init all glyphNameIndex as 0 let glyph_index_arr_len = plan.num_output_glyphs * 2; let idx_start = s - .allocate_size(glyph_index_arr_len) + .allocate_size(glyph_index_arr_len, false) .map_err(|_| SubsetError::SubsetTableError(Post::TAG))?; let max_old_gid = plan.glyphset.last().unwrap().to_u32() as usize; diff --git a/klippa/src/serialize.rs b/klippa/src/serialize.rs index d3bb31474..e00e9ff6b 100644 --- a/klippa/src/serialize.rs +++ b/klippa/src/serialize.rs @@ -8,7 +8,7 @@ use std::{ use fnv::FnvHasher; use hashbrown::HashTable; -use write_fonts::types::{Scalar, Uint24}; +use write_fonts::types::{FixedSize, Scalar, Uint24}; #[derive(Clone, Copy, Debug, PartialEq)] #[allow(dead_code)] @@ -122,7 +122,7 @@ impl LinkWidth { } } -type ObjIdx = usize; +pub(crate) type ObjIdx = usize; #[allow(dead_code)] #[derive(Default, Eq, PartialEq, Hash)] @@ -185,7 +185,7 @@ impl Serializer { let bytes = raw.as_ref(); let size = bytes.len(); - let ret = self.allocate_size(size)?; + let ret = self.allocate_size(size, false)?; self.data[ret..ret + size].copy_from_slice(bytes); Ok(ret) } @@ -193,11 +193,31 @@ impl Serializer { /// Embed bytes pub(crate) fn embed_bytes(&mut self, bytes: &[u8]) -> Result { let len = bytes.len(); - let ret = self.allocate_size(len)?; + let ret = self.allocate_size(len, false)?; self.data[ret..ret + len].copy_from_slice(bytes); Ok(ret) } + /// get single Scalar value at certain position + pub(crate) fn get_value_at(&self, pos: usize) -> Option { + let len = T::RAW_BYTE_LEN; + let bytes = self.data.get(pos..pos + len)?; + T::read(bytes) + } + + pub(crate) fn check_assign + Scalar>( + &mut self, + pos: usize, + obj: usize, + err_type: SerializeErrorFlags, + ) { + let Ok(val) = T::try_from(obj) else { + self.set_err(err_type); + return; + }; + self.copy_assign(pos, val); + } + /// copy from a single Scalar type pub(crate) fn copy_assign(&mut self, pos: usize, obj: impl Scalar) { let raw = obj.to_raw(); @@ -228,7 +248,11 @@ impl Serializer { } /// Allocate size - pub(crate) fn allocate_size(&mut self, size: usize) -> Result { + pub(crate) fn allocate_size( + &mut self, + size: usize, + clear: bool, + ) -> Result { if self.in_error() { return Err(self.errors); } @@ -237,7 +261,12 @@ impl Serializer { return Err(self.set_err(SerializeErrorFlags::SERIALIZE_ERROR_OUT_OF_ROOM)); } - //TODO: add support for clear? + if clear { + self.data + .get_mut(self.head..self.head + size) + .unwrap() + .fill(0); + } let ret = self.head; self.head += size; Ok(ret) @@ -276,6 +305,10 @@ impl Serializer { self.errors } + pub(crate) fn error(&self) -> SerializeErrorFlags { + self.errors + } + pub(crate) fn reset_size(&mut self, size: usize) { self.start = 0; self.end = size; @@ -519,11 +552,13 @@ impl Serializer { bias: u32, is_signed: bool, ) -> Result<(), SerializeErrorFlags> { - if self.in_error() || self.current.is_none() { + if self.in_error() { return Err(self.errors); } - let pool_idx = self.current.unwrap(); + let pool_idx = self + .current + .ok_or_else(|| self.set_err(SerializeErrorFlags::SERIALIZE_ERROR_OTHER))?; let Some(current) = self.object_pool.get_obj_mut(pool_idx) else { return Err(self.set_err(SerializeErrorFlags::SERIALIZE_ERROR_OTHER)); }; @@ -549,7 +584,7 @@ impl Serializer { } pub(crate) fn add_virtual_link(&mut self, obj_idx: ObjIdx) -> bool { - if self.in_error() || self.current.is_none() { + if self.current.is_none() { return false; } @@ -684,6 +719,14 @@ impl Serializer { self.head - cur_obj.head } + pub(crate) fn head(&self) -> usize { + self.head + } + + pub(crate) fn tail(&self) -> usize { + self.tail + } + pub(crate) fn allocated(&self) -> usize { self.data.len() } diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.default.61,62,63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.default.61,62,63.ttf index c297fcce9eadc5d3017447dc7337c7bcca6f1d4c..9c85cbe3f22de63602133640c12cd177f8e42c35 100644 GIT binary patch delta 220 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 delta 2542 zcmZ`*d3cS-7k=L}a}!HQ>?9=Ly@=Si*kUIXweLGYB6cM-O5HRfLbVOQTH4xTtEET~ zRP1f7v9#2#l8abcYtdTMxlx{{fBfcqX1?>D?>zH-@64R@PP%uxJ<)PbUcG1mz)C>w zkcf$4R~Ed(aA43mq|?K z37+9i{w{t}S!zlh=_R}5kQ|XKN-HnrtqLkXRYnD=Dyq7wtwPlVHC4@0vsI!>QfpPR zI-*XhbJ|yz)*-sN9-s&75qg4NtXJvv+L@x$^Z}i&FX*fKwti+SBP-PEY(-f~)=KMJYpu1>+H9p-JFVSzo4t^|sNG=?v{$kBx6iY$ zafrji;q55sDB|#S1USk&Dmq#@!W`k{ZoiQ1Y(vvc)Iv3cII)ava+ogTrW~eOyu;^G zL8|32O_PI$>3Id^VVD*$OiQc49HzAl(Gx{R)`L-im% zT#wUdV@t@7a9)V+>K}GQ+fxRm`$-nAWiB{fFraYqepz-b%5y zT05*=|6$t4p7@Sw0mHO}!~b8V106%k-Fm_7Y!xXd%%1npVT^1WJGrgbud);0cmSt? z*Iuv6fy4iGRyPY11iM)vKa@aG6wgk}?rq}EnZE6Hsu_26u}6 zF2f{(88b67GIqPIi+4Rf1Kk!}roU#qoOJ`$Ks9>%R!vl_GQVoP=2)6>wwkY&xN#2u zH^$pheQ5%6KDtM>#&naL%1o}kbThN3Ep=NRp~sqijn=U`UMJ{9dbv*42X(rMIpdzk z7HfOAz;EZx@yFzhQ*Cj!cw2(a{EB=1-!)szThkVsGfCVVY>RPYcasaUK~77mWT?W* zU(U!*Ns}$|T-M4yStHwJovc@s*9x*pl``v65~WZYrEumg=nROq7$#Q}!!|>aNNvEsMpuM71+% z6(A|9qb%YaIVH;_NmfWQ3POgG#S zz+E(^LPHWwX+slggfbVJ(-U1-9GzGct>}f$EQYqs17}MXK{xuL2TRc(y=b8i9q3Iv z`m!|ou?z;X90svG!We|XtbmUhilMB6$!vycY=Z=Lz$}y5GuaWJvm55HClc8MU$8qC zasU>vKjyO^HgY1?b37JtFg9=k*75^<=VTN%^CRqF48F%cCg1>PVLxZG4<@hyR&WFw zQH&zAKyh3$72!9;@I83r7Zk=hRL5h~!E>}>espAEjAkuNVRL-S&X~%2~sRMkm!lwO3tKPt`;9Qr(P*)KT?RL)A#tSG82IYHYH( zt_o58)BqVE=VYLS$sidb;SwhiGE`>Cr!re&Wrj?XcuA1yGE*Y?HNW8j&gV{k&t2Tj zJ>1S6+{@)$#_zbrh}-}8rIYixkY8~T7jp@h8ok@VjYjh}F@>9%%5B`rH16Ym{=vJv z$NPN5Klzk@@ozrk3-Od(l1Fk&Uhxud@sa#eM0~}MkNHGO@_`hVLQ+(UNpUG41*HUE z8g22AeEdO5@kjBe^Ct=5L9w`i4|z!JJS+|#kqIvpgr&d0uKrHC~XKyePrEB(->1YV(TJ;crrxSEU{^B!rn# zpDt;@Ytqok>(Yofq%pIk32#bM-jZg#EzNmHLXGCPz*bH{3MXL;C!+w)pb*X?501kN zCyj`nGS`rwkryYRanRf$4#N{ikPAm)!yyFYFVw~}gy0n_;XbP1p}Ai?GWzl-D&qk< z&{+uWSODW#4^ga-VXTG`tbviNiBSy3a8}1eHbgWVV-lO-BR0i{Y-B_`63aOpD>)LY zIU3(`4AyWgR&f;4I1M`)i(QPv9-{|`BwdcnVL2g3<(M2%6;vhJEZ60hWQwb{+>}Rh wS8hm_T$YD&UvA4Cxu;5~qN)Xs(e&#RYhRAIzy)SO5S3 diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.default.61.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.default.61.ttf index c1c0aa0110ec74fdf735527432dca7fe30f177bf..a0f21bfacb1908786f929b781cc4d7528f531730 100644 GIT binary patch delta 213 zcmew%_km}ELOsJdhAj*Xj5-Vq3?^x1iABvWnUjG01Q0(xr!q~Mc&ODb5!7*c@z6+k{m zPJVJCLm808z`OxSu;nIJXcjQK@LK={b^rww@)C1XO`e5&0r@w8mQ)nv7nl5>&tL>p g8!+)il?;OdP!$UhG6Lzu|No(65{SP!jZ26X02Jah_Ly;h; znA@7CmYPZ>&#dO6hDv(g(^#v2{O(=%-2Lsl*IDb^XYc*pM?Notk}T)M)r%GYtN?h2 zM~{mdJvnmlTp(8rfY3q1#z*^y>)8e`GWgyg^S#NA#gBp9i3T5y85lL-aO!~8fKNw* z!(xmh$3nOao@H>!nBlQ;Hh&B-IN9Kw!$$Ux!Z>5WXNOt5hDXJf9mPoBTE?-@IIIy- z!v}`m?9#&EbU@-pjT{r3wG`C=->!2GPjGsNn5dhGhZmxal?Rnk8k zs5NacBbeweLx@A7xh(rN58Zc51JaZB}2s$x~Q!mYYigcWJEw_>g3);HF-)>><$wb@Fwc3QjbHoKqQ-|n!7*elt4+vnNW zIK<)Q@O2b$6mk@G1Ut$)$~&4lq8tND-+3)rS%#*YsD&yBcVZb^c$hBZCJ)n_yvtWo zPO5mArpZCW^n!x&GEDOurX^H}hiMJNG}bVkVwirW=BSlwok~$h4O8eqT~gQ4k-DEA zqDSi_y-csu8}&B5Pao5#^kwbR4{Sw);tf&fGQ-r*Dr{LErq!(4|6#h)T5XuFw^FRF z)(&gef0*{LC%t2u-!LuW2>O?4U&nybw_h_WOU1}ZbLhQ2jFDwyJGYhjCM)T!2XGpA zEpwFz4*Azv)g-12>?T2hC<1>3WTjnt^2EpcNH z|F=f=s=hD*o{#QTtuc>jG-Wo|KDv=P)26zmj@F~hxyI=PJxwR-MS6u!)(7=*6LZ$R zk1fIWF2ULRdi?R8b&_q0ZJI67=5A<{|96)yKHIbK z6(nb6r=-aic_nLQpRAGXvQE}3N~VHrQpHVPilI14pfu{BE*hZ;I-)bWqBr_rAf{j% zraLhk^Y9fmAsMOIhP|>!cF10pQx2+*_yJduZl=RsWD)eDH;b?sgIS6ptibo#imlm^ zJsHIh8OM(~iPL45DkHmG1MJqx2HbHUk^h0uwC=)&R*LN{9IK?l0i zj-D)mUMz{eERB9Fizt>sf0o0?jKm;T!bCR0WVS#e+hC^Y>=|r}&)5lb*cD0ag3s9* z3)u$?*cp2FC*dH4>7HjzdzH>4bn>hhH7?1Co^*7 z*$rQ^FGjH@64)FcuoiZ6s&ZB{qR~#ZQLR-6)m3#--Bc$dA~jWQRZm5zI;w^WRrO6b z*HYoCm+B*Zz>P-pHZg^pnaXY4$~5lde%|AK zKHx(>;h%iYzxaYL`C4*FPRS+Sl3RSlSMo_-DI`TDkWcwcit&*Y6hHBo!V)0)rGOOS z-$q-!BoBX(;`~v9==@27c~C4a;A0*VI}eM4N2COgN=Y7*QammpJRzldQp)g@l;vqD z$DgGbxYO{7q``vV`%9)a36{i&v#K(KM*Y3}ID_V?D&NKE|^FCa@tsWP}mz7_8tBe8XW_ z%@O#PBe8~~u!_Tx#>v>p1nlAz>@j+9NRG=1IV>mTs2r0cs+_7Io8`LPmJD%)$t`&z x_vMD%l*{s19?BiLD-To=<*y2>09Di|zOTHN=PIA_R(_HtFO^cVr8f)M{sEK9T2}x7 diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.default.62.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.default.62.ttf index bfe70cbee3e497a161cad01a9bd6897d2856eaee..3800b351aa9f967a296ccef0d0f8522cdc75bd5f 100644 GIT binary patch delta 213 zcmdlZw}oedLOsJPhOGjLKLyC&kPeie zF6*Ghz`*1JqUjehZ*L4NyQKFEKaORR;a!AjuEky&=_^ohzQj-sL?j|s8PfS zYSY$?(NbF_*VdXvi;|uj?f>)dxu0|H`91G>&%NLGJmcNwy(cima!y*Ex&UB#z$-j@ zeAJk!kwfMHxnlr?4IVxrIx^r&fYGT&rwumO7X&mY3*>2KbVkgesDVe*2etvc{fw>= zV+@`P;WE0N(ZMkzV&iOK_{iv3qjL=(H6RMz%naU>&EPR2DlT+1BYkQaL!vQQBcnzP z3cKC4h0!Yki5op?Y;5)tR0VuW%sx8N=@nvD-9|h-5N&38Q3&3d;!q%-s-eO=$vFKq#V(*hR4q_=sWucWM0 z&LQ0`hYjgP1?6E#3mDRpDkO)rx*?4jV0PKCQ26mwssT4~#dU&ZUOb*D7jRIiyvs+W#S4VXZc#>#fb!HfyJ~ z=Rc%9?J55wEnrBCIRgJ7?dKR+`tECHXR8=FWe&Yh4l%NAZ10}EeUqK?&H^+t^2Xa$ zIdbSf#wzB)l!4tmpyDWoBJj)Jo!!H%yI}hEx9Miw>7D^^l1)D}*Y4pvx3Y)+w>!-? zSTmg|{op)1aOdbw7)%DL(pYZI68$$y(G$mQoM>SESy7qXh0`(v~6 zXL)9tqsqMDUXz)XnVGrQJ-htC;}g(5a|Z?9GD*(6g{rF}-hKP22-QF(DD&rx**KyZ zXQ}yWvHOp&)InV|a-s=3p^HfYeb5(! zkccEq$0wMFFR=+}NXK^UmwmER_N!cSSarg8xQ#>XR!ABOLf~bbDnE+C9~P<`M=NKNQ5(F6=4gpv48&NIh+<5J z8zq0iiDmc-i?9ScFpWL%GrmU#uHq~%;~H+@PbYrGLp*0e=3!p?;10_%oE2EfWUw0Y zhD|wy{W*w(O+IVIk5CvFq40z8>PrYjmhtkNaNrh#j5n3SU4-BsYT-3P@f)h)g~^3~ zp)4MtJ{9VbXh<6xP$QDL(3qZZcBCKLvk02e8y#2_t(Y54Ss0yJ99SyDT4%5wK4oXjW;dj;D?Vcv zEM#9SU?0q9Z)|jOJl1n8QaJz{I1X$1KE7crws0bLG9KUJ0F!ZuGjWhJ*c0Pe7b`dn z5fqc<;G_?1#~;i3B#s`>ch%oTjRpLeO5dRc%y9)lGF(-Bo8(7;388s-B6>I;y$~Q}s>2 z)>7fBx9Tf><%0B+DCsW)WsoFFv<#M+^0Ca41eq>VB}tNHn#_^v$C9+Q$hF2Ot@rI;ZhJSnAlO3LuGgz}7( z<&RR1KS_C>l?ps375TGN;(1<>D!eFFr7|x`HC~o5UXkj&Dm8dbYVsGU<>Ym#%}fbr zmeiq3>hgxv<4uX+Eve7j(tvlQA@52f-jl|>FOjB>H^DYe#%4~yR!%|zoP#gUBR5XM z8>dZSJcE4r5qWS58i&n$!BKeP7;@n_Y&e22{DB&HiEz9@c{m@TBA%F+hNq@z{EiBE zjJEVeYZky5)DgFqBm=p7jvN`k255n8=3sfDxt;$6z^!VkL)T zHAmuWj=~y_#ww1$ZcfE6CSVT}vCpLZBa$H}<*1x$A;;x}98+agdD$X2<*sCjOYX>1 xc_6pswp^7b@<{HBk%iu=fGd7<(vFXb!Q@=_@!Tl?_5{u{+bTsZ&$ diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.default.63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.default.63.ttf index 3a48ae95c8de5bd493505db0aa3ddbb5affec636..0d22effb7dd3a22e9ca9bb4fed865d4b1d5884e7 100644 GIT binary patch delta 213 zcmdlWw}NMaLOsK4hHVTCj5-Vq3?^x1iABvWnUjG01Q0(xr!sBk^*~D?e+rO4FC8fV z^=@r10|S!@kbf>CH8JJH))YSm24)r@-z)Zg#ar8p1~30 z!^TVv9WoEd6$zl`;NcS@7N>OxGI)u>%LbeG&#q3M1LO`dI5jdnY|ydfL2UsqFN14G z8b^*ra2XtGaOubqQPKJ^1{v($FX!-41H;hHSnwKcCXW$e(Sf5G>Rs13qK(5E88#xk z=B;k63|<6C^ypDzqcWGHI^dme?y-qZ&j7RP7GmIm2xH|z6$D`lThPfbIFBot$W)%^ zZT>EPQb}q^9qA!^`<*f=RKUG?lQ~+PSJ<-DSb&_(|7d?TM7T^{>%JdSoy3%mcQk& z0<5Z54J+6Ru^L#RR!1w!T4{Y_eQT|^Hd|Y*WNWvz*KV`>*bCbo_5gcjdtdu}`#Og> zJRIJR0**qCVvdrIKt}~f3rCnEyzJdql9_2}x`|q-ieM*JuvHe*72J}=^cL^&rIeSd zSxi&ph+%qBL3tRa`3=)jDjkXg^(A*VCbTfF7#H z=mfn&Z_u0d4t+qM)MxY+?a~iy#r$IoQRfQ7)W`C*tSqM0t)TxfU2Uy3OgCCd)^=-` zwdX%fd)X7-GtF<97Ipal%e22^P}w`Ln3<^}CDj~y-z>(+w6TNRdiy3b;hhI?8hHKf znk+c9F3pS`Z|dez19DJW;_F2$*wK# z6|OkfP1jS`B3HDzd%K)#ToqjPjk}r4q-gf#D(NcX@^vxemJ1mzfsCk(d>J{?&B>)- zcdtp$NKa4S>$Wc6_m~5^Eq9IJE#u^Z8>kS~Ap5BrsaRz`)p$)>nt8Tbpq9CD7XNof z_N=}%3$k9iXSL3ZL^I6h+DkVvXWCr1))9KNIoD_%tK)RMUZPj&M14e`GHcGe_p!y= z-Um2)-z^0a89(3}(oJ``hfIPV^kh*MXGxY}04wrCwqaX#W^ab^ zV@7i_r*MYsQRQT>@{r52S+2?>xh79lpt4j)WoLq%Q90zGa;UDVjMB1HoXb=jQ&uG< zNwt?HoGWK#m8_K2l86Ejc$x&v2VWF3$ym!IWd+l?+TsJW#D^$ty5LyTv?B2-M#*av z%9Z#UOR*d~F`Yf}3x32YT){b9##LO$-}oI5@QekRn|bJs+pNG~Co8dv>2|f{4V!Za z2QZw2P48>XPf-XLp>Wt#z$N%2!&Jl#IB*jsO{$f_9R%Pm>f#jw@ds+)x#^p)Q6Bfv zkP7ulG^P!Ws1eGXXv!Su#3Jax!e~J+bfhm@GZ&oASqNR|hi)uEfApY*UUZ-*?dZ)? z=)=E`A8h7$Y~)xh;XrKSIIQPK_|C~FY~@7kVhp~=0mkDHXW<}cvKPiN1gkj=4Jbwt znxP1OH67tM#P9=n<7X5^8mi$b>fj|>F)!M)AV#tlK4DXQ#*UcHPFThWY~UEoV-GB5 ze~e}w#IhwmVqNUzbmgpWM5BXhr`oDcs=Ml@dZ;c&MCzy@RbMqw^;9iYQ#CZzTvr9F zKB}MelQiisVKP7lNw`dt2pKH1DI~?jk5Bnbit~{a6dx%pzEVW;O93g$*G5}B zBoBX(68us8={zhYc|hL$I%WD$EbO~mL)T2v6 zcwOo{c|#iTrZnU&X~f&on0KTJ?@CkNlTf4i&9I%HAc+&Ojgycc=i!43$c5AJ!Wko? zXOR~_AvaQ?am4&X977HqM^2o84M$NEf1x&BAQ*2@5f4!rkInzZ6QeJGq7ojV9i2XC z!~7V-AVjeqhOjDzu{wsc21c+ZhO!#Qvp%BP5EIx46WJIavw;!qNUY*ee8b^b%aQn& zqp*&nv4$g%!l~HJSnT06>@#|BR8GlhIVP!cLQcwYRbEw;t#U)|NQSs-%WZig_vNPC tk}L999?D(0Cl6FnRap6|BC42Cd~bOr&s9FXTx diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61,62,63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61,62,63.ttf index 3efe635dc0d6e3ee2c19bfd1e3e06104fe7f4a2b..dfd4170723bb3898ad7949803a1744db3c93a226 100644 GIT binary patch delta 220 zcmca$a6xW@LOqi(<7@^7MjZwQ2CKBP#G+=G%t=6g29R%(o>Q4-HK}zukUs~A3(|q| zH#?I~GcYjo0P(Yo)Wnn%TT}cP7}&l5)thAi1=wdW9%Nu(2brgmky}#1rOWUe$PWOj zZ^_9|PGpf}31ML1x&k!sNN!?qT9z2XG`Kdw3_ delta 2479 zcmY+G33yFM8^{0ucjhKS2qHVlxfikTvBgd(YTtKaiP%#@qgpqOh)``qYiUbtwHFD3 zioI&zT52nmT*T5^i`JS>()N44&Ut3eyfg2abAD&uWzGbjsh(mvr>t7E0AOXnBRpzS z9+;$o)W3vmVMskBN;dSOqVQ+{x%CjvhB8QU~a6fcH7G-oY`Eaphz12uAQ(XdbY} zMvfU4meaGXk#_(R7c*``Z0-`&1pMb5p5pWfHA*>%hZ~|yuP~~iKBlrYo&1z@xr}K% z#dEyHUnNMYNG+)=y=9jimZNf2Y2~TBRB;ug%Bb?Hs;Z&ts0cMtO;xkhY?Y#xskJIi z9aX2*1s$kM>u}vd57a~SC_Pax)+_aT?M&C1`hY&6FX?Ogj(%<{6+AsSHTbzz)bg={ zEr%6qRkvzc;Z{Sdu@zx;v0|-d*4Nf*Ypu1>+H7T5JFVSzo88;)Yj@Z~?N#jq?DOnv z9O7_ucsYtYd>ny}5Jv?^B}Z#Vq+?jQJ1-?S*I?#>TBwe2Czi5pKIu|!$|ud?UA~Zt zQaztEQw|x@iwerkkQOtfrB!G?X>CIqYe*9f=_hKATA|jdbal*-LI>$Gx`B?+gY`%~ zUZ?1#dY#^=x9NTQxIV3~XqUck3k;4opw6X+)Z6m2tbEd%R{j5wuCP`a()Culwbj~T z?fMUCUwg{`NQ)WL07vjYq=Oto%iVs-+*}ncr_7!Y$R|dwjh*v)Z(ir7{5=9RH{$g- zEAz#X{|weJKc+nF<_85K0KV|g&CKm%^e&jX?M;ShjUm0+2E0x-^}uI#<#1*{1zZ`f zO?gYWl3X`kPh1OKapvmhTIs6fYGg)Rx{M9}TU;S7f0v(&**Pv`w*j(avx{cCXPLdp zx}K+#m7SH9wL7nO`JUUyU|tU{Q{OO2&gTiLp=$i^UHLRs3Cetp88((@+SzKpN;O~R z+gg2Y#MJyL)2cP5rkQHi(w@4x*`!vwosQBmW~1VCf=<%OdXZkP)AS*I!sr-30&EGk z6th?fr!78ToN7z7CE1c~=1u=!{+`X(NXUOE@$Xq%yv@jYMJ~w(IV%~GrAnw^IVU?M zQ?|$pSu6Wwjck{7vR+Z%D99#N%3zm7DU?PzG(bbMSI(B`h92mJ0T_s3NJJ85;A70g zm)L|fWMCWi${yJvdsP8Bq`KidTtk*|@4Lt)=td6)up~oRmZ7Z7x7nT@*p2-d$#)sY z4>*-GWS1&0yOo<48;T!b)xYh#>p!5JC%L>Ky@9SforebAjj=*dzHMsHf^O9%SUj(#kS{w#w* zEQi6YfJm0d5LUzojKFYK#S}KjG`2-DJ7Sh`&6(_kPuLxE*b6D_iBH)B3po%AH~{n6 z9~f#03vIsh{1je#9-e(JZ#4ec4u1IAR)^R-MvNyhPau8xz z7YS^GcUTX*IbGE>QNOe5s5+>ws+a1idaLdx3)EHhRU_3{HBhxxm}+92wVn!B{nbDj zC>LaqM9N?pD#IjEqGY(tl8J!|`}rI1@jf5$F@NVX z{=q-_oG-;)3P?fmkV4`qUQ$$wh>rwH5TEd=l;lGxA>QIEe&R31q_|T8_{wAlHz~~T zq!bTIFu#`&9ukWS_=tza&LiUBQ7O%1QijK+EKf)%Pf9tSlJYz)6?jG}@&~EJAEh$S zN)?`ys{Bc+@jNd`4PKO*Qk|Ei7B5Q}f0o+3B6WCG>hc$|i(v-KP8E;E--jNo(D-kAXx5QSyk91DP7EVDib1v}4c@)G+c;d9lf@e?! zKcEm!LF14)1RQ}oj-mjL!G^;K!yl-F=LpAZRK^1*s+yxkH9R&M;&)WRLv*A!+OrtO zvp!&}D%TZNPRhG?iLvBm9xa5{RmV0tja^#9U pk_U1}?#g`?pnR2|@>hW-WqZj>d8Udg59KYn@?0q;TcUWk@LwTpU=08O diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61,63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.61,63.ttf index 775a7dc04e7fb2fa02a5b783d0e3c24832fc19f3..44992830fe2902ef2f35c282752e8918b38e6d9d 100644 GIT binary patch delta 220 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 diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints-retain-gids.63.ttf index 162fd3ee5041b34b4cf66ce93ce5dd4aaea8760b..0d3de24f9853aa479e8a880532319415e13f9ddc 100644 GIT binary patch delta 213 zcmeyP{Y7$uLOsK4hHVTCj5-Vq3?^x1iABvWnUjG01Q0(xr!sBlf=N9<{uCg;EFCCc z=k>Fefq{t!hMc&ODb57GNb_cUl|J}e)GC!+#AwZ;HPe%5|DS)){hV{p^E~Gr-}gM@JoSBDG0AdHS&_T|U?spkBw}LN zxapz8<^uU50R#^nIVoa$>fA&lCmVU>3dDsJSM!C^*UA1D%Io_TOoSai@>JjQvzGt?NY(P5*) zgR^?HF|xTxqQ{OIACo`$xeEw0h$@{#@pq& z;_!cz)y;<~54-t5{_ur2if8Z4?rqjxG=0n4bTe+tnE`JSOh532T^!ELXMii+wLa$- zu6Wli*HhO*SG4){buD*QbTu^E7B1t2|29`CS8e3fF}%)6EP z(ugU!CNrv)rl*;1?xhRpW@eLG>b5#Uk2M<=tz&h(PSDAEsZP^}^+~hF1QKA2wI!LG z6?58Ra>Z%3I9t3e!DgQH|LvVMcSUUOMRD(}wiug{bDCV1wQ^3^F%zF+9=^tU zq#+$!uvhlTHrcE4%3;+NKj1ntOnBczHbFPK)0ZV!ie(wdN_?N~*q&Y4mtp*n(VWU@ zoGH6hdD*Sp+yvaI|_!wj4HJn(2Z?Fi9 zu@y7e8$aV9PU0%g;R>$d2L6KcH$1>I7G-`Gqz7)ZB12f2RZY68EpOP8!#IfH9BPtR zTYd~LT!O+OW6fU~imv)Bg{*Z|8o0*xpprMEzF{9;1- zSH$o=c;F`#!$nlbQ`Esrv|%B1WHF3pEqui0_=KI2$Sz1>1Xgn#=CT*Qa&jQXvJPU| z8XvGOc5{ZRVX}TF)j_paT~triL-kVKOcki3>ZyjRk*cq1sbJOE1Z!OtqWY-;GC(fM zKnasUGDN~9P9kKe%$83iQDSALOqX~`kQp*dBKbAH;Q`L)4sPcz?&cmkw{jczaw${! zJvW*1^aa14sKGAKS)U) zlmH%*Qamgc7w|EUh@D5p!DCXI$E6HUNLikgK%SCvJT2vUMuK=&D)2|C$e*MV&q-yT zmn!^Os`3IaN_Ae68d8myr6#XPFn^I+yehSMP3rJhsY~Z|smBZnVW!llOB(QoG~`Wb z#9PvsS<-~Jr77=7Gv1ZvyeFZiXt%&-euNF2giV}+BIaP=i3`YwQz(ElrV5@#A^eE^ zI1P=%<`8fcd2kGQaU3=rK`{PAZM;AT-k=g5I#I=(Evn*)sStmlG9IA=J<*OuFpl*Q z#rhb=Y8b&97|EI##b69)bxdSKM6)p_u?Z%#DL!N)Q*|S;l*92YM`8s><2#PQN{+>H zj>1k(#}39~7vr$Ur28XsQclTHIW4V^%LzHADyT}bQEti|$rP8|mM3ywZb_D0mB;c> n?#exRpnR3L@=?W=pDEcM@=Bho!pdEFO18XEO39}FoS*-12$W!E diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints.61,62,63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints.61,62,63.ttf index 44e22d78ec386c85dba4518ea458174ef26d29e0..3b7148a8c244cfbcf7911cad8b0f2489345acab0 100644 GIT binary patch delta 220 zcmaE%^g>{QLOqi(<7@^7MjZwQ2CKBP#G+=G%t=6g29R%(o>Q4-HK}zukUs~A3(|q| zQ7^8rGB7anFfcIbWTYmhoYc ze1V+&c_>kWT*pA4n#GNk*U;1H)m4`wR~@r*Sc{0{|E^HsAmN delta 2542 zcmZ`*cUV-%7d_|BEC`~24Q%jsMMTBkQL&*>WA9zDAa;6Ll|IHy;r3CctwJP>27Jg9(Ln82oV@(a%9Qf}rc zp5rb4E=8rBRFN9eRd&l^IVx9`RzAvC<2_Emo?v%i3eN+4I{A*&X&!dwF{=`yBfk zhd4YOzK(p3f{r4NU`J_3Sw~Yxv|~W2+b<+L+t73qwNMcePAp;b9HvXSDTiq$@9?>l zk%~D?)8vq0dQm}n7^eP)X$cjY!?c=V8gH0RGE6^Lv($36PNk@0hADJW9inUNDBV{N z)+2SYUZU6Oje5J@uaE1~`igexd$uA$iH4|iiD8=G3b3pkrj@N)|6#h^T4k87w^FQa z)=q2pf0%Z+C%lp@t=oG2Dm(d&2XGpA z{q@QmIQU;@C9^PLu$u)cioz&_!0fc_ZYJ)6>DynYnsKMw0$xos{ovcF{{J)M3E)a~ zZE{Drrnqjp9=qnd63nlM%em53)>YTI8@tR2ecN2Yu0U6Siy4_NWHbXZ;xqg*Jk!n2 zrC)c)q-Uh3r|)rFm+yLf2D&Y{On=QOa^4M89ToZZsp_jFWj@t-&9OA&Of^?6a^oES zZ;ZF2GFkQJrF&FsOgCwy%;effH#B?NM7Pi}I?n8Cf=<#?^fbLdFVma#A$`Kcn6v|I zNw#+j{C3_Pe`3x!!8XY@#Wu}mKE=KM@0u;~t!YcjnPk!%Y)f=wcaux9LC#95q^kld zNY2SFNt3PeT-M5dStC1Sovc@s*9x*p6*ucr48>6brBEAn&=8H$0iDnVz0ey2FbPvI z)rrqA2VY|oHX{|=u}}8OPT8k&$syGN-{Tt6O?9|~Y=R#2Vqq3zFiSF&;e4Mh*@_+5 zgVFqu2^`M}oGQCjnCwv=a#=RYRe2!SWPQdusWkq-hda{&DifFkBFRx^jPtf^bA@E)4seT1MtMwy}&i%&2@ zUYey`if^zGi?IWf*$uzo2b{naoW*5a#dZ9R-*FF5n2))chrYPQvW#%D94nY=S6yDQ z2?wz+2XLUNeJ%J23gRLZel!_y2|>s(8F2#++(fWBY9*0{P~1jMQ;AFC4^+WZQ#W6t z4DO;H73z{`KpW~)BZ|4uh@NQAK(u8cG^G#PF#s*-4QCS;L`N1yXBKA=y3#^-I?#=F z^k50}WC;4O6#B9>q8WyMEQ9fk!a$bCI5xyYHpeu!#tf6$)7b`}vm<7)3zFFxU$7JA zvp43k7v{1jHgXKsa}*Y^A2x6_*75^<>tsB(@FVPGBEG|ZPQyXYzyVHYcZ_BoEawnJ zQj8)rMj(DQ72!7|@;&(CXCpEfPzjGw!{|?Q=0zJ8z;IT>$83a8*$y+=9*Y=*bsUM= z?25102XU-{BsRkbtcg9GtelmNXtY(WRV&qAby1yFSJlyoNDWm>)m4$IwyLJ8s(L1y zYpMvP-pHZg@;n9A+k#x(Bd0sg_e zyvO@|#6S6zfAMcV;|uYWT;eTWl3RSlSNtTe6qF)Tl#lsDit&LIko;0e0whrUC7%@L zOQS6wl84_*asD7dbp9y8JR}z9@gWb3okzsMqf&y$B!tJMBu_{vPf97Ck}#f@(mW$& z_>+|7&l1kFQjX`OJb#f2JkJYKi5I1^ROBV8!pl;Xze+V;k?OoEHTav<@`gn6rqpAm)aNZ}z$|IV+tP@4B+6)hV{GHcNa0v)xFEyS}n2C*WBurh|S3Wl*N2D1{zur3l<4`W#$AF%;GWTX-8SS;gUtl&_r z;&80y2&`coR&p59I1#&;gx#Eky+#iX%LzFtN92?oljCw!l~LicMQ%uzWQeP}+>%Ff wS8htCT#<)zUvA4Cxu*)NLMlK7sv<`5edUEbRes7#<(F)Erj(McF%-{#072nep#T5? diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints.61,63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints.61,63.ttf index 421c704178ab6252b1d3776d92433bb017df8469..fc13a0d22aee37d75daddba996ea320fb3c70bdb 100644 GIT binary patch delta 220 zcmdm^u!nDgLOr7e<17XSMjZwQ2Aj09#G+=G%t=6g29R%(o>Q47xvr@m$e#n`|4IkS z-)^toz`(#X11MILk(!utVrz;Y0|Sc)P~I#9D8N30;W3c!1LUh@Wq$Ya=?#&wMq05%6UZ~y=R delta 2542 zcmZ`*d3cS-7k=L}a}%+KSRx_5dqu>)MG(XmirV*`AQ8I~8nxUsB0{wdzgpVbVymTy zB`C4BwQnu8tK{0X)}pnhbJOxX{o^l2&?FEIGUATxhy+JrP9&wTTri7`=;0}rJSYy;#g zZ018_jKgz2t{L3Q;J}#Sv2mV5kZSNKgYym>IUo{^G0EVG2Im?c85cYXJ~(3>iN;}# zh#VdjavmH)`aV*zCoq4tUQxIKk-^WER~-JUkF>tbC|~I+)Dnbn9o8~rj^ z9OCeB6mS%B6mj@DN;%3oDma=uA{|j>@4S@kY(vvc)IwE+IkAK-bC@pSh8(6hd6zGw zyj0C$x>F7qrsoxuhhbXKFfFZua+uaMOk)kxM8otmHA^j1Yt%+{#4v^S*MYjOj?n$} z5ItI_=p}lMUaz<6z51v=sV{4nzHjpjh&M!?OAJ#VtC(fwFs*LY`47`&)=I;4t+mnG zVr{oF{=>AVJ>?zKf`(~vN5H>K`#A=dz5SBe*(yd(m^<&2!x-5%ws%`^UT3HL;{i+@ zzPa{hMGhSDud|vtm|)n=0r{giio!R0XLb*>?wsjc-=v#yyW0X@C!4m?UT2K-E*>Z=b56N>Juijn{;w8E2}wYLOe~ z@c+knJE||tf}BbBs8*S7a#NYjbza@r+-Wo2N=NHa=3e7;f=<%OdVyZ5)ARv-%&akK z2iOv9?+*CwzB&H*oN=-((UxROwwYIPpZ~jNi+^j{5^^?i=dWqDcsF)8xghK0w4_U> zDy#zJjO>t|vRPipYS}BRWSgv!wTkjaK{lw8=3GjkBub+!>Y|=05>3$wUC<4E&=*li zL=vVs@hRruD{Md-(yK83wT;-)C#K zVJG%tBtK*vCvh^TNrnoRUCKi)%6hpX59O*nQRS4SIw(6+O|zXM(Y&3CaqlZneRCXo2?;h=CYmidGCh z#z=W(jxrTrV<8q}8>X@ce!&kohRZmOi@0J6=wJ8^_wkg4n1}gT0Jm6yVNOu}%(N|{hAgWCwg9n{84l*8|+foG;} zzCwB2Ljx+*C((#DG^9oZbD;@6(UHDr&!T9~yy(DUXvN%cHe(TVra!u}Bm>Z$7JAZw z9<-wuOQSaf(T`=(pXCtAU<_b+OkxBEu`(vGF{ZF3lGzqBOlD7KJAB5@n8j{LVOM<4 zE||~0n8!Yt%idVeaahYSSik{T$FW$=5Ady%vDn0qu$}Sv4ttr5{hWb)oX(yY%X(PG zp$MlKMQ93NTrw5mSH$x@6u{3YjB}`lC#Z!NXvzF&$HExFnwZEY_=FuWlO3^$(OARL zn9c6^lKn7>wUEFT_<*&si&K@ex)F``s;z3HI;w7}tLm;g8xg6c>ZtlET-8-IRfuX} zvbnYjQ@vGR=_}`?pF~Q387NVbDA6)VX2>TpQxasFOpzo>mZ>sbV)zxm=6=rQ4t~cB z?&5B4<96=hQZC`Q+-$_{fBeG9Ih@Zgxqu6~h>MNht>b#5c^kNqo0!h6+`^sQ%YFQv z_jsQV_?Un28UN&8e9o8RDY+!Kcu5|~D+R<`@=Fo%6MsJ8Qz^lRQdoSXs1y@lDJX@c zIA0lU@sND{UP|%@383>wDa8X~aULJ>pxAjx96T(gc|-zvRLby}1o60(7P^0I{Tiqzt-Qkz$$4l^Z; zSyGoSsmE(l-^uF|&KuHzH>DwONh98t#=Ij1E82p=-sh;|H?atM}l z7*=uwzTrr$;wY@(aO~t1>|g>in26m*4-U#PIWC9fgdCBha#)pD6=joLm)nvhu28up ykL8}+kehN@9?1i_BX{M#Dz1vEV#-(f8O1LkFXfr?R$j_SvgNr_N;XIHtnF`M7h356 diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints.61.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints.61.ttf index f6d600647d4227bc7d50bf5fa2a1fe590b870a0e..0603cf41dda4690e0386090c2482b5c0743ca9ec 100644 GIT binary patch delta 213 zcmbOr*TFMEp`PI!!xjbxMjZwQ29vb1#G+=G%t=6g0*IfUQ<;{)`~EYKKLyBdNe9Zi z?wI?Lfq_W^$Ul{lnwWB8YlGf+V`Cx#IA$}t(!&=s%`ky(l+)|OOYU? zVsC5TT52nmT*OlQ)>_lK(RiNz@tg0N`ObU3dFJ`vnRCuN@!ko636^up>coWrD*#@h zLnelgn-(@~9*{c{K#idzCk+{p_x@vp6Ag|VYQ8s5UHlNpV;OuTG9rBNp_IYx48CJ< ztw`hWTm%>39b|A&GqY~6|wN@pm z!|J3urvr2;9jcq@{(6uep(p6YdX-+Uoyj^)@7Krl1${-|($8%r0;dNq34Cr9u!>lL zmct6Rs#w*nP^-Sx&s#wPYpu1>+H9p*JFH!Ho88CmYj@a#?Un5P?DOqw z9OCeBkVS1n* zuE*&Fy-csu8}&B5S0B|U^(F1n_iO=yF@~sfnPKW<`B_#r(`r`T|1e!?tu{>8Tglc| zE7jWhAEv$S3GbK|G)#*+0{>+?z%jVY&6mu|Qjv1P9D2WO#>ldIvV=&|NpqjjvFq2qO;UZIop0e#HOF?k2r zVr}m>IA`5#e@yl`)fQ))VT-q!UvcmMyJm~YF>SHgi^RRfwiq{dH@P4il`Ydt|qy${v+V4yZ2p5m%6Is>5w$5%i!Ji?TRNvNVHPf$y^|+p!D# zFq|JUnjdp2XUa}hR(2^5xhNauvOJJ0@2G7|KeR!lszU)`(|&%r==liyiPeyJ9YTAc5WS1-oGp z`(q*dVFCMMBPU`#$0L!0uz?e>mLK4IC!?^Llab08{D8fT$9~SnKF(rqOkjPiA0m z#8(`Ev8;_)w!#OjgI%1ioYjnIbX4tCJJnhBP~BBe)zyedZBM#A}oD7g~87PA#LgHkI43*jPsmzgBnJLp`hQ!NsnI)0@n%{6g7jOrE;7;!1 zZf<8P_izQ5@q2DD;`Tp&>EwJa;#W-MVlLrQqjwv)(P-W#CUY}WxQ$zx#=YFfJG{$# zyw68`%xC*|mM0~Ir=%Qz zk@EaiD)6*a6+jA9K8XH`sO14OeCCb2Olvk5+ALnGReSi#}=mLsv6 zqwyWbU=7D&6-ObB)3AfF*vUBTHhOSSj>&O3Bq!vE9F@bWoT?z3<(k}-3~|+x8}dl* v%5}+HRX}+uAIXyEN-5dWkL&b5?fO~> diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints.62.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints.62.ttf index e7931167ab8072ccc36be61cdb88a18ee0acab65..8b8d6ea757e190e831bb0fd87abc9a0504dcdacb 100644 GIT binary patch delta 213 zcmZpX`@=m!p`PIt!&U|cMjZwQ29vb1#G+=G%t=6g0*IfUQ<>)e`HlpTKLyAyO9#qN zmvzu$U|`|_^3PGJpc?GZ-E*Ffa=M`6?N?B^9hD42?j(36Rf` zlb@W(U=3t3FxvnLw%o)D%>o7?hATh;7odPbUSe*l$+K`TAU_3YXhlJOamoMr3`PtL htam1!sFGn&0IFgELPj8+^#4DUtOfBmr*X|=0RRHzGi3k( delta 2543 zcmZ`*d3cS-7k=L}a}y!Cb-YPH&^ zj;NFBoDR?>b%buD`{@39h#sRC>J@sec5c#X`hZT?7xWcXBD=B zEQb|rRko^G5muyC*NU>*Tk+OX>l^D^YqhoB+H9p-JFVSzo4ugDh}~fiwpXgSDB%cklyfw5L_1>2+!moJ+Gj=4AcCEX-O6AVOrfVjWWZ_IrQEh#>lp@o!ff-Dm&$k2XGpA z_4Nu59Q?1dirJX5u$v7khN36}|LnBv?q=RO)3?1&HRBGq1-zPO`hmAg{r_j?6Tp?~ z+Tfnyn&P_ddhD9-N-)2kF6RnYIaeLyZtOB4`nI`BxcpsyE@o!Akl7r_jL*!M>78Lt zF5{|uPDW-%M#gTpb@7hZr=Z(%=LlYNikx)=6{+gJeX9B@NtsVIUK5sPoT=ujMQ-fj z|HgPbsxQn0&rA2HR++xhbhEhj)eX&=HqkA0tR893H9;roDSDb-pqJ^5`k+oXb4=a= zwj|rT4Su_>$DimKC)$#2Q*6_0=2P7J|E}2*-WR+}}HL_MwUMt836=?RQI08`;WlV*LL_;)2M|4J4^hO`VAQ@9I z)rn6r2VY?WHX;?7Om(=8Y=U0&VNn)m36^Fs%kw?9VrzC} zPe$_tCh#LpVMq!+X!cQgxE+7b*CL^xFf$Jz?Laj7zA{e(&6E6^gKT!=&P2GHn zP~1U1D%2s-fHu^pMig_P5xvoY{%FS{XhvVOryp7}C!9@K7@b%QT^Pt9bfbkHbf7!! z=*g1k#Zu_YGU&$;M6)dVGZY^&3IkaY6W9=w*aFko1~W`%PiI?v#!i^Uu1H}Qe9q38 z&pw#P-k8f?SkJLo%h6cC{#eH`Sk3qGos;p{%<U=d@nhNCc> z-S8#*VkB!IiOumoYhpJiD`!T~!y=O?5INQbW~JbyQtdTUA$Ks-DT_ znkqu|QhlV4oRhv1E&XJG#7MHl%0QVRpU6x}lBqIDrpPpzEYl^9U-4@m;9TzH_uR$Z z+{5kM!M$9@CH#(CjJW-eUpP63^Z6wga3L3QvC+GATyHdQ12=IqQ@M>>nZ|wG&p&yG zcX^Kw`G`;X7ysrnz7TK8AvwiIa*40xm3)#%3QK?#<6}ON;=C_~q@WZLKk=9RQb3CG zrO_5I$;}@mkUvTgoj*wl9u$l7_<)DR&cov15h=-|Qi{iS`n(|xcvBkkmNepRi87ks7+d)vHgO!ba02q1dqqKVt$NbEyS}n2C*`RuquYK8ip|pgINV*SqBNMhjFZr@oaz(Sl5Vl9F}n~zTr@; znQI wN3KhjT#^TJPj1O=xvPq*BFazss{o_;dF6#XRr!>UDk$0VOerN>dUKKf2f-#-od5s; diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints.63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.drop-hints.63.ttf index 17f318aa1ae187e3aeaf569c342adb6869656d4d..f3f030f33eff1d18d8107443b0071567c9cc44c5 100644 GIT binary patch delta 213 zcmeB>Yv7rnP|xt1VH*PjqYeWDgGpLhVo|e8<|H6L0mM(wsZ86sU{Vi|KLyAyO9#q- zy<6MMz`(=<Mc&ODb57GNb_c7C=5n zPJVJCgEf%F!0Z4d*m4sqGz%Dn7_I;XJb(fUd5O8HCeOmXfcy-gp%n%B#U=meGZ-;2 hus)c0qDqEA0jP=v2pNHN^8f!(vKGYOoW`|?1ppv_HI4uP delta 2543 zcmZ`*d3cS-7k=L}a}!Glg2a}5_ael;#1_OBirV*`AQ5{?Xi#n%TPSV#)za3k)KVmf zE%w$Vx{EzND||JNmh;g#T3kCH~K?d{!aL z-*Q-iRu!wd6=K!1Lai{XgB4>fx4yN$v({Q0t<6@7waeOLx7mH{h3yV|puLj4kA0qf zjYAwB4sS;RM#byK ztF^=0{U4@1?TPQ1<~K}>IQ;)*+Rrht%V zy#8iYHXQP=v#Qycvap*CDuyB`48N?@tR80G1=F{^NipLNw*|aTF#X`WrT+gr<0;@u zacy$Xa7}aFbUkq`bj6ydm&>`zRo+$KxSP66h`wvC0GFT3*TsxX7cyD^88I38GCb4G z$)#U+&q>cnPfy?Dwl3fEm<_rucaGoUb?Y4(`LGrj?~fSTw`^-o~9G@BE3Q<>BIV@nPc(} zu*KWnZ}7Wyv;A?|<0RV@+caB(&HRdc|KB%T+&j}2pS{SGx7Zfv#_lGUWP_ZQ6iHVF zmA{;mU6LwW7n3F|VoB=G&Kvv*~Y|S?8 z#9j>N$BgAfPU3Xgt;)(CLzoJ&+| zlU4zetlG&U&XF^+LYB))Nis!DkkbTUKKP=j3C0>GD9f9|)dnA+1wKS6Qw2wxq7{Wt zF;ZTctz3?8uoz3R9aGr@zu-rl#1)*yWn9H|{EgpnA5U3;xtWLFxW)1eak3&Sn`&26 zUb7hovp*v^$ke`8{1k<75ekP)23&$aGE7F?fCD!XU_z}lZX*zPP#Z51gg;On&rIEX zg>txu22`j|q7iLqNR2S&KofeRBmK~xh0&Z|=s;hzVlFtFu@E}57`n0q{n4EkdeVU& zw4)bGqBl#SAIqRWgAmTL7{GFv$S@3IB}`yrOlC_Yuq|eq%$~t^_?(?Fhux6KuK0po zu#kPRfPFBZy|IyFv7V!`hy$>JW3ZMV;d>`zu$kkrgK^l2{Y=0?&cp%EU{8!;J*?zV zgi?$mG=(32H5K7E#PI`o<7X7a1ysco)WQq2WL~smL5yGxe8ML9j2$qG9kGOwSjSPA z%kKD!{SeJsh-V9Y#M;=ysmfW+h(>$WR<%(bRX5dDbyuB@h}2SbRDBhy>Z%$lST!)& zTw8^x-m0(kl?&2O!ll0qln9w3kupeT%4af5;$^x_mT8h8Q)Pxk@oRp=gPhM@+{xYC z!@bz>P-pHZhr-nZj+{%2e*>0sg^z zyw3-G%s=^zfAMcV=S%UF9Fj|NN^bEIZ^No6>-p(vY{L5pPRl-jOD}D`7_Sn_??JK{Cf-3nw7IxmWn$JaXX_ zyl~ox=o#e2PsoilXdE_oh@>mY`8F_={_l+`ed)iIpG7{aO;%le3A1B_!sjAtW!%uplRQCPtt_?E-4 znj`QXM`8`5v5Lcy%E{Qpc@|9DL{7>nIVx##Tu#U_RZdlq&2mF-ONO{=$}M>; x_vEHz$`yGe59E&AmHVoQDy)2!pDJn;-&LOpXQQxpROqYeWDLr_{-Vo|e8<|H7$0mwH=qCq!m34$lt=i!2Bg0 zD1S?AmkI*|>k1(MP)2HE%89KhehdtpIY9Mh89)K{84NFg{3SrXN=9x;g-}0ZFpz%& z$XCkAPflcB#c}}1e*@%;ng0I=ia9bQLfHQgFfjag{Lje12o&W2 hVh}jYaG&A9<}@x(4n~g28-x^@RT&sIUlBUP1OQ%@LVo}N delta 2558 zcmaJ@dwkB-AAi3;pYx0%V`GfW_j%0N=5B_$#>l1IugPVuOGHc!{*XF>2!QdC~nASiBg}TO;iH>Co*FK*@BA_azNW9C|Qo zXeS`JhxLz3vJ*uX;flp`ERIMTotzRpk|`Ev`0=PQLlSkp*<PtiED?8+X9FntYw1fs}uvXLvt**7SuEuGCPS7bjTjyxH zuF!Rwp@;OSo-`Fq6%%h-n}KGCdD=`cOU!Ds!FV%Gj@f5&%_(!vTrqcDmBOcoFAcxz zlyb^C;f}|Nbm}$=Tv$Ioq9`ZkId69qRVDBi*&! z1Kji7Ydzu#@C12+J!L%=Je56Bo)}L%Poig7wJZ0epup1f6LnAr@m?%vheD>yxw(+( zMPB9a5-oKKndZoT%k&$C23V%0Ez>F*S;(}3Wtwc6PP0s3)494z*K4L8woG9vnh4Xx zB$&Zwq#0+@&2qEeY%<%-9`l(wYR(v+x#6l1o@$ADms_SGPC3UZWLnQ@{2!*PoHdr| z1}D?`z{z%Y{D)~jcltj}OIxO4p76hz4)P4GcKIF)3N%TM*h?Q!$QT7KcJ*5i?ibit z`?Gm1JpW*IAsG4BTwQxG)#0`WR1skaMfrl9f+wusN!zzQ$g*R$-vaK>w0+-S-}*m~ z{M&#p%eUF@;+x^S;Jf8p9)HJn!)y~?mwBsCI zpiBK2u>Akq^iAtfxac2st?f3^)NXD{m{#^q+nUGBa5L84Yl=xTGt5l0*sL@eX1~d` zKK>+xE6w%K0snhYkpcndJ00v?h zreOwN_Tp8{$J^M93}j&&cFQiwmfc!Z_G=G(jC07d)!`}%2nH~aVSJdCS(TBj!H#^K zo!Em;R(_Ima!aGs(QfKyx*XLavR6IYORK7pCE{JG zkK44WEScIx7IUr~la;bUR!IheAqcbqSPJD(0S+42pp3DFs}mkYdvrtuhGM)eT1j{b zW8@Eelq>KKmS7n^#B@G^ukZVWhmOQ1iG;t9%C_h+p;WrvLbr362sA#4*Jo9 zC+NnLtb+cGz#vw`U`8R4)iH$8c##Ph!CIKiR+!2Tn90tVZ8LioyWlnU#9a14I(y@F z_QE0##6k|h0`|uyK8Fn)kHs8cXVJ$bYU4h!v=VPt?>%GVGg@vDTiY{ z$6+4(;w=usST;l&+v8a_!cIemkEn&8?fb<|t1rKx zCVoO^dPDFyOJf`xBbiO`6zkw=*25^)$7sf4BCi+nGaC0~4T za!GE=b-5rH<&69+Kgt!kDmOGtL$#ci*9unggXEsv(NY?yAyOcBRaLf5Vf&&CeB)rC NTY;)uuLb7H{{SuUU+@3` diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.gids.61,63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.gids.61,63.ttf index 1410eb95ba018469ebb260363e23279174adf47d..c6890e45d2f4913568eccd737f872fd6779327a0 100644 GIT binary patch delta 260 zcmdm^aYbx`LOqid({ly}MjZwQhLE(f#G+=G%t=6g1CVc$o>Q6T$K6l?fU0;HI2f21SQs1`5*d;i4l*+R{|^*J;{89ski<~?-|;^q10zrd a3O1*4y<}r#pBx}4%dE=4u(?3+3=;s$|38@k delta 2514 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 Sk!_NIB(o|5!)6(Q6HEYJp+74C delta 2514 zcmY*b2Yij!8-AYmoSTT1NRWZ#yH^r>?;uvFz4wk8TL}$XH;tIpHmKD`Y&B{NYEvb) zmI_KG*VdXvi%NQKwEy3~=lBgBF!*(a7LrK-LU4^P>XO(}8?Z2KS8_7(E~@bwF#tdzG=T9%BYP z7vZkK*9;Dg84(+ouLCjx9|KWz_^AHTJRwO27d6;tM08xK(QM{j)9B^^utr9Y7+CdA zm*xhyG!KXyJ!))h_EJ;^e2>mao9OfkH&%BL4-X77T0T@jElg%pI{7*0ayhr~EHCmd zf0ZIqPO3-^=_dQ+xSWvdN~^reTluOYDpZwJrv$&Ue5^uNu;sAA zt%_C^E5fQ{MOsl-dn?vjZmqJuw$@pjtZi1Rwa40Tx7q#dh3yV|xV^l+w|%~StwS6h z4sVCAqmU!W5#lK2DC21Ah;|GtasQ2EXB(Psq82J5!ii;Up2Kt*H|H?D!v}mVrKMsH z)4g)cFukmxJPgwUhG}sXp2M`7VH#_gCK{%nsX1z;TCcXMlZGjD5gn>)>nPn%57lFI zl3u3Q>rHy6KBQ0SbNZTg=|{Gp;CMsSxy&&2v-~Y9hiPT2)_<6;wAL7=8?3F?4r{ly z?>|g?*pvRpw18n6=m`FYXut92mv^n9fj6^O z=YXOAj8!r(rX=j<1rM&3odd{}rd% zCi4a0N_A~^@93K5y6t-ITI7l|zn-qut}?E=X0)-(_~gIM72*nT`Ma2T$A!#hW_@g? zPo`&vxvGqtZkvqEjEs!^Ztdzrk556j2A7d6PLoS+pz5f|cmDw@Qq@-p${fxN8%H$# zY_&k8xDVRGJ@$o>l$=@9tF=b97%|)Fyt<*ewkEoz9;8Q`tBcbKdYYc0ll2O{MIY0r zjm<^(N?U?0$-SQww)h-8*_LRVW}9I%Py7G&ZZ^jvA!k+MyIEVj&0u$vE3#28NUCJ0 zf+|=p${yJ(+vT;alS8srcFB6#peR`ivRM@~)Qh4RilYQ-qYfH6(HI@k8C}sEeJ~J- zn1<>26!Y;VHe(A?u@eX7fb5ooDwiBn9q}D*Aj3rb17s8QpceyKlpzdbILopHTd_4e zvL~bY0ps`)Cv&>&Qzd1;@{p^tNv_KixgpP0DP^hl%4uhkoKv21SUFT@6{fT-krdU+ zgi45PRc$4ibL70Nkma&cw!jwxFXL1`@JA3VR5OlN#w4TGcn{6c0-+dyu_h74;A4!E zzu?4je1#=gid~q>?)V8uaT?cf0atMyH}R(vzv2;I(3g3bkKVY;GK^q3RxlZ?y1Zo* z4q-nI^hZnPMiUl7Cl)~$7Gp5F(LxV8(4BVl zWO4LjDEhJl`mq$ESrYwO8XqwVgIOMv*br0L95dJkvrM$kWLtd3PME{4NMaX!&dylG zK3K@!SioM`EVa{X^jAI?F%S^B`An8NcCnQ?cgp3(n^vE@m>9FojD^4co{~rjBjqR&HY|cX9{!@(>U6H$LPe zKISw2&X@dyfASUIh^OR|+~Os9B(HdjkK~s^5+p_VoG+v(pGZORlfvRJ0a8Gmz7oj4 zOu_JweEd#|@u&pzdkNt&vAB>=d0gyF6NjnM#d%Ufc}l`~TEcloO7N_dNCY#b zHeFJOH>ECbNhEJeJ>HS}yekcOPa5*RG~xq^GIhK$cJM=Nx`HVgLXD diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.gids.62.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.gids.62.ttf index d365a07f871553d314afe9e4f01df7c109d22b8e..6b43ce05824d865968d5e438e43c55aa5f7ed6e4 100644 GIT binary patch delta 272 zcmZ3Zx<`0|LOtU>#!n0kj5-Vq3_fXPiABvWnUjG03LxJkJ*P75n4sciAb$-515;Ky zP+oMt%6kR|76~9fDI+y8<;2z$KL!T28lZZ!44?q}42EYw{uUr#B_p?_f_ECjO(6dU zkS~>!pPb0JnkfXx{{rL-F&t!M`u`s&250|2z)<_&@joL2BTy6!Hm7kV hvdXeC6*8zZ?PuVF|#NU zy(Eg=L}QCaSi6ZeXkvrRV(|O&$8YwVdH3A8-|RaxckX$6eK(X!w44)HFPsmsJm3{J zU|i(r$q|F*06C)pgbW-ye!$Uu_VWfW1Z40)Gw-(~@G+1lhrxZLqaypKB=>Ixcn>x4 zq0z?Sxd3+!UTJV(^st!NJfo0daEigjhmPnM$@S8~;9Ca!42z5{Gm_1`YZ^zoaahA6 zhed_l>D=7R6)=AgJ95OBn9L=p3gn+PJ7t2?E67CMK^#0Vz*u=u3AHeZP3h#9oWo^I z;u&7xUH&e`q=HnF8q!tv$}u@E*OgYemAA^Tim5P32$Uay^7^d5a!pVC+K4Sip~w3YCm>c80krR8J! zS^k#83bHC&)vPe9jumc2SnaGBYnipu`p#NwZL+pn$<}UbpWSBnwHLHI>_PU5_Fne6 z_B9T1csRTr`5k_aqK*JZ8AmxsQ%9sDD)|0u$;>n~-9#-^Mwk;z**uHsQf|&-dWR4A zO3F&*ET((ps9}0pL3tRa`3%#NDkzI-b;C5qFr8wUexYWo6>6Q@qD~m5(8YA1uB{_< zUp-il)`@zlUZ*$d9r~a?sn6_bO#9cCdM@F(4ceyR#ZG!2CvzPk+&$Q=& zE7`T#9pRehy6sALEpWw}Uk{gam8+bqu5mYZnH0@#t^ikIS0NYE?zoWF3`mPf^GWke zH7A#P(;btVmYSNn&uv|O=l)eJo~BYt9WHz)p$)>nsJtzrxv?$ z7XNof_Ncxx0a=soQLQmO$#k>0&aE4oGi{<<=mC19IoDVnuczq*y-+XLN&2WhWnwP4 z*RjRh-fwXBx>^3XtZ|ZUifx)L!De2?z5nl%KWzwD9&Du*0Z9dHCUkZP*K17s5Ppcjjj~L5OIEm9`uPQD3l!siEO>$kH$PGzXWt64bDLWJ8tn!pY%Aq=`QcBAraV}OZ z&9w@UEvk(yUT*G->#dX}o-}oJm@SORXi+SjcyDY~rCo8a$sdl0A zmQ6T_eHq1pruMbqr|`pNDEw${z!mr-&D@AvaNsrqOsbW_Jp|!CYT`A@;15*83sX1W zpe!Du9u?}6Xh0k4QzL>o(1@OB&%$WSf@sRzXvacm!JKe5p&vT37&@~A{n3>cy3>Jf zw4(=0q9+5~YV@C7?!HoG8^o$)0* zVF7z%K6_yvdtwvEVLiuSA^Tw?$6_rt1hau>Z&>#5vieSsk$m$)mGJ2h^l99 zb4?YddaB;iTP{f-iIl$5U!r7+43L2`Q$CYf5--zbvP_c%nJP0Rn&0qS9_Bpm=J(vo zecaET+{FW2&ZXSIZARSw$FH26%LV+J3%Q7kxy0z*Ms6~ix0zeGmC4+}?cBqIJj6fv zkdOG7&-f=_@Gt(&mwYXrl0$Nem*kS%;w?UsSNx=?6k|G{OL0Dt0^%zLrH~Yse3D;^ z@Qu+H56QzLQi4B-Kb=2H0FR2r`FzS_VrPmtcw9>Igaq=Wl;SA~;%N!y87a-PQikWG zEPs-6{8`HLyj0)?smNcX5-;+SRN-Z*DwTOfs`09X@K>qMYZA)qQiH!qP2P}NOqDRE zNo~5M4sS|bCvQnOZ%aMik@~zV4R}u)^1d|U1Bo!2-x%BZF}83#ws9iz;R1Yd5jk-h zxpCHr=sD!YPsoKc&^T(oAyVLp;JFql;^j&%{sdKl08n7{`3h~Y-Gqp_TWv64fv zn#1uOM_>&{VikvB4<}yih*MOZiHsyi`ibwsDNKmGG2N2$loL T`@SE65lTZ7D77u!BSroJlv-i= diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.gids.63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.gids.63.ttf index 051a756529f88fab7831611899f125f66917296a..1ce671815e75b3d79b0c6e60d5a9d16389e80a6c 100644 GIT binary patch delta 272 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 delta 2542 zcmZ`*d3cS-7k=L}a}!HQVhthr?nT7DMG!losD0lF60s|xQR=1L3m|Op@Ch+#{#_0lywJqV9BjT{nl>>F@Ch||Qfze8pu_2d+5-8O zoA~fpR>Wk(83QWmQdut4K9YO;$72ER~{C)oPWd zj;K@WoGz|Q=?L9a_tOLQFg;E$(kt{@?cAt$>I3??zM!w_JNmh;WYE;0#X-+4KdZ16 zWI3!5tEyGQim>Wg4XjA3qZMbRTFb3(tku?fYm=33?XY&+ZT5opB6f#8#9rCn*FM+2 z${`Lfhp(f6qp+j6BiK>SQNhu|5#@+3d*`KOXB(Psq86$m!ignpF7srsoxumtpE}n3hr@9;P)7(>TL4$uRv?%~s3Q8nsa!HB6xcb!lB!N9qB3 zs2-zJ^b);Buh(1kK7CA|(wDVM-?tSHN-#v7OAOP3R#D6HFs*LY`47`&)=I;4t+mnG zVr{o}{fB8Ud&*m;{)TBWN6^1a`#T1ez5SBe*(z2}nmzC9VT^1WJGiaaud-9#cmSt? z*Iuviz@h&-tC@ufh21PrAc~;~0#bx93hAXWc;6Qw?(7s*y@m=2wl^97{9KQuEYeH}>#< zW8{qLa}(hC=pNN7(@kzFGr9KBP0XG)*R6Go9&PqDUMK2gJzX!? zMBCd1&Y9QaPw$pu*_XCz%RRUs85 z8L~rm%4T^Xt7V_8l5Mg^)+)+t1=*lVnsq6Gk|>3;sEc}Nf@bK9uIP@w=!a+|AsN%0 z_ylwDB{m=p>DY?BvPZVdUX@D@s?PWxSCMI|!(C((^kQxnV+jVc3`1Cv@3IZsvNL-# zitjU?A96CM$u1QtyOoz*l=X5&9?DgDqRJ^tbyRky$SLJ5`;|j=Rb`ZxMdDnn+L*Ko zmW`^tEaYrCElVX;mPr~4K#($8i~Fa1mEb0sRZV;Xav=HDof zduT|7`Xn0DhDOwgWG*zNH##u@9asb{=!1?diq^~nXLA-t7Y3pmOEL&OXrUJ!=t(a=`j}IA%!K{plY=S9lh3RaEnI^MmusuFy7tCgNq_7)4V^=I- zKg?%e%wr#{=Xk8;SS;i~tm8PW=6m?o$vAA{2iVR8e20CUjsu*D{hYyG7{_{8#$jkc zF^bR(0k~u;!mmi+JMhKND1>vUh9{_n7ih)&XwO0z$(oqNrudj0F^iqBm@!zxF_^<1 z_=5d0nzfL~mUxe~v71wsv$_$D4yv7Mt2(Lfs+;Pex)>3urRu2qs)4GjYN{~R&}4IM z6`}g5e$r3QNq>ow0WwIUB}rmru*{T?WtJq$G?^mFGF_(142k8J{E7!Sk30AscX2oO za2vOCFPCx&zvX5lZvW%wPR`{5e!+!Y#KrvD=-oQ5H=4JB8@Y+;+{!K7$$i|<-+7Ps z`GAl42cPjz{>A5fDc+Jx@H1Q5f6!-hsD7oQi?~VG>=Ic9+wcFkg_}}p*$t!cv{Ny zC#k@nr6SKrC1yxv{vuU)mgl4z&r5Zw$_rA17bT3Bq$V#*IIl=8{wlS3Rq8NPBA6w0 z>5_W9CiR`XE)94?8uF$z;w@>++tP%0q$%%8q|y9l*uqKJ$O+iYiSS1T3gRsC-~@bd z%82M`a}D_kd2tdN2hAPgFuZXDxo{LV96}iWL^z%!0ClA(U(6^2@lbZ z&Vpz|e~e)r#IY`huquYJI)<|bMlcLRSq|zr37(F;7$K`|^mXmT+j>!>KUR9J$a$Rmqmbk*@mOPew wazk#)WqBkIL2KqKc{jRop1Pue_9J%1`B11tnXaE2U&}3`ctX1AP-&`~Uy| diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.glyph-names.61.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.glyph-names.61.ttf index ff76223011066b742c01229519a49d3982cfcacc..86911bf7fd91ae6686f98257b003bbe30295c15f 100644 GIT binary patch delta 213 zcmZpW|G_gsp`PI!!xjbxMjZwQ29vb1#G+=G%t=6g0*IfUQ<)}a#nKDpPXY4Zqyyz$ zcg+3Bz`)c1`6?N?B^9h<3@JeV3Lu{& zCqFrnp$y1kVBP>E*m4sqGz%DA_$`0}JAeWTd5O8HCeOmXfczUkODYQTi%b4LVK4%! g4VZYMN`^rJsEP#$8G&@-|Nl@j3B=!=#wEoH0K`)?!vFvP delta 2543 zcmZ`*d2~(J7yiC|&Pxm-#w3E|zK59S2x2A_HP16KM9fNP(0XY^gwlpz4Q)dWrG_Gg zkczpjd1|StRPxMfE^17AUNqL~AHRFoJ$HZm?seAs_St)X_qkV0V4~%mvMOmIz)C>w z(1?lQehf)T&1H8Hz z91>|9o{Qizc(%c%BS%F=+k7zC;ADeyjT|#5921QNuT-;mj0%q~KbB$Mb&O-Laag0n zM-2(S(Y>|7>3~F!9Wy>E>l$hR-aY0Xn(WLSWTI{$1|EnoRz6fkT})+5I{7*0aT$|& zf@gS>e@bzwEH$OJ^pu@)P!7vwrInZRR)th?Ra%u(RaA8qqQcY!HC4@0vsI#6rq-xr zby%HL=d`~rr9*Wy-CqyVBlHBlSg+LUv~!bA)BE)?eL-K*xAhBK$$;qrO9Eb41+1c0 zfaS1)tZG(GE7YoQHMGL4PF9q)%=*^)&RSz_ur^yM)(&fz-DWRr_pv+dLG~*4e)jqH z)edoZIJ_N&97P@ejzC9wM@2_VN4R51+1sxqE6dPy6SYtcp-wDi>ujb=xiOpR4c_5P zsUX#|nWo7B!}Pp@@-R#b8m6UGP&U(AhG~>x8fTb(rsk>@YOUI&ju@uU#dT?2PlxG& zdbl2^6ZKNPR&UVT^j>{bpVXJMOW(Ko2gDen&ZUNFVawODvYFPf>i&o63Tu^Ny3X2U zZM9OZo&RCl+n)H2X+guZm?Pj{rUM*<%iem$tSl8NC(NPu%Vvx$8#}tK%r{wyZ#{t1 zz^j=nv*GZ6oz+cZ%E4|DR2;?N1HY`atX?MWoO!lorkK@~TIM$3jVakT`*XJX|L=^a zfGfqd(H-H6cU^ZqaV>I1o4b$8xzbh9)xfx$yG)7ZT&_TupUc<9j2kXwv;s1sG74mP zrkj&Xzv_-j&qz;C-{rP0-t(9Px-EB)Ad~TO)(upB)iCF+8mn04?k>2?(yX)90=2}A zv-!U@a#r<)3CRBFUe#*zm_}1(bM2*@nlo*o+vo^A)|_j!j@9uxK_}_uI$0mk$4tx_ z_dd2*+q(qk?3?Y6$zG@0;%xD@1e?2|P5$3qwwN5#7Ms0E+*@pmabx!-7i7JhmJ~@> zMO1*CksXpITjZszk-f57w#!;srzn{UvQd>Zc`1RCD21}9hx%xW=IDZM=z)Idk0FRd zJZ3mC2lMe2HX<1**oHl_TT*3@$|VO>7yO7TNH^2r4zdV(FgJ^_1Or)yL9E30*_Q3t zg?$*#4;jsmIh8YHrz$7Al!siD4RTo?$`yH{$}3BCQg$ZFN#!Z~ltXn>Wt5i1;#{KI znzjm*O{#+=aju+_<+4mxNHPjRklPes0r5gKmpzck?)aSD zu!#M!ko~ZLeX)TPv5w=B#6eik30T7q@V%2!*v!dDWek46UM65aXJH>_vNtBMK2~r9 z8d8iRG>0F4HxuCx#PB_M<5v{HIaJ3J)W%D+W`1;F5sYRne8gt>l$|h}ow0-wSj%yk z$Da6-12C4g5zAKifOW8o)0MM^5si+jy=tdAs~)Pm>Z!UK5vi@}ss^f|s;6qHVAaTU za~&0``l|lYU(U$@373H~ScXWPM95H?C7;S{iIo{LP2wd%rpru;pnuS+A|kjA_zO?XS1^0qYN9SJj<-yB={5jJrWwr~mx;tUGoEb`zu zyl~Qp=qcpKFUX4%&^TcJAr8S4hmi|MV8cNK<8OrE1w!!#mGA&n@W}jMJU06B7b@c+ z+S6GWZCMcGSQk;OhheOS5v+lctcg(!#&A~0L^eP)8(|U~V=|lILpC&`9f{=}j&C^< zt2i3paST>-ELL(9(l`w}7>k{Z!)~Jo2j!R?mqT(wj>u6ttSYEVvRSUlEy)m9h}@LN xa!;iw})qfLOsJPhOGjLKLyC&kPeie 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 diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-ids.61,62,63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-ids.61,62,63.ttf index 0d4e48d2013eecd9ef64198d9b5550a7358e7593..694110673c3933afe61bfc9b2111fd4172aa7955 100644 GIT binary patch delta 220 zcmdm@v_)WoLOqi(<7@^7MjZwQ2CKBP#G+=G%t=6g29R%(o>Q6jMc?2tkUxikfypWz zC?ECW3M&Hx^9>+hCnGg6<;2z$KL!Ri7NB~w44?q}42CB_z73GCl95|d!KKUa8^})p z@&$78lM@*yGn@nR3xIsC+{6lv0!BA}3!p#^P(UFsF*jB2f$?`BA7~+CSwVhr$^ZEb tMhpxb6OUJ`FsK0)u>c_>kWT*pA4n#GNk*U;1H)m4`wR~@r*WNQ0|3L{HsJsO delta 2498 zcmY*b33!c17k=L}bCZaWL@W^`-@S+}h@IF8weR~LBw|kqrPNI$VyU)4Ep1~jwG^=g z6?UIMW^gJX5kt&)uiKe6z~_R&VX@IsgO8*SZU^{kV_!4Y zC_ES8y214fE)_d6eu8&JyfS!z!G0q~4~pVEoH97hVDFJp6UxT1xo>Twm~0f*sHlE%OZ)WHyuPUI5sZy$}s-&u@nkrI_Q&ZF|HCv^qVpeMi5rl?a{|yd?OA)t6ZkbxG9(EP2S~8DKFu< zOf%$=VR}J9c^IbthG|I^n#;6?VH$6kCK;xmsX1z;TBkOvV}>boFKr}bs+()Vpa!3l<_bD3cpU=^{fT&7j6I{#w2(pqhpuD3Q@+pL|| z?td}uZBO|hQ-8y>s3Z6t(*cgbWp2M>PL7Hd;~3H}moai|?C9>jd7YE;Rs%FK@Y|O!$!oBo=#c7tw zehRqKU7Or1x{_TtTu)q!TocT%k872yf~&sKHgmOlx1ZZ4#1-f&;$rqq7qVNL`SIC) z*`8VEsIp9?m^M2rD{GItcj=zTr=YtBmytJ2mUC{P>Zt~A{{vM6)kq~O^KwRQ9MQD1 z)dID|{i3bix-X0@$sIMVT4N;5h*?hi=qBdan(Ho1hbQvYw$+^$MM)59t%e zCeuCBmS{_Hujhm=~(E?KIe z3YJXSB^k0+Udme8FKc9ntdsSM@T7m6pY_M71@c z5+a*b2TA1|IU_4%xvZ2l6o4R)aVkF)K@cp|FpgHi2RMz-u}%(LX0<+#%+Y+4r-h1S`L4r8lIV4_z%kC z9vV`iK8eP(p%FDA>4m2BgtIdP(UFDGf z9}C$J3)mMMog9z#9E(&A!Um4RTE36(7>_Od5IdQG@3EgVaFDZbfHT<}<5&+XIUEfr zCd)TNAbvAZ{yP%*9(?f&3gSGf;0bEsC0a2*ID?-8+$lSRW*g6qiV0(sm`j0>aKdKuBI^5Qgu{)6PtBa4OLw=Gyz*% zMX0{2zx0>$GC-napbVC1Ns<^DBD3TZnJtMjU8YL1%#dj^Q)2lQzve+M;4Xg8-Q2^y zPVV4N?&AtB<9FO@D%L!H!TDUoFPX~4T*9TMhHcDEFrJl)%#=#}RVwow&r20vkg5{Si&Bl3q&k0-8oVquc|~gRcd6~N|;YZ!-B9El80#V#gdHje};F0LOr7e<17XSMjZwQ2Aj09#G+=G%t=6g29R%(o>Q5&K``_fkUs~AyV8O3 zx7({XFfcG{0Qof;sfj5kwx;+oFt98EsyE933b4;$cnsv<0rFKca!V@MvltdKFt7r- z3_Lmc$%zbQ3`c={9w471H?cyafYFuT0w^E?6i~=Z%uSVhVEi4(Hvw8uR*+v@@_#;q t5d#C;#N*W}3_x2M*cezC7#Wxt5*d>J{|E9RbP_`?P!tF@r*WmR0s#MuHA4UZ delta 2542 zcmZ`*d3;S*7hP+g^AaJ%7?F_N_Yg4;AqZj$Ma}a}kce3crPNDfR&B#qLtFDyLy;h; znYJ;-&{DHXo>^9gAK!hybM9XI?%#QL?Q`~CHzRjONV4S|w`##WfaL(6 z$hgrlBPK=l=g7_{m^jgL4dt851^~jr?jDM?vGT zhQa3=rYfk)Dndo8QEGykp=PRNwN$N9 zDeAB~q0Z_+U0g@%hPs#Ts|V>(dZAva*J)>}-l-4h41Hc-(YN(;Te0BD!Ha^QTY0TQ zRN&=KM&?I`PL;)rp?mb(2?va=0MH&F|f5b4AcHuErD!i^rLH+Y9H zq>NPZFx@HXhUqy4|8oT+LF;)moLRju@uULAr#lrK5Ep zJy4I($$E)it2gMadY?Y3Pv}e9rSI7SgA)x==MuxTfK}MCJWQ)tHUGtQxwXnLU1z0Q zTdeKYu75G@W>0>{G@oHw#1Z@t)83ALrEa}scD9O_X&28@ZbOZvj_`E5KFQ#jG1HWHkk{60-7Ud1soP z%QS^x=B&)j%-wG5!dGOu`gQ zb>cJ3!PnS`6r^D*_R1dFE_+oDNmuRh1Fj&`bcZ|0Cg?>U7GY6_up~oSj_3_s=sPL*9MOm-_TxgZrEtmTIf)OqLVMTlOo5>ZnR8EeplDNVPC! z6(XsswJhK)IVsCzsVtWiSt*7U8Gcn?kSK1!e;Mw+G-k54d6 z{x+#xif^zGi?I!p*%iOyM`YjMBn+Ez9e#bpLVSeUfZu;RS%QDi*@~mjOU4*=1 zV-8>+#8$=Zk6>h(ins;`t|P=8wUW4nP~1ihyhLgIfp9!Eee-XW z!Clm)LLCzIX+u3~L^B5((i`m2fEUZ z?ktWTEP>uEg+45e7>1!Q%iv>1qdzNP92;OFn_(JTVTP&f>1>V9*#WcI8OiK~FW3?D z*$ea76LZ-E8#o&4I1&rk7wb6+Yxn`ab20&&_z|`<5#M7Ur{Mr+U_Ym`8%D7ymGKzW@dC}52d!BULs<>u*$|(yEoQPE7BLQMIRdlU z1z)i@hO;`7*c2bI26l6@a#k^-(MGjWEmb?!S#?rfR0ks>)m2SZM@6Yxs+y{*>Y8e< zp(0fe)k}KGS?Mh?(ntD9tW1(P=`S%gYhdd~D9ufx+OK~2N5!gxYT^Q4sF z&r+7ZNI9O8@;ogS_^VXp8J?BOJSSD8636{*QgiDZ`4 zqDyM?s?>4vnndxs)a4DS$D2~0x1<4YOGDm~XruX!u!ZB1%CXqYama_$D1bA_iDU4^ z2_vE>&1cBZ$c5w3NH^aQhv1FF$bloU;UKEw86xl;k$8o2xQ_~WXudBV8GZQ^5F~V+gBaAS+`u>tGD)Vl3<7Bi6@(!^IT1UUgk7A3Jw^`>N`@ShLvmb>$Wb}0%BXU(Nv_E)$r4wD+>}Rh wSFXzqxg-zezTB2Oa!(ae{;IGFP=QAA{p6)QRe6<Mc&ODb5!7*c@z6+k{m zPJVJCLm808z`OxSu;nIJXcjQK@LK={b^rww@)C1XHAw&f delta 2543 zcmZ`*X?RUn7k=Nh_f3Ql5|R*-bFYYbCJ15*Ma}a}5MowB4Xv9-jHL}<4Q*pCH53Vg zin*1`q2KjnT$}_g1rb42d37ayX-WsvE~{K@IFsp)9*^01gS&>$h)y9gmmRR3e-&?D!b=C$e&Dv(|u-oi@c7MCW9%e6R?_r-~ zU+EBshr`F=>nPwT#^~I%Jqa2kB53XV5Kor?`qKP$kpvYA%0YW$1oGHZoly2eVi zHd$M(?f+uh)t>a8X+FcWpd!_B#l(FuC8o~o1eQk|mr=_6*( zDR&%Og6(~R-^I=L$7in-Y>BqXwy8FEL!11+zijdEOj|;Bki@sx7VpOHOU}t!IVow9 zq4KL>IVIa9T{g-KStYw=rEHPavPMzfD9CzM#N?$gil8Wpqb6#hJ{qDOI-nDJpeJIG zh{>4Z#7xY=H&~Apq+v65$xhiSyHpO@r`q8sTtbGK4!4j+(1Ttq$ifU^F@~`WKV);Z zU^{kWG(YATe#!})BHL97*`Yk-ysVRpa$hdVBUMsas*SQUNscQ|*`pk)gDR%9ED+~H z)!ejIh@`4klFV6hLYB%BStcp)g}}=cU|s~EkSWHhrYK9B!PNpEpb0)isF{Kz&CrU) zXBZ~0Oe&Y)TP(mLY{4XU!SDDPM{ofraUK_O8PD(+?&2|hnTxsUgX=8K2q(+3yqR|4 z@|uk}fV~;R{$}q&C2<>-@x;u{ zS15%$s6&O?B5sK=t>8= z(2i~_itY?WFBV5{mP9m5pbtyoQ%0db%V9k0VFjB2g)i71v)Bnq?1(Sf z0rS}t^VkD(*&XXR8f!Qb$?Su*9EDZ<2tPO(hYcKut&GQy*v+Zf%jwv|Y3zzotc7J9 zgh+}}goX&jA7&!_iFkehAN+>=ID?9Kglc$!rp$v@%#We0ici=8pR)~Suq_s{A69b& zX0tQCW-kn9H6*YJK4Nw3;3Va&WJII2YN=YNwyKlrs5-0mMntNq8mhL6R5evqRYlb? z-CSKosP3w#^prEwOQNN>^pzM%lz!4*rpxCtLlR_)Oq9toRVK+aiRCx^mU}su+xR25 za|d^F3%7C?mvS+G;6@{E|KV3o&f$E1&15d%LM}3Tx0dUS=B;NcH!zKxxryoA%{{!$ zJG{$#e8|7~gira5&-qe3C5Pk`FUcj|;v;z_j}(wX62wP*EQNVr@{6DNOMnDQKJk@; zd}Xx7Lvr&cDZ-y6n9g4$g!{zeJU-xlvGag9culxk!9Z5TXx7FU*1=fT#W>c($BZxM2a~M`~IF@q=(m4^^n1Jm}#7?6J`{jrnl>>524#{CTs7k3avO%uM4apQ&xLlWq xa!0PpHMt-UjLKLyC&kPeie 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 diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-ids.63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-ids.63.ttf index a4c49de14f2704dca8faa45c4a4ca9bdbca21db5..c2948e9817f4862ce497c8990f6b6b636363fd0a 100644 GIT binary patch delta 213 zcmdlWvw~}aLOsK4hHVTCj5-Vq3?^x1iABvWnUjG01Q0(xr!sBk^*~D?e+rO4FC8fV z^=@r10|S!@kbf>CH8JJH))YSm24)r@-z)&tSyB hz{)Z4M3oGK0#FqT5HbSkM+fYA9j| zD(2Qaw$xNAxn`}gh8pwj8|8cY<2&cs`>c1J^{i*V>+HSWvodFD(Im?`VMX#hfaL(M zumNKuM@@f+>kgJZtC!(Vw`yWc{-wN>d zHn@7Uad^&$%isuuOGFQgiPihj-(YvX979L+i$rT9H4bZd zHW&o_%2J95P6n5;#p0_4d%>(F?oSFnk?fjD?zfU$C;B5GkGo6^ZIIh#wE z$`d@poBTrpq`ZVm4e2U7F>0cku4bqtwM4B_ zsp_ygsm^JCU0jFhM!L7|r-$e#U7dnzh~9X}8&Z?SWFkimAd^>va$?KH&F|f5az^UHqU0dnCr8d-rya+ zkTOy!n`ycnFig)YC=bIlpJ7^D1!ps@W|+nprU{1W7iyMTrdF#B>WEd`lP<3UHYEQKQPV^buKnceJwxB%4S-{s`W3X%d8cK=^AT; zwb|Nc?f4hd?)IejO!FD0MI3?uFzw^$U+UINW@V{pIRQwoY{tm4v8~&B^ExZ(tp{)# zc=gTlY&iHIXJu2E(y*HX1)vBDp>S4uRyPxO&WtT@(#*WgZ2_;Rnz8R)s{jAYd;+-A zT$*JIawSFE{vxSY#fWnFcRyRobJ{}Q-@T!meJE@s|vA+s5f8Izee(=)?- zxs0pssEo{vjEtRb>*8IHnV{QppAo!aqMUUDRY!%td#d^>UYVsDui2Jno}uQd6gST1 z|JHantFKHz_DlDyR+^D&hDolybwl$_o9GsLfF5bSYpjmfiF&F|)=PD&KA?}8m^1D? zws_n70>8_f?T^czC)yHhiMFXWvlMsz-(R-4ccv{qJ4wP@Y>RVa_azr(t(=xL$xsDU zpq!EIk}jL%g{+c2vQoCnYFVQwZxm#`DrV|Z6va>+rBEAn&=8H$0iDnVz0ey`NI)W{ zI587*@HN&W6=~Rl-Lgxz$!?WH4yX?J5m%65y2Bl05%i!Ji?AqzSdzgk#}C<(t=NG* z7|D+r%TGCxQ)GuKEjyKmT$FWkSsut0d8|T|rP?VwljNlGl)cKKI;oOM%R+IcsFvnf z1<3~0Mv^&8PRUYPBFiKd`62K!8!#{Y;BPi#HM1$pn#R=%AD|gNL5Zp*b%eX1xf6TFWCw6 z*&FlN3v<~M>o^u`I2y_9hqWAoRs0CwI~jwG9FJ{`!w=ZQso2Nq*vo0`jxnr*WgLQV zicy5dD2(4sNBA9a`~W`q1qE;pmGKxg@B+=52W?mY!&wcVun|6IJIr8vq;LRMa};K? zD;BU1MzRLt*$f}CCU$bNa#k^-(N?uqtyFu}MRitPRYxNtHB>ECSB0zEs+y{*>Y3AA zQ-!IXs<-r(bJ9m5rLXjtC`ph3GEk<==Q2a$Wr|FaM42j+Wtv3uYktFhoXhR}fjhX9 zySSCxxSLD4nBQ}g5x4*FD<|i0J{K^V3z@=2M(@^gozcAY+`x@Y;}&jaI`?od|KwfX z<9$BjUwq1E{F~4DQamMx{qHR|<)r6qbCFUyAUR z(H0NM%^#&0f095t_e&5Dh{bt)$b(|%A#w1q6z35s!J|@=$0V4?r4&y{X`Yl2o{}>B zS<3PkDaX@No@b;2f0c?n%X3nh=cS5N;spuiMXAc)q#7?tbzYVl{9S7Diqv9;gfUZU z(hXru=S^wAThfrXr4jE)gwg!Q*vwC`f#a}=6Oa#Q;ES`!iR19b zNh6}CkOw~_7fwLqfcb|w1Wz1B4jh3E2T>KzP#w<^hSw;E`>242=Ktc6(U-qa9uLr( zPG7WSK8#{5#IQC7u@Z)`3WhQi!&nuASs7zl7qP5|ajcK=Y=Dm$ZbUm8OF0%Qhuti@;8d_BQNEt%B#GTuVl${rIc*y#Utv!JjGf? diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-languages.61,62,63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-languages.61,62,63.ttf index c297fcce9eadc5d3017447dc7337c7bcca6f1d4c..9c85cbe3f22de63602133640c12cd177f8e42c35 100644 GIT binary patch delta 220 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 delta 2542 zcmZ`*d3cS-7k=L}a}!HQ>?9=Ly@=Si*kUIXweLGYB6cM-O5HRfLbVOQTH4xTtEET~ zRP1f7v9#2#l8abcYtdTMxlx{{fBfcqX1?>D?>zH-@64R@PP%uxJ<)PbUcG1mz)C>w zkcf$4R~Ed(aA43mq|?K z37+9i{w{t}S!zlh=_R}5kQ|XKN-HnrtqLkXRYnD=Dyq7wtwPlVHC4@0vsI!>QfpPR zI-*XhbJ|yz)*-sN9-s&75qg4NtXJvv+L@x$^Z}i&FX*fKwti+SBP-PEY(-f~)=KMJYpu1>+H9p-JFVSzo4t^|sNG=?v{$kBx6iY$ zafrji;q55sDB|#S1USk&Dmq#@!W`k{ZoiQ1Y(vvc)Iv3cII)ava+ogTrW~eOyu;^G zL8|32O_PI$>3Id^VVD*$OiQc49HzAl(Gx{R)`L-im% zT#wUdV@t@7a9)V+>K}GQ+fxRm`$-nAWiB{fFraYqepz-b%5y zT05*=|6$t4p7@Sw0mHO}!~b8V106%k-Fm_7Y!xXd%%1npVT^1WJGrgbud);0cmSt? z*Iuv6fy4iGRyPY11iM)vKa@aG6wgk}?rq}EnZE6Hsu_26u}6 zF2f{(88b67GIqPIi+4Rf1Kk!}roU#qoOJ`$Ks9>%R!vl_GQVoP=2)6>wwkY&xN#2u zH^$pheQ5%6KDtM>#&naL%1o}kbThN3Ep=NRp~sqijn=U`UMJ{9dbv*42X(rMIpdzk z7HfOAz;EZx@yFzhQ*Cj!cw2(a{EB=1-!)szThkVsGfCVVY>RPYcasaUK~77mWT?W* zU(U!*Ns}$|T-M4yStHwJovc@s*9x*pl``v65~WZYrEumg=nROq7$#Q}!!|>aNNvEsMpuM71+% z6(A|9qb%YaIVH;_NmfWQ3POgG#S zz+E(^LPHWwX+slggfbVJ(-U1-9GzGct>}f$EQYqs17}MXK{xuL2TRc(y=b8i9q3Iv z`m!|ou?z;X90svG!We|XtbmUhilMB6$!vycY=Z=Lz$}y5GuaWJvm55HClc8MU$8qC zasU>vKjyO^HgY1?b37JtFg9=k*75^<=VTN%^CRqF48F%cCg1>PVLxZG4<@hyR&WFw zQH&zAKyh3$72!9;@I83r7Zk=hRL5h~!E>}>espAEjAkuNVRL-S&X~%2~sRMkm!lwO3tKPt`;9Qr(P*)KT?RL)A#tSG82IYHYH( zt_o58)BqVE=VYLS$sidb;SwhiGE`>Cr!re&Wrj?XcuA1yGE*Y?HNW8j&gV{k&t2Tj zJ>1S6+{@)$#_zbrh}-}8rIYixkY8~T7jp@h8ok@VjYjh}F@>9%%5B`rH16Ym{=vJv z$NPN5Klzk@@ozrk3-Od(l1Fk&Uhxud@sa#eM0~}MkNHGO@_`hVLQ+(UNpUG41*HUE z8g22AeEdO5@kjBe^Ct=5L9w`i4|z!JJS+|#kqIvpgr&d0uKrHC~XKyePrEB(->1YV(TJ;crrxSEU{^B!rn# zpDt;@Ytqok>(Yofq%pIk32#bM-jZg#EzNmHLXGCPz*bH{3MXL;C!+w)pb*X?501kN zCyj`nGS`rwkryYRanRf$4#N{ikPAm)!yyFYFVw~}gy0n_;XbP1p}Ai?GWzl-D&qk< z&{+uWSODW#4^ga-VXTG`tbviNiBSy3a8}1eHbgWVV-lO-BR0i{Y-B_`63aOpD>)LY zIU3(`4AyWgR&f;4I1M`)i(QPv9-{|`BwdcnVL2g3<(M2%6;vhJEZ60hWQwb{+>}Rh wS8hm_T$YD&UvA4Cxu;5~qN)Xs(e&#RYhRAIzy)SO5S3 diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-languages.61.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-languages.61.ttf index c1c0aa0110ec74fdf735527432dca7fe30f177bf..a0f21bfacb1908786f929b781cc4d7528f531730 100644 GIT binary patch delta 213 zcmew%_km}ELOsJdhAj*Xj5-Vq3?^x1iABvWnUjG01Q0(xr!q~Mc&ODb5!7*c@z6+k{m zPJVJCLm808z`OxSu;nIJXcjQK@LK={b^rww@)C1XO`e5&0r@w8mQ)nv7nl5>&tL>p g8!+)il?;OdP!$UhG6Lzu|No(65{SP!jZ26X02Jah_Ly;h; znA@7CmYPZ>&#dO6hDv(g(^#v2{O(=%-2Lsl*IDb^XYc*pM?Notk}T)M)r%GYtN?h2 zM~{mdJvnmlTp(8rfY3q1#z*^y>)8e`GWgyg^S#NA#gBp9i3T5y85lL-aO!~8fKNw* z!(xmh$3nOao@H>!nBlQ;Hh&B-IN9Kw!$$Ux!Z>5WXNOt5hDXJf9mPoBTE?-@IIIy- z!v}`m?9#&EbU@-pjT{r3wG`C=->!2GPjGsNn5dhGhZmxal?Rnk8k zs5NacBbeweLx@A7xh(rN58Zc51JaZB}2s$x~Q!mYYigcWJEw_>g3);HF-)>><$wb@Fwc3QjbHoKqQ-|n!7*elt4+vnNW zIK<)Q@O2b$6mk@G1Ut$)$~&4lq8tND-+3)rS%#*YsD&yBcVZb^c$hBZCJ)n_yvtWo zPO5mArpZCW^n!x&GEDOurX^H}hiMJNG}bVkVwirW=BSlwok~$h4O8eqT~gQ4k-DEA zqDSi_y-csu8}&B5Pao5#^kwbR4{Sw);tf&fGQ-r*Dr{LErq!(4|6#h)T5XuFw^FRF z)(&gef0*{LC%t2u-!LuW2>O?4U&nybw_h_WOU1}ZbLhQ2jFDwyJGYhjCM)T!2XGpA zEpwFz4*Azv)g-12>?T2hC<1>3WTjnt^2EpcNH z|F=f=s=hD*o{#QTtuc>jG-Wo|KDv=P)26zmj@F~hxyI=PJxwR-MS6u!)(7=*6LZ$R zk1fIWF2ULRdi?R8b&_q0ZJI67=5A<{|96)yKHIbK z6(nb6r=-aic_nLQpRAGXvQE}3N~VHrQpHVPilI14pfu{BE*hZ;I-)bWqBr_rAf{j% zraLhk^Y9fmAsMOIhP|>!cF10pQx2+*_yJduZl=RsWD)eDH;b?sgIS6ptibo#imlm^ zJsHIh8OM(~iPL45DkHmG1MJqx2HbHUk^h0uwC=)&R*LN{9IK?l0i zj-D)mUMz{eERB9Fizt>sf0o0?jKm;T!bCR0WVS#e+hC^Y>=|r}&)5lb*cD0ag3s9* z3)u$?*cp2FC*dH4>7HjzdzH>4bn>hhH7?1Co^*7 z*$rQ^FGjH@64)FcuoiZ6s&ZB{qR~#ZQLR-6)m3#--Bc$dA~jWQRZm5zI;w^WRrO6b z*HYoCm+B*Zz>P-pHZg^pnaXY4$~5lde%|AK zKHx(>;h%iYzxaYL`C4*FPRS+Sl3RSlSMo_-DI`TDkWcwcit&*Y6hHBo!V)0)rGOOS z-$q-!BoBX(;`~v9==@27c~C4a;A0*VI}eM4N2COgN=Y7*QammpJRzldQp)g@l;vqD z$DgGbxYO{7q``vV`%9)a36{i&v#K(KM*Y3}ID_V?D&NKE|^FCa@tsWP}mz7_8tBe8XW_ z%@O#PBe8~~u!_Tx#>v>p1nlAz>@j+9NRG=1IV>mTs2r0cs+_7Io8`LPmJD%)$t`&z x_vMD%l*{s19?BiLD-To=<*y2>09Di|zOTHN=PIA_R(_HtFO^cVr8f)M{sEK9T2}x7 diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-languages.62.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-languages.62.ttf index bfe70cbee3e497a161cad01a9bd6897d2856eaee..3800b351aa9f967a296ccef0d0f8522cdc75bd5f 100644 GIT binary patch delta 213 zcmdlZw}oedLOsJPhOGjLKLyC&kPeie zF6*Ghz`*1JqUjehZ*L4NyQKFEKaORR;a!AjuEky&=_^ohzQj-sL?j|s8PfS zYSY$?(NbF_*VdXvi;|uj?f>)dxu0|H`91G>&%NLGJmcNwy(cima!y*Ex&UB#z$-j@ zeAJk!kwfMHxnlr?4IVxrIx^r&fYGT&rwumO7X&mY3*>2KbVkgesDVe*2etvc{fw>= zV+@`P;WE0N(ZMkzV&iOK_{iv3qjL=(H6RMz%naU>&EPR2DlT+1BYkQaL!vQQBcnzP z3cKC4h0!Yki5op?Y;5)tR0VuW%sx8N=@nvD-9|h-5N&38Q3&3d;!q%-s-eO=$vFKq#V(*hR4q_=sWucWM0 z&LQ0`hYjgP1?6E#3mDRpDkO)rx*?4jV0PKCQ26mwssT4~#dU&ZUOb*D7jRIiyvs+W#S4VXZc#>#fb!HfyJ~ z=Rc%9?J55wEnrBCIRgJ7?dKR+`tECHXR8=FWe&Yh4l%NAZ10}EeUqK?&H^+t^2Xa$ zIdbSf#wzB)l!4tmpyDWoBJj)Jo!!H%yI}hEx9Miw>7D^^l1)D}*Y4pvx3Y)+w>!-? zSTmg|{op)1aOdbw7)%DL(pYZI68$$y(G$mQoM>SESy7qXh0`(v~6 zXL)9tqsqMDUXz)XnVGrQJ-htC;}g(5a|Z?9GD*(6g{rF}-hKP22-QF(DD&rx**KyZ zXQ}yWvHOp&)InV|a-s=3p^HfYeb5(! zkccEq$0wMFFR=+}NXK^UmwmER_N!cSSarg8xQ#>XR!ABOLf~bbDnE+C9~P<`M=NKNQ5(F6=4gpv48&NIh+<5J z8zq0iiDmc-i?9ScFpWL%GrmU#uHq~%;~H+@PbYrGLp*0e=3!p?;10_%oE2EfWUw0Y zhD|wy{W*w(O+IVIk5CvFq40z8>PrYjmhtkNaNrh#j5n3SU4-BsYT-3P@f)h)g~^3~ zp)4MtJ{9VbXh<6xP$QDL(3qZZcBCKLvk02e8y#2_t(Y54Ss0yJ99SyDT4%5wK4oXjW;dj;D?Vcv zEM#9SU?0q9Z)|jOJl1n8QaJz{I1X$1KE7crws0bLG9KUJ0F!ZuGjWhJ*c0Pe7b`dn z5fqc<;G_?1#~;i3B#s`>ch%oTjRpLeO5dRc%y9)lGF(-Bo8(7;388s-B6>I;y$~Q}s>2 z)>7fBx9Tf><%0B+DCsW)WsoFFv<#M+^0Ca41eq>VB}tNHn#_^v$C9+Q$hF2Ot@rI;ZhJSnAlO3LuGgz}7( z<&RR1KS_C>l?ps375TGN;(1<>D!eFFr7|x`HC~o5UXkj&Dm8dbYVsGU<>Ym#%}fbr zmeiq3>hgxv<4uX+Eve7j(tvlQA@52f-jl|>FOjB>H^DYe#%4~yR!%|zoP#gUBR5XM z8>dZSJcE4r5qWS58i&n$!BKeP7;@n_Y&e22{DB&HiEz9@c{m@TBA%F+hNq@z{EiBE zjJEVeYZky5)DgFqBm=p7jvN`k255n8=3sfDxt;$6z^!VkL)T zHAmuWj=~y_#ww1$ZcfE6CSVT}vCpLZBa$H}<*1x$A;;x}98+agdD$X2<*sCjOYX>1 xc_6pswp^7b@<{HBk%iu=fGd7<(vFXb!Q@=_@!Tl?_5{u{+bTsZ&$ diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-languages.63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-languages.63.ttf index 3a48ae95c8de5bd493505db0aa3ddbb5affec636..0d22effb7dd3a22e9ca9bb4fed865d4b1d5884e7 100644 GIT binary patch delta 213 zcmdlWw}NMaLOsK4hHVTCj5-Vq3?^x1iABvWnUjG01Q0(xr!sBk^*~D?e+rO4FC8fV z^=@r10|S!@kbf>CH8JJH))YSm24)r@-z)Zg#ar8p1~30 z!^TVv9WoEd6$zl`;NcS@7N>OxGI)u>%LbeG&#q3M1LO`dI5jdnY|ydfL2UsqFN14G z8b^*ra2XtGaOubqQPKJ^1{v($FX!-41H;hHSnwKcCXW$e(Sf5G>Rs13qK(5E88#xk z=B;k63|<6C^ypDzqcWGHI^dme?y-qZ&j7RP7GmIm2xH|z6$D`lThPfbIFBot$W)%^ zZT>EPQb}q^9qA!^`<*f=RKUG?lQ~+PSJ<-DSb&_(|7d?TM7T^{>%JdSoy3%mcQk& z0<5Z54J+6Ru^L#RR!1w!T4{Y_eQT|^Hd|Y*WNWvz*KV`>*bCbo_5gcjdtdu}`#Og> zJRIJR0**qCVvdrIKt}~f3rCnEyzJdql9_2}x`|q-ieM*JuvHe*72J}=^cL^&rIeSd zSxi&ph+%qBL3tRa`3=)jDjkXg^(A*VCbTfF7#H z=mfn&Z_u0d4t+qM)MxY+?a~iy#r$IoQRfQ7)W`C*tSqM0t)TxfU2Uy3OgCCd)^=-` zwdX%fd)X7-GtF<97Ipal%e22^P}w`Ln3<^}CDj~y-z>(+w6TNRdiy3b;hhI?8hHKf znk+c9F3pS`Z|dez19DJW;_F2$*wK# z6|OkfP1jS`B3HDzd%K)#ToqjPjk}r4q-gf#D(NcX@^vxemJ1mzfsCk(d>J{?&B>)- zcdtp$NKa4S>$Wc6_m~5^Eq9IJE#u^Z8>kS~Ap5BrsaRz`)p$)>nt8Tbpq9CD7XNof z_N=}%3$k9iXSL3ZL^I6h+DkVvXWCr1))9KNIoD_%tK)RMUZPj&M14e`GHcGe_p!y= z-Um2)-z^0a89(3}(oJ``hfIPV^kh*MXGxY}04wrCwqaX#W^ab^ zV@7i_r*MYsQRQT>@{r52S+2?>xh79lpt4j)WoLq%Q90zGa;UDVjMB1HoXb=jQ&uG< zNwt?HoGWK#m8_K2l86Ejc$x&v2VWF3$ym!IWd+l?+TsJW#D^$ty5LyTv?B2-M#*av z%9Z#UOR*d~F`Yf}3x32YT){b9##LO$-}oI5@QekRn|bJs+pNG~Co8dv>2|f{4V!Za z2QZw2P48>XPf-XLp>Wt#z$N%2!&Jl#IB*jsO{$f_9R%Pm>f#jw@ds+)x#^p)Q6Bfv zkP7ulG^P!Ws1eGXXv!Su#3Jax!e~J+bfhm@GZ&oASqNR|hi)uEfApY*UUZ-*?dZ)? z=)=E`A8h7$Y~)xh;XrKSIIQPK_|C~FY~@7kVhp~=0mkDHXW<}cvKPiN1gkj=4Jbwt znxP1OH67tM#P9=n<7X5^8mi$b>fj|>F)!M)AV#tlK4DXQ#*UcHPFThWY~UEoV-GB5 ze~e}w#IhwmVqNUzbmgpWM5BXhr`oDcs=Ml@dZ;c&MCzy@RbMqw^;9iYQ#CZzTvr9F zKB}MelQiisVKP7lNw`dt2pKH1DI~?jk5Bnbit~{a6dx%pzEVW;O93g$*G5}B zBoBX(68us8={zhYc|hL$I%WD$EbO~mL)T2v6 zcwOo{c|#iTrZnU&X~f&on0KTJ?@CkNlTf4i&9I%HAc+&Ojgycc=i!43$c5AJ!Wko? zXOR~_AvaQ?am4&X977HqM^2o84M$NEf1x&BAQ*2@5f4!rkInzZ6QeJGq7ojV9i2XC z!~7V-AVjeqhOjDzu{wsc21c+ZhO!#Qvp%BP5EIx46WJIavw;!qNUY*ee8b^b%aQn& zqp*&nv4$g%!l~HJSnT06>@#|BR8GlhIVP!cLQcwYRbEw;t#U)|NQSs-%WZig_vNPC tk}L999?D(0Cl6FnRap6|BC42Cd~bOr&s9FXTx diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-legacy.61,62,63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-legacy.61,62,63.ttf index c297fcce9eadc5d3017447dc7337c7bcca6f1d4c..9c85cbe3f22de63602133640c12cd177f8e42c35 100644 GIT binary patch delta 220 zcmdm@vPEcuLOqi(<7@^7MjZwQ2CKBP#G+=G%t=6g29R%(o>Q6jMc?2tkUxikfypWz zC?ECW3M&Hx^9>+hCnGg6<;2z$KL!Ri7NB~w44?q}42CB_z73GCl95|d!KKUa8^})p z@&$78lM@*yGn@nR3xIsC+{6lv0!BA}3!p#^P(UFsF*nuZS-2OF53;bLAiuce|9l1` s1_sWF$E#Hs)PRaufRGVLC;$HsBoo0TBT$Ti;V{E}h6kI|xX!Ty0IcUWeE=^Y!ue0sFBgt zZ+35Gu=|1WV@8jQ%UO!5fbZ->lbl|m#^@#z;DH!3%8$yZgDGr5CqLyJE@v7~@+@!h zHz_U^rJB@|p0Z00$q~7tw92P^l&>nTLR48*NmWrbRiqlPrl^@}mP%F2)moLNj;K@W zybjc*bcAlI`|Ck^xE`+;>s5NacBbo0eLx@A7xh(rM?bff44M|SB}I z3b(3R5mr5`ffZ?Wvf`}e)>qco)>><$wb{zBc3QjbHoKp_sNG=?wO6wDv(K}yafrji z;p6ai6mbMPf*s`?6&x)bQI6;`cV0?Pj-lx$Y9SmEPAp@qT&ByoDVOO@-sKA^FX6dN zGv%ORdO<;X7^Z~`(^4ulmuU^dG|n(hGE6^Fv(-wqPNl1(hADJ$9ir>%NIg&w(_?k2 zUZ&USje48jr;q7V`m%QE`?kQK1Vhxh%rNz{{4Fb&X;rJvf0(YcRvV`4t#oUvwZq!= zAEv$SssCeI$S^JD2>OTV0LS1mw_h?RN5zV94C$B47&$g}bdTP=&Pjc%0h$H^F5{B_HdnAKz~%2^_DvVETblK8*#)yb zv&>OtnMg5xc2-u_ZujWYJ&%t;_XsW{Zt|MjM_M&>1V0= zYKi+rTf23i8CjA$YkIZDNSYC|ozAD5m}6_M+vpfQ#vEO|PSnXdMK97TbecY>j~kn_ z?v=JgTdI3MCu|A1c#18_mTXJ0nWz1KdpnzJk(j$G>Fum7!Dg_#$wk>9XCyz1=*xZ8tNrb5~WZEbx{vZoM?tF=!PEXhyI905|S|; zA7dWAz$T<21KY4y_Q(#|tMbS})dk<-DzZ$(-$f2V4|=f}OE8$F8OkuWW?Qyn7xrNk z-(x&K;1o`mU8=0?RvvOmHp&%wC|Bi)DyJ;fNjdFIl~c-7_A7_#rb;U*Q$DQWP9z{@yQLHHvO7HSwrt6*|bJG_IIXpImI#yFFRV(}qH%PTms z9A9EFmSQ`mu@`>E_c)HrID<>Lf@}E8iQjM^PwC6N%ugTOVg*L9A}gB=R#RTHIfrr} zqdCOnvo`z?MQ{NMKNzpRh#+JeFTV~4ZXnorQ)%2rDDI%P$*$$_JF4NC$%U^_9{13Y z3iU}erVWj#5y?DgN>4aDGXNb~6fKw!o#>A?^hR?QL01+>ca~%jdeTB~I?#)D^kFIV zWe5ha3tmJSspqMP* z3<3DXMES2s;5+caPbiG@sDdY`g%@bW0_ecP7{wZx%%=E=oiK}?v4k;L$FZ2ho^XE7 z0T{ztNMuXA%i7q@X{xFz1RYg-)lPL*JydtqQ*||kp_Zzn>YLcCt7@p~s-X$k+A2cz zRsE&EoRX+1`5EVNAwTCLF6I(0H8pGlH<~)OiRs+T3~u9AW^y0*^LO6keLmo0 z{=sMblYj9!Uy7&X5pVI5ypm6Rq@Wa#A`&RY`GilU1RqLa@spzBF9A|WoW4?wuS~)4 zko^2kO7eRN;tvwcgJN+3AMudbc~~4gBBgj#LU>F{^SFfagp}b)Da%t*j;EzOf0PRR zNy2zWD)OvU;?Gi<=XhSK@Pbs8a9)&Zyd>56i`3v{smUu+i@!>3C$CB!W=RCIr7m4k zkJqF=uS)~okcPY|jd)8M^R_hM9cjwD5^3sqGi>E#q;n#+a1sjPEc|c|-Z+7LIAsds zX%xVZ$ZPHt8VAk2;4nOK1bJ{2HXK5A{E3=)jtIO)7@QAK36IRB;jt+if1n~BqCNf4 zmW42ubr8q87|L)AXH|?~HH>6+3}Y2cV12~1AttgB-e+UH#|EYl$6^JC;VX{7YL3F! z9E~*`gH;@fOism4CSn(pu*anQLvmbB$YD9zN{-4gIikv|Fxf2E<+fytOK!Q5&K``_fkUs~AyV8O3 zx7({XFfcG{0Qof;sfj5kwx;+oFt98EsyE933b4;$cnsv<0rFKca!V@MvltdKFt7r- z3_Lmc$%zbQ3`c={9w471H?cyafYFuT0w^E?6i~=Z%uO|U7VZV)n=mjiRTShGm;9g4 tV8p<{KJj?93Iotq1~vv321W)ZhD3(s|Nnt}2%W@G3ls%{&1qa|Yyjw!G~WOK delta 2542 zcmZ`*d3cS-7k=L}a}!HQ>?9=Ly@=Si*kUIXweLGYB6cM-O5HRfLbVOQTH4xTtEET~ zRP1f7v9#2#l8abcYtdTMxlx{{fBfcqX1?>D?>zH-@64R@PP%uxJ<)PbUcG1mz)C>w zkcf$4R~Ed(aA43mq|?K z37+9i{w{t}S!zlh=_R}5kQ|XKN-HnrtqLkXRYnD=Dyq7wtwPlVHC4@0vsI!>QfpPR zI-*XhbJ|yz)*-sN9-s&75qg4NtXJvv+L@x$^Z}i&FX*fKwti+SBP-PEY(-f~)=KMJYpu1>+H9p-JFVSzo4t^|sNG=?v{$kBx6iY$ zafrji;q55sDB|#S1USk&Dmq#@!W`k{ZoiQ1Y(vvc)Iv3cII)ava+ogTrW~eOyu;^G zL8|32O_PI$>3Id^VVD*$OiQc49HzAl(Gx{R)`L-im% zT#wUdV@t@7a9)V+>K}GQ+fxRm`$-nAWiB{fFraYqepz-b%5y zT05*=|6$t4p7@Sw0mHO}!~b8V106%k-Fm_7Y!xXd%%1npVT^1WJGrgbud);0cmSt? z*Iuv6fy4iGRyPY11iM)vKa@aG6wgk}?rq}EnZE6Hsu_26u}6 zF2f{(88b67GIqPIi+4Rf1Kk!}roU#qoOJ`$Ks9>%R!vl_GQVoP=2)6>wwkY&xN#2u zH^$pheQ5%6KDtM>#&naL%1o}kbThN3Ep=NRp~sqijn=U`UMJ{9dbv*42X(rMIpdzk z7HfOAz;EZx@yFzhQ*Cj!cw2(a{EB=1-!)szThkVsGfCVVY>RPYcasaUK~77mWT?W* zU(U!*Ns}$|T-M4yStHwJovc@s*9x*pl``v65~WZYrEumg=nROq7$#Q}!!|>aNNvEsMpuM71+% z6(A|9qb%YaIVH;_NmfWQ3POgG#S zz+E(^LPHWwX+slggfbVJ(-U1-9GzGct>}f$EQYqs17}MXK{xuL2TRc(y=b8i9q3Iv z`m!|ou?z;X90svG!We|XtbmUhilMB6$!vycY=Z=Lz$}y5GuaWJvm55HClc8MU$8qC zasU>vKjyO^HgY1?b37JtFg9=k*75^<=VTN%^CRqF48F%cCg1>PVLxZG4<@hyR&WFw zQH&zAKyh3$72!9;@I83r7Zk=hRL5h~!E>}>espAEjAkuNVRL-S&X~%2~sRMkm!lwO3tKPt`;9Qr(P*)KT?RL)A#tSG82IYHYH( zt_o58)BqVE=VYLS$sidb;SwhiGE`>Cr!re&Wrj?XcuA1yGE*Y?HNW8j&gV{k&t2Tj zJ>1S6+{@)$#_zbrh}-}8rIYixkY8~T7jp@h8ok@VjYjh}F@>9%%5B`rH16Ym{=vJv z$NPN5Klzk@@ozrk3-Od(l1Fk&Uhxud@sa#eM0~}MkNHGO@_`hVLQ+(UNpUG41*HUE z8g22AeEdO5@kjBe^Ct=5L9w`i4|z!JJS+|#kqIvpgr&d0uKrHC~XKyePrEB(->1YV(TJ;crrxSEU{^B!rn# zpDt;@Ytqok>(Yofq%pIk32#bM-jZg#EzNmHLXGCPz*bH{3MXL;C!+w)pb*X?501kN zCyj`nGS`rwkryYRanRf$4#N{ikPAm)!yyFYFVw~}gy0n_;XbP1p}Ai?GWzl-D&qk< z&{+uWSODW#4^ga-VXTG`tbviNiBSy3a8}1eHbgWVV-lO-BR0i{Y-B_`63aOpD>)LY zIU3(`4AyWgR&f;4I1M`)i(QPv9-{|`BwdcnVL2g3<(M2%6;vhJEZ60hWQwb{+>}Rh wS8hm_T$YD&UvA4Cxu;5~qN)Xs(e&#RYhRAIzy)SO5S3 diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-legacy.61.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-legacy.61.ttf index c1c0aa0110ec74fdf735527432dca7fe30f177bf..a0f21bfacb1908786f929b781cc4d7528f531730 100644 GIT binary patch delta 213 zcmew%_km}ELOsJdhAj*Xj5-Vq3?^x1iABvWnUjG01Q0(xr!q~Mc&ODb5!7*c@z6+k{m zPJVJCLm808z`OxSu;nIJXcjQK@LK={b^rww@)C1XO`e5&0r@w8mQ)nv7nl5>&tL>p g8!+)il?;OdP!$UhG6Lzu|No(65{SP!jZ26X02Jah_Ly;h; znA@7CmYPZ>&#dO6hDv(g(^#v2{O(=%-2Lsl*IDb^XYc*pM?Notk}T)M)r%GYtN?h2 zM~{mdJvnmlTp(8rfY3q1#z*^y>)8e`GWgyg^S#NA#gBp9i3T5y85lL-aO!~8fKNw* z!(xmh$3nOao@H>!nBlQ;Hh&B-IN9Kw!$$Ux!Z>5WXNOt5hDXJf9mPoBTE?-@IIIy- z!v}`m?9#&EbU@-pjT{r3wG`C=->!2GPjGsNn5dhGhZmxal?Rnk8k zs5NacBbeweLx@A7xh(rN58Zc51JaZB}2s$x~Q!mYYigcWJEw_>g3);HF-)>><$wb@Fwc3QjbHoKqQ-|n!7*elt4+vnNW zIK<)Q@O2b$6mk@G1Ut$)$~&4lq8tND-+3)rS%#*YsD&yBcVZb^c$hBZCJ)n_yvtWo zPO5mArpZCW^n!x&GEDOurX^H}hiMJNG}bVkVwirW=BSlwok~$h4O8eqT~gQ4k-DEA zqDSi_y-csu8}&B5Pao5#^kwbR4{Sw);tf&fGQ-r*Dr{LErq!(4|6#h)T5XuFw^FRF z)(&gef0*{LC%t2u-!LuW2>O?4U&nybw_h_WOU1}ZbLhQ2jFDwyJGYhjCM)T!2XGpA zEpwFz4*Azv)g-12>?T2hC<1>3WTjnt^2EpcNH z|F=f=s=hD*o{#QTtuc>jG-Wo|KDv=P)26zmj@F~hxyI=PJxwR-MS6u!)(7=*6LZ$R zk1fIWF2ULRdi?R8b&_q0ZJI67=5A<{|96)yKHIbK z6(nb6r=-aic_nLQpRAGXvQE}3N~VHrQpHVPilI14pfu{BE*hZ;I-)bWqBr_rAf{j% zraLhk^Y9fmAsMOIhP|>!cF10pQx2+*_yJduZl=RsWD)eDH;b?sgIS6ptibo#imlm^ zJsHIh8OM(~iPL45DkHmG1MJqx2HbHUk^h0uwC=)&R*LN{9IK?l0i zj-D)mUMz{eERB9Fizt>sf0o0?jKm;T!bCR0WVS#e+hC^Y>=|r}&)5lb*cD0ag3s9* z3)u$?*cp2FC*dH4>7HjzdzH>4bn>hhH7?1Co^*7 z*$rQ^FGjH@64)FcuoiZ6s&ZB{qR~#ZQLR-6)m3#--Bc$dA~jWQRZm5zI;w^WRrO6b z*HYoCm+B*Zz>P-pHZg^pnaXY4$~5lde%|AK zKHx(>;h%iYzxaYL`C4*FPRS+Sl3RSlSMo_-DI`TDkWcwcit&*Y6hHBo!V)0)rGOOS z-$q-!BoBX(;`~v9==@27c~C4a;A0*VI}eM4N2COgN=Y7*QammpJRzldQp)g@l;vqD z$DgGbxYO{7q``vV`%9)a36{i&v#K(KM*Y3}ID_V?D&NKE|^FCa@tsWP}mz7_8tBe8XW_ z%@O#PBe8~~u!_Tx#>v>p1nlAz>@j+9NRG=1IV>mTs2r0cs+_7Io8`LPmJD%)$t`&z x_vMD%l*{s19?BiLD-To=<*y2>09Di|zOTHN=PIA_R(_HtFO^cVr8f)M{sEK9T2}x7 diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-legacy.62.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-legacy.62.ttf index bfe70cbee3e497a161cad01a9bd6897d2856eaee..3800b351aa9f967a296ccef0d0f8522cdc75bd5f 100644 GIT binary patch delta 213 zcmdlZw}oedLOsJPhOGjLKLyC&kPeie zF6*Ghz`*1JqUjehZ*L4NyQKFEKaORR;a!AjuEky&=_^ohzQj-sL?j|s8PfS zYSY$?(NbF_*VdXvi;|uj?f>)dxu0|H`91G>&%NLGJmcNwy(cima!y*Ex&UB#z$-j@ zeAJk!kwfMHxnlr?4IVxrIx^r&fYGT&rwumO7X&mY3*>2KbVkgesDVe*2etvc{fw>= zV+@`P;WE0N(ZMkzV&iOK_{iv3qjL=(H6RMz%naU>&EPR2DlT+1BYkQaL!vQQBcnzP z3cKC4h0!Yki5op?Y;5)tR0VuW%sx8N=@nvD-9|h-5N&38Q3&3d;!q%-s-eO=$vFKq#V(*hR4q_=sWucWM0 z&LQ0`hYjgP1?6E#3mDRpDkO)rx*?4jV0PKCQ26mwssT4~#dU&ZUOb*D7jRIiyvs+W#S4VXZc#>#fb!HfyJ~ z=Rc%9?J55wEnrBCIRgJ7?dKR+`tECHXR8=FWe&Yh4l%NAZ10}EeUqK?&H^+t^2Xa$ zIdbSf#wzB)l!4tmpyDWoBJj)Jo!!H%yI}hEx9Miw>7D^^l1)D}*Y4pvx3Y)+w>!-? zSTmg|{op)1aOdbw7)%DL(pYZI68$$y(G$mQoM>SESy7qXh0`(v~6 zXL)9tqsqMDUXz)XnVGrQJ-htC;}g(5a|Z?9GD*(6g{rF}-hKP22-QF(DD&rx**KyZ zXQ}yWvHOp&)InV|a-s=3p^HfYeb5(! zkccEq$0wMFFR=+}NXK^UmwmER_N!cSSarg8xQ#>XR!ABOLf~bbDnE+C9~P<`M=NKNQ5(F6=4gpv48&NIh+<5J z8zq0iiDmc-i?9ScFpWL%GrmU#uHq~%;~H+@PbYrGLp*0e=3!p?;10_%oE2EfWUw0Y zhD|wy{W*w(O+IVIk5CvFq40z8>PrYjmhtkNaNrh#j5n3SU4-BsYT-3P@f)h)g~^3~ zp)4MtJ{9VbXh<6xP$QDL(3qZZcBCKLvk02e8y#2_t(Y54Ss0yJ99SyDT4%5wK4oXjW;dj;D?Vcv zEM#9SU?0q9Z)|jOJl1n8QaJz{I1X$1KE7crws0bLG9KUJ0F!ZuGjWhJ*c0Pe7b`dn z5fqc<;G_?1#~;i3B#s`>ch%oTjRpLeO5dRc%y9)lGF(-Bo8(7;388s-B6>I;y$~Q}s>2 z)>7fBx9Tf><%0B+DCsW)WsoFFv<#M+^0Ca41eq>VB}tNHn#_^v$C9+Q$hF2Ot@rI;ZhJSnAlO3LuGgz}7( z<&RR1KS_C>l?ps375TGN;(1<>D!eFFr7|x`HC~o5UXkj&Dm8dbYVsGU<>Ym#%}fbr zmeiq3>hgxv<4uX+Eve7j(tvlQA@52f-jl|>FOjB>H^DYe#%4~yR!%|zoP#gUBR5XM z8>dZSJcE4r5qWS58i&n$!BKeP7;@n_Y&e22{DB&HiEz9@c{m@TBA%F+hNq@z{EiBE zjJEVeYZky5)DgFqBm=p7jvN`k255n8=3sfDxt;$6z^!VkL)T zHAmuWj=~y_#ww1$ZcfE6CSVT}vCpLZBa$H}<*1x$A;;x}98+agdD$X2<*sCjOYX>1 xc_6pswp^7b@<{HBk%iu=fGd7<(vFXb!Q@=_@!Tl?_5{u{+bTsZ&$ diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-legacy.63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.name-legacy.63.ttf index 3a48ae95c8de5bd493505db0aa3ddbb5affec636..0d22effb7dd3a22e9ca9bb4fed865d4b1d5884e7 100644 GIT binary patch delta 213 zcmdlWw}NMaLOsK4hHVTCj5-Vq3?^x1iABvWnUjG01Q0(xr!sBk^*~D?e+rO4FC8fV z^=@r10|S!@kbf>CH8JJH))YSm24)r@-z)Zg#ar8p1~30 z!^TVv9WoEd6$zl`;NcS@7N>OxGI)u>%LbeG&#q3M1LO`dI5jdnY|ydfL2UsqFN14G z8b^*ra2XtGaOubqQPKJ^1{v($FX!-41H;hHSnwKcCXW$e(Sf5G>Rs13qK(5E88#xk z=B;k63|<6C^ypDzqcWGHI^dme?y-qZ&j7RP7GmIm2xH|z6$D`lThPfbIFBot$W)%^ zZT>EPQb}q^9qA!^`<*f=RKUG?lQ~+PSJ<-DSb&_(|7d?TM7T^{>%JdSoy3%mcQk& z0<5Z54J+6Ru^L#RR!1w!T4{Y_eQT|^Hd|Y*WNWvz*KV`>*bCbo_5gcjdtdu}`#Og> zJRIJR0**qCVvdrIKt}~f3rCnEyzJdql9_2}x`|q-ieM*JuvHe*72J}=^cL^&rIeSd zSxi&ph+%qBL3tRa`3=)jDjkXg^(A*VCbTfF7#H z=mfn&Z_u0d4t+qM)MxY+?a~iy#r$IoQRfQ7)W`C*tSqM0t)TxfU2Uy3OgCCd)^=-` zwdX%fd)X7-GtF<97Ipal%e22^P}w`Ln3<^}CDj~y-z>(+w6TNRdiy3b;hhI?8hHKf znk+c9F3pS`Z|dez19DJW;_F2$*wK# z6|OkfP1jS`B3HDzd%K)#ToqjPjk}r4q-gf#D(NcX@^vxemJ1mzfsCk(d>J{?&B>)- zcdtp$NKa4S>$Wc6_m~5^Eq9IJE#u^Z8>kS~Ap5BrsaRz`)p$)>nt8Tbpq9CD7XNof z_N=}%3$k9iXSL3ZL^I6h+DkVvXWCr1))9KNIoD_%tK)RMUZPj&M14e`GHcGe_p!y= z-Um2)-z^0a89(3}(oJ``hfIPV^kh*MXGxY}04wrCwqaX#W^ab^ zV@7i_r*MYsQRQT>@{r52S+2?>xh79lpt4j)WoLq%Q90zGa;UDVjMB1HoXb=jQ&uG< zNwt?HoGWK#m8_K2l86Ejc$x&v2VWF3$ym!IWd+l?+TsJW#D^$ty5LyTv?B2-M#*av z%9Z#UOR*d~F`Yf}3x32YT){b9##LO$-}oI5@QekRn|bJs+pNG~Co8dv>2|f{4V!Za z2QZw2P48>XPf-XLp>Wt#z$N%2!&Jl#IB*jsO{$f_9R%Pm>f#jw@ds+)x#^p)Q6Bfv zkP7ulG^P!Ws1eGXXv!Su#3Jax!e~J+bfhm@GZ&oASqNR|hi)uEfApY*UUZ-*?dZ)? z=)=E`A8h7$Y~)xh;XrKSIIQPK_|C~FY~@7kVhp~=0mkDHXW<}cvKPiN1gkj=4Jbwt znxP1OH67tM#P9=n<7X5^8mi$b>fj|>F)!M)AV#tlK4DXQ#*UcHPFThWY~UEoV-GB5 ze~e}w#IhwmVqNUzbmgpWM5BXhr`oDcs=Ml@dZ;c&MCzy@RbMqw^;9iYQ#CZzTvr9F zKB}MelQiisVKP7lNw`dt2pKH1DI~?jk5Bnbit~{a6dx%pzEVW;O93g$*G5}B zBoBX(68us8={zhYc|hL$I%WD$EbO~mL)T2v6 zcwOo{c|#iTrZnU&X~f&on0KTJ?@CkNlTf4i&9I%HAc+&Ojgycc=i!43$c5AJ!Wko? zXOR~_AvaQ?am4&X977HqM^2o84M$NEf1x&BAQ*2@5f4!rkInzZ6QeJGq7ojV9i2XC z!~7V-AVjeqhOjDzu{wsc21c+ZhO!#Qvp%BP5EIx46WJIavw;!qNUY*ee8b^b%aQn& zqp*&nv4$g%!l~HJSnT06>@#|BR8GlhIVP!cLQcwYRbEw;t#U)|NQSs-%WZig_vNPC tk}L999?D(0Cl6FnRap6|BC42Cd~bOr&s9FXTx diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.no-prune-unicode-ranges.61,62,63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.no-prune-unicode-ranges.61,62,63.ttf index e3964757cbeff8e7d987c97e12eed8a648a7def1..9182de1d53642c06701b09839058aeb5a1dadcf1 100644 GIT binary patch delta 220 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 delta 2542 zcmZ`*d3cS-7k=L}a}!HQ>?9=Ly@=Si*kUIXweLGYB6cM-O5HRfLbVOQTH4xTtEET~ zRP1f7v9#2#l8abcYtdTMxlx{{fBfcqX1?>D?>zH-@64R@PP%uxJ<)PbUcG1mz)C>w zkcf$4R~Ed(aA43mq|?K z37+9i{w{t}S!zlh=_R}5kQ|XKN-HnrtqLkXRYnD=Dyq7wtwPlVHC4@0vsI!>QfpPR zI-*XhbJ|yz)*-sN9-s&75qg4NtXJvv+L@x$^Z}i&FX*fKwti+SBP-PEY(-f~)=KMJYpu1>+H9p-JFVSzo4t^|sNG=?v{$kBx6iY$ zafrji;q55sDB|#S1USk&Dmq#@!W`k{ZoiQ1Y(vvc)Iv3cII)ava+ogTrW~eOyu;^G zL8|32O_PI$>3Id^VVD*$OiQc49HzAl(Gx{R)`L-im% zT#wUdV@t@7a9)V+>K}GQ+fxRm`$-nAWiB{fFraYqepz-b%5y zT05*=|6$t4p7@Sw0mHO}!~b8V106%k-Fm_7Y!xXd%%1npVT^1WJGrgbud);0cmSt? z*Iuv6fy4iGRyPY11iM)vKa@aG6wgk}?rq}EnZE6Hsu_26u}6 zF2f{(88b67GIqPIi+4Rf1Kk!}roU#qoOJ`$Ks9>%R!vl_GQVoP=2)6>wwkY&xN#2u zH^$pheQ5%6KDtM>#&naL%1o}kbThN3Ep=NRp~sqijn=U`UMJ{9dbv*42X(rMIpdzk z7HfOAz;EZx@yFzhQ*Cj!cw2(a{EB=1-!)szThkVsGfCVVY>RPYcasaUK~77mWT?W* zU(U!*Ns}$|T-M4yStHwJovc@s*9x*pl``v65~WZYrEumg=nROq7$#Q}!!|>aNNvEsMpuM71+% z6(A|9qb%YaIVH;_NmfWQ3POgG#S zz+E(^LPHWwX+slggfbVJ(-U1-9GzGct>}f$EQYqs17}MXK{xuL2TRc(y=b8i9q3Iv z`m!|ou?z;X90svG!We|XtbmUhilMB6$!vycY=Z=Lz$}y5GuaWJvm55HClc8MU$8qC zasU>vKjyO^HgY1?b37JtFg9=k*75^<=VTN%^CRqF48F%cCg1>PVLxZG4<@hyR&WFw zQH&zAKyh3$72!9;@I83r7Zk=hRL5h~!E>}>espAEjAkuNVRL-S&X~%2~sRMkm!lwO3tKPt`;9Qr(P*)KT?RL)A#tSG82IYHYH( zt_o58)BqVE=VYLS$sidb;SwhiGE`>Cr!re&Wrj?XcuA1yGE*Y?HNW8j&gV{k&t2Tj zJ>1S6+{@)$#_zbrh}-}8rIYixkY8~T7jp@h8ok@VjYjh}F@>9%%5B`rH16Ym{=vJv z$NPN5Klzk@@ozrk3-Od(l1Fk&Uhxud@sa#eM0~}MkNHGO@_`hVLQ+(UNpUG41*HUE z8g22AeEdO5@kjBe^Ct=5L9w`i4|z!JJS+|#kqIvpgr&d0uKrHC~XKyePrEB(->1YV(TJ;crrxSEU{^B!rn# zpDt;@Ytqok>(Yofq%pIk32#bM-jZg#EzNmHLXGCPz*bH{3MXL;C!+w)pb*X?501kN zCyj`nGS`rwkryYRanRf$4#N{ikPAm)!yyFYFVw~}gy0n_;XbP1p}Ai?GWzl-D&qk< z&{+uWSODW#4^ga-VXTG`tbviNiBSy3a8}1eHbgWVV-lO-BR0i{Y-B_`63aOpD>)LY zIU3(`4AyWgR&f;4I1M`)i(QPv9-{|`BwdcnVL2g3<(M2%6;vhJEZ60hWQwb{+>}Rh wS8hm_T$YD&UvA4Cxu;5~qN)Xs(e&#RYhRAIzy)SO5S3 diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.no-prune-unicode-ranges.61.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.no-prune-unicode-ranges.61.ttf index 896ba91b65738279b2b292c411c5c7daa4a6e310..9c3e125fcaeb55e216a41148c76b53ef2eb9d01a 100644 GIT binary patch delta 213 zcmew%_km}ELOsJdhAj*Xj5-Vq3?^x1iABvWnUjG01Q0(xr!q~Mc&ODb5!7*c@z6+k{m zPJVJCLm808z`OxSu;nIJXcjQK@LK={b^rww@)C1XO`e5&0r@w8mQ)nv7nl5>&tL>p g8!+)il?;OdP!$UhG6Lzu|No(65{SP!jZ26X02Jah_Ly;h; znA@7CmYPZ>&#dO6hDv(g(^#v2{O(=%-2Lsl*IDb^XYc*pM?Notk}T)M)r%GYtN?h2 zM~{mdJvnmlTp(8rfY3q1#z*^y>)8e`GWgyg^S#NA#gBp9i3T5y85lL-aO!~8fKNw* z!(xmh$3nOao@H>!nBlQ;Hh&B-IN9Kw!$$Ux!Z>5WXNOt5hDXJf9mPoBTE?-@IIIy- z!v}`m?9#&EbU@-pjT{r3wG`C=->!2GPjGsNn5dhGhZmxal?Rnk8k zs5NacBbeweLx@A7xh(rN58Zc51JaZB}2s$x~Q!mYYigcWJEw_>g3);HF-)>><$wb@Fwc3QjbHoKqQ-|n!7*elt4+vnNW zIK<)Q@O2b$6mk@G1Ut$)$~&4lq8tND-+3)rS%#*YsD&yBcVZb^c$hBZCJ)n_yvtWo zPO5mArpZCW^n!x&GEDOurX^H}hiMJNG}bVkVwirW=BSlwok~$h4O8eqT~gQ4k-DEA zqDSi_y-csu8}&B5Pao5#^kwbR4{Sw);tf&fGQ-r*Dr{LErq!(4|6#h)T5XuFw^FRF z)(&gef0*{LC%t2u-!LuW2>O?4U&nybw_h_WOU1}ZbLhQ2jFDwyJGYhjCM)T!2XGpA zEpwFz4*Azv)g-12>?T2hC<1>3WTjnt^2EpcNH z|F=f=s=hD*o{#QTtuc>jG-Wo|KDv=P)26zmj@F~hxyI=PJxwR-MS6u!)(7=*6LZ$R zk1fIWF2ULRdi?R8b&_q0ZJI67=5A<{|96)yKHIbK z6(nb6r=-aic_nLQpRAGXvQE}3N~VHrQpHVPilI14pfu{BE*hZ;I-)bWqBr_rAf{j% zraLhk^Y9fmAsMOIhP|>!cF10pQx2+*_yJduZl=RsWD)eDH;b?sgIS6ptibo#imlm^ zJsHIh8OM(~iPL45DkHmG1MJqx2HbHUk^h0uwC=)&R*LN{9IK?l0i zj-D)mUMz{eERB9Fizt>sf0o0?jKm;T!bCR0WVS#e+hC^Y>=|r}&)5lb*cD0ag3s9* z3)u$?*cp2FC*dH4>7HjzdzH>4bn>hhH7?1Co^*7 z*$rQ^FGjH@64)FcuoiZ6s&ZB{qR~#ZQLR-6)m3#--Bc$dA~jWQRZm5zI;w^WRrO6b z*HYoCm+B*Zz>P-pHZg^pnaXY4$~5lde%|AK zKHx(>;h%iYzxaYL`C4*FPRS+Sl3RSlSMo_-DI`TDkWcwcit&*Y6hHBo!V)0)rGOOS z-$q-!BoBX(;`~v9==@27c~C4a;A0*VI}eM4N2COgN=Y7*QammpJRzldQp)g@l;vqD z$DgGbxYO{7q``vV`%9)a36{i&v#K(KM*Y3}ID_V?D&NKE|^FCa@tsWP}mz7_8tBe8XW_ z%@O#PBe8~~u!_Tx#>v>p1nlAz>@j+9NRG=1IV>mTs2r0cs+_7Io8`LPmJD%)$t`&z x_vMD%l*{s19?BiLD-To=<*y2>09Di|zOTHN=PIA_R(_HtFO^cVr8f)M{sEK9T2}x7 diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.no-prune-unicode-ranges.62.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.no-prune-unicode-ranges.62.ttf index e19157ec71f8f4619167b477e43d7deb895a3258..d6abc0a42e333282b7d060da87c473aad048203f 100644 GIT binary patch delta 213 zcmdlZw}oedLOsJPhOGjLKLyC&kPeie zF6*Ghz`*1JqUjehZ*L4NyQKFEKaORR;a!AjuEky&=_^ohzQj-sL?j|s8PfS zYSY$?(NbF_*VdXvi;|uj?f>)dxu0|H`91G>&%NLGJmcNwy(cima!y*Ex&UB#z$-j@ zeAJk!kwfMHxnlr?4IVxrIx^r&fYGT&rwumO7X&mY3*>2KbVkgesDVe*2etvc{fw>= zV+@`P;WE0N(ZMkzV&iOK_{iv3qjL=(H6RMz%naU>&EPR2DlT+1BYkQaL!vQQBcnzP z3cKC4h0!Yki5op?Y;5)tR0VuW%sx8N=@nvD-9|h-5N&38Q3&3d;!q%-s-eO=$vFKq#V(*hR4q_=sWucWM0 z&LQ0`hYjgP1?6E#3mDRpDkO)rx*?4jV0PKCQ26mwssT4~#dU&ZUOb*D7jRIiyvs+W#S4VXZc#>#fb!HfyJ~ z=Rc%9?J55wEnrBCIRgJ7?dKR+`tECHXR8=FWe&Yh4l%NAZ10}EeUqK?&H^+t^2Xa$ zIdbSf#wzB)l!4tmpyDWoBJj)Jo!!H%yI}hEx9Miw>7D^^l1)D}*Y4pvx3Y)+w>!-? zSTmg|{op)1aOdbw7)%DL(pYZI68$$y(G$mQoM>SESy7qXh0`(v~6 zXL)9tqsqMDUXz)XnVGrQJ-htC;}g(5a|Z?9GD*(6g{rF}-hKP22-QF(DD&rx**KyZ zXQ}yWvHOp&)InV|a-s=3p^HfYeb5(! zkccEq$0wMFFR=+}NXK^UmwmER_N!cSSarg8xQ#>XR!ABOLf~bbDnE+C9~P<`M=NKNQ5(F6=4gpv48&NIh+<5J z8zq0iiDmc-i?9ScFpWL%GrmU#uHq~%;~H+@PbYrGLp*0e=3!p?;10_%oE2EfWUw0Y zhD|wy{W*w(O+IVIk5CvFq40z8>PrYjmhtkNaNrh#j5n3SU4-BsYT-3P@f)h)g~^3~ zp)4MtJ{9VbXh<6xP$QDL(3qZZcBCKLvk02e8y#2_t(Y54Ss0yJ99SyDT4%5wK4oXjW;dj;D?Vcv zEM#9SU?0q9Z)|jOJl1n8QaJz{I1X$1KE7crws0bLG9KUJ0F!ZuGjWhJ*c0Pe7b`dn z5fqc<;G_?1#~;i3B#s`>ch%oTjRpLeO5dRc%y9)lGF(-Bo8(7;388s-B6>I;y$~Q}s>2 z)>7fBx9Tf><%0B+DCsW)WsoFFv<#M+^0Ca41eq>VB}tNHn#_^v$C9+Q$hF2Ot@rI;ZhJSnAlO3LuGgz}7( z<&RR1KS_C>l?ps375TGN;(1<>D!eFFr7|x`HC~o5UXkj&Dm8dbYVsGU<>Ym#%}fbr zmeiq3>hgxv<4uX+Eve7j(tvlQA@52f-jl|>FOjB>H^DYe#%4~yR!%|zoP#gUBR5XM z8>dZSJcE4r5qWS58i&n$!BKeP7;@n_Y&e22{DB&HiEz9@c{m@TBA%F+hNq@z{EiBE zjJEVeYZky5)DgFqBm=p7jvN`k255n8=3sfDxt;$6z^!VkL)T zHAmuWj=~y_#ww1$ZcfE6CSVT}vCpLZBa$H}<*1x$A;;x}98+agdD$X2<*sCjOYX>1 xc_6pswp^7b@<{HBk%iu=fGd7<(vFXb!Q@=_@!Tl?_5{u{+bTsZ&$ diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.no-prune-unicode-ranges.63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.no-prune-unicode-ranges.63.ttf index 66a4ef0471dae0025bb4a0d72ace305a038510ad..ea86fd11b3d86cb75dba5cf7b6b67c5941bb87dd 100644 GIT binary patch delta 213 zcmdlWw}NMaLOsK4hHVTCj5-Vq3?^x1iABvWnUjG01Q0(xr!sBk^*~D?e+rO4FC8fV z^=@r10|S!@kbf>CH8JJH))YSm24)r@-z)Zg#ar8p1~30 z!^TVv9WoEd6$zl`;NcS@7N>OxGI)u>%LbeG&#q3M1LO`dI5jdnY|ydfL2UsqFN14G z8b^*ra2XtGaOubqQPKJ^1{v($FX!-41H;hHSnwKcCXW$e(Sf5G>Rs13qK(5E88#xk z=B;k63|<6C^ypDzqcWGHI^dme?y-qZ&j7RP7GmIm2xH|z6$D`lThPfbIFBot$W)%^ zZT>EPQb}q^9qA!^`<*f=RKUG?lQ~+PSJ<-DSb&_(|7d?TM7T^{>%JdSoy3%mcQk& z0<5Z54J+6Ru^L#RR!1w!T4{Y_eQT|^Hd|Y*WNWvz*KV`>*bCbo_5gcjdtdu}`#Og> zJRIJR0**qCVvdrIKt}~f3rCnEyzJdql9_2}x`|q-ieM*JuvHe*72J}=^cL^&rIeSd zSxi&ph+%qBL3tRa`3=)jDjkXg^(A*VCbTfF7#H z=mfn&Z_u0d4t+qM)MxY+?a~iy#r$IoQRfQ7)W`C*tSqM0t)TxfU2Uy3OgCCd)^=-` zwdX%fd)X7-GtF<97Ipal%e22^P}w`Ln3<^}CDj~y-z>(+w6TNRdiy3b;hhI?8hHKf znk+c9F3pS`Z|dez19DJW;_F2$*wK# z6|OkfP1jS`B3HDzd%K)#ToqjPjk}r4q-gf#D(NcX@^vxemJ1mzfsCk(d>J{?&B>)- zcdtp$NKa4S>$Wc6_m~5^Eq9IJE#u^Z8>kS~Ap5BrsaRz`)p$)>nt8Tbpq9CD7XNof z_N=}%3$k9iXSL3ZL^I6h+DkVvXWCr1))9KNIoD_%tK)RMUZPj&M14e`GHcGe_p!y= z-Um2)-z^0a89(3}(oJ``hfIPV^kh*MXGxY}04wrCwqaX#W^ab^ zV@7i_r*MYsQRQT>@{r52S+2?>xh79lpt4j)WoLq%Q90zGa;UDVjMB1HoXb=jQ&uG< zNwt?HoGWK#m8_K2l86Ejc$x&v2VWF3$ym!IWd+l?+TsJW#D^$ty5LyTv?B2-M#*av z%9Z#UOR*d~F`Yf}3x32YT){b9##LO$-}oI5@QekRn|bJs+pNG~Co8dv>2|f{4V!Za z2QZw2P48>XPf-XLp>Wt#z$N%2!&Jl#IB*jsO{$f_9R%Pm>f#jw@ds+)x#^p)Q6Bfv zkP7ulG^P!Ws1eGXXv!Su#3Jax!e~J+bfhm@GZ&oASqNR|hi)uEfApY*UUZ-*?dZ)? z=)=E`A8h7$Y~)xh;XrKSIIQPK_|C~FY~@7kVhp~=0mkDHXW<}cvKPiN1gkj=4Jbwt znxP1OH67tM#P9=n<7X5^8mi$b>fj|>F)!M)AV#tlK4DXQ#*UcHPFThWY~UEoV-GB5 ze~e}w#IhwmVqNUzbmgpWM5BXhr`oDcs=Ml@dZ;c&MCzy@RbMqw^;9iYQ#CZzTvr9F zKB}MelQiisVKP7lNw`dt2pKH1DI~?jk5Bnbit~{a6dx%pzEVW;O93g$*G5}B zBoBX(68us8={zhYc|hL$I%WD$EbO~mL)T2v6 zcwOo{c|#iTrZnU&X~f&on0KTJ?@CkNlTf4i&9I%HAc+&Ojgycc=i!43$c5AJ!Wko? zXOR~_AvaQ?am4&X977HqM^2o84M$NEf1x&BAQ*2@5f4!rkInzZ6QeJGq7ojV9i2XC z!~7V-AVjeqhOjDzu{wsc21c+ZhO!#Qvp%BP5EIx46WJIavw;!qNUY*ee8b^b%aQn& zqp*&nv4$g%!l~HJSnT06>@#|BR8GlhIVP!cLQcwYRbEw;t#U)|NQSs-%WZig_vNPC tk}L999?D(0Cl6FnRap6|BC42Cd~bOr&s9FXTx diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.notdef-outline.61,62,63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.notdef-outline.61,62,63.ttf index 1635ccb5351db8c1909779148dfd15f257c8044e..10a01d1f871ab6f287f84e20247003caaaae8fc4 100644 GIT binary patch delta 220 zcmZqCY!RQJP|qaHIGcfiQHOzn!78mRv8dT4a}toB0py#c=TxSxI=#^s$e+W&z?_l} zlwWvetrG(SD^Qv_C?hp7<;2z$KL!Sl5TJlr22g-~2E!8|zX!-y$;d6K;L>II4dibC z@&$78lM|WtGX4Pa4*>aGxrr4T1&nU|7C?bBKmmok#N1SqXW?Ez{u>4criz06;*$UK u8H^YhxF;U3R$)*BDq;abMj)O1|38pS1e1(FF$RXi4EGrxY)<2n;{pIn-Z!`a delta 2498 zcmY+G2Yij!8^?dY=bRhFNC*-^y!VQTy;p2P?Y(!5h`mCiS~ra#RNJ6NTPu_rMS`Fr zR$DVhORZALMU2`-&7|i>`~UoV?&qBMJkJ^T{l4cJC)PK%T)gF+wr<%HfE9r}A>mWP zCe8>Qu>kOl08n%I=&9iwPb9TB@-jdT9d5=G(l$2(3YcNlC1P0E(4)yiI{*c{8Aa^~ zqsX-sH;g>b$bk`KBBMMj;kA(yjqE*o+>kIyEu&ChiZ0S|kDAJ6=8XGod zSk26yZH#;mkf`zFCPikiM0KF>{3Fwxd4kNOOhm&2;ii`#RZtJp*@{kn&IL?hB2V!g zZ}AT)E|sK))REq@SB}UrxvI3vr@T}lRa^zCU{zUFQ?*s7nyjX)xoVz@R|#r^N>s~#S>(V+zH`fF85Issy*30!;y-7Qhbc#Nt)AS{MP2bTkZ6yO{2CN8pX?a^ktN_bl z1zAp)#!hw8z4q@Jkb z^(wtlZ_zvT0ewQB)>pJkKd|`+L>o}&DnsgH`C3*EX?3gKe@NF@>kR28E6Lhn?Y8#* zhqSLf{(qze4QVk)z(1se97D_Ae$DJ`6(Oh0nGeVzMz)Qe-My^0+41i*fU&!*>sf1a z#F76ftCS2#Ze4J;g_9~-N($kVCv4SWYg|;_kg!?rXE^2A+OKE=)C&h>NMMA zJOfh*jnm#I$V!8M;E1I^ei2xm+93yQ6JXE zqx3oVN?VLA-o2j_w&)yrx-Hf=%NA!d|Mvgo-Du8?n4DFy??!FWHY2->T$0UlR+1%M z6;=UqPWDKOY?oKEK@P}z*(DoglcHoP$W~R-pqD^Nltx+9M*}o-q6NC42YO)u24Wau zF$=TtDHh=?Y(*lHu@n1cpX`?XDz_X~-S7jhA>DZVU1SsVU>+7@36^3R2C*XBvOPPn z8~ZVg?=y-YaXM$qUKK2<%0n*87P%^qqmD5stAa$4n*gUX?Ls4_~+a#^9; z8&@eMNve}9<9sVv-3&5%?J6 z4(lNidM{rF7!n^dZHzZpgW7BCrdH_y=kE@9q2_Vy^MlIqZbb*d6oP3-RoU&)EY@ zIS@-Y0E^ilTb!JNO`L>f9D>c9j18QC?-+?~`~bTdjqh=QaX7@eILJBdi^*(&H5`RT z6cgoJzz@F}FaI6Ud=Fmu1%+_|)$kN`@Ct2M0G(JEV_6FyvN=9s7tCWZp3Eq4CZ7s+Ov$8XJeL zt3p(NHBbi11sNn^GFXPnFo~6L87_0>6PYJ5GFxWIEQynuGDjl#6~E>oF6JJ7&%I3L zJ|}l^H}`WjSMfV;HyLXozu+P+<(FK>Q52ep#*=kUxikfoV%R zQ2y+}6@M5QSOS3jMH#7yDJQn3_%SfBeF3UB%K!?n&tQ1Wz`zbNPbDL_q=G$*VIhzY zRL{VZlb@W($j$g3$d3W?IdT&#Gzu79`7M9~DL?^*yu{p8lV{;xKz<9*f{KFt;*$UK u8H^YhI42&jR$?`VPIrnVn}32{{J7yhtNq3wLnoI*qp|-jROF#kT&N4 delta 2542 zcmZ`*d3a6N7hP+g^D+<;F@zww?;+-yAZ9{Q^E?wn#1NFwsMbp(B2?S(tD$YorG}aX z6?0oN(Na^X zi0Fw?hte^zaq-?Gu+-?rAAY08431)6-Zy$*qx-~0#g`k)7XEdOVTdtU zqoZPn*1FN7jnR|L3*yI)86TIk7&U;v*@q@OeZ!2?4J5z|(MHOLs;Gx4Y(*zODdaZVD(i!@IKCUn5EBdy6W-A#oEo4#1Gb_L< zY=u}3E6l29)wCk4238|0(&}u*Sxc?2tgo%r)_QBRm2T~{cH3?Cg7zYIhds<*#opgO z*S^Xj4ljqlBhXRU5$p(cly_8gv~ol_hL*kkLUM8pOgB&q)ezyt61MRmUBV3>q&Ikn z&!vJ?^B~QTg9hn&1?6Rs7BEOlsW1=H+6HNyL7HTcexhcpdV-(8YCWU0+A) zL3)H9r&IM3y+*Is+w?wtOlRs#+NJN=f0$Hq=>>Gi9e)PF31 z)2LTpukffN{xw!Ni75xWNlt`kjny1Wv(8fU)FQX; z!T*ntyQ9S{d6<4r!93`9j(WjeT~U?bA84SQve?2x_6M-Hm4_zqW)WxB&1i7G zS%u0b)lt$oTTaO`St`qABLX4tH3u*NK?pX7v9>vs6;0o2kGIeoZ=*DZV7zHsG58Q; z3{vNEfhZWk`E z*pkCJh(kHd^uD(I5QT9b3O|?%xPTC3n~Jyw2d*R39JMmIg)rPkUA#bf{EnJ!iHX9l4y^T64Xh0%@0(Ss!!f?l-HhYs|n z9er5}{a6|USr&s>9#JfZ!K{D}7>Qx5g2`-#sceH3cEC(i*)!M?pRgNdvnNv71D~=x z7H|OOvp?psAJ%gs)^a@3I2h|V0jv2AzHu@RoB1AgFah6UA5(CEGqImD*as8X0LwWN zjVOi@TA(O?F&*JoB=9Zx<0lltIaJ4E)WLJKVSaREA&h2iywB$Nh@CNuU9gDJSi^Cc z!(RBD12L9$kjU0}hjp==)0DG@A&pL|gKDq3sGh2a>ZQ6F5~-u=sfMbNs;_FRTB@}lW zZtmfB?%-Z7;}U+uEr#6w$IqOc%LV+LX^v+E9+6T!Dy4Z$%J8^^@r0D+Nh!xnDbG_< zfj>$`{v?%nS}OC5RN>E3m1lWQs`I?mkZQajHF;5L@fWGhOA^k@Qis1vU0#uT%#sLZ zOMSYe0k29!C$C8(UYEwaAx(Hwn(~%3<85iqI}&L)zXi7PeQe?+Y~f@Sz!?<8S>(Y9 z_#xAf=qcpKkI0LY&^T!RAr8YEN8p2_u;CDD;ZKC)86xlsm2e+b@X-8UJTm<92P)$M zI?!1V?N|WgSPyZmkKwF_k*tAHtch6G!U$H!L^eb`8)Fii;5|0QyKH1gI|j=*0$*_y zR&q4H<`}HvSgc?yGB_1GnTTCX!XCp1hvc}Nki&9Pj><7PqAI9LvRSUlEy)&FxZIRS xa#ya)4Y?!_<-XjOJ91AIQ$G zpS5ZFX9fo5H9)Zs8L5dWC$^^eF)*;s0jf9401B|rV0Z-NUjgz}GIC2QSj8BC`dNPf z`5Za<$%%~I3{x2x*nnIHw%o)D%>qUjehVO*11O-7mzbMs@+{m7$kzZ`SW%E)T=IWD jgAq{gf{7=pWEd2Hs#t)K5lAQg{|_aTK>W>VTuJNzTrf2w delta 2543 zcmZ`*cUV-%7d_|BEX4+hqJrYv6;bTHU{^G1?7b@%z-|-`YT^<^L}L>47fTZCC6=gI zP-E95_LgXD(Fkidv6sY3W-<7E`QtbH&AfZ=yKnZLJ2UsZy?%#Eq*%_0D^lkIEC+ap zM~#adJvn0VEFf15fNIgh#z#$xK0VOjR6qiv&HW)8=ROAVY&Oq4h#3?)@KE}|HbA~* zCcZ|Dad^&y%iv1}hr|qzjk5*7Jnv&5yoQY&5Xsz_ZLpWY9>XK!!bUN|rQXH@dboxRUw9xKSg=#AYo-6~J%h%tI5L-k~Py2IAp?C}ZVCMbyS5Hm8$ca26Lc zjVE}9H~EJINqMO%HKn`kl!J0uE-S6_C?Azy1*s5KT2)Y$RSgxP#;Qqbx|*R<)MB+t zrK!W}q&lYqbqO7=o9MoJfF7#H>iK%PUZb5G^bWmWAJZ4~6@6Pjw-pPX61*Vzx#epW zw1O>%6>3$os#@VzU8}woVRf)#t;NsxD;wa(gTrCZyrU3Qz@-yUFh*hB3V?0xLB z?JFJP@NoDz@;eGT0v*L2VUDtn=8j0mpi;MAN>-Mk=_YES62hHW#Fp7i7jbi*HS;Op zN_VYyN4Sz)*IiFs^IUP}*URNx?kel5XWUI)W{c)DS8-QiS0NWOZ@7@z0?3Tb^v(3l zFe{gF)g6+u=rw%lg~ZePOp-NEZRgKqdOEb<;bJPMi z&gTEt$Qjj_CLsH!dsHh;Pcz+2uJh=|W=)&vRysre2Z=IZtQMyLDtG?NtX;& zKn2Sg*)BU|le~~svR78hR#`1;6y=SAtXIWMUW%d^N}v?#pe`DtDLSDGx}gvHVh|FM zgsDz^W{StxSdTQMV+;1kZrLV#l$RV(o$v#$Aj4FLJIEsFL2njeQ5I)OhO!*rXKS`$ zC-!0_KV%#~<|Iy)ovO6#QXXEq2XjA)I@e>rpc_{p3PQV2OBh#FSYjEH?ikq!g61NbF+o*+?2*aPKif5*7 zzCsz?MFT3-BhiR9G^9oZz0ic7=*Yro&j2)M9&}(Kv|=teo3S7|GYDN-jKSzm3q9#T z58Ba-CD5B8=*Lp%&oD%?GzPE?K4t`>SpgH-7?ar&$!v@1=44M}JABU0n8|KPVOM;? zE||x@n9Dwx!`@iOaahAKNaX;mwzdf=}52GuROe7=_gw zjalrDuhZ>}cx~irc znA2QKg{$7Guk@93(oZ6#zYLT?k|RVGW4B+C?;CNcb)-*7+Ya67-} zPVVAvZsj)a;Sw(5cid#e?SK5z$=RI8ub9gDT)>4!@78ji(Y*ECz>Q4j7H;Ma?&UuI z$-BJA`+UU5e8#`{H=pyRc#4ZdBjJ2C7%?OKnda#K9!<;AO*x<0;G@>7C*@^ zMfl2Si-+Xp4^oUjN-&*2NpT(!i*xyq2gS}q;^1K^!6OpFqf(N`B$UUc6i-NLo|G`2 zk}~{R%JLT}$J0`tXQTpum5Myeb5fb-rHWMI1*yu5QjNb!bzYJhyeu{OyVT+psm%-t zXQtGlOX~8f)N}Hh)aP|+z#Gz#H>DA8Nn_rYCcGmNM)R9uGe5!xj>jfWgdfhpA7_yZ z$B_pojfkE?KKzW_I020V<{RP=JaHIaI073Eq8k1}4LnCUUZWiDqXHh9?~6x9Uml}8 z9-u9q{%B1Rl1xN68v zc_eq`y4;XU@=)%}ZMh@&R1p=R3aP>>&?vr-yp(6kS9vRc$&%+vDcRJA{XPEyto&J) diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.notdef-outline.62.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.notdef-outline.62.ttf index 8169ab1297b3182a932ca226d66b916fd581ca4c..6b6504865c6b4dc4f1f5c133956f575d56b5756e 100644 GIT binary patch delta 213 zcmbQB+#xtYp`PIt!&U|cMjZwQ29vb1#G+=G%t=6g0*IfUQ<)a>ozV-(p8~|U(t+|k zZ(jy6FfbPY`JXaU6H`uXP4Q!3U`+w4H_HGDu+Lz41mw>F@>Mc&ODb4R7#e~613*4U zPJVJC!&`=_K>i6JpDj1BLbHI;h2H`wZ~-Wwke8U7YVs@`Xd&wd1_q{zg8br=|MMA) ifO<0~o~V*xPyni80YXL~o%H`dl&l5uH>YuFu>$~#f;QIx delta 2543 zcmZ`*d3a6N7hP+g^AaIMOhJhIo(PGVm|`XrHP16KM9fNP(0XY^glZdpHMEU+sG&#@ zRLpIOSxZf&l4sT$YgW?pqI_Tf_}%xNbNAYJf9KtG&fa_7MBk*+NtSc+s^s|qD*#?$ zkrN`uP7NPA2gn@-AauxxiIJV3vX#NfCg#Er^W6K+t&V_qjKL4121g9aNE_4^$Tz~o z*Nid_&joN9yu#qXsFBezworUxaE8ITMvNX9fjgLM@JWL`Mn=R0k72k^ZR0p+9M-6a zk%L38cQb#O?-?L5V@8jQ&R&dafbW>u8Izn|K_==tV&Q>EW93C<)WHT%~DBfsam5_ z)FE|3oz=y4X&t7U>VA5l9{yI?C)!}-8 z9;V0YB)vqh)f@Cyy;mR6C-g<_(syme17ZzP=MuxTpyg*-IZUfrb^gP2xwXnLU1z0Q zTdeKY&i^p&Wlws?)YmXA<_P$gX@AF{vNvBcJ6lD`adYT>a~LDr#tv@l^{ecpHy*%g z;FZ@abKtOlomI`ol!M)DkUxr{2#RK>XZJL5XU*99I?c@6-4^gF(Tx3Xm-_$rtjB;W z&9%`T;Yx5_b3Jk`aK)HkZb%{)uZQ;Xa< zhyNSn?X12u0XYxdvs!INiWz2c?X8=bGi|P0>qtGuoNJ7Z(+N6JC+lT8MIX>dP0VTc zI<`35yA6K3ZjL`TXP#n}it<`PHmZ_lUrL}PN~0|5q8^%{89JjYx}z`pVKCy6 zfay+rW}3&>*oYLQVJr5?ZrLt-R4zH7I^zdiMyBZww~-QGUoOid6|5}PQQ4U!CzPk`Qx4Ttl~Gz2igS@_ zW6G+Oq^kCk%-M2MmdR3CE-5GgftN|Z{P06@lZ-V?QkFN3t1aF`OT3Rj48l0mw4zKm z94&vFtz3$4un>!}4b#{Yzv4$6#YLRL1zf@vJi{Nji^nX$Jj_cU++cZzIa!gFO}DEl zuh^VJIe>#X#Pq(_`~-z@4hlb+3OJ7dWSNS%3J0#Clu5NRxQQU#LT$W6F#be!JTZOq zZ-kg;+>i?ONi?Pnji?dMTxd#9bYf9-U=g&SH#*V}t(hCn<}8dZ^hYi#|+01R>EX9!BnFpiEM|Nrm|KAXCaJY4Sd9=_>>(ni=D8Dkyy*I zn8P0Uiv2N$wGhXa_<*&si_?^|nh}i-s-0@9I;rleo9dyu7!j$Z>ZtmvfvT%&s8H3= zRC8?=ruwLU(ofDxe~FL*GDrqXyhO?nnJJ&jEQyopGF1{JQKrcZiQ?D%hWj~>JNP|! zau;`V8@F>0mvITd<7Ojn|KpcV&gBAr#bhqzA}%(1x1Jk}=51suH!+P{xrOQ6%YFQl zcX*fg_>h0`37_&ApYx@7N-oJQUXn+=#Ygf>J}E54#h;J(SW57|6q15cMEs!edYEp&gr8+N2D1Vb0yeKt!Now(Tsm;q$hnW(_ zEU8PE)Z-PY@8nf!z-!Ww*QF6}NMqiVCcGt0d0WDb<~PF@euPv`#AZ&0FHWN%&LB6A z!5b%xh@M0~{ER#}4vhom8zKXqID}j{3>yw26i-nT&k=@KsDOK@ga_vP;-S%(zfckP z(T>i7XhUC&WgSGbE{3uShO-(*usTLE6vJ2*6IdTHY>0_$gh_0S581$ob`+Lz7*=ou zR&f-*`YDyoVb#rKhy@ z!aaBy7?@*#{4W`)i76+xruZ>1um%9tn`Hn6*k>?20`fb6e3gvck_wii3@JeV8X%t| zCqFrn;R(Z3Ab$&x&z755p;^G_!fyc-*aH+$$V<#kHF*~91?1mhU|^~!$S*GWKcB$} hs5fNdi7FWe1)wSxAY=s6$^ZXD$yyM9a~hWzI{+l0HM#%* delta 2499 zcmY*b2Yij!8-AYmoSQ*NB1R-6-@PKl-Xk`l_9iw#B6dn>(7GC1wGC>tC040XTTq+Y zyQNmCh8^{$8pvr(DW8zNwMcWKsXnc+hFzd~uo8|$0`Wu`T9~;yESX%$qK;ACKzgoO8 zcrJj;;1q+y;)fBBI-dAAzuHDq|d7~H~KgLfP3F*GJAB7sr9HH_hqF<8T5hQ?OO zjBal5EkKeIhL23lUW`hBe~($m#yY*jjaMcnzyonc%Y*W$iScYoCqL(GF6Bm^;RW8| zZxSqJrLt6)uCiN>%5k}_wDM8DDxV5gVXCAmrz)yyDoTw~Cb-YPH&^j;pik zk`B_vbfj*id+UCBupXrs=@ojdc5c$U^g(?}U(q-8J^jK~G-Pr}YRC)A&njSrSPm=P zs$f;NBCXn1T`S6JZzWnwt#7Pvt<~0gYqOPR?X>pTZT0|rLA%2qZZBu=WuI$bo8qQN9n$LkRG8^ z^b);Buh-l3etlA()z`F3KePpfOfW>9OAONhtB_^oFs)?O{14OR)=I;4t+mP8YVELg z|A%RJd&>Wq`WvQ&9U=cP?c?ZQ;_fSEXRCNQV-CGn4r657*v_rJeUt5urJT{wz?*MZ z7;7T&T9 zsphFv_k*@@+rBW8nzL$VwaUmwBW648qZ^uIYoc4~IGtdQE=ecrDSDb-sF&%D`iMSd zd@i`}v?be8-1|9Un~;OY+a}qj*rwUczy1Gsx0>UToO9QtcdNDuHiO+muE;t$FKLpl z@~aTJAUkE3Y>}6;TK3B-*)D5jt)jeDkPWJ+pw6`?HEUODYdk+aHE4k(A}tcoiwizHRG zGN}?On^ap_$XRkumdR3CE*p^#0&f#kekg<>Sg2|Ot+Xjdt??e3p#{QBWgBSPID}KUhV!_J>$r)(ocIk7@r?PHn|bJqJ1osemSuTU!K%p{ zHsL__Wh@7nde)L3qW~^L;joG7D+ob`iSk=;;5I@{G!@5PgySA+;1we9J1XP3sfDjm z3J*|^3Ux>{pbhn@5k)UFq9>dk7>IT(h^F*Gdlo`V=0Xz|Kqm$xnnf9cuC&md4s@d( zJy;Aq8HPSAfxe7D3`?RPOW`9%VF1fv92;UHn`0W=V1~)o>1>P7*a@@P1u2Zi=j@CH z?2Y;Cg?a3W^-hk)T8_j*_QN`k!fL*c@0f_q9E%;CfbX%N({PY8aDda<9ivzq%Q+Zz zDW=LdMj(DMS^g^~@ICnAC*;Q^R74i4<0YCiFWNFchOsI>WFvgS_L#{INM#(>a0F(v zE1X}l4-!}%$!v!ASp$1GSyeKPpq*-?TB{DKi;7lVRVULJs;io+j>*khs;a7@>Y0SC zp(0gJ)mwVYCFvtE(pUORtW1(P86Y#{6PYQ=GF2wZ6qzQIWxB-kD}K#`oX4H~p1Zk+ zd!5|Q9o)xdT*B|T#dNGW{DO12fM0SU7crHKO%Geg^`?();3jTn8nI9+prZ5sUNrgh$2BW8&a(DaI2L#*Gh`K#1$@`lu8xc&ZuPOOQ<&>P3V{)dsoRE`pT$NH~WV76oyOJR;xg$^I wf!vl%xh7BKk=&E}@=z641yvyxsDexv_mx-jT=^+)6(HI2LMbI%daQ6jMc?2tkUxikfypWz zD1Wmv=`;fa^9>+=mXVs6a$;+W9|HsX0ib%b44?q}490^%{tqBuB_p?_f=id-Hv%@>_rwRutqH xmoRcLR4_2`Pdr|&!k`9J!~%qjKsx#Ve;}C%CK-WZ3=D@E?lU~toW@lp003lLI7$Ej delta 2479 zcmY+G2Yij!8^?dY=bW2}l|&{X-g`sDUa?{mirRYR@X5RP^DD==OluUZY<- z&J4IO<~}1oGjf@@k?{!yE8`{LUDD_$jTk*R%DtKUJis^2oOxhmR6^Jo3Gu88_(z)s z)~KkFG2uBq+88;>9GEa>^tgByKmrgr@6cqYN2pQC!Bn^**7S;?D(YbhThYl+IG;=cPH`fF7U_D%q*Gu#Yy;eKZb*A30kL!#2s=lqC+e!sb4^9n!Zh2XL zRyqt+zH=8P*PKm)&OfvHRN{_E38jdw=@^ z`znVx+#H^cVh%q?2}fy1c}GP@D@T+grrhn9lACKV^FS?BLxdA)Y?Du##tr$TIlRLc zQbDTalV-|6LwZ3$xfxP#LmHw&^GRzN(s)CfWJo_&^VD*+My0Exh7>wTm(lfgq#mS) z>9IOlr|C6%z22(#>SOwpzN}sPo~=aiR0HZvGo(INfMw;A*0AdRhjh8M(vYsT(ycAl zc5CN%DoMoBa0((9DR} z-mJ(Mhy62H-MpAE*v$(HLUH&bFgG)|x6wOq>ee?Irrn;`176QEb^oUimBX3+1aM`z zHso#Ln&G^M zzm@vTh^hHgrd6v<-Ds-WOBdG7%q6wdZFQ_3V=gK|C+Zn`mQK;j^hSM9A2&K@^H$mt zZOLXcU#D$qzBt8}WSe1|Wiu!JfBAbhUn4Ppk#V?uX{yc0c||VDIyoa5lBIlAu$+}0 zk|~?zg{+pnvP!ne8d<9-Zxm#MDrK-sq7*_<4)xK%+?BHhx}rOJqCW;821%HKnfM3` z@C7ztBQmfRdt|q4mp!V098_KLJ+30lxc4385_F>ni?bw4vn)ediEpzV+p{bCGK%jq zf$wt)XUa|$CcBiIT$1&2MIOjid92DSOLbOuCzIura+iI|p}MQGO3M;SRqc#ll$LbW zQBpWhPRlY`D$8Xfib3FEEXWH1C;z-V~|Czj$% zEWuaUhUx5$pK$=kaT#ZD30H6p&*1zG_waBNER4OZuT3gV2Me7>r)D(1#B6rX775f_^N6 zfh>nXERQILVK6J;eMVvkt6(ylVH(?D7CT^$an0H6h>zI~^Vk!~?14|%9g8^ti`X9v z*$?aKoPf0)hZGLRI*!L`zJqTWk4>C}?VO75u$Qy2pL4K}v)KpZ*#OHq9E~U@q_;pI zelafnE2i=-c;YAc;ykM3G3ww2+OQ}((ifvx3-7TxK4fRiWf!C}7Hc>b^VtiZJ2?Y&=IE~=;Mp?axqCJWS2^;ARENYz)hRJdwvoVBisQ2o>Z z86f9nphU?aiIx~il2{ocbL2yrD~U2wrpXMMCDUcL#PJJ$$^Bf&9sG_vxr@8$+{W$P z!(~k4x7=*f)2IB53%Hn{Glff-%CAhqTF3P!X>DLSH!*`-xrLeB%YFQvcX^NZ`G|k; zDgWd%KIcnumjY5yJfx5m7Eke#qT(kdB#4jsL`w33_==DCOMnE5w-j?qalSIy!A*+r zdnv^O63ic@G!Kf!MSRFZV&`FT@Q8%)sFdL`Da+#$$`ewKCnb!hq&!bc1^y@%`IA)Q z8L7;(QiVTDRi5K{sm=>hL#pwj)Z`@z=Py!=m!&qZNFDwvb?Lk+^_V3Q%$E9eNdsP! zhP*C~ctaX9N1E`aH03R6#@o`IcO=pz?H1U=_mIws*v!fB###8_917wD3geW?f~Qdw zKcWy$LgS$M2sjLP9606W9<5Y>bI)f=O(OciG5f-8d}cFnrAsSjkcNhNH2H zW3YlFk;!S;!9?t25_X$#e@KqY2{|k$rS(xcCP!2SRY^92VkH8 diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.retain-gids-glyph-names.61,63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.retain-gids-glyph-names.61,63.ttf index c20902675dc55e9516d04ba072da3a50de0a9b00..e4b97b40db4387e1017abc5d890d98225be6645b 100644 GIT binary patch delta 220 zcmZoLZcv<{P|s+=IE#USQHOzn!6vONv8dT4a}toB0py#c=TxR`5DYyA(>p$(|IRW;rLXNM8W33Q#yQ zZeq;1snNsc0!88hL<}7{DK68i+W{k|8=YB0&3vx^)JuRz7@+FK$Hojflr^M1;5pFf z*NHa+?hCos$P0}e5F8aE#j>_xgZ$6SLp`Q89^OVQa z%2bEdNp(&K=wKbGo9h93upXf&=tX+DUZb5Gbhh57kLe5gioUI%*~$h@3(5$3W|gpf ztRTx_g<3VNa4XVkXhm7kR%a{0T4H@=eQm9>)>#{^ENi>9({8hS+e_OW_E38@dw=^p z`$~s6+#H^ck`5n7fTNtFqNB2-l_SOxTjBN#$;&gC`JfhRAkvA&Y*RqGnClBjZ}1ME zOC_mMK$` zuE*&#y;!f->+}}AM<3NE^(F1n_iO<{Ne0xp*pPZ#zLr%$TFa{cAJS#k3PZZa+F)(A zwply=L)yol_CHcDL+bAc`iFF&V@QQtFPN97;^l-n^Zo_I$g{Cie(&|GytKbZfM!O# z`g(bRIQ*Z%n&!iV!EQcKApB7petFq>y^Y>EQ@6a%GVQkf9`GvF)P0{cRSswF6Tp?_ zTA#m#Yr5;Y>#=L0E74qiUCUjSU5(6W3zxCMe~YV}%g^QOV(twWa$5tr3ArV5-E+*@ zOI_R=1@nK`7Ex~-1WW6eP&>SR4#r|NXQRA=e~`k2uP?HrcHT$pO{X`1uv&827$|Jc4d4On;VPIhJQAtME;>V|#XGU&iol zCh|Q_;SAZK!epm%lZ&!WF3SVCB9B!?WvR}}?qr&rRPM4@IaGI5UTIk*8LFM}i*m9- zb(D0@kyEl%mdG;6L`et=8w)A{Uj)EHZDUoHQ48(y23q4ygkT89o2V0y_c2CZ!fB$~ z7g&TZu@%$U8$V$`j^Pqc<03BOD*lA?SKPxBmSj;DqbF{%G9y`))lImnBd^$!!#Ies z9BP7BTfPq;oQJ~q#)K~*2)V|jufc)qC}%9GJZ>Qrw^0u-P!Yc&98XQ)dx=W8i^f!F zM4~BeXhMx>7D98nql=S%=)}@!MGthQFWRyQTG9vI7>FJ$%OLckg+6qkH|^-lVDw`M z2C@PMu_9s^hQX|a_ZW?#tcJ;KhN*0WRCd5DZXkF&6sGua0d*bvJ&0#Otb(p$g} zKO2|+1xb7Zp7;@^a1J%`7Y&=IE~=;Mp?axqCJWS6^;IJkr5dQ(Dnd0j&RS1Js(xyK z43Kj&P-0||43St#kvJJDv*ZJrEy*%Nrpk0lm1#0l;`uqh;6Bdhc7Dqp+{s;ZZsj)a z=29-^H{4{>(a5J;HhkN-O@A4k+^AUgN zQ~tp}`HU~bT?$DNDJ(_BLp-H~6c--}kU&1>6Dh+7QcAp~wD^jjcu7g8`17U74sKG6 z-$_~Smmq#G<#<3WF5p8R6gv-zgNG%UM-NHzW>)p?fZq$bZxEvdl^63&Yf!JnlzFG(Fd|>c>N7_onJW$Gl7_r0 zjd)F>cwHLvhBV<#Y06vDjJKsZ??|*s+AXk|?_vWdVG}3A3uoYsvnYb&@W4rv1y7+k zen3&2fW`sy6L1LbIE+F#0viq@0)LfDo6WIufY>Y{4f_K;yZ!^kd-FPhJaD2s)Si#Zwnq#n% zW3im0kj<&s&SdOh3U--re^8FeaXBO>r1cRwDu-1iRYf++HMu3Z;*y*4NbbsYxgnS2 qq1>0-a!2kde^pxfDnAuqQnshOkf*AIDy+OEPo62IWK$diJpTfva$9Wx diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.retain-gids-glyph-names.61.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.retain-gids-glyph-names.61.ttf index 96f9ab783dc39120468b7dba92bc949a39962176..f36ffa28646511372f8cd1513919bb4ed4ce4289 100644 GIT binary patch delta 213 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 delta 2480 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 diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.retain-gids.61,62,63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.retain-gids.61,62,63.ttf index 1f38767b74299ccf33a4cfde047357dc7953dec2..9890014bb694b339181a67c2fe8544fde64b2a72 100644 GIT binary patch delta 220 zcmbPZG)G~ALOqi(<7@^7MjZwQ2CKBP#G+=G%t=6g29R%(o>Q6jMc?2tkUxikfypWz zD1Wmv=`;fa^9>+=mXVs6a$;+W9|HsX0ib%b44?q}490^%{tqBuB_p?_f=id-Hv%@>_rwRutqH xm;9g4V8p<{Kk<0A3WFL@5epD90_o)c|AAy8m}CTsF)$ovxX^8r={@`uMv zj2bsJa@ZW8KrDb-Lq|@Ed0egfH6y115^1sz zV$Fc(0`4>NGb5Lc9TgW}pbB0BMM@j}q>*C=M|n2$oDCFDH)kFg6%`*kR)W3j0e(Zw z0&8^CsOVZbJ=z#K$s8CzcFg#=+{Fk30%jkY?93lxlyZ;&55$;WAyh+sOkpcJ`6=gc z2{-U0&+;aJlTuPeYD!({B|GJi9FZ$ZD=+1(imFnotO`|CRSi`~MXCvEikhirsZ_N@ ztx_A*5p_zP*ClnZ4%f}~06kcb&=d4RyQ+rF+-hh=Sdms|E6!SCeQkYXt+Lixo2(3LhqcRYvlp}b*&X%}dsTaX z`&|12@a z_(Cd5bvJ3I95kdC6qJV{En-N6RfwCkwjqr(q)CSK6E#~cQ>)cRb<~hTm(pc*10AUc z>EU{uPSxppwO*&U>b?4yKBX^fm%e8!8JJ)|o#}?OnB{L-ZqhKT{(nf9St|_b8f&Aq z#oBJ|{10g#d+Ps4ix|=pj=+CN2Req7zx9&2xhhspnmh0BCPuD}o$`8bUgxI%Jpwc{ z;lK?4fcvv!4L2 z4A=U+EnLa28?MK$1+IAW>+4$Xs^n^9Mq9Xy4gOnPL9PIozl+&9E@Za`vg5LSvOTlR z-DDZpFl}~LR@Sb(-le-9AA@;4xJ-S+WI2~7sD>)y-+$%XL?tToG-lXXo@r;Pd1{e) zGQU>pb0aQtPnlM&GM`|ChgK-5QDRMaJRWQi9FMc||VDS~(*blBJ5PKshTr zBvUra3t1(5Wu(xhrQ2bVYacM1KrGG?I{v>G&9P z@g>${12V7`dt|q4mpv+<98_KLJ+30lxc43867*nxmSAZHu^dBKnQyZl+p{bCGK%jq zo*!@ur^`+iD!Y`2T#|KiMIOjid8{fZOLbOuCsXB=@|1nbp}MPbO3Ol7q}mz32$GGe zqoi@RoR+1sM3%`06onwau^=D#qa-ZUHda;11fKSI3$5`s%3=t{o2V0u4>3kw!HFgK z3Jb9q+c1s2@iPwKI4y>XM37|trJX2Mk+dCis_#zBnc zP!qh`@`Ouu6=;CAmI?)fU=!MSoM_U#^OZuW4OQ8qLFc7_Hp${GCO*{HB82wll z16dw}SOHNC#b8#%2aLo}R>fpC!&J6G3Oit?am^X*h)>uJv)L1=?14|&9Sb-B^VuKs z*bnRIoQO3Xk2DU(T28_HjdxfNyEsjSnW*1Mbx`e97u8esP`y+)lLhLk`l^wNPz_XVRZBHC&RS1}tA1*L z43P6OP@-gz43TI_k{B5(GvyaX;sA2fyP^?&5Abw{bi7 za4FOIEjOF=^cg?rTrS`jOyfc>;$oAq)^eRmTI;!yo0!3^+`>%m%!>KQB{^ra$Rmowz%Y`Jd(R|LvrM@ rJe2!#Tkgm`RYLhGe-)rgnw0G=FXgH7QTbId$(83yDcKyut%d&rGt6O| diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.retain-gids.61,63.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.retain-gids.61,63.ttf index 19c07b6fa72597f3e3622ada574b0248be720f61..7b4180cb49d2eed89773ec5b749a5090a23db6fe 100644 GIT binary patch delta 220 zcmdm^zeje0LOr7e<17XSMjZwQ2Aj09#G+=G%t=6g29R%(o>Q5&K``_fkUs~AyV8O3 z4<(!LFfcG{0I@|zYGTTXttoyC3~UKN^=27B0rnY;2Z8(A03Dd(z%mWHW1E@EA^pvQS;yp5rUTkb;4>#l4Wu{*S3I_oyI65+7*x|Hc9Rbh5 z#=b$c>2P1f{YEb`Iv{#XOsxAztS~ym*e8r0H#EZSj(Z5;)y%ASa7;vO(0K9p3huUSMmdOs8=_3B2x=k()7XYie#&`V z!4#h4S>EJtQckK%U1=zNBts6#5xJtYDy%$J2~|!7s328C)m9BuxSFJ(e> zI+dc1s8i~^F01`@sBWnT>7ja*o}`!P)p~<=rs{NkKp)o^^;LaaKeJWvo#DIG_nB49 z^0s^}hZShmvg%r)R%0v73b(piG1dy}YwH_powdo@Vx?KTtlf5--OFCe?yv{iYuE?c z=iAph#Np=fbd+#-JIXrz9F-ka9c>&Dj>t;4Ur27Q!OR1-Pz#|>EN8oX(&gNoPnyF! zd@fa_Rz7LEWE#>73d+rp7B{5+Dlnh4z9Ee{x{zKZ&p8P-3;)b-0!}lN3!H!{-ZoOb`u8NkEX3q!a6C>BgE_tojuX2;$^Z+f4 zy!Lu^z8v{aXKnLhf?ziW^>?jyRdqEny{%lv2mifXey-9k9~ZN8T*z(lS8{TI=>YN{=@i6|3WQqE6C_^-7(hGxc#}b2e|L zE#8)F7Axtr#pTOswgg+EEy-s7>Hn`cqxlx``I8dfjN0OCM(15}Q8vmMNs}y9Qu)eR z*(K?+Ri4W_*(Ymdhpd+kit<`PHmeE-yF4nuAC=Gujm=&;TcJC8qBjO&5F(L)M9jp; zn2#^987WA^cI=fsvQze|0+Ok^<9l31mO0*ckW0{w9xTK1^kYQ^vKrrJ2Xe)t(>18yBGPgK^=D@I|(9>FaRd2K;x>Zu0+sPQ>f)&hd@oT2chQsz zO-MAS4b7+#&H`vjcXV^IG`g@9+OROX(g*EX5UuHr9xR7mtUzD%p@n{QpfBy{Pk#(x z00y%XhOjas7=)p$f)5yu;jDqFY=P-)ha`5wY;!bcu`@nl56oq6B(oPjWlt>PAS~oS zEZ_iaqH{7fa3U6SC^m8u*6|&D%NT6od)Uc1e20BZ!U4|4e$HY)Ok!iK;wXesOh|8q z()h(3>0c4Yx8RANP!i`+8;{Wt&(V%W(U~PNmi6&ITjC>j#T<6SQbu7tCtx1?;0q@Q zV>}xoo^A0CgRz@4R2>ubyQog8qw1!5t6r*)>S3}#LlvT$s4&$?)mQaYQ*&5@Rj3-E z2FV~fFM}mQhR869lmv;A;WAr3k~tDDGiACYN|MZwSrW}J`4tav0eA5`W^gz6(7A&< zxtA-soZoV*Nl%~gbI#`?e!<0D!lhhh64pj;GD&MQQ@Mp{+|F%G=RWS|@4U-|#oOG=54l$PRB!YO6=(qsoW zDZ=li0uPEWe-J-rip7O|$U|c1VR7(?`17a)@R(HOaS7xJsl<~K#8Xn4r=<#il&btm zs_~3e=UJ)2pQR?x@x0XL1*s#ocv0%|lGNibQlFQl0k23y{wl$AUX>7LNhq_W5na-l z*Q5!rOBioRQ|3rB-jwFNB`tVcTJnyBo21IDx`AWwPLD z6vdAygp<(7G#>$n;f^CHfTOVC5bEJiG{7^2;uWglz7sX@(0n00G8y6zRL28!q8B=_ zI3_RzF>Hhptc6jmgVC&uF|3D?tc}TRf><`i6gIsysX0mQHR&pf1=4h#1bF@_W%A80F0MM~B0{{R3 delta 2480 zcmY+G34Be*7sr3UGxHL$Ws@LC?t3Cc>|%?ZP}IKf#2UL28nj*-K`3o#Eo~zbTP;N_ zLB-zIzO~d=DtUIb7cELUiT3~bckXBA&N*l9%>CXubIy$`o*0&7Ij5{jUIefL;1Mxo zV$`^4k;CQ#`J(}Z4;?vah<}8hYvg1j-y3S|%_pb6016}m(l&Z<)S$x|gW3XxE*N{w zXrpjn%oRXkFCzy>kBW)4`D2ig!vW30wE>^gMr)0Z z8Z|ilX17*GeqA`WgCVtR#88Fes~E$HN@oX<3- z^CZvm7JrixQc&mCm8RCH zbah0XQs;GmF0CVUQ{7Jw)Fbo+y+p6n>$G!|&eR9=aeYx=)pzs@TdBb5fhmD6EHBH? z3bY(nh*ia^Zbex2tOi!3)zONv(ySHM*VY|+N6#eQs@#oSl88&dVn6T z$LS=Us@LibdYj&-kLgqTvUceQwt&Dm1L{mQq`p>B%gQ6IX4Ux*>2hn8Azf!}vbI_~ ztX=;h?PX8;AE~z?E$#^XhqS+AP}$qBn3JQT<)qp4zInvRv9UvL@6GF+q_-NNi4m{8 zS(zse|3_KXe3){un-5e1#o>=)Ihi><&A9WXZhMnq+8wz);I(nt*9SgJ6NfYV8Q{ur zZOom*HN$no_0+Z46>F~Eu9dDZSAC;x<}yzBZ*c{=in)rqn0?cQ?3O@wOtx3HdzRUo ztZTVrva++XvUcb8F5P#V3+DFVGW88-$hllW)l&`ry(_;)DqfklF>2#^rk$e}suc5P z{w>t!Moh^wnO3bfHQiJ*moBKAm`!S~Tk9cutl6ko9j|BTM4hac>2!TiA2(yp=00hQ zw6vscb$=!~xDj=t!J!AQUi%*0$Q zz?ayFbYx%~_R1dFA$wImIjB10J6uJUIo@}XL(q*LEY6Y)Vi|_80^emDwqYUl$IruqS}~q5hR;b zdr9UzIW5a1O_obKd?4^J9^{3h2!Mqe#;d|ih4hL=^$aqp2+(roQpf+A16!%aa&rRU_3*~Vi4XIF{ zL}S{}h#Ha1ho*E#Cnt-c1O3s01<{d3(VF?uoPOxS66nTK3`7rF=tT#5(vIFNjXn%U zf0o4nh9ZjPFp%Z(AtN!Al`w@(FpaH{$aa`*j^-@3$0zK9dF+lPcEhLaipA`QMeK`( z?1K$-PQ*HnM=}RuJttrd-@`YI!Dddz4#weI>|-Jha5naH7JFd=>tQ)ZpaI2%^kyiA zU(AvI6>)qAp7;qxa2{3h6t(aYtymcCSp=h510S#{K4wSEVJD<;2-b2O=CcRBaI!zf zvKHdm67R7#c5}L_W}ZtmvfvT%&sBqQL9M;+@LiJJo zq@SFZ{t_hvWRMJ&1Q{YjWwv}Qb0l77$~2iFi85VgNi@IYS3JOl+{tgbi@Ujp&h6a6 zy=(#9MrvQk;L8?BFJa z_??vE_Y%k-B!~ya;vzogA+htYICw-#^QZ*#n3Umh3E>GT%ac-$rzDi8r96L>F#aSJ zct$GntW@I9Qkmy?UaInfRFf*aDAjpM!ugBT;AN@FD^iQUN^Lr?N*!iN1hb_sT~d$N zq&}}p1KyB^yeW-%OB(aGG~pd-%DWP2l6Es}l zjAI?dur7wN3P!LRMzT6aF&x8L6%$z>v22J*Y=p^djQ82VWZh^i<8Z9tNUY*$e9bXf z&9PX?QOM*p>|{K4F#&r_xIZMv<%ArTlhX329Frreys99Z<+|LKY;nmgc_R1ahTN3P r@>m|q9l0wHRB`36imGBNz@%(Xc_q)4m-0})k|QsaQnIBl9R>adHH%yq diff --git a/klippa/test-data/expected/basics/Comfortaa-Regular-new.retain-gids.62.ttf b/klippa/test-data/expected/basics/Comfortaa-Regular-new.retain-gids.62.ttf index 06f3c5e0af1365ae82b699b5693fd9a26501333e..c637f6ac225644b4624ba69276a37accdd1271d2 100644 GIT binary patch delta 213 zcmZ3ZvqWlwLOsJPhOGjLKLyC&kPeie z{@ZyG0|S!_5O-vxCZ?R&n&QX6z;XsCZY8PlM@*tfHDjmD}ZJm%1x}$EMQXNw_sr4$^nWh l&tSyBz{@i6M3oGK0#FqT5HbSkr2qe+WG#rlIgRTWHvp?dG|vD4 delta 2480 zcmY+G34Be*7sr3UGxHK51d$+-xbGo^*kg;GP}IKf1c}&{(4h6w2tu_Dt)(rot6hSi zVs9J!(o(xh9%5;&MT?S7qWypVo%fk}bIzGN_kQo3<*xGE7?NZ;r>t4L5MT)45f(Ku zV%)UwVe^3e(Evh+j+_(~9&jbV$cv4fGSt`?zG}V#D9{#=#OTO~AxF}Nvj8SO9-$}bC3>~qpq;5YT_4gX^d)^=-_31XDh~9ZmqJuvDR6et*us?wcFZjx7oezzIKN_$X>5^ecFDfWELt4a;mQg`@q_qrbj3G@hq@Sv}YNcAQQq?g-3hl4U>iRld57NW+ zIGv=I>GgWE-k}fZ zYtMg3``DBIM_R;?mUIOELpsngr2L&%%*j#Fa>^Wf|2$&k*w`s|_U3g?(pwGC%!oJM ztj-gM|D&vKUQ7kp%?t8JN%*2fPI^vnv+jcFJKm(3aaZmPc%5kaq0b}4;mmplxYAr( za<_2JaNTk}buDtmnqObnYF8y!L!)isGEVq!bCq_La20nkE8B&v)<9NFR^cr7OmjAw zH*(ixW@Tn(?#-QDzVG%4m^*{Z^f#O#=W_+sKsEaJU->jq@ya}nQ5(-Q;~cd>C7UPn zZKaIctK>YB8P!_TO{6HZm-f`n%ptYZZFQ6$YYr+_$Lkq7Q7_gjbc)W9S2;$~rk9Yh|abmko;YMnSfy0E1l$0Vsp=sE-Ebteh>-72Qp|_s0N4A^|fn6Q5u{ zzQPuyAPqaPU-ro^*{||RhU$v%a2=T@yze20pc_3{lBHOheT@EUT>aNNuElVU>wKH*1T2fU< zS?!86VurnKjV9xz*U^ZWn9Az{0Zl;cz|at$^tA%FWhD&hOsiMnsilLUb7{KaS$Up z)FiLA{0Kg{2!$Vv3tvJYvW!dLgafxw+IUhq+(8iTqAp$`7{8$=o}0w?7b@aD8dISm ziKeun2{po*56$V0E>4y}C;FllJ<*xP(U$qql0N80fAnAg1JR2X`p|*iw4*P}pdZU( zAj@MAgAu_B7|e?Jkl`50Dwx7%n8r3pWCzSPp*f2k@hQ7uE_))0J@6U3V-W{nA^T$i z`(ZPk6S0Bgv6zFgi4(An?_ncju$7asi*fiC2bhRMoQ;E=#Xgw823W}vXhbn7y#-3( ziV5jo5XX1mg`ZFi7f>BfQ3o&4hK10P#W0$+@By3SV|KEkG=4vlLIl9 zbr8?ic#n0lm(x`Zll42P4ywKCqI#+xs+a0!sz4o8Pc>AHRDD%Tg{sCTSnH}V)lUtO z0dheGN`wrOArdJG5+y@rwtOseBwl99G?^iZGF@g#G{554Jj4au&2PDfd%2I!o!rI! zT)}1B$Ze)Pea~^G9?DyCHILOsK4hHVTCj5-Vq3?^x1iABvWnUjG01Q0(xr!sBk^*~D?e+rO4FC8df z=k>Fefq}^chMc&ODb57GNdptu*xtn zFt_C7Cno~M{TUcI768pWlABneS-_;sZ^6L81ysbKke8U7YVs`H3&?K)T2N7tUtIEk lK7$bh1J9p{C#qx^6o9H&fRGVLC;$HsC2K+a&1qcwxB-hmH!%PJ delta 2480 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 qSRTqZV{fK%(!i%3O6HT@@50Z5Dox1(FGm= delta 19 acmZn>ZV{fK%y@943O6HT-ev>F5Dox2mjyHc diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.default.61,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.default.61,63.ttf index f865d6311970e1a3f5bb5447e2b5d9a80abd1186..a5cfc2c1b05053fa7ead8de2dec9a854d5539323 100644 GIT binary patch delta 185 zcmcb?_keGLVtqNoUIqq69tH*moAjK@v`MeERss1Q3=GUGGEx&$?0&toW?*3X0F*b& z019x_GCyKqVATNfRWfo*D%kHagaP?JKt4}SesUrsE8`U)KLW_-$W5#$U`pqB3FIdL z`3iZ7xv7d%t$zXe4M02g733F}aQyqvV8p<{?l5shwIaw=HU<_3Mg}H^M26)5|ABlk R{eQv#1wc`T%{GiOYyg~oFsA?j delta 177 zcmaFBcY|+&Vm%MTK?Vj!9tH*mlk}X*v`MeERss1A3=GUGGEx&$?0&toW?*1>0hBk( z019x_GCyKqU{wI}RWfo*D%kHagaP?3Kt4}SesUrsE8`U)KLE(*$W5#$U`pqB3FJor z`3iZ7xv7d%t$zXe6+k=o733F}aQyqvV8p<{ZZUC1wWI=26$=nD0_nW}|AA!U|Ns9N MFfeX*VU%G50K?lYlmGw# diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.default.61.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.default.61.ttf index 926fd56026d034c57e4d56917e8fe17f4cc5cf19..03c36664f94e26ed603633f7dcfd33ab905c28a1 100644 GIT binary patch delta 19 acmdnNy@Pv#GUJwwD%^~WiJJ`=J6HfeQ3av^ delta 19 acmdnNy@Pv#GULIGD%^~Wd7BLwJ6HffI|aM| diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.default.62.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.default.62.ttf index f9e6eccb544c6659aef30e8c56b07f534970f04b..d0c7f09350df97bd5978f0a0384762487e634e78 100644 GIT binary patch delta 27 jcmcb>eSv#|A~P?;){QFMjOeSv#|A~O%e!Hp{1jO=;;|1&T!ByKiioW%kFd;$n{ diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.default.63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.default.63.ttf index 00b494f2d9fbb675f0c33341990d1922a96354bb..a316fa4450bc3978ad217c6c7d371be389d04d19 100644 GIT binary patch delta 27 jcmX@Zb%tw#A~PSuwv8&>jO@w(|1&T!ByToj6k`DZc;W}u delta 27 jcmX@Zb%tw#A~O%e!Hp{1jO=;;|1&T!ByKii6k`DZdH4tC diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.drop-hints-retain-gids.61,62,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.drop-hints-retain-gids.61,62,63.ttf index 70fa672f60fd76ca4f57fd7c28af4784d34db265..be7742dafdea904b0810b43526ab281fa82e3099 100644 GIT binary patch delta 19 acmbQjJ%xLMGUK+5D%^~W$(s!rQ&<2x9R)f7 delta 19 acmbQjJ%xLMGULIGD%^~Wd7BLwQ&<2x;{{Lv diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.drop-hints-retain-gids.61,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.drop-hints-retain-gids.61,63.ttf index da1ee3d155fb5288352a9dba1c6366d62b3cfc8d..0be3acb923a1fe3618caf58185cf0c676cced81b 100644 GIT binary patch delta 185 zcmaFD`G#|XVtqNoUIqq69tH*moAjK@H0$LjF9G=;K&+FInwVnu>zy?N15*i5-Yf$s zz){Qm7|34(zy?N15*xA-Yf$s zz){Qm7|34&Ir+(n49^(?f&3dlK38sHMFE2j({~{M36QUl zmzbNXIMwae-rkGUJwwD%^~WiJJ`=6_^1*dIe(u delta 19 acmcb>ae-rkGULIGD%^~Wd7BLw6_^1+WCeWy diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.drop-hints-retain-gids.62.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.drop-hints-retain-gids.62.ttf index 82d77c327101c123601b9c70ec04e31e1f37865a..e482586acd230b706a596b4150935381ee39a820 100644 GIT binary patch delta 27 jcmaFB@qlB3A~P?;){QFMjONA delta 27 jcmaFB@qlB3A~O%e!Hp{1jO=;;|1&T!ByKii)M5qzeai?Q diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.drop-hints-retain-gids.63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.drop-hints-retain-gids.63.ttf index bdd7647507ac0bafc218509b1bc18d7dfeb92177..d44bf8e2e9ce9673c3a224ea68a06c50703be00e 100644 GIT binary patch delta 27 jcmX@YafD-nA~PSuwv8&>jO@w(|1&T!ByTojzy?N15*i5-Yf$s zz){Qm2*_Upzy?N15*xA-Yf$s zz){Qm2*_Uoq zmzbNXIMwae-rkGUJwwD%^~WiJJ`=6_^1*dIe(u delta 19 acmcb>ae-rkGULIGD%^~Wd7BLw6_^1+WCeWy diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.drop-hints.62.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.drop-hints.62.ttf index 7872c49d91d25c83a3188c6e429fd689f956a7ba..f7d178fc3787a28eef867b2a3af8af8d0d87ca42 100644 GIT binary patch delta 27 jcmcb^aff4qA~P?;){QFMjOjO@w(|1&T!ByTojWMT#YbVUc0 delta 27 jcmdnNv4dlRA~O%e!Hp{1jO=;;|1&T!ByKiiWMT#Ybz29f diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.gids.61,62,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.gids.61,62,63.ttf index cf2ed9f2c3df3a5bae7abbddfce0b8d0b2cf80c7..7567e0c79b120418c0804970ee9f67572ec1fc81 100644 GIT binary patch delta 19 acmZn>ZV{fK%(!i%3O6HT@@50Z5Dox1(FGm= delta 19 acmZn>ZV{fK%y@943O6HT-ev>F5Dox2mjyHc diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.gids.61,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.gids.61,63.ttf index cf2ed9f2c3df3a5bae7abbddfce0b8d0b2cf80c7..7567e0c79b120418c0804970ee9f67572ec1fc81 100644 GIT binary patch delta 19 acmZn>ZV{fK%(!i%3O6HT@@50Z5Dox1(FGm= delta 19 acmZn>ZV{fK%y@943O6HT-ev>F5Dox2mjyHc diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.gids.61.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.gids.61.ttf index cf2ed9f2c3df3a5bae7abbddfce0b8d0b2cf80c7..7567e0c79b120418c0804970ee9f67572ec1fc81 100644 GIT binary patch delta 19 acmZn>ZV{fK%(!i%3O6HT@@50Z5Dox1(FGm= delta 19 acmZn>ZV{fK%y@943O6HT-ev>F5Dox2mjyHc diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.gids.62.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.gids.62.ttf index cf2ed9f2c3df3a5bae7abbddfce0b8d0b2cf80c7..7567e0c79b120418c0804970ee9f67572ec1fc81 100644 GIT binary patch delta 19 acmZn>ZV{fK%(!i%3O6HT@@50Z5Dox1(FGm= delta 19 acmZn>ZV{fK%y@943O6HT-ev>F5Dox2mjyHc diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.gids.63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.gids.63.ttf index cf2ed9f2c3df3a5bae7abbddfce0b8d0b2cf80c7..7567e0c79b120418c0804970ee9f67572ec1fc81 100644 GIT binary patch delta 19 acmZn>ZV{fK%(!i%3O6HT@@50Z5Dox1(FGm= delta 19 acmZn>ZV{fK%y@943O6HT-ev>F5Dox2mjyHc diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.glyph-names.61,62,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.glyph-names.61,62,63.ttf index cf2ed9f2c3df3a5bae7abbddfce0b8d0b2cf80c7..7567e0c79b120418c0804970ee9f67572ec1fc81 100644 GIT binary patch delta 19 acmZn>ZV{fK%(!i%3O6HT@@50Z5Dox1(FGm= delta 19 acmZn>ZV{fK%y@943O6HT-ev>F5Dox2mjyHc diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.glyph-names.61,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.glyph-names.61,63.ttf index f865d6311970e1a3f5bb5447e2b5d9a80abd1186..a5cfc2c1b05053fa7ead8de2dec9a854d5539323 100644 GIT binary patch delta 185 zcmcb?_keGLVtqNoUIqq69tH*moAjK@v`MeERss1Q3=GUGGEx&$?0&toW?*3X0F*b& z019x_GCyKqVATNfRWfo*D%kHagaP?JKt4}SesUrsE8`U)KLW_-$W5#$U`pqB3FIdL z`3iZ7xv7d%t$zXe4M02g733F}aQyqvV8p<{?l5shwIaw=HU<_3Mg}H^M26)5|ABlk R{eQv#1wc`T%{GiOYyg~oFsA?j delta 177 zcmaFBcY|+&Vm%MTK?Vj!9tH*mlk}X*v`MeERss1A3=GUGGEx&$?0&toW?*1>0hBk( z019x_GCyKqU{wI}RWfo*D%kHagaP?3Kt4}SesUrsE8`U)KLE(*$W5#$U`pqB3FJor z`3iZ7xv7d%t$zXe6+k=o733F}aQyqvV8p<{ZZUC1wWI=26$=nD0_nW}|AA!U|Ns9N MFfeX*VU%G50K?lYlmGw# diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.glyph-names.61.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.glyph-names.61.ttf index 926fd56026d034c57e4d56917e8fe17f4cc5cf19..03c36664f94e26ed603633f7dcfd33ab905c28a1 100644 GIT binary patch delta 19 acmdnNy@Pv#GUJwwD%^~WiJJ`=J6HfeQ3av^ delta 19 acmdnNy@Pv#GULIGD%^~Wd7BLwJ6HffI|aM| diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.glyph-names.62.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.glyph-names.62.ttf index f9e6eccb544c6659aef30e8c56b07f534970f04b..d0c7f09350df97bd5978f0a0384762487e634e78 100644 GIT binary patch delta 27 jcmcb>eSv#|A~P?;){QFMjOeSv#|A~O%e!Hp{1jO=;;|1&T!ByKiioW%kFd;$n{ diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.glyph-names.63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.glyph-names.63.ttf index 00b494f2d9fbb675f0c33341990d1922a96354bb..a316fa4450bc3978ad217c6c7d371be389d04d19 100644 GIT binary patch delta 27 jcmX@Zb%tw#A~PSuwv8&>jO@w(|1&T!ByToj6k`DZc;W}u delta 27 jcmX@Zb%tw#A~O%e!Hp{1jO=;;|1&T!ByKii6k`DZdH4tC diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-ids.61,62,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-ids.61,62,63.ttf index 8d0242830c007d8c8fbf1e98c377c4025f6dd5ca..e7ace973f0ac9646f51399571eb2eda0eb32b273 100644 GIT binary patch delta 19 acmdlXxI=J)GUK+5D%^~W$(s!rJJ^159EXC R{|o*v0E#kfwqXol1po=YFU0@= delta 177 zcmbQj+rv9Sv7U$FAOiy<4+8^(NqSCY+N9T7tAKn51_tI88L5dWcE8?PGcd5c0Lq(X z00lT|nIADQuqpugDjB&Y73}vI!hn1iAfG2EKRJ<+mGKIY9{}WYwhM#Kg= delta 19 bcmaFE`G#|XGULIGD%^~Wd7BLw_b>whN3I4_ diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-ids.62.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-ids.62.ttf index 7886187c5899671062ffbb3ad9ab4773dd60623f..2768068b4463d1fb0305b2c1a50b8c5465a6b8d7 100644 GIT binary patch delta 27 jcmZqSYT=ro$jr;Ib)yP5BYV>S{|pQaNt?|W&oKi4Yk3Fw delta 27 jcmZqSYT=ro$jrlVaH9%0BYWQe{|pQaiJQ$B&oKi4Y{v)= diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-ids.63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-ids.63.ttf index 5f964a93cd211999b72561ce6ec22cb9d66721c3..562de3b6bcd9cf1233b0e6454fd351c9c407b0f0 100644 GIT binary patch delta 27 icmZqRY~Y-r$jryEZKDb|BYX1y{|pQa$(zj>y_f-Mrw48T delta 27 icmZqRY~Y-r$jrlVaH9%0BYWQe{|pQaiJQ$By_f-Ny$65* diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-languages.61,62,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-languages.61,62,63.ttf index 98f8778c42a3aa0980efbfe77ae72a7476e461bf..bdc8fd8705eb15ed2dadd9f69a168b54324eac69 100644 GIT binary patch delta 19 acmdlWyg_(^GUK+5D%^~W$(s!r8#n+zSp}j1 delta 19 acmdlWyg_(^GULIGD%^~Wd7BLw8#n+!9|gDo diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-languages.61,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-languages.61,63.ttf index cbebb352fa4d627c5a8bb724a5e8b099b9f73638..dd5efe4307541cc4936ed572dab228dcd3dfa1a0 100644 GIT binary patch delta 185 zcmZqS@8O@ISYOVtmw|zihk=2?COxMzZPIJ4RY1N60|WDljMT&wyI=3D85meT0Oidx zfC3z~%#RotST%rrm5khy3if*pVL-kQkk6BopPb0Z%6J9Hj{x#HauX{Gn9@030{IC* zzCvDNZt7f>&E-IT1JI6F1^LA#9RL0^7%?!g=S*Bttq3xeje&)Mk%5UJksExauX{Gn9@030{Ia@ zzCvDNZt7f>&E-IT1<;OH1^LA#9RL0^7%?!gr%YT?EvW!h#R7zkKsxXLe;}Fo|Ns95 L42+vy7(LhkVP7qB diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-languages.61.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-languages.61.ttf index d3fb9f0a12b269716f10c7f79929ce35d5ad61ac..c6392ae4a81cac96349c3cc2b1fb69141be9143d 100644 GIT binary patch delta 19 bcmaFD{e*jhGUJwwD%^~WiJJ`=x3B;JMcD=> delta 19 bcmaFD{e*jhGULIGD%^~Wd7BLwx3B;JM#Ba` diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-languages.62.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-languages.62.ttf index a0af5dd45bab6b7ee330d723b96292b30fa1d67d..1d371b5183eb97baae4c59cc0ecf3d5bf859b273 100644 GIT binary patch delta 27 jcmeyv{fB#kA~P?;){QFMjOjO@w(|1&T!ByTojbYcMjf+`4E delta 27 jcmeyt^@D4IA~O%e!Hp{1jO=;;|1&T!ByKiibYcMjgFpyt diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-legacy.61,62,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-legacy.61,62,63.ttf index cf2ed9f2c3df3a5bae7abbddfce0b8d0b2cf80c7..7567e0c79b120418c0804970ee9f67572ec1fc81 100644 GIT binary patch delta 19 acmZn>ZV{fK%(!i%3O6HT@@50Z5Dox1(FGm= delta 19 acmZn>ZV{fK%y@943O6HT-ev>F5Dox2mjyHc diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-legacy.61,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-legacy.61,63.ttf index f865d6311970e1a3f5bb5447e2b5d9a80abd1186..a5cfc2c1b05053fa7ead8de2dec9a854d5539323 100644 GIT binary patch delta 185 zcmcb?_keGLVtqNoUIqq69tH*moAjK@v`MeERss1Q3=GUGGEx&$?0&toW?*3X0F*b& z019x_GCyKqVATNfRWfo*D%kHagaP?JKt4}SesUrsE8`U)KLW_-$W5#$U`pqB3FIdL z`3iZ7xv7d%t$zXe4M02g733F}aQyqvV8p<{?l5shwIaw=HU<_3Mg}H^M26)5|ABlk R{eQv#1wc`T%{GiOYyg~oFsA?j delta 177 zcmaFBcY|+&Vm%MTK?Vj!9tH*mlk}X*v`MeERss1A3=GUGGEx&$?0&toW?*1>0hBk( z019x_GCyKqU{wI}RWfo*D%kHagaP?3Kt4}SesUrsE8`U)KLE(*$W5#$U`pqB3FJor z`3iZ7xv7d%t$zXe6+k=o733F}aQyqvV8p<{ZZUC1wWI=26$=nD0_nW}|AA!U|Ns9N MFfeX*VU%G50K?lYlmGw# diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-legacy.61.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-legacy.61.ttf index 926fd56026d034c57e4d56917e8fe17f4cc5cf19..03c36664f94e26ed603633f7dcfd33ab905c28a1 100644 GIT binary patch delta 19 acmdnNy@Pv#GUJwwD%^~WiJJ`=J6HfeQ3av^ delta 19 acmdnNy@Pv#GULIGD%^~Wd7BLwJ6HffI|aM| diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-legacy.62.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-legacy.62.ttf index f9e6eccb544c6659aef30e8c56b07f534970f04b..d0c7f09350df97bd5978f0a0384762487e634e78 100644 GIT binary patch delta 27 jcmcb>eSv#|A~P?;){QFMjOeSv#|A~O%e!Hp{1jO=;;|1&T!ByKiioW%kFd;$n{ diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-legacy.63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.name-legacy.63.ttf index 00b494f2d9fbb675f0c33341990d1922a96354bb..a316fa4450bc3978ad217c6c7d371be389d04d19 100644 GIT binary patch delta 27 jcmX@Zb%tw#A~PSuwv8&>jO@w(|1&T!ByToj6k`DZc;W}u delta 27 jcmX@Zb%tw#A~O%e!Hp{1jO=;;|1&T!ByKii6k`DZdH4tC diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.no-prune-unicode-ranges.61,62,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.no-prune-unicode-ranges.61,62,63.ttf index cf2ed9f2c3df3a5bae7abbddfce0b8d0b2cf80c7..7567e0c79b120418c0804970ee9f67572ec1fc81 100644 GIT binary patch delta 19 acmZn>ZV{fK%(!i%3O6HT@@50Z5Dox1(FGm= delta 19 acmZn>ZV{fK%y@943O6HT-ev>F5Dox2mjyHc diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.no-prune-unicode-ranges.61,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.no-prune-unicode-ranges.61,63.ttf index f865d6311970e1a3f5bb5447e2b5d9a80abd1186..a5cfc2c1b05053fa7ead8de2dec9a854d5539323 100644 GIT binary patch delta 185 zcmcb?_keGLVtqNoUIqq69tH*moAjK@v`MeERss1Q3=GUGGEx&$?0&toW?*3X0F*b& z019x_GCyKqVATNfRWfo*D%kHagaP?JKt4}SesUrsE8`U)KLW_-$W5#$U`pqB3FIdL z`3iZ7xv7d%t$zXe4M02g733F}aQyqvV8p<{?l5shwIaw=HU<_3Mg}H^M26)5|ABlk R{eQv#1wc`T%{GiOYyg~oFsA?j delta 177 zcmaFBcY|+&Vm%MTK?Vj!9tH*mlk}X*v`MeERss1A3=GUGGEx&$?0&toW?*1>0hBk( z019x_GCyKqU{wI}RWfo*D%kHagaP?3Kt4}SesUrsE8`U)KLE(*$W5#$U`pqB3FJor z`3iZ7xv7d%t$zXe6+k=o733F}aQyqvV8p<{ZZUC1wWI=26$=nD0_nW}|AA!U|Ns9N MFfeX*VU%G50K?lYlmGw# diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.no-prune-unicode-ranges.61.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.no-prune-unicode-ranges.61.ttf index 926fd56026d034c57e4d56917e8fe17f4cc5cf19..03c36664f94e26ed603633f7dcfd33ab905c28a1 100644 GIT binary patch delta 19 acmdnNy@Pv#GUJwwD%^~WiJJ`=J6HfeQ3av^ delta 19 acmdnNy@Pv#GULIGD%^~Wd7BLwJ6HffI|aM| diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.no-prune-unicode-ranges.62.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.no-prune-unicode-ranges.62.ttf index f9e6eccb544c6659aef30e8c56b07f534970f04b..d0c7f09350df97bd5978f0a0384762487e634e78 100644 GIT binary patch delta 27 jcmcb>eSv#|A~P?;){QFMjOeSv#|A~O%e!Hp{1jO=;;|1&T!ByKiioW%kFd;$n{ diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.no-prune-unicode-ranges.63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.no-prune-unicode-ranges.63.ttf index 00b494f2d9fbb675f0c33341990d1922a96354bb..a316fa4450bc3978ad217c6c7d371be389d04d19 100644 GIT binary patch delta 27 jcmX@Zb%tw#A~PSuwv8&>jO@w(|1&T!ByToj6k`DZc;W}u delta 27 jcmX@Zb%tw#A~O%e!Hp{1jO=;;|1&T!ByKii6k`DZdH4tC diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.notdef-outline.61,62,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.notdef-outline.61,62,63.ttf index cf2ed9f2c3df3a5bae7abbddfce0b8d0b2cf80c7..7567e0c79b120418c0804970ee9f67572ec1fc81 100644 GIT binary patch delta 19 acmZn>ZV{fK%(!i%3O6HT@@50Z5Dox1(FGm= delta 19 acmZn>ZV{fK%y@943O6HT-ev>F5Dox2mjyHc diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.notdef-outline.61,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.notdef-outline.61,63.ttf index f865d6311970e1a3f5bb5447e2b5d9a80abd1186..a5cfc2c1b05053fa7ead8de2dec9a854d5539323 100644 GIT binary patch delta 185 zcmcb?_keGLVtqNoUIqq69tH*moAjK@v`MeERss1Q3=GUGGEx&$?0&toW?*3X0F*b& z019x_GCyKqVATNfRWfo*D%kHagaP?JKt4}SesUrsE8`U)KLW_-$W5#$U`pqB3FIdL z`3iZ7xv7d%t$zXe4M02g733F}aQyqvV8p<{?l5shwIaw=HU<_3Mg}H^M26)5|ABlk R{eQv#1wc`T%{GiOYyg~oFsA?j delta 177 zcmaFBcY|+&Vm%MTK?Vj!9tH*mlk}X*v`MeERss1A3=GUGGEx&$?0&toW?*1>0hBk( z019x_GCyKqU{wI}RWfo*D%kHagaP?3Kt4}SesUrsE8`U)KLE(*$W5#$U`pqB3FJor z`3iZ7xv7d%t$zXe6+k=o733F}aQyqvV8p<{ZZUC1wWI=26$=nD0_nW}|AA!U|Ns9N MFfeX*VU%G50K?lYlmGw# diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.notdef-outline.61.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.notdef-outline.61.ttf index 926fd56026d034c57e4d56917e8fe17f4cc5cf19..03c36664f94e26ed603633f7dcfd33ab905c28a1 100644 GIT binary patch delta 19 acmdnNy@Pv#GUJwwD%^~WiJJ`=J6HfeQ3av^ delta 19 acmdnNy@Pv#GULIGD%^~Wd7BLwJ6HffI|aM| diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.notdef-outline.62.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.notdef-outline.62.ttf index f9e6eccb544c6659aef30e8c56b07f534970f04b..d0c7f09350df97bd5978f0a0384762487e634e78 100644 GIT binary patch delta 27 jcmcb>eSv#|A~P?;){QFMjOeSv#|A~O%e!Hp{1jO=;;|1&T!ByKiioW%kFd;$n{ diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.notdef-outline.63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.notdef-outline.63.ttf index 00b494f2d9fbb675f0c33341990d1922a96354bb..a316fa4450bc3978ad217c6c7d371be389d04d19 100644 GIT binary patch delta 27 jcmX@Zb%tw#A~PSuwv8&>jO@w(|1&T!ByToj6k`DZc;W}u delta 27 jcmX@Zb%tw#A~O%e!Hp{1jO=;;|1&T!ByKii6k`DZdH4tC diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids-glyph-names.61,62,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids-glyph-names.61,62,63.ttf index cf2ed9f2c3df3a5bae7abbddfce0b8d0b2cf80c7..7567e0c79b120418c0804970ee9f67572ec1fc81 100644 GIT binary patch delta 19 acmZn>ZV{fK%(!i%3O6HT@@50Z5Dox1(FGm= delta 19 acmZn>ZV{fK%y@943O6HT-ev>F5Dox2mjyHc diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids-glyph-names.61,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids-glyph-names.61,63.ttf index 2268a322814f02a88d4e037a4cb40bc8d2cc72af..e746273dc95177ef2cce65e5089f1f38c9dc83ec 100644 GIT binary patch delta 185 zcmaFB_kwSNVtqNoUIqq69tH*moAjK@v`MeERss1Q3=GUGGEx&$?0&toW?*3X0F*b& z019x_GCyWuVATNfRWfo*D%kHagaP?JK)yguesUtyO-5EAKL*I>%1x{&V9MZl3FK!0 z`3iZ7xv7d%t$zXe9Y8zw733F}aQyqvV8p<{?lEyiwIaw=HU<_3Mg}H^M26)5|ABlk R{eQv#1wc`T%{GiGYyh?+FzEmQ delta 177 zcmaFC_keGLVm%MTK?Vj!9tH*mlk}X*v`MeERss1A3=GUGGEx&$?0&toW?*1>0hBk( z019x_GCyWuU{wI}RWfo*D%kHagaP?3K)yguesUtyO-5EAKLp6<%1x{&V9MZl3FIdL z`3iZ7xv7d%t$zXe4M02g733F}aQyqvV8p<{?l5shwWI=26$=nD0_nW}|AA!U|Ns9N MFfeX*VN_uQ0Nb!F)&Kwi diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids-glyph-names.61.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids-glyph-names.61.ttf index 926fd56026d034c57e4d56917e8fe17f4cc5cf19..03c36664f94e26ed603633f7dcfd33ab905c28a1 100644 GIT binary patch delta 19 acmdnNy@Pv#GUJwwD%^~WiJJ`=J6HfeQ3av^ delta 19 acmdnNy@Pv#GULIGD%^~Wd7BLwJ6HffI|aM| diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids-glyph-names.62.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids-glyph-names.62.ttf index a61f8b6c658120931e5b7e98a6e31a24d99ebb40..ed22b762f858090da74564967d884828b37b5444 100644 GIT binary patch delta 27 jcmcb@eT931A~P?;){QFMjOjO@w(|1&T!ByTojRAK=Dduj*y delta 27 jcmcb?b%SeyA~O%e!Hp{1jO=;;|1&T!ByKiiRAK=De1HfG diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids.61,62,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids.61,62,63.ttf index cf2ed9f2c3df3a5bae7abbddfce0b8d0b2cf80c7..7567e0c79b120418c0804970ee9f67572ec1fc81 100644 GIT binary patch delta 19 acmZn>ZV{fK%(!i%3O6HT@@50Z5Dox1(FGm= delta 19 acmZn>ZV{fK%y@943O6HT-ev>F5Dox2mjyHc diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids.61,63.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids.61,63.ttf index 2268a322814f02a88d4e037a4cb40bc8d2cc72af..e746273dc95177ef2cce65e5089f1f38c9dc83ec 100644 GIT binary patch delta 185 zcmaFB_kwSNVtqNoUIqq69tH*moAjK@v`MeERss1Q3=GUGGEx&$?0&toW?*3X0F*b& z019x_GCyWuVATNfRWfo*D%kHagaP?JK)yguesUtyO-5EAKL*I>%1x{&V9MZl3FK!0 z`3iZ7xv7d%t$zXe9Y8zw733F}aQyqvV8p<{?lEyiwIaw=HU<_3Mg}H^M26)5|ABlk R{eQv#1wc`T%{GiGYyh?+FzEmQ delta 177 zcmaFC_keGLVm%MTK?Vj!9tH*mlk}X*v`MeERss1A3=GUGGEx&$?0&toW?*1>0hBk( z019x_GCyWuU{wI}RWfo*D%kHagaP?3K)yguesUtyO-5EAKLp6<%1x{&V9MZl3FIdL z`3iZ7xv7d%t$zXe4M02g733F}aQyqvV8p<{?l5shwWI=26$=nD0_nW}|AA!U|Ns9N MFfeX*VN_uQ0Nb!F)&Kwi diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids.61.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids.61.ttf index 926fd56026d034c57e4d56917e8fe17f4cc5cf19..03c36664f94e26ed603633f7dcfd33ab905c28a1 100644 GIT binary patch delta 19 acmdnNy@Pv#GUJwwD%^~WiJJ`=J6HfeQ3av^ delta 19 acmdnNy@Pv#GULIGD%^~Wd7BLwJ6HffI|aM| diff --git a/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids.62.ttf b/klippa/test-data/expected/basics/NanumMyeongjo-Regular-subset.retain-gids.62.ttf index a61f8b6c658120931e5b7e98a6e31a24d99ebb40..ed22b762f858090da74564967d884828b37b5444 100644 GIT binary patch delta 27 jcmcb@eT931A~P?;){QFMjOjO@w(|1&T!ByTojRAK=Dduj*y delta 27 jcmcb?b%SeyA~O%e!Hp{1jO=;;|1&T!ByKiiRAK=De1HfG diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.default.61,62,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.default.61,62,63.ttf index ae2e53b106000ae870b7e35617262ee7d4ec9298..578875df73594bbbf55a755da808ed7b0f88c85c 100644 GIT binary patch delta 173 zcmdnM*~2+Ov7U!v8v_F)4+8^(NqSCYnwi9tc|g7c0|Qf3MrvY8Si^=k1_tIiKzXwa zpa9n{)+Ipx6(Cmz+}SA3FM0a z`3iZ7xv5N3xFvvm6CmHBAiubT<9{wg3Q!KzXwa zpa9n{)+Ipx431dwl0kY8NF@jsUVXc^0di7V12nSr7pECVDNp)?newwbKJs3;9` VBS;PcK=O$|oD9T_n;jT^m;o1YCTsuz diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.default.61,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.default.61,63.ttf index d4a8495453df3e6077749024c5ddfec4a7b1a2e0..e08c3fb32041cad3ed75d23cba76d541bda0a4f0 100644 GIT binary patch delta 209 zcmaFCeujO5VtqNoUIqq69tH*moAjK@G!HugW+2}Ki05RaCZ>cnY-nR(V0r?SH_HGD zaP4AU%)r1b1LUh@cnY-nR(017cMm}LM3 zxOTBF2J$U{e3gvck_sL%MqMC32FT~h$xlvXsA4z=?ksECVDNp)?newqamlPyo^_KnM~~ k{{J6HCjS5be*u^ev>V6=>4N}}nnWN@24cp|9*iwa08{-cQvd(} diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.default.61.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.default.61.ttf index 557360e5f18d112b3a403c68757310c7eacd3c55..853b4975e52704827df0051a7a30d3a3bdf7c349 100644 GIT binary patch delta 201 zcmdnPHiK<~Vm%MT76t}J9tH*mlk}X*w6KnkdO*GdkpCqkH8CZuVM7}O1Ct4mZMc&ODfo(F` z5_40Trf^FD`3Hb}i-P>(5|0153@Jc?9}`!k8!`b!nSodYNHT(H76t_%%>slVe&YZC Q5c2;5FrQ&_3gZn%05IPy2LJ#7 delta 237 zcmbQiwufzkV!brudj? zCFZ6wP2rXR@}B_t76tjmB^>{A8Gx2C%S>F69?A?91z{N=$q1#nfV2$*3xfiXW&uKw mc=G@MKr-?F|NjfXdu?Uc41k)@G3P73#2toX$|NkN6 O{{>(^!{!vmC5!+>T`8~t delta 237 zcmaFD+QBwKv0j?-Jp%(H4+8^3M0!qT+JW_qCxQGFAb(#*YGO)Q!-h5n1|}6C-z)chcW|2L0ASzGD2xCAZ^3I!k_@8S%45E mp8WqmkWBpl|NjCopMe47evm#00I5j?;$$FZ-0Z-(gb@JjLM(*< diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.default.63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.default.63.ttf index bd190e04bed9097fd343bfa5cfe36af4b6689ce4..e8179f674b98766bd672ba3d4e7e2b5aaefabe3a 100644 GIT binary patch delta 201 zcmeysdWLm^Vm%+jHUmu1)Wnpqh7D~%{tF=AECVRO zwTpET0|S!+kgt-FTT;Qkhv5K_?*im=mu1)Wnpqh7D~D3``(-vkagB z*DlsYK)wr*uac2lQo+85;Q)}I0pxS!RGgaBC#Oa(xKEjO{EfXRrN6UeUs@)hzD zb5oh7a7zIBGk|=Hg8bqVj{ms~K+BjeOk9yJ$qW<)VHqIF2&K7zw9RA%Mp5;||Ns9l b0E;s)fZPL82LT|pi9nnT#EhFA7<(82!Rspf diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61,62,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61,62,63.ttf index 68fd1cda8edd78f38d434c1c301461061c02f3f0..2f5e4a2817b14782c049e567523411a7426b6c10 100644 GIT binary patch delta 173 zcmZo*zr!{`v7U!v8v_F)4+8^(NqSCY+5~H0$xlvXxWteF4Ho^QDz_(0g{X$da?$i;^tIFX(j;J CdL?84 delta 209 zcmcb^*1$eNv0j?-Jp%(H4+8^3M0!qT+5i;fpDQ=9qJTk-;VA{A8Gx2Cb4*;39?A?91z{N=$q1#nfV2$*3xfiXW&uKw mc=G@MKr-?F|NjfXd%!GAv2} diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.61.ttf index 60d6f2f491628cfeaa6bf746111142a28249992d..b72bff2dd9c6b2d3b94e52fe64ec1c4bc07500ff 100644 GIT binary patch delta 201 zcmX@WI)`+ z?P6U7+ z?P6WTz`!H|o71d0VxKK+{B6k233ZqKt2bMuaK9R zo60nWTLQ?}0P-yg@{3D2{^v5J00j~zu1GfoX=4Ur5g^G3rdb#ifHVsbg7``Q|3k?C N3&4Da%_)oyi~wMODN_Id delta 237 zcmZo*UBWs+v0j?-Jp%(H4+8^3M0!qTT4ndqU?4vQ#Lq}gObKh)&<5o10rJf|@w7+4q-fHVsbg2a>m j{|AzZ|NsAA0OkYj2J%7rAONH$5r~t4m~pcMqXQ!VX#^`N diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.drop-hints-retain-gids.63.ttf index 5ea4ede30e3e9d48d3eb70c26a9dea462c8b29e0..216f969866d77da13d6ad490414831195e57c99d 100644 GIT binary patch delta 201 zcmdnM+QT|Qv7V1%8v_F)4+8^(NqSCYTHvhJ7C^oOkROwgnwS#Su%Qjep9AEZWdH@Z zcCju2@~;5-DjB&Y73_N$4gmQ-fP8_R{NzLiJs^vLi33P*(36O75kY8NF@jsU#1t^d+aYecz6Ht^Hh(&-TBba7kPyo^_KnUU||Njpm P|1SXZ88)Xd`Y-|jona~U delta 221 zcmeBS-M~6Qv0j?-Jp%(H4+8^3M0!qTTHvhJ7C?RqkROwgnwS#Su%QjeKLF&LWdH@Z zcCju2@_zvNDjB&Y73_N$fO1SSK)yguesUs%9+1Vrqyr?lauX{G7}OY^0{K8Q85Hso zb5oh7a7zIB5kS60L4I)w$NyXgpk+)GCay@AWCn_Yundr7gwk9<+Ger>qo{h~|Ns9N bfW;XYK<)*pg8-1)L?BKEV#du5j6RG2B%>+q diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.drop-hints.61,62,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.drop-hints.61,62,63.ttf index 68fd1cda8edd78f38d434c1c301461061c02f3f0..2f5e4a2817b14782c049e567523411a7426b6c10 100644 GIT binary patch delta 173 zcmZo*zr!{`v7U!v8v_F)4+8^(NqSCY+5~H0$xlvXxWteF4Ho^QDz_(0g{X$da?$i;^tIFX(j;J CdL?84 delta 209 zcmcb^*1$eNv0j?-Jp%(H4+8^3M0!qT+5i;fpDQ=9qJTk-;VAzRhcW|2L0ASzGD2xCAZ^3I!k_@8S%45E mp8WqmkWBpl|NjCoA80p_57Gw#AT^0VoD9T_n>`r!FaiKgWGm7D diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.drop-hints.61.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.drop-hints.61.ttf index 60d6f2f491628cfeaa6bf746111142a28249992d..b72bff2dd9c6b2d3b94e52fe64ec1c4bc07500ff 100644 GIT binary patch delta 201 zcmX@WI)`+ z?P6U7+ z?P6WTz`!H|q zu`UAgzX16v8M!4D9Gnav7#Nr&fP9Xe{NzLi9UzN=NdZW(K delta 221 zcmZo*UBWs+v0j?-Jp%(H4+8^3M0!qTTHvhJ7C?RqkROwgnwS#Su%QjeKLF&LWdH@Z zcCju3@_zvNDjB&Y73_N$fO1SSKt4xKesUs%9+1Vrqyi+^auX{G7*rUZ0{J>XzCvDN zZYt9hZV4dY2gtW5$S*G8_@B!Fw2Y}`;)--hW}qkt%K%A6D9r_=Z6+%)imE66|Nnmh bSe$_Ymz+}SA3FM0a z`3iZ7xv5N3xFvvm6CmHBAiubT<9{wg3Q!KzXwa zpa9n{)+Ipx431dwl0kY8NF@jsUVXc^0di7V12nSr7pECVDNp)?newwbKJs3;9` VBS;PcK=O$|oD9T_n;jT^m;o1YCTsuz diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.gids.61,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.gids.61,63.ttf index ae2e53b106000ae870b7e35617262ee7d4ec9298..578875df73594bbbf55a755da808ed7b0f88c85c 100644 GIT binary patch delta 173 zcmdnM*~2+Ov7U!v8v_F)4+8^(NqSCYnwi9tc|g7c0|Qf3MrvY8Si^=k1_tIiKzXwa zpa9n{)+Ipx6(Cmz+}SA3FM0a z`3iZ7xv5N3xFvvm6CmHBAiubT<9{wg3Q!KzXwa zpa9n{)+Ipx431dwl0kY8NF@jsUVXc^0di7V12nSr7pECVDNp)?newwbKJs3;9` VBS;PcK=O$|oD9T_n;jT^m;o1YCTsuz diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.gids.61.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.gids.61.ttf index ae2e53b106000ae870b7e35617262ee7d4ec9298..578875df73594bbbf55a755da808ed7b0f88c85c 100644 GIT binary patch delta 173 zcmdnM*~2+Ov7U!v8v_F)4+8^(NqSCYnwi9tc|g7c0|Qf3MrvY8Si^=k1_tIiKzXwa zpa9n{)+Ipx6(Cmz+}SA3FM0a z`3iZ7xv5N3xFvvm6CmHBAiubT<9{wg3Q!KzXwa zpa9n{)+Ipx431dwl0kY8NF@jsUVXc^0di7V12nSr7pECVDNp)?newwbKJs3;9` VBS;PcK=O$|oD9T_n;jT^m;o1YCTsuz diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.gids.62.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.gids.62.ttf index ae2e53b106000ae870b7e35617262ee7d4ec9298..578875df73594bbbf55a755da808ed7b0f88c85c 100644 GIT binary patch delta 173 zcmdnM*~2+Ov7U!v8v_F)4+8^(NqSCYnwi9tc|g7c0|Qf3MrvY8Si^=k1_tIiKzXwa zpa9n{)+Ipx6(Cmz+}SA3FM0a z`3iZ7xv5N3xFvvm6CmHBAiubT<9{wg3Q!KzXwa zpa9n{)+Ipx431dwl0kY8NF@jsUVXc^0di7V12nSr7pECVDNp)?newwbKJs3;9` VBS;PcK=O$|oD9T_n;jT^m;o1YCTsuz diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.gids.63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.gids.63.ttf index ae2e53b106000ae870b7e35617262ee7d4ec9298..578875df73594bbbf55a755da808ed7b0f88c85c 100644 GIT binary patch delta 173 zcmdnM*~2+Ov7U!v8v_F)4+8^(NqSCYnwi9tc|g7c0|Qf3MrvY8Si^=k1_tIiKzXwa zpa9n{)+Ipx6(Cmz+}SA3FM0a z`3iZ7xv5N3xFvvm6CmHBAiubT<9{wg3Q!KzXwa zpa9n{)+Ipx431dwl0kY8NF@jsUVXc^0di7V12nSr7pECVDNp)?newwbKJs3;9` VBS;PcK=O$|oD9T_n;jT^m;o1YCTsuz diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.glyph-names.61,62,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.glyph-names.61,62,63.ttf index ae2e53b106000ae870b7e35617262ee7d4ec9298..578875df73594bbbf55a755da808ed7b0f88c85c 100644 GIT binary patch delta 173 zcmdnM*~2+Ov7U!v8v_F)4+8^(NqSCYnwi9tc|g7c0|Qf3MrvY8Si^=k1_tIiKzXwa zpa9n{)+Ipx6(Cmz+}SA3FM0a z`3iZ7xv5N3xFvvm6CmHBAiubT<9{wg3Q!KzXwa zpa9n{)+Ipx431dwl0kY8NF@jsUVXc^0di7V12nSr7pECVDNp)?newwbKJs3;9` VBS;PcK=O$|oD9T_n;jT^m;o1YCTsuz diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.glyph-names.61,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.glyph-names.61,63.ttf index d4a8495453df3e6077749024c5ddfec4a7b1a2e0..e08c3fb32041cad3ed75d23cba76d541bda0a4f0 100644 GIT binary patch delta 209 zcmaFCeujO5VtqNoUIqq69tH*moAjK@G!HugW+2}Ki05RaCZ>cnY-nR(V0r?SH_HGD zaP4AU%)r1b1LUh@cnY-nR(017cMm}LM3 zxOTBF2J$U{e3gvck_sL%MqMC32FT~h$xlvXsA4z=?ksECVDNp)?newqamlPyo^_KnM~~ k{{J6HCjS5be*u^ev>V6=>4N}}nnWN@24cp|9*iwa08{-cQvd(} diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.glyph-names.61.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.glyph-names.61.ttf index 557360e5f18d112b3a403c68757310c7eacd3c55..853b4975e52704827df0051a7a30d3a3bdf7c349 100644 GIT binary patch delta 201 zcmdnPHiK<~Vm%MT76t}J9tH*mlk}X*w6KnkdO*GdkpCqkH8CZuVM7}O1Ct4mZMc&ODfo(F` z5_40Trf^FD`3Hb}i-P>(5|0153@Jc?9}`!k8!`b!nSodYNHT(H76t_%%>slVe&YZC Q5c2;5FrQ&_3gZn%05IPy2LJ#7 delta 237 zcmbQiwufzkV!brudj? zCFZ6wP2rXR@}B_t76tjmB^>{A8Gx2C%S>F69?A?91z{N=$q1#nfV2$*3xfiXW&uKw mc=G@MKr-?F|NjfXdu?Uc41k)@G3P73#2toX$|NkN6 O{{>(^!{!vmC5!+>T`8~t delta 237 zcmaFD+QBwKv0j?-Jp%(H4+8^3M0!qT+JW_qCxQGFAb(#*YGO)Q!-h5n1|}6C-z)chcW|2L0ASzGD2xCAZ^3I!k_@8S%45E mp8WqmkWBpl|NjCopMe47evm#00I5j?;$$FZ-0Z-(gb@JjLM(*< diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.glyph-names.63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.glyph-names.63.ttf index bd190e04bed9097fd343bfa5cfe36af4b6689ce4..e8179f674b98766bd672ba3d4e7e2b5aaefabe3a 100644 GIT binary patch delta 201 zcmeysdWLm^Vm%+jHUmu1)Wnpqh7D~%{tF=AECVRO zwTpET0|S!+kgt-FTT;Qkhv5K_?*im=mu1)Wnpqh7D~D3``(-vkagB z*DlsYK)wr*uac2lQo+85;Q)}I0pxS!RGgaBC#Oa(xKEjO{EfXRrN6UeUs@)hzD zb5oh7a7zIBGk|=Hg8bqVj{ms~K+BjeOk9yJ$qW<)VHqIF2&K7zw9RA%Mp5;||Ns9l b0E;s)fZPL82LT|pi9nnT#EhFA7<(82!Rspf diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.name-ids.61,62,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.name-ids.61,62,63.ttf index ae2e53b106000ae870b7e35617262ee7d4ec9298..578875df73594bbbf55a755da808ed7b0f88c85c 100644 GIT binary patch delta 173 zcmdnM*~2+Ov7U!v8v_F)4+8^(NqSCYnwi9tc|g7c0|Qf3MrvY8Si^=k1_tIiKzXwa zpa9n{)+Ipx6(Cmz+}SA3FM0a z`3iZ7xv5N3xFvvm6CmHBAiubT<9{wg3Q!KzXwa zpa9n{)+Ipx431dwl0kY8NF@jsUVXc^0di7V12nSr7pECVDNp)?newwbKJs3;9` VBS;PcK=O$|oD9T_n;jT^m;o1YCTsuz diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.name-ids.61,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.name-ids.61,63.ttf index d4a8495453df3e6077749024c5ddfec4a7b1a2e0..e08c3fb32041cad3ed75d23cba76d541bda0a4f0 100644 GIT binary patch delta 209 zcmaFCeujO5VtqNoUIqq69tH*moAjK@G!HugW+2}Ki05RaCZ>cnY-nR(V0r?SH_HGD zaP4AU%)r1b1LUh@cnY-nR(017cMm}LM3 zxOTBF2J$U{e3gvck_sL%MqMC32FT~h$xlvXsA4z=?ksECVDNp)?newqamlPyo^_KnM~~ k{{J6HCjS5be*u^ev>V6=>4N}}nnWN@24cp|9*iwa08{-cQvd(} diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.name-ids.61.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.name-ids.61.ttf index 557360e5f18d112b3a403c68757310c7eacd3c55..853b4975e52704827df0051a7a30d3a3bdf7c349 100644 GIT binary patch delta 201 zcmdnPHiK<~Vm%MT76t}J9tH*mlk}X*w6KnkdO*GdkpCqkH8CZuVM7}O1Ct4mZMc&ODfo(F` z5_40Trf^FD`3Hb}i-P>(5|0153@Jc?9}`!k8!`b!nSodYNHT(H76t_%%>slVe&YZC Q5c2;5FrQ&_3gZn%05IPy2LJ#7 delta 237 zcmbQiwufzkV!brudj? zCFZ6wP2rXR@}B_t76tjmB^>{A8Gx2C%S>F69?A?91z{N=$q1#nfV2$*3xfiXW&uKw mc=G@MKr-?F|NjfXdu?Uc41k)@G3P73#2toX$|NkN6 O{{>(^!{!vmC5!+>T`8~t delta 237 zcmaFD+QBwKv0j?-Jp%(H4+8^3M0!qT+JW_qCxQGFAb(#*YGO)Q!-h5n1|}6C-z)chcW|2L0ASzGD2xCAZ^3I!k_@8S%45E mp8WqmkWBpl|NjCopMe47evm#00I5j?;$$FZ-0Z-(gb@JjLM(*< diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.name-ids.63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.name-ids.63.ttf index bd190e04bed9097fd343bfa5cfe36af4b6689ce4..e8179f674b98766bd672ba3d4e7e2b5aaefabe3a 100644 GIT binary patch delta 201 zcmeysdWLm^Vm%+jHUmu1)Wnpqh7D~%{tF=AECVRO zwTpET0|S!+kgt-FTT;Qkhv5K_?*im=mu1)Wnpqh7D~D3``(-vkagB z*DlsYK)wr*uac2lQo+85;Q)}I0pxS!RGgaBC#Oa(xKEjO{EfXRrN6UeUs@)hzD zb5oh7a7zIBGk|=Hg8bqVj{ms~K+BjeOk9yJ$qW<)VHqIF2&K7zw9RA%Mp5;||Ns9l b0E;s)fZPL82LT|pi9nnT#EhFA7<(82!Rspf diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.name-languages.61,62,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.name-languages.61,62,63.ttf index ae2e53b106000ae870b7e35617262ee7d4ec9298..578875df73594bbbf55a755da808ed7b0f88c85c 100644 GIT binary patch delta 173 zcmdnM*~2+Ov7U!v8v_F)4+8^(NqSCYnwi9tc|g7c0|Qf3MrvY8Si^=k1_tIiKzXwa zpa9n{)+Ipx6(Cmz+}SA3FM0a z`3iZ7xv5N3xFvvm6CmHBAiubT<9{wg3Q!KzXwa zpa9n{)+Ipx431dwl0kY8NF@jsUVXc^0di7V12nSr7pECVDNp)?newwbKJs3;9` VBS;PcK=O$|oD9T_n;jT^m;o1YCTsuz diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.name-languages.61,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.name-languages.61,63.ttf index d4a8495453df3e6077749024c5ddfec4a7b1a2e0..e08c3fb32041cad3ed75d23cba76d541bda0a4f0 100644 GIT binary patch delta 209 zcmaFCeujO5VtqNoUIqq69tH*moAjK@G!HugW+2}Ki05RaCZ>cnY-nR(V0r?SH_HGD zaP4AU%)r1b1LUh@cnY-nR(017cMm}LM3 zxOTBF2J$U{e3gvck_sL%MqMC32FT~h$xlvXsA4z=?ksECVDNp)?newqamlPyo^_KnM~~ k{{J6HCjS5be*u^ev>V6=>4N}}nnWN@24cp|9*iwa08{-cQvd(} diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.name-languages.61.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.name-languages.61.ttf index 557360e5f18d112b3a403c68757310c7eacd3c55..853b4975e52704827df0051a7a30d3a3bdf7c349 100644 GIT binary patch delta 201 zcmdnPHiK<~Vm%MT76t}J9tH*mlk}X*w6KnkdO*GdkpCqkH8CZuVM7}O1Ct4mZMc&ODfo(F` z5_40Trf^FD`3Hb}i-P>(5|0153@Jc?9}`!k8!`b!nSodYNHT(H76t_%%>slVe&YZC Q5c2;5FrQ&_3gZn%05IPy2LJ#7 delta 237 zcmbQiwufzkV!brudj? zCFZ6wP2rXR@}B_t76tjmB^>{A8Gx2C%S>F69?A?91z{N=$q1#nfV2$*3xfiXW&uKw mc=G@MKr-?F|NjfXdu?Uc41k)@G3P73#2toX$|NkN6 O{{>(^!{!vmC5!+>T`8~t delta 237 zcmaFD+QBwKv0j?-Jp%(H4+8^3M0!qT+JW_qCxQGFAb(#*YGO)Q!-h5n1|}6C-z)chcW|2L0ASzGD2xCAZ^3I!k_@8S%45E mp8WqmkWBpl|NjCopMe47evm#00I5j?;$$FZ-0Z-(gb@JjLM(*< diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.name-languages.63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.name-languages.63.ttf index bd190e04bed9097fd343bfa5cfe36af4b6689ce4..e8179f674b98766bd672ba3d4e7e2b5aaefabe3a 100644 GIT binary patch delta 201 zcmeysdWLm^Vm%+jHUmu1)Wnpqh7D~%{tF=AECVRO zwTpET0|S!+kgt-FTT;Qkhv5K_?*im=mu1)Wnpqh7D~D3``(-vkagB z*DlsYK)wr*uac2lQo+85;Q)}I0pxS!RGgaBC#Oa(xKEjO{EfXRrN6UeUs@)hzD zb5oh7a7zIBGk|=Hg8bqVj{ms~K+BjeOk9yJ$qW<)VHqIF2&K7zw9RA%Mp5;||Ns9l b0E;s)fZPL82LT|pi9nnT#EhFA7<(82!Rspf diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.name-legacy.61,62,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.name-legacy.61,62,63.ttf index ae2e53b106000ae870b7e35617262ee7d4ec9298..578875df73594bbbf55a755da808ed7b0f88c85c 100644 GIT binary patch delta 173 zcmdnM*~2+Ov7U!v8v_F)4+8^(NqSCYnwi9tc|g7c0|Qf3MrvY8Si^=k1_tIiKzXwa zpa9n{)+Ipx6(Cmz+}SA3FM0a z`3iZ7xv5N3xFvvm6CmHBAiubT<9{wg3Q!KzXwa zpa9n{)+Ipx431dwl0kY8NF@jsUVXc^0di7V12nSr7pECVDNp)?newwbKJs3;9` VBS;PcK=O$|oD9T_n;jT^m;o1YCTsuz diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.name-legacy.61,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.name-legacy.61,63.ttf index d4a8495453df3e6077749024c5ddfec4a7b1a2e0..e08c3fb32041cad3ed75d23cba76d541bda0a4f0 100644 GIT binary patch delta 209 zcmaFCeujO5VtqNoUIqq69tH*moAjK@G!HugW+2}Ki05RaCZ>cnY-nR(V0r?SH_HGD zaP4AU%)r1b1LUh@cnY-nR(017cMm}LM3 zxOTBF2J$U{e3gvck_sL%MqMC32FT~h$xlvXsA4z=?ksECVDNp)?newqamlPyo^_KnM~~ k{{J6HCjS5be*u^ev>V6=>4N}}nnWN@24cp|9*iwa08{-cQvd(} diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.name-legacy.61.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.name-legacy.61.ttf index 557360e5f18d112b3a403c68757310c7eacd3c55..853b4975e52704827df0051a7a30d3a3bdf7c349 100644 GIT binary patch delta 201 zcmdnPHiK<~Vm%MT76t}J9tH*mlk}X*w6KnkdO*GdkpCqkH8CZuVM7}O1Ct4mZMc&ODfo(F` z5_40Trf^FD`3Hb}i-P>(5|0153@Jc?9}`!k8!`b!nSodYNHT(H76t_%%>slVe&YZC Q5c2;5FrQ&_3gZn%05IPy2LJ#7 delta 237 zcmbQiwufzkV!brudj? zCFZ6wP2rXR@}B_t76tjmB^>{A8Gx2C%S>F69?A?91z{N=$q1#nfV2$*3xfiXW&uKw mc=G@MKr-?F|NjfXdu?Uc41k)@G3P73#2toX$|NkN6 O{{>(^!{!vmC5!+>T`8~t delta 237 zcmaFD+QBwKv0j?-Jp%(H4+8^3M0!qT+JW_qCxQGFAb(#*YGO)Q!-h5n1|}6C-z)chcW|2L0ASzGD2xCAZ^3I!k_@8S%45E mp8WqmkWBpl|NjCopMe47evm#00I5j?;$$FZ-0Z-(gb@JjLM(*< diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.name-legacy.63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.name-legacy.63.ttf index bd190e04bed9097fd343bfa5cfe36af4b6689ce4..e8179f674b98766bd672ba3d4e7e2b5aaefabe3a 100644 GIT binary patch delta 201 zcmeysdWLm^Vm%+jHUmu1)Wnpqh7D~%{tF=AECVRO zwTpET0|S!+kgt-FTT;Qkhv5K_?*im=mu1)Wnpqh7D~D3``(-vkagB z*DlsYK)wr*uac2lQo+85;Q)}I0pxS!RGgaBC#Oa(xKEjO{EfXRrN6UeUs@)hzD zb5oh7a7zIBGk|=Hg8bqVj{ms~K+BjeOk9yJ$qW<)VHqIF2&K7zw9RA%Mp5;||Ns9l b0E;s)fZPL82LT|pi9nnT#EhFA7<(82!Rspf diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.no-prune-unicode-ranges.61,62,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.no-prune-unicode-ranges.61,62,63.ttf index ae2e53b106000ae870b7e35617262ee7d4ec9298..578875df73594bbbf55a755da808ed7b0f88c85c 100644 GIT binary patch delta 173 zcmdnM*~2+Ov7U!v8v_F)4+8^(NqSCYnwi9tc|g7c0|Qf3MrvY8Si^=k1_tIiKzXwa zpa9n{)+Ipx6(Cmz+}SA3FM0a z`3iZ7xv5N3xFvvm6CmHBAiubT<9{wg3Q!KzXwa zpa9n{)+Ipx431dwl0kY8NF@jsUVXc^0di7V12nSr7pECVDNp)?newwbKJs3;9` VBS;PcK=O$|oD9T_n;jT^m;o1YCTsuz diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.no-prune-unicode-ranges.61,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.no-prune-unicode-ranges.61,63.ttf index d4a8495453df3e6077749024c5ddfec4a7b1a2e0..e08c3fb32041cad3ed75d23cba76d541bda0a4f0 100644 GIT binary patch delta 209 zcmaFCeujO5VtqNoUIqq69tH*moAjK@G!HugW+2}Ki05RaCZ>cnY-nR(V0r?SH_HGD zaP4AU%)r1b1LUh@cnY-nR(017cMm}LM3 zxOTBF2J$U{e3gvck_sL%MqMC32FT~h$xlvXsA4z=?ksECVDNp)?newqamlPyo^_KnM~~ k{{J6HCjS5be*u^ev>V6=>4N}}nnWN@24cp|9*iwa08{-cQvd(} diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.no-prune-unicode-ranges.61.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.no-prune-unicode-ranges.61.ttf index 557360e5f18d112b3a403c68757310c7eacd3c55..853b4975e52704827df0051a7a30d3a3bdf7c349 100644 GIT binary patch delta 201 zcmdnPHiK<~Vm%MT76t}J9tH*mlk}X*w6KnkdO*GdkpCqkH8CZuVM7}O1Ct4mZMc&ODfo(F` z5_40Trf^FD`3Hb}i-P>(5|0153@Jc?9}`!k8!`b!nSodYNHT(H76t_%%>slVe&YZC Q5c2;5FrQ&_3gZn%05IPy2LJ#7 delta 237 zcmbQiwufzkV!brudj? zCFZ6wP2rXR@}B_t76tjmB^>{A8Gx2C%S>F69?A?91z{N=$q1#nfV2$*3xfiXW&uKw mc=G@MKr-?F|NjfXdu?Uc41k)@G3P73#2toX$|NkN6 O{{>(^!{!vmC5!+>T`8~t delta 237 zcmaFD+QBwKv0j?-Jp%(H4+8^3M0!qT+JW_qCxQGFAb(#*YGO)Q!-h5n1|}6C-z)chcW|2L0ASzGD2xCAZ^3I!k_@8S%45E mp8WqmkWBpl|NjCopMe47evm#00I5j?;$$FZ-0Z-(gb@JjLM(*< diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.no-prune-unicode-ranges.63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.no-prune-unicode-ranges.63.ttf index bd190e04bed9097fd343bfa5cfe36af4b6689ce4..e8179f674b98766bd672ba3d4e7e2b5aaefabe3a 100644 GIT binary patch delta 201 zcmeysdWLm^Vm%+jHUmu1)Wnpqh7D~%{tF=AECVRO zwTpET0|S!+kgt-FTT;Qkhv5K_?*im=mu1)Wnpqh7D~D3``(-vkagB z*DlsYK)wr*uac2lQo+85;Q)}I0pxS!RGgaBC#Oa(xKEjO{EfXRrN6UeUs@)hzD zb5oh7a7zIBGk|=Hg8bqVj{ms~K+BjeOk9yJ$qW<)VHqIF2&K7zw9RA%Mp5;||Ns9l b0E;s)fZPL82LT|pi9nnT#EhFA7<(82!Rspf diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.notdef-outline.61,62,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.notdef-outline.61,62,63.ttf index ae2e53b106000ae870b7e35617262ee7d4ec9298..578875df73594bbbf55a755da808ed7b0f88c85c 100644 GIT binary patch delta 173 zcmdnM*~2+Ov7U!v8v_F)4+8^(NqSCYnwi9tc|g7c0|Qf3MrvY8Si^=k1_tIiKzXwa zpa9n{)+Ipx6(Cmz+}SA3FM0a z`3iZ7xv5N3xFvvm6CmHBAiubT<9{wg3Q!KzXwa zpa9n{)+Ipx431dwl0kY8NF@jsUVXc^0di7V12nSr7pECVDNp)?newwbKJs3;9` VBS;PcK=O$|oD9T_n;jT^m;o1YCTsuz diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.notdef-outline.61,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.notdef-outline.61,63.ttf index d4a8495453df3e6077749024c5ddfec4a7b1a2e0..e08c3fb32041cad3ed75d23cba76d541bda0a4f0 100644 GIT binary patch delta 209 zcmaFCeujO5VtqNoUIqq69tH*moAjK@G!HugW+2}Ki05RaCZ>cnY-nR(V0r?SH_HGD zaP4AU%)r1b1LUh@cnY-nR(017cMm}LM3 zxOTBF2J$U{e3gvck_sL%MqMC32FT~h$xlvXsA4z=?ksECVDNp)?newqamlPyo^_KnM~~ k{{J6HCjS5be*u^ev>V6=>4N}}nnWN@24cp|9*iwa08{-cQvd(} diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.notdef-outline.61.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.notdef-outline.61.ttf index 557360e5f18d112b3a403c68757310c7eacd3c55..853b4975e52704827df0051a7a30d3a3bdf7c349 100644 GIT binary patch delta 201 zcmdnPHiK<~Vm%MT76t}J9tH*mlk}X*w6KnkdO*GdkpCqkH8CZuVM7}O1Ct4mZMc&ODfo(F` z5_40Trf^FD`3Hb}i-P>(5|0153@Jc?9}`!k8!`b!nSodYNHT(H76t_%%>slVe&YZC Q5c2;5FrQ&_3gZn%05IPy2LJ#7 delta 237 zcmbQiwufzkV!brudj? zCFZ6wP2rXR@}B_t76tjmB^>{A8Gx2C%S>F69?A?91z{N=$q1#nfV2$*3xfiXW&uKw mc=G@MKr-?F|NjfXdu?Uc41k)@G3P73#2toX$|NkN6 O{{>(^!{!vmC5!+>T`8~t delta 237 zcmaFD+QBwKv0j?-Jp%(H4+8^3M0!qT+JW_qCxQGFAb(#*YGO)Q!-h5n1|}6C-z)chcW|2L0ASzGD2xCAZ^3I!k_@8S%45E mp8WqmkWBpl|NjCopMe47evm#00I5j?;$$FZ-0Z-(gb@JjLM(*< diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.notdef-outline.63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.notdef-outline.63.ttf index bd190e04bed9097fd343bfa5cfe36af4b6689ce4..e8179f674b98766bd672ba3d4e7e2b5aaefabe3a 100644 GIT binary patch delta 201 zcmeysdWLm^Vm%+jHUmu1)Wnpqh7D~%{tF=AECVRO zwTpET0|S!+kgt-FTT;Qkhv5K_?*im=mu1)Wnpqh7D~D3``(-vkagB z*DlsYK)wr*uac2lQo+85;Q)}I0pxS!RGgaBC#Oa(xKEjO{EfXRrN6UeUs@)hzD zb5oh7a7zIBGk|=Hg8bqVj{ms~K+BjeOk9yJ$qW<)VHqIF2&K7zw9RA%Mp5;||Ns9l b0E;s)fZPL82LT|pi9nnT#EhFA7<(82!Rspf diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.retain-gids-glyph-names.61,62,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.retain-gids-glyph-names.61,62,63.ttf index ae2e53b106000ae870b7e35617262ee7d4ec9298..578875df73594bbbf55a755da808ed7b0f88c85c 100644 GIT binary patch delta 173 zcmdnM*~2+Ov7U!v8v_F)4+8^(NqSCYnwi9tc|g7c0|Qf3MrvY8Si^=k1_tIiKzXwa zpa9n{)+Ipx6(Cmz+}SA3FM0a z`3iZ7xv5N3xFvvm6CmHBAiubT<9{wg3Q!KzXwa zpa9n{)+Ipx431dwl0kY8NF@jsUVXc^0di7V12nSr7pECVDNp)?newwbKJs3;9` VBS;PcK=O$|oD9T_n;jT^m;o1YCTsuz diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.retain-gids-glyph-names.61,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.retain-gids-glyph-names.61,63.ttf index 65290c4ed68354d4ef21daeefc3d63b9022d57d0..5182ca8bb13b5b455cd72d345de0a82e63b5fbc7 100644 GIT binary patch delta 209 zcmeyseuaI4VtqNoUIqq69tH*moAjK@G!HugW+2}Ki05RaCZ>cnY-nR(V0r?SH_HGD zaP4AU!oa{R1LUh@K)ym= zVs0wa6mAJ1zXr&+D9A4^;rO4+kOCCgGI2$^B@<8-Xgh-lkYohYEDRbznvH=4$Y)|m aWJv!1AIJyO{}=pU09FMQ*qp-H!vp|8Pb*yj delta 237 zcmcb@{(*ghV!brudjcnY-nR(017cMm}LM3 zxOTBF0rD+?e3gvck_sL%MqMC32FMr4$xlvX^kAq0@^gTEuH3|m0wxn?P9VPm$XCcq z%uQvQ!Yu*h&j9i*3i69fIR57{04-y_FmXkCD99QRmI0ECP?`%!+c2;&C;({|AOwjg l|Njpp6aWAJzW~fY7&7s8HgD-docDe0RSfgDhdDq diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.retain-gids-glyph-names.61.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.retain-gids-glyph-names.61.ttf index 557360e5f18d112b3a403c68757310c7eacd3c55..853b4975e52704827df0051a7a30d3a3bdf7c349 100644 GIT binary patch delta 201 zcmdnPHiK<~Vm%MT76t}J9tH*mlk}X*w6KnkdO*GdkpCqkH8CZuVM7}O1Ct4mZMc&ODfo(F` z5_40Trf^FD`3Hb}i-P>(5|0153@Jc?9}`!k8!`b!nSodYNHT(H76t_%%>slVe&YZC Q5c2;5FrQ&_3gZn%05IPy2LJ#7 delta 237 zcmbQiwufzkV!brudj? zCFZ6wP2rXR@}B_t76tjmB^>{A8Gx2C%S>F69?A?91z{N=$q1#nfV2$*3xfiXW&uKw mc=G@MKr-?F|NjfXduA+{B6kCSzt!Ain^}SIA4u zO=X(GEdk_D0P-yg@{3D2{^v5J00mA=T#;@FvW6LmMSvtDm}X&60MaZ#2;wLG{|_Pm OF97oyHm5MIU<3eC#VOPP delta 237 zcmaFC+QT+Mv0j?-Jp%(H4+8^3M0!qT+JW_qCxQGFAb(#*YGO)Q!-h5n1|}6C-z)6o51f5Q4;$ k|NjS)iU0rqUjXI@~ diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.retain-gids-glyph-names.63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.retain-gids-glyph-names.63.ttf index 03d7ddfcc8c1b3f652abcc587f2676270cf295e0..0e8705aa4731ad9f4fd2f08af0e238a3e03d4d47 100644 GIT binary patch delta 201 zcmeyvdV_U>Vm%+jHUmu1)Wnpqh7D~%{tF=AECVRO zwTpEL0|S!+kgt-FTT;Qkhv5K_?*iltt#CfXRfJ6Ua{h@)hzD zb5oh7a7zIB4M4s{L4I)w$NyZ06rjM4i7V0#nSi3qKr8|z8NoCQg94Cd0YVTz`Tu_i P`F{bJ&#*a#aRws*a-b_? delta 221 zcmcb?`iFIbV!brudjmu1)Wnpqh7D~D3``(-vkagB z*Dls2K)wr*uac2lQo+85;Q)}I0ptthRGgaBC#Ocg+aD>t#CfXRfJ6Uc7?@)hzD zb5oh7a7zIBKrmz+}SA3FM0a z`3iZ7xv5N3xFvvm6CmHBAiubT<9{wg3Q!KzXwa zpa9n{)+Ipx431dwl0kY8NF@jsUVXc^0di7V12nSr7pECVDNp)?newwbKJs3;9` VBS;PcK=O$|oD9T_n;jT^m;o1YCTsuz diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.retain-gids.61,63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.retain-gids.61,63.ttf index 65290c4ed68354d4ef21daeefc3d63b9022d57d0..5182ca8bb13b5b455cd72d345de0a82e63b5fbc7 100644 GIT binary patch delta 209 zcmeyseuaI4VtqNoUIqq69tH*moAjK@G!HugW+2}Ki05RaCZ>cnY-nR(V0r?SH_HGD zaP4AU!oa{R1LUh@K)ym= zVs0wa6mAJ1zXr&+D9A4^;rO4+kOCCgGI2$^B@<8-Xgh-lkYohYEDRbznvH=4$Y)|m aWJv!1AIJyO{}=pU09FMQ*qp-H!vp|8Pb*yj delta 237 zcmcb@{(*ghV!brudjcnY-nR(017cMm}LM3 zxOTBF0rD+?e3gvck_sL%MqMC32FMr4$xlvX^kAq0@^gTEuH3|m0wxn?P9VPm$XCcq z%uQvQ!Yu*h&j9i*3i69fIR57{04-y_FmXkCD99QRmI0ECP?`%!+c2;&C;({|AOwjg l|Njpp6aWAJzW~fY7&7s8HgD-docDe0RSfgDhdDq diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.retain-gids.61.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.retain-gids.61.ttf index 557360e5f18d112b3a403c68757310c7eacd3c55..853b4975e52704827df0051a7a30d3a3bdf7c349 100644 GIT binary patch delta 201 zcmdnPHiK<~Vm%MT76t}J9tH*mlk}X*w6KnkdO*GdkpCqkH8CZuVM7}O1Ct4mZMc&ODfo(F` z5_40Trf^FD`3Hb}i-P>(5|0153@Jc?9}`!k8!`b!nSodYNHT(H76t_%%>slVe&YZC Q5c2;5FrQ&_3gZn%05IPy2LJ#7 delta 237 zcmbQiwufzkV!brudj? zCFZ6wP2rXR@}B_t76tjmB^>{A8Gx2C%S>F69?A?91z{N=$q1#nfV2$*3xfiXW&uKw mc=G@MKr-?F|NjfXduA+{B6kCSzt!Ain^}SIA4u zO=X(GEdk_D0P-yg@{3D2{^v5J00mA=T#;@FvW6LmMSvtDm}X&60MaZ#2;wLG{|_Pm OF97oyHm5MIU<3eC#VOPP delta 237 zcmaFC+QT+Mv0j?-Jp%(H4+8^3M0!qT+JW_qCxQGFAb(#*YGO)Q!-h5n1|}6C-z)6o51f5Q4;$ k|NjS)iU0rqUjXI@~ diff --git a/klippa/test-data/expected/basics/Roboto-Regular.abc.retain-gids.63.ttf b/klippa/test-data/expected/basics/Roboto-Regular.abc.retain-gids.63.ttf index 03d7ddfcc8c1b3f652abcc587f2676270cf295e0..0e8705aa4731ad9f4fd2f08af0e238a3e03d4d47 100644 GIT binary patch delta 201 zcmeyvdV_U>Vm%+jHUmu1)Wnpqh7D~%{tF=AECVRO zwTpEL0|S!+kgt-FTT;Qkhv5K_?*iltt#CfXRfJ6Ua{h@)hzD zb5oh7a7zIB4M4s{L4I)w$NyZ06rjM4i7V0#nSi3qKr8|z8NoCQg94Cd0YVTz`Tu_i P`F{bJ&#*a#aRws*a-b_? delta 221 zcmcb?`iFIbV!brudjmu1)Wnpqh7D~D3``(-vkagB z*Dls2K)wr*uac2lQo+85;Q)}I0ptthRGgaBC#Ocg+aD>t#CfXRfJ6Uc7?@)hzD zb5oh7a7zIBKrScPuW)T&g5>sZ~{?ZPkOHu0iM$K z4(<}aC7$y79SeCJBK|;}_pM=&KZ?V|pNNf~2mvt9^+?XYdFFkj{G{N z@iDOl7O|DsxeR9l5sHa_k`_=y7k$`pP>07|_iz&@ahZ4xx0GjqD?|f?SSPaw17(<) z!#ozSgo|kH@wj9~=qT>(G-l#7|L-M!nHDQJinGc*9<$nvn9OFf>r>1-$2(i2h6cN9 z^7XiGrMJOo9V>hK-ent^>CUotfDKNx&KX_yYTy}9g>}oUe_$nmd;S?cb x=eP|y=YaX7wp6Uk$T5{SqW=s^{M}JMlZ=1cHq}d?vE!Uue!Z0V3A-30e*q!)k9Yt8 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.default.61,FEFA.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.default.61,FEFA.ttf new file mode 100644 index 0000000000000000000000000000000000000000..39e64d9e4a0d64485292d1cba6f126f0ad0f8f68 GIT binary patch literal 1064 zcmZuvKWGzS6#w0QX&R$6BGk#@h71+-(nMRN?OrQQaC-swfi+I|lBEF;A#2<;%uHWgZ zT|6ZIMV$1SRR;;21WZCCe5V^E&fpYrg4k*}em(ta?mh7YW4;B=b|-v+91zoXD79-m z#R%=2=50n?>)pm(`h1m?10-_^NhIbA`4TR}+22z^xB;jD-NlR%iY+2b-!YzwTqKK} zCX!4=-bsyR69D_uB!f5+b20mSJ&ylnv_*Z4pTs+%)RNQCnBx)mDLWh+$DfS-dH4EW zYVNnpF7BU-3*0yGdHl_HAly(MXOW)uN+~gKG^6%c-v5>8VfNmH(gDevNI!}ilT7^;Ek!{3|5kA9@NH%bqyYJ~ujNwBhD@qu!L1bPxmI;c9wI?Ur!33vx_104_)Av;s5{u literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.default.FEE6,FECF.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.default.FEE6,FECF.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0345ee71aa8ef33e8bae103ac6a255902c5a0c72 GIT binary patch literal 1016 zcmZuuJ!lhQ7=G@)G)<#4QmvE24H+uvrH!_T&0u2+ibBMIh=ca>(_ZOaa^y};!9ftA zI5{{t2)YUdH{HeADlQIEoN5;rMeLOG`Mx{jS@It5_r1^iKHvLy&;Vp{9|A_TRw!0~ zZ@!~vle*M!Ef0ss9st@w;?jzr+TqJuhGD8qq;Hr8+wSBY0}TY0*;M%0Cm zRWjQ!xF8eLIE`7%;|gl~JT_SY8j5>o5HoRx|9u`VYpgM!n~iOlC9L^(p3^ z=AEpufC{^-^7XK8rMJRp8H@Y+{>L^F)17B+59^$0l{4Dx!@x^wk#%QS|HQzarIpN4 z<13&17N_tTyU1kk~9t6)q!JB#(k0OW{4^lk#pch53IV65F*|uxVEHm@I_r7`WdvBouNZ}C#j7l|I zSU9=)g`Q3B#ky;Gn247E?Feyh*;!kHUZbfMc^G!nYD{jWe-Ym%p0VjjYzd!ugE(Wm zL04?!A@N({l+&(TNa85*d*Y;Pb-m;ijuC$#Hd>b3%)BZxrhVuB=C%D`@B#%us5pe! z)}A5`=uh;Ud~tPnYj?=`N<3;MrE{)as^C(8r{5FaV4e9qbQiPQAo9Raw$3xgeVp@1 zsatjqOsSKifc_454@mSR+FyAU{SRx0ACLce_xf(S_*?3i@lV(0IWyq%)iH)!WN5KNL>u@S+8R!9 zenY>GaeNGIff+mt?O22pM}SP|Ptf9k(LftDG*N;B3oWeTEUptTE4^h#OPD{Pd!KDYy1UHU9@f~=3VXDv!@x`K0_)~k|ID5}O)HwC%2z)5 zO?Kfkc7@ZBeRh~no|cL=7&)c#2J~M#o&ByCFXk|P&21qTO( z;^g4qAh;?NbW&$=7R1FtiencSMUV(NpYOY~jV0glz2E!1@ALj11b{KzhlE+FX7Y=t zw!YA^#k*8)Hz4T){(6F(qMH{EVe z?%*Er3*w~HuGvUZgLqAmaP6L#Jb|Oc?}*Ko?KaY{3Ll8sgZSpP{ci9ac|dAEq}&mY z5eJM%#&t$q314xOoUg>Aj;>cMmnyh8=nwkR3pSb0LvJY~f}sFY>jq_v_Zasvre8HV za8gS)1q}M(P5e=4?{F^)i$f2`f4_foD^>WV`c?i<3-jC&@Okp>cOcl54(qcCsA}pk zF6vA3rSpGgGK_GKn$1myF^r#3+u$*D*QwB@Ex-ZXU=0yFNc;ppB35p}e&j0Q?@V55a~oWoV(RovE=4z3Y(;A4%<7EI(|A&Y6u zU=E9@?z1$>>Y}E(cXoXi&hx*{!DWqg=2M&%=5d&HnI4PTEOtG`yji}(HHs*+y9%R6 zb*rppdP|t!*Y_UV9GdPDYkSz>L~ER}$v#ZHNC`ab5t4Sli%PJK7E(D u4K-(n`INM^uTIZtowrN-1!VZ$)t^PizinGO(xvYV=a%7L4xX`#5$7+3&yf-U literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints-retain-gids.61,62.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints-retain-gids.61,62.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fa4f7c162c5e5dee7e0598c7f8cd209deca30b86 GIT binary patch literal 1396 zcmeHHJ#W)c6g~D!O8HO=Qp@Zi14!UBp{)?@kc4zVAO#3Qhyh|JZr#>Stk^&*F~ERS zF)=W7Kw?HhFaZk_VnPTBv7(Bx3kwK|&7AjQjH&Vi7|@k`Dmv)FhJzYB?t2&OIF5_NE4ZO7eOxB$Bg871 zU2b;?CT1{;IV|8jn!7A6SrOWbdo%T!ILZIq0>2IxD>#a?%sd{m+Vq&rX0q!O%saz( zwni0ocGqC^sBWdTPHzoMyZZjaHZs$lX6*nQoM@FZy6n}!6Fz0uEwTQwRG*`k&Cz63 zNWQ}hbom9J`7O3`OCuYseiXMA#N zji&bmN#L0F!!);yhZq0?Yk_NganZkx8;to#y_eKniUt*%O{cOr2YaV&y51^ax@gVE z4Nv(xWa&FdZt`S!lpLj|GG%xVX`P*s#x-XnyzR~*FgtDkgnsk2MSGB+dT)EGmg0ui zIUe;cCHm{e{s+UqUOm4Vnfa+^SK;q6bHp2XKlHBV2B*<$Sa6!T8-?yWJ4G`q|4 zb-!+vHBD~{b9?&!8*TMWcb>IftZr| xT_752&N}lcZfjqWo^hSGN&8vE`Q6c9j1hm(j_H>b`i^sMwb>?lkJ&{Z+6Asm(pCTf literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints-retain-gids.FEE6,FECF.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints-retain-gids.FEE6,FECF.ttf new file mode 100644 index 0000000000000000000000000000000000000000..73e982ad5843576e00f219a36303f23e35746365 GIT binary patch literal 8076 zcmeI1KWGzC9LK+Rm!56arlNH#-jJb!CT+AuYz7-sP!u8tL>x4iKkb!X{*XjX!9ftA zh=YSe2SHb%;HJAcTmOwxoN5*w6wxW^_uic`mMl8|-tpf1{d>RP?|p83&;ShMHVjzl zOe~)Mx&DflbC~9Z8SWeL{jBSR$Q+KG(I5e1>MxFW- z>Jg{ZXc{ftqRyOqKe&~=4F_2uyhi<9$!=E7uh<8SyNtKWcBvS7mSF7oeV+MLt<)Qx z$A|-mlpluC(jH&{(C_J&dE%VEYgZZbk$S%|=o#ly$uv&2H`-f9wX+HsRW!3Ptw43A@XOtJm0LLtz#-FHWRy?lNxocQ70 z#fx}*exCe*_hT=<0G(CCWp8ZItE2|=1U;*G!~HumV|1T!5HFh$5CTF#2nYcoAOwVf z5D)@FKnMr{As_^VfDjM@LO=)z0U;m+gn$qb0{=r`5dZRxvIO7q%oawy7ffGMd+)Lf zSNQg)g@$N+h;MR4iA85SQcqnN~TOk)-oklA5z7}Y>t#op-pqBy~~*jbcVW10E9 zm<8r>nKegGl-Z)}`WW+0a__A%hZMU@^K`#%J!^{IB<6SY{U_S$x!q~ju408ZTH+lY z_F>^EXPkAXSpP^@o~G2BBg0d5#us^uI(=tJ!@FmV`MlLuz5+cHDsO}KlZf%VslF&9 Xe$$SslO_5N^WKL4t2>X_MW3+^!ta|g literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints-retain-gids.FEF9,FEFA.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints-retain-gids.FEF9,FEFA.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5c80540578cf88b72d3ae36ff07ff6bb231e7bea GIT binary patch literal 8144 zcmeI1&ubGw6vw~2o20dBW5Ie-Tp$*<)*;X<6f(E4sFav2X^^_EAqPILq_U3lz097qe2fOXKU&AJlJ9pRCXjSvMNg zSEybzzN+n(W6#s?sDI#@uU@Uu z>^?;bII8?Gj1BD(!hrrzzs3`ndb@U$F<+<;8mtCPXEQmR?`(G3hSyyI3=gfjxYi9E zFqN!x4RIbMj}f)|HwO-@l}!PiP0ltDY5UsFNGk6?y0-Vh=&!f0Zbj2S{r-Lb$ICNh z27DTS{SD}@7!LbkQ}C<%gL(UXs(8csyAmVx9#<7Dix3b3LO=)z0U;m+gn$qb0zyCt z2mv7=1cZPP5CTF#2nYcoAOwVf5D)_YAAw=MovOFN$QC8Og7!4E2bUpS=Ubu{+C$?i zzV~GfhxkU?v+Eee`@U>o5|8_GC=e4y6S2NMLWz&4D4~V|%E-WhjVhLK3RkEv;I^{V zag|yf4Ju*Nj9>@LUCgSz#tS$Z>=+12+>v>CYF1=jYk%o{E8jurM{;u&X(b(5@r za$BCD6wHz5sRrZAyhVe)i=^S-v(9|}YAaufp5rQSllF6n^Si4)ixGclTk51s-wEE^ N=>6*M6Lv9R{08-Dl<5Ef literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints-retain-gids.FEFA.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints-retain-gids.FEFA.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b05f99a8f94c80f67a4ee9bb19dba0f7c5150414 GIT binary patch literal 8128 zcmeI1ziU%b6vw~sy(HDDO$*jZ@gW%$G{3Y(Yz7n4K`f*g5OL7HCTUapUh+tyw&38P zP@Ehb90VO46bf#-iZ~16;vmJbi;E&iEQ#NHUu5~7r=onw_b9vhaNL%Gv*8RK||Ne=5qy{@3cE@%kQoMmXDRWgwgFg zU~Adr8sa=i9>aQ9HwO;ul}!Pib}%Eqm9{g;Md`-A`y;>Jy}l96{8ara|HqkWG6Fu0 zzxf7q*DROy*#uNIHF&PqmyWmGe={?}3^?j&S%iQP5CTF#2nYcoAOwVf5D)@FKnMr{ zAs_^VfDjM@LO=)z0U;m+gn$tE9|@?pOTG<8wlJz*Jp)be{mT%p@h#B^?WOS%zV~DU zhxjHM*iDS!Lr=CaiN`%T)E5&*3$dO(LJ7#Cj5_8~K@Kh))Ub?GxJ-Q!H?^gKE7Tfj zVu_J8*hnFcB+g(0QvwXjug2x)m%%@@&n8#(-d3xf^7H8L| znK#M3zeW~$c30r(LES2Ap57d$clEs!ZTH>o0&DwN<&Bnj$13}<@scymx+&H_xh+pn z>d#T+sV3tqyhW3~i=?6M*qWv5a{BG+n&WOLX J3A-3D{s1arlj{Hg literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints.61,62.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints.61,62.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3e46b51c0194cf093ad2807c441b8d5808bea449 GIT binary patch literal 1008 zcmZuvKWGzC82{b9w6;}Rh1U6o3<`Q_Vq3&^NMbsOLezkWgXS)|_KJ7Ok-N4jbkIR4 zP7V$o1ZP2XQWqz2a1zB;ienc+6v6HMy_fU6mVDuT@B4kqmXD zk8R?me(Wnm1*i9ZmJ`Bp!`I8G3MA~rgf@8n-Dy(j*`^DXFxQT!AoK&Uu`*w-Fm z1kfMqH~Hf7;MQ)F^OZO&a;{V=wQ3z@Sg=J9?=WA0ezTy(DS_3Mty2r0X=<5a8aWlo z@s`+*kffG;y|z60@&@Ys{AEjy6H zyh*Q$FT8`5$j}G7RqTP1yOsS2-rN%9KzGUm9KkI)U2dHCF@7ethLhakz^`Kx9}`<( z0lSHv%Wy^zA)ok1X#o|q(S;2MRe0QW2X}E6*NIoLt~@>5AnGB+8krp!D8j@n<}i;% zTt(xM$0aL5OK~^Sn2GcJzZdysTCCtG&IT?`(|R{TEQ+Z&UqDGX8DbR4;wTPIGSg^-|&|>|%)g1&EA~KmY&$ literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints.61,FEFA.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints.61,FEFA.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8186e2bdeb95a572b8a862036912880cec40c9c2 GIT binary patch literal 1064 zcmZuvKWGzS6#remYnn!Bb*S?V87k8b z92`0b&O*UWaTRA#TpXl0c5(3!NQIui_uVz7CGU9O_kQpHd*8tTkj7&uSmjDKe|>ZN z3pLy1rJCpXcr^MJFpd+uEAIL-5><*ukB8N4IQ7Y$iJ!z<#IsE*k~=CO{z#l@dflGd z#Y5s>#A&x(bCALbAVG+f=k$Dx;Usa2*lIamBlBwhJ@FJ{zWME-8@@muFtr^@?HW%p zLi=Xo79*}kw{eF)UnS)L$y`DbiG^aJj7xC#_mm%Q0Ln*iDQkpci^Na+@uz z;VfOUJ*->N7HKVD@krnQy{&=iF0;0ebxyR(8Jq0G z!b@_Vb#ttLrZ3M>8q85)R6zd*rwC}f!fnW$9p;nM(Y87*Q#x;#`isc&d!Rp?9tYdD Tb)-kzY0fQwJt=(7E{4!QzEzg0 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints.FEE6,FECF.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints.FEE6,FECF.ttf new file mode 100644 index 0000000000000000000000000000000000000000..daf7806593a905cc72a5300fdf60db6da5e5b6d4 GIT binary patch literal 1016 zcmZuuKWGzC9RBWJnkG?NMeBS+h6;LVqb)pUwuxtLI?~(1Cw@tsx80y8 zc5$CrYUZ3y!$Jl}h(8i%T&w3Hi=)I}h>f=8w(_q_|3!91>_cEDqk6`-NGcLy;ObNuh~aG7I`dXlqD9fzuQMog-itojUfr+6oG zETF>bs(d}HTIsDYTE^mmy8p9{M0XdM+rv6LT4j$m>oD+&yU4uL%ztWN&(KP0)cDFL zzr`+m#x8Lhvd=E{)eBhI z2*JuCg@s@(1nksWEJY9-3kjAfv{3|e#jW4Wt;r_dEHm@I_r7`WdvBou$lwtKjA|`c zTsXP;g`Q3B#fEEnm`s)d?Feyx*;!kHUZ<&*co=reYEErU{35UkK$B=HAgqiwmZ?5h%E+IQ}6UdIo@7bpTk#UaGD z_7q7#f1=;yi>t$1yF<=b;!!ItopY6P6_*A(gTC;>b>{QXTg+);?17ZxvMZKdc>oJpSk1>$?-B-%`Jff4Vl$nE{`t-uwWUDC zML|}Vi+LlRiZ7h~mB`SCb5-o&A?GUf2;Q6!*FJU1102FFGPJ}P@dkcIwua-J-_WmP z93LZFUG|@pFEtKKFLK~|%i|fS8xTic_+#u@0#|oKk7%0F* z9_KNQSuCJ-z+;mYprN?;cVi|l@L$iuWsOzllbj{yahSEvh{;xZK{_pW2f1-82;t(IaQ2Ue*qW`k?sHh literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints.FEFA.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.drop-hints.FEFA.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ae114d7813e99744af718ddefdd0307784591821 GIT binary patch literal 984 zcmZuuJ!lhQ7=FI{l31(s2U;hGLoz7nH0=8H&iF6lMdDe9hSZMi5I-bNJ6_P0 zySPvMl6b^z)ohGVgLp%c^6aipJW2eX*lgNfBmKJYk(fP*?|!Qj3|=4)NbQG|yW$Cw zfbrP4!HBEjD{hhVjdEWp&dL7Cv4;yy<8t0o6d zYRRU6elNVKzX}~3?nPm7?9tet4{vXe7k;aLmH+eN0(S&_nSS>J7;H(G_1OeeHFX#l z^`-gJ{Xa7qMz}}K<|e}!#!skiL`W+!aRfJ6LnMyU_7p!OUElqKpIuuf(ZCUUTl#Rbe@9!sbm zvN&V~sA=xqeV>In{?~bUtg*p-inGc*F0-!CV=uFo@XmT$a95oLB)Vf3(Wm9)5YnJ(9l1*gQQY{IWLK2TR{GK0IVFn4zJU;jZO|x}4iQw})H_xE7=W^~n-*?VE@0@cV6o3TQq2cDIGug?_ zy(2Pv)VYFh0<1mU2h<~CZ^2vn2xp$AYH)MQB~$DNL+iyxNB;TDt3xU zGUa$CES5?DsZT^2F_CgG*Ugr8T=BL`KE@^YO(@@zU0KYL5VvLU|5$Z>?f(1g$A{#b zOX*$04|4A~Z{V=!=NS-gXpg-}&32@;m^bRt#%u5Xml)x+-h|ez$eTz#nkT1AacuX= zXndBUx1XwForK%1$+plQd%`weeHO80V^K|hZ6%?3lnfYWl)>ovb&*rU@e~k>+7rWAo YxUDE{Z~F8-N1Bz(%TvN#`RD$X8w%}l8~^|S literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.name-ids.FEE6,FECF.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.name-ids.FEE6,FECF.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bf26fe8f275d024ab3e557ab1cad0e5d92546e07 GIT binary patch literal 764 zcmZuvJxC)_5dPji4Ka5Z@vlO#h~JT%pP2gFC>p=D=t3C1E_G0DTUb5^$HDtjd`28~t+E$wLnHA8v6;8rTzs{CnD~+SpI0cB{9i}`#-++b${VqVTH;;f zDEg)IXja&BurC)hvqf_sazL2b{MY-va)Qbl4jk zR4-{^ov>%km(J_Tu_LU4Wr1SfJMekjOkb&-!RUYhfU^J$hA>o_JEo~FNg0#Pu1_I_p-(;ZxzYU z!KF1Zg*-B>w#Ituv~(`ZOsB3}Vtf!uejEBrkn!A6Lf>?m>q3H^%V1Xjr}~H9$`i;S BaoGR> literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.name-ids.FEF9,FEFA.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.name-ids.FEF9,FEFA.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5f8313bb379a3eb32d6c1e3550f1592a64b2a932 GIT binary patch literal 752 zcmZvaF=$g!6o$X|Zd=kQjh5D_!V@~ENYbX*K?>TagD6z&;vm}BBsSuE$+L+x1qTY$SdHbb8Oy@^_B&*h$bzH`n!@7%+~1F}5E5G*Vfiq}tU zeU@iSd#N0U2}cJ@;2joEtwig0@t0+Kb5cRA8dk=)b3eql#IrRyhPF*pyeXcn#jUp4 z;gR@_I2$#}AsLQ{--$DE*iJGNjEdijgL)WOa}SQ67k?9fO&ZNs`hp_(A8Z_BcD!c{ zil6#7<+<8Bz1zz9B0fkm);WKvw7`Y#ZntBSbOTI6d#T{1doBdd_N523$25;`&Or(C)6!z;@ zRJY%!%Qw;gUs8tOo2$$2DLYr&kI|_KNqqN`oCfXCDZ^=Hcmu*ygE1Toutq0f3shH13*=5 AU;qFB literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.name-ids.FEFA.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.name-ids.FEFA.ttf new file mode 100644 index 0000000000000000000000000000000000000000..24193b43b102c9cab37832e4c0a63b2eeb70dc9d GIT binary patch literal 732 zcmZuvzb`CN6#nj9HtR<$f(FS%6rRW~D-_g9p_FJz z6e?cvD*u6K6ry;QMkNwi$Z?e=|A89RauXS5JVqFKxchA)sDU!n)#II$zqK zJ2S)Z_o%bENxz2m)oL3QLr)#@DIHP$+o__YjQ9wxMPHx+RYl*R2TUV@Wo*EPg>?)e zjx-h-Gcl}VDXe0IF&A6pSD2ebmh2fdicWN)8y)}s9(o^p%&;oM`~)1{CdQFMjNR7R rPgzTIaWZYXZKlg{Tn`2hCk_?G^8mBX?>F3OWeI z$-$w6;4Fwv>f$6$B7(R|aqQxv2yW-|eYvJ*$sge08}7UJdEe*#_3`GQ0oaFo5HK3e zV)?@T7ZqBb^J%qxD}awzfOdd*cEwv;hHg{UDm)C=u{zV6`Jcos;(3>biA@m_Zx9z; zKN^TF+#!BT{L$;REgVD+(ASAS_|_oE-Nhk5Tp~8QmhTi^F1{y@81pUYg;D$zWgx5k z5MoPvge>D9>Q@+XcKFt=k@J-}Epo1rRO__{DzIRSAZBe5V9+XR@rc0cO4oS`K2tnp zhACu}C&RbIb}VBoo|?jJlXxVh@mSmcVDk67*VprlzvK*({`uSz?+y4e{pLFmuM3Yo z$=b35Da@Pns`$eDyAm1t@NO0R|M73!K#u!8+<^`?ZYo9R?f`kn#ov}axGFa+vzLa) z_>t%u4s(x(b{&)Wl;{HU*hutDijzfzLSmnw22{~O4>las;Bnu(xPjxiNW6lZ%F@SW zqCP^blG){UmtbNBvzWsI&ZD`@;*u4it+=;FJ`*STpIhM9!D0nRah93KV^*6Uli5sm zeS&#s_)gcTqR#Fbj2_pmwASgZVQE+2J8UC0-D%biu*Qj2Iit&74LsvhX5A9&9~b3qWu(#{M}YRlZ@@#HdUlg-%-vjzaW(O J3A-30e*g>wkP!d? literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.retain-gids.61,FEFA.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.retain-gids.61,FEFA.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c1e3d6e07ca42552e56d93da4abcc426d6f8560c GIT binary patch literal 8204 zcmeHMJ!?~86n<`Qn%1gK5#mr#?~tK_CQYKj042(qPwzyK%Q5l$<1;~b}_OU{!YA3JmpXk+BECL zZ;7K$xzRMYaF_T8aB$nL7VI%^%mKn*iCbm6>4hUW1RVLS;#KT&Df(>YHE@*qj89&* z-e^BT5;&&qFwHIFAqIfJTHqRATz}se6=2Mau9T)|i!1#`VrZc-sCVF*~i!3jOA5i~1lx_1v3N|Z3J-=p?7-G4LD zBhdLxw6|=+fG{8o2m``^Fdz&F1HynXAPfit!odH`z!3k}%O?y71HynXAPfit!hkR! z3aQ<7_arjZrm0r3CbZGwhE@wF-l{t|p$reT0wj&A%Hs%=v0ZAHWFS z_;(XiSoiP29-jd;I+Ihz3Gv1OEQ+Wij}lUFIWetZ87FatcoDa>riQCTHPo?0&k8Ig z5W@scV-nN2gxnsDL$3x3+V^(X7Q-3Nf~Qetj%CJEJ`0TFGHRZd7^B5l^(n@k;MtpF z7HL+OFzvpdstydOYG5M9TuK)C7CzD{3p8iN#1&6Q0inNUDxDD#hBF^uQ{$lj_!*)!+EYo(JeXGefrTv&y^pRa! C^wN$1 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.retain-gids.FEE6,FECF.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.retain-gids.FEE6,FECF.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a7158968af6cb5c62ecd0c26a3399ccd34d19f3a GIT binary patch literal 8076 zcmeI1KWGzC9LK+Rm&UegQ`EW@Z^%$VFKx6%Yz7-sP!u8tL>x4iKkb#?B}Wo91qVTd zA`T7?9Ryv4f}8H*Z2dP%ajIEd6wxX1doO22q0jk-g9#-Sm)Y1FAd zp&oa5F7Intl`@yXiZ8*pSu{G-NJiF<~H0%S$UHY39+bhSPrRY0;pLag_)q11z z7)jueI)`Djv-1eP zm8^4(a2_C!VYLUH0~2axVxYazozXYkx4JX>83D)Mm}2=og+i!nyYG(teEIxZEcHF; zCGdEAexCe*_hT=<0G(CCWo;}l$fO42gf%OF!~Hulee^El&|fwoAOwVf5D)@FKnMr{ zAs_^VfDjM@LO=)z0U;m+gn$qb0zyCt2mv7=1pbG>ApYeWWeUFKMOzpRUNAXy_0kvv z!}P{3T;bcF78#=DA-;yPhJ$?H?AmpV;B_b)n88{oNBVpQ&_F!2M=9|E6eUzqKpAPc zuu;J>j^ZNqMO;^w8ZJ?*p^hbbR$%hc(!wN;V;Zx#fZR5VL$3yk%J)X^%)$x2#m>TG zj%CIRd=?nTWz+&sEJm|f^)besoD<@Gs(PD%zvaOPgClTk>jm8{mbm4&a< literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.retain-gids.FEF9,FEFA.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.retain-gids.FEF9,FEFA.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3335618f3476d17780c54f4f91ddb152da34e6a3 GIT binary patch literal 8144 zcmeI1ziU%b6vw~sy(HGEjf!ZDTw>+omhevS`IQmlMt2kaM`Xcq7`bXaR=2z>D z&NC!|W7-ePS~DIa2$+w|>%4Kf`!#Mc<}39})w99S1|?2GxlBE+3_}f7H`gxQ;4IMy z?51HEKYFr(!<>p(k4y$CI8M=!*%WfoRVjqQoI8il`!w64G$tpn?UQ##QQb zxT7sKT%%S)9rKK=Ac6#J#Bmm5n7}l0J1k{JHBiv8cei{t&T*bQ0gp8nm`}ybGLOrw zd3tPSv)T0-=8f~)Utn2$L)RsI(sXs@Kx9W^9@fCIYE|G?MXN~#P>1bb(o)bE6gZA@?@pn)EY({L-w)IVq RzLR{n)%}}0PuazQ^#_}Ql_3BC literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap/AdobeBlank-Regular.retain-gids.FEFA.ttf b/klippa/test-data/expected/cmap/AdobeBlank-Regular.retain-gids.FEFA.ttf new file mode 100644 index 0000000000000000000000000000000000000000..98290bd8b7eaf76d4dba4da52dcbff3cfc31b780 GIT binary patch literal 8128 zcmeI1ziU%b6vw|WFNs>UsbZWIACf^qUw&wd*bFA7gIGv0AmX5XP12_Hz2uQZO~JuI zp*T4>I0!m8C=}du6>%2C#X*W=7Z*j4SdxD4O>ASyKOmeN?tSOiJ?Gp{#sdSu2=2jz zl`q6oGsjoI(6Y)sTl5?s2SPc(*hf9F;4aU@NK!P?JjNijeWF4`c+G53 zzfV0@@tQ4j9e1g}1om&ZwW5RF^dRzrdfRhaek6*6z|rS4T2;p@$6lvDP=Cie-~3vm z*?oo-a7_DQn(M|Rgn+=qz%|~u-1{0g81t3-u%+u|a@jmCblRP^>33HE(?@GIZgdAO zSXvJ7400bLj}iS8(Br71bOd+js_MPS%rlpY$R|NM~?jmdZSmuis`Nj(Su<(jI#kxt> zKeZ)~QyR=s;H?JZ%X~$HzDuN`-dSfpbvoKtqUVIp+ob(G;{4swKbsMMY1{gyN8d@l O+wA?x-KXqg$l3(Xs+1!D literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E00,4E02,4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E00,4E02,4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..e8ffede31c10031cf4c125d32a9a138b779c9774 GIT binary patch literal 4332 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 IA^hL;pF)`sb^rhX literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E00,4E02,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E00,4E02,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..1ef82f343ceb86d9313d863f28e9cec01c7a419b GIT binary patch literal 4288 zcmaKw2Xquin#ZdpBsG$ZaA?*>woncW*pmY$3ou}VF<3+|Fi4`5vxG*{C`{0F_jFIt zD38*h0WXqBLdb*zOt1lCY!-YN?pW;eTd%oWcAw2+dgK<5t3vFa-`#sx_1;(YRn@P$ zy6QhQ^9>*X0FyyI2n178mo1APJXT{wEnNUiS@G_=H)JQ+{vuSrhuXHM=j)1AN3UKA zK*Vz7E3z_m8AM0H3gp)yUzLR#rala|A%6t<@mcw0l`ni8Xh!}m+@G(jECN&3pz74A z$OISY@-u^HM6E>r%gCpT3QNnL^a2_3`;Z?^fJp&>Ac)|M^89=~uFdmD0DmpvuM6^4|xrM0}r3`iow5pI`&r3*sBqDP)pFN7sjHW2bpL#^qxT= z1if(>cn(B>=fR6$8h8b~3TA*;psKAQ%Qm!7*?W zoCasX1#l632Cjl@;0Cw}Zi74E8}J?Y9^3 zI04Qe30wwWpyR&<{)mqL2XG%9`y(KtBM%}%(Q&^-yn>E8jz}hE6EZ?g%q12P%ZRs$ zHAEV*nb?LUKok(AL?vM$jD(fo2p7>xc!)k?4>3R-Bu0qi#A)I@af!G}TqnLJ?hyY$ z{F(R*@gwoGBvcYQB|0<)n^f@lCVj}CM9%AOlUMVh={>N3?^bQ5rc^s zOvGR!1`{!uh{Z%KCSoxWi-}lF#9|^A6S0_x#Y8M7;xG}1i8xHeVImF_ahQn1L>wmK zFcF7|cud4&A|4a*n25(jJSO5X5s!&@OvGa%0TT(BNWeq_CK51_fQbZ5Bw!)|6A73| z#6%({5;2j8i9}2!Vj>X}iI_;lL?R}VFp-3bBupe>A_)^om`K7z5+;%`k%Wn4OeA9> z857BvNXA4mCXz9cjEQ7SBx5246DgQT!9)rsQZSK%i4;tvU?K$*DVQknjV1U*t4~G4@F$`H z3=-3b{Q(ODE(XpIbWhq46cJ<$E(pF8q9-Sj2GU5HgoLr#)S~T$;vCDu261YiSR^EG zBkKJNMXt* z>i)6;k*$fYouzwI3>@0v$v;@2VMJh#b}-$hZobPS#0YKY zt_hQG2ve2|v7#h>gJDbY#>#YqXXA*Q6voDfsIVXWx2SekdsBzwtVei(Q~s{= z>%M=vM*0rgPPQKHxv_mzcWl*{qP%3mo?W9Kowr>5vE!%42kgW#iUfMTQv_8c%h_z) z^pc^i#od{tf97K)73Pl{OQs;dvn9(U&dOaUzP3}Go+VB@C#DK9IzjR~AyRO?EktD8 z&ZXyc6g#1zv;o!>>Whnee*8?BCIokrgU$id;Il`OqDLI3&Rh^ut{)WxhSc-LG%;u> zWnaMq#}Ccs4z{D2^e2dCsIb5JA5oumT&}soklx)K@10SaQ<+(wsS;D>iz$`jBFD~A zYuo-FLHn;l!d)SD{{`Qr^9TF-4f}E#((=J()0W63{PNDFRnNrdS3Q0Mo$}E!4JB`j zO)@LlvWDX3^5zP6S^F-R$!%_K)Yaq_SFFv`jEGTx%Jv!itM_u>^OnXx949XhHwr>B;1;ye0#OK+9iKsPkkyK6bJZX8fZ1FW5Gv$nI% zrak)hOjlul{Px*mxF@c2u@L?5cL#>N%+aPEYmdFFi5wI*Qv4RYYxmP+?T2@(ejA`kH6=m~Ir1hq^S8h5~dA#aa)v@Y<`u%N#{NG(RVXgHt$sTM( znb~dar+2rXuIlYM?etjNjqc7?+wNT+GF46S*^Vq{7F}trwwNo+%Xd{&7&wEihFkwh z_NU$7IQu%gTDtq1`aE8Gr15a&5d+CGNb!upUSqUYkV4w{NwoKy$EH%8i8Jyh>+e`Y z)v9fxdXAV}DbAlb%BG8*pLCx;XFbz#*3q5To90{Jv-4C>?GaKVtjrYN%M~_|O`Mx^ zNAbSOwko=c*Bk65@`L6%|y7wzm@Q%Mvg?;S*iK<*@+(o}j zOZH0b68kdRRlA&|IV;CRHCDG&_A{4V!c6}B*}gtscc<^-gPHec9@yR9@7e49@?6QI z4X5=z#qP4UH3JK?()47pktuC8FetG!IU??({>UF}y8&-z_R8jd@Yaqs%wmgs)ZWW{ z%p5h3nm;0iWZ@L`g?@P6#w;XqRn|qr2$R^fBJEKl_f7p56K#D5SLOCj(dPgP61=GEB4})$C z`S@>;EZ+2wQCs(997D3$vUkOJ?mc3VD$!^FpWf?0x1+4~esu0#K9DaD8?CBn`^}7$3A42)Ce$TNS zANkez7!~$~|32kz=9(i5#2G!}Yu#cr$%MEzupRa#BpqVn&79fJbkw!&Vo92|vGk03 ztCcp_KivQ(imtI6TkF4BAZ)&J?%R7p{BB{&YC+Mkx1>k!U3F88tWh+Oti@upMDAed zw4+v1=**>rpqUwBp(ZhB$2$e@8%cYJSy;MRNF5Otlg^OKu1oBhZKSYZ{BtVojQRf%@~GDA5$isd{QLbwt_RORejQuu!yZSbHuTLOtKj?dQ4Yu%utleg3?Tww5rfNq_zxX;GlTTJz zEOqtMS=vT(H0ghT{1>!OV*!*i*q*1)w&q)NxjI%y&JHova|XAO7YQf6c!_6U%s*Qm zF^|6PL{I7(=&l=qOltMw_9YGMC^yQFlKj!05pGxru>Nco0{SNgh(wtPTEqZHwYQ|P zp&D9jn~zvY|I)_+NDj1(3JXKQBnX&%fpDVOFPwNtJVddT>}d&59o0~GXmDU~P*^~~ zBs}=nY0;9!OTog`V0GZ+3#k1Pw%;xwo;-Pie-0sU5z08>*b+z6;b0PqBT;;dN&*C6 z5|2e?z>_D#p~In1M@Q%*0xP?hvzpH|WiO&N$Hzz;jP~{^9*UhC20TKqXB5U3P-$FGl72sBU{kfvz~~y?`5l z$Q8){Fgr_^NpuvhME=LfS7oD$sgFWfK0f-P_Be>6_l%?Tm$7=sE|N~6e?s; zf!?Tq3MEviph6858mQ1hr35OaP$`2-IaHznDWOsYm1?NeK&2L{Bv2)VDj8JCp-KT& zXuK+@QbUyns8mcu=t%Vv1)JUO51~qc1Q9z9nYE)2z zW~+f3E!0Y&RtmK;sFg#l0&0~|tAbiJ)S|`ErWF|EZUJ3 zvrb=Do>fp5v$8OwsI<7KR9Bvr`C824{QQ`;xO-X5+N`py(n?f0p*tiz>kg2K#S?;L zGZl!z3?!EXkcy-t2O1=kCE!gYk@vuQB#-SN3rV90lp|Tx0TYr02bz%_x_}Q!VGtZb zGB^RwAPHOsU!d*(2K)(a{SV*)+V;mlKwBP6grV)8M!bx+I-W=&<`6PMP0S+}6U&LW zh&4nyv61i@Bw`{F6N#8e#6%({ zk}#2ki6l%UVIm0=Ntj5&L=q;FFp-3bWK1MuA{i6Om`KJ%GA5ESk&KCCOeA9>1rsTl zNWnx3CQ>kwf{7GNq+lWi6DgQT#Y8G5QZbQ=iBwFaVj>k2shCK`L@Fjq{bPxK!RqIi zwx9D0t^N@Hpnv?l|E7PHKlFdMk^kK`c`)o=_~4W&_ncFnLnrCv3)7xj@tqgJ3-}Y! z2nLDi#D38t(Z!$zLGDQ#f+K^CA%!7#LiOY%(m)zX6Q4LXN4$7@kucY?s8N{OClvE3 z+sKAPN1BJDTyDF=G4uMx;Q{U;`-yYZI%@uI6JH=dR@Pp~7B$y1Cac9SpWS5Q2s_cni+e9MAh3!w>$)m+hWzy3@h39LgPZJKc&1!?++0=hMbg z#jKF$67rCB=+4@?5r)sV@VN}1*Kj~*Gw&q%+rOrwp7DVp@n^nE!&mILo%Y}7ZCNNx z7W&>d3iIgv)&gg~v(eeq(sZi!Q}-$MDtpa-l|9sKJDS}}#?k^X$2jP2Q#aS;!erLBRB|*&vvf;i zE7ii09LKOxUUMhPLxv&40rNxsoqs=h`}Ezn{JG}9h?KAGK z^XtBUx=#8J+D^6}?YX&qRCjFkmx8=>;htTipPaW``?2GvriaYLHVOoKzf%C!B*WTl z?2OW(ttH)AWMI~>N^y7~ek?@{xt%T9CSi8oI^orw!i;QT`Z*zukJaBVtG^%ftQ zc{`7q+fm|#hO$OjTcj^3>G|<v%pFXJhYTbNXT;%u4?Grs-f_A13QhWUvz%{cS#DKUMV3lPT_B`Z35y*& zN3Cu9dwA_X^NDx)xcwLWm(CyT>o@Gnqe;sLn@wAymU1gPmsLL#UqJQi>u8scj%md5 zwzy=ok|}R2@l<#!-R14OTqd{K)1<4-FR5IcuNe`d|D5AD_SfuXzvnDXe>_fJ9B$%+ zO`p>Jbv~od)T{5T^_rWF4x`=fMAt$(`IdF zJf=PR_AFOXf5P@T!W3_O=Mp~VU+)eK`RJp~J=Pw3S2H=tZxnM|j9YSd7UZa|m_{1T zf5pG@$8tC2wlrI~d`CW4K=SLxooGKI$0Eg>yj%PmT*Ca_d4l`S>}v~a91m#H<-uo4 zUtf>c+vQ&6SY=sl%{8WH7*>|gKat*>(O$LbP}TA3W7WrM1{(Ia4RZf*+4!~A%OrEK z31xb>wV&GEe!9B1=d{ynZ8y3*TWz~{dC4@jn9FfwJF}@OYmLQRRZ+34veLjBY_;tA zPjf!&{?^&o+11kB*WBmzQ6o)Y6edb*%r!$2WXmk-TsGeR2370zZkX)){wE z?^2SzQoF>yoO0EzASu?$($P&dEmi&WWfwn-JAbyX&)?nYzxZ(0{aFWgxA%MZ`o26@ z`gp@>eNTzIylu_EqU>}%Sz@HiS`9Qx3`LFz`^10Z4z}Hdx3YR=^FDZU#~ONx#XV~8 zrT;)5HIJGZu`x^(YYwGt49i59)wr?;nr^k8Y(4dn z-lca|b2^94vYlx<&Kz$!?(}(jn)}FR#zi@!Pj`RRdEP(@D#0RlR5|sIDv}MMdZ`{7 zofh)(-yvDN5f~G1-II9?$zsdimE%!|g{dcmS;hPKPz7mqHq)-Ce{o*#Idavzx7D}1 z*Z)z;P)>baLxZuwV5lm8uhNp!m~F~7R(cCt4Zbu!yqiD#=mFW&Jz(p1AFeor@?rg+ zW4V6vtMM^$_!of(Vz-C&L=_4%dxTfJg&2|!b!}ie>`O^1)Wn%tvz_j!Z`;L?6lG(m znGIGeWo~%70CY4}Yd5wwe7lg}eC6D|`+UM~KH?o-(YUv?NAFvGONgpfG?I+PVzWf; zpsDnuR+8_`6Z65dGKC^dQtpno3*R@A_E0mwY%`xW!Y?76p_g5km^0f*e&P64arl|Q zFXCR6bFNiRZ=j%c18J!d(wZxxTXRON`xx>c4-UB=K0CQ%EU_O5M5pHhbHRRr8{h`H zfm7UR=c#AkZ=0CSO&e+ZZR&Q-ZSsB}PuhOa_v{*M;RYGI&Cb}HIxWpLj@W+TH7d4% zthQL{8)h(+jbbS>@c#HOXr0DHVrPgwU!P+wu;#J#jEF4p14DP;*#FP)KmN zNQ5KR|B)6iU9t=;dI!7{H2DH*xPwnp0%j)e!(qc=PkW&bAOc;n=prI8hvJKgBtm^r|DdNHZb8=y_kx;jk@J2= zQNkTuUz>QS0pD+%=4!$8C-zA)(GlbZJsk~hK+MFrgYOWtfiL)t|9UHK#VO)x%S8GA zwZH8*QAV*m9y^}nJ9yTUCZngngd*vQvIw|F{nP~@#cu{Vy>w}G8c`;{YaVx_>7F8m+D|4si1 Ddjb$5 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E00,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E00,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..461002aaae6248910d98c1e546acdaa6dc30a6a2 GIT binary patch literal 4288 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 g>8Q%qp*kDapl5n%{3F#!ArI&P7byY9v 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E02,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E02,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..7c0e7f59f792147992c25a3f972edd6950727091 GIT binary patch literal 4276 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 Ur~N9B7cw#JCtdh|0slAsH`odaJpcdz literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E02.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E02.otf new file mode 100644 index 0000000000000000000000000000000000000000..7c0e7f59f792147992c25a3f972edd6950727091 GIT binary patch literal 4276 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 Ur~N9B7cw#JCtdh|0slAsH`odaJpcdz literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..54c381faf95e63cce6fa6b397f86466d71664e63 GIT binary patch literal 4320 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..c73a44d52ecb189b68c493c84afd06db5d1b9c8f GIT binary patch literal 4280 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E05,4E07,4E08,4E09.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E05,4E07,4E08,4E09.otf new file mode 100644 index 0000000000000000000000000000000000000000..ef0e494e3bf3f46bd6942ae34c7e8d9d5c7da688 GIT binary patch literal 4308 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E08,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints-retain-gids.4E08,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..d08ea073490ca12e40cc55f4a280609f8bc4c13e GIT binary patch literal 4368 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 WVAr#LWylL2U(VA`{6B*KoBkK`k_zPj literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E00,4E02,4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E00,4E02,4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..ec13cb9fb63d635b2fc4dc73eea08d3159802357 GIT binary patch literal 4288 zcmZXY349bqzQ?O4SCb%#%CJf_t9vhuIo2F z^B+I}0H%Nj5C9@lSFDI0I#z2$HQfMATlMbx*JUS|fg)7Chw65u=j)0x*ZSQ6gs(*Y zhgq4r45G7O74knuzA6hlRh9ren0Y~2@og(1VIF6l;`K`acO}+9Qf-9f4#_GAK-r} zP|nyv%zaX3KT#M=79xZF-Qd~z$)-Ico(b#X`Lu3%yPzq&G4i!)dRZtBzPz$9JD3wB~3`*rts(?}@l&YXq4W$|=)k2vB$`B)i zGC7nfpiBv6DkxJ!nFh+VP%eRTDU_o}%As5V6x^K!p}6B~U4aN*Pqjp%P6<36(0SR70f(Dz#80fhs9f$)HLORSKv=^Ho8W z8mcrs;m*wH_4?AX z%>2^mRR!sVB}IiLy0XlS*P@r?2> zBybsgiH`qU@F#TiKZ5({*dGA_9eEHDijI3a@iIE>vxJ~>A@fYH+ z#81R8l2A$LwCKo0QOLF`?1eAR-16F_?(KL<}ZkFcE`^ z7)-=qA{G;|n25zhEGA+x5sQgfOvGX$789|Uh{Hr2CgLy=hlw~$#9<;16LFY`!$ce= z;xQ4AiFi!JV1i@Bw`{F6N#8e!bB1#k}#2ki6l%UVIm0=Ntj5&L=q;FF_DakWK1Mu zA{i6Om`KJ%GA5ESk&KBHOr&5U1rsTlNWnx3CQ>kwf{7GNq+p`NH=f`VtUi8O$2p(S z<_qQz`XPI!4NTn z*e_Zvx)`u9z#X_TC_Km*To8OaL{A2i2GU5H_=NGf;w3u@g?X06jY34fP{b#1CmRkO zX&#Amx$O?etZNrX2Du09C(beJnECt7e7^ixX-5HD*j&$;tQK<(T|?EGNPgO8@%S*bqyBsXbq1;J#&~1n?ObFsIK6N}r%nG?K zAs1PP?yQ{~W%xV`pTqFE4F_~K^DdIV^*9CfjPnnRKl5H1xnjTNwEs4D>mp%_(Eq+s zm`~@mfyRQd<@@y?ixSk z20v{jA1g@GHyXAUZ>mZ+cs7l?Nq&4{SRD4F|66f~tE0Koan{4X&9=;A>!>=)VB97| z7<49*rdcME4#}@|rXR3gY`SbcvE$BS0SGg-m5Zwr|DrRLo6P#w3XbMzmTqlqqgpwV z;}|y5W9~wE*f4B3V1A&#{hudqoxbzd-xeOUvJ_|Kx|=;MUG3jq%6&Bdh~$J2Vw9wl zMWsEv4mOkiITPQa9r*KjhnKL_^ zqPkWri@mh%`er`o;z@yQskE0;<#odJOc2(GqUNX?KAF<^PB$P zT_b%5Z717~_TJbrraQLgD?wheXiw$XC+96!f9m|X=>ao&i~@nicM71IWLTSxomn!x zt+*$X^v`~*6o>ia#*@X6+tr$766WNt7hc^Z%*+yIoD)*{7#%P9kdNeDZ}H(7w{od@ zoyAUQC~btbh5F*+-k(0_XYj#2p-Jy zFR%S0pKynd-G9M%>HNX|0mHsrnzVed#k4hY8Mm@)dG#~#`Bjf!N2h#rTqBmZ$0nJT zOj%=bOL@gKa3ZZQy`yULp{nE6$EuIj3^wdj1U8<8*aj?`fyU+F^8ewb^!8ddO6@n9Fu#IkTuLYmLQRRbF0MQDI;Wwpw<>r`ezN zeCO=%>Td1nZ|?VasnMpxRYwdYLnFo0279g1T0!z@6DQH$ZyApevnJNanXDf&hUzuj z1@$~3xk^|#d6dl;yFTqXf6jWQ^Q@yMtuM{Dp?BA*-nt{ChF_h@zn9BzB%4_`>yF}l zRqfSOHK#Y&OUPkit+?Y&&&u9ax~B9-9qYUP@pbRlB=4PgUmW&(|Igy8^~Or-T}rZ7 zYM0noP_DX_B*j`;I;yFrwQ7LA?BZv0=g;={`+B;37az>NH~YZujseeJ?^owa9&J3W z?=5zhwXYpqoRy|0i;Z+?n}J4&p~z8TpZHJQ!S);QW@evk{s(XFTuU#txX0{$^zZ4T z<}vdpB%jQm5`U>5S+Hr{hIiknUsO*rHin60%^|dnVVS7X8dug})6KS%ZKpocyY$X# zPUp~Bb}&uHnd7a;o!*w-=6)(`oi~tzO0b9>RZhL5ie!VSKB|{SZwvXv zZ;&kB@Q;hP?a4TXWU+Pcs)@+MLc|GScF{gQL_u1e&9p1>-<;Qak9^_T+veTf=liI5 zIJ>^Cp~2W-FjSSjS7FI+%ra#eD?9~l25%}K*25ouc%SU;8MF`VWBvAczBi7XIi^$M@{2+<@R;@Ze`+Lw`3h>0_^W;@+k-(Ja(6lG(mSq)Yz zWo~%70dy2qYd5wve7A_-a^>9Jdwl$Ee%d>{qH%9Yuim@nrVv@HXe1en#b$}zNmFS@ ztt8)-E9Qe{X9$Iw#GIXP7rbvI?IC7<`4&EPlwV3ZLoT~6F=w`u{Gy33#9?Rrzl!@* z&Uscjy^(^}jijYUNNp~UYRewA?qkS*+&|=c@a)YUZHf6nAi7#EFc<6>xIu1+8$89G zcAk3n{kECe(zJ=T-=c2S+#>Jw^Q7%ZeQ)JZD>ua0ZFa`q)MaU|al{M=uTe4iWVOXo z-!PM*Y!pk8{`V(-Mf)@^5<7$KdHQT?zBQMvXLRJ;5K{wda2q*+aN-v)@$8HF7t161 z(KlUar0&6<`cX)y)-3H<*2s*pW84_Y9qk=uM|hF-7c(y!nCu`BWddjwM2;G7NmFAD zwAi*Bv6BAfk3~ohluaBKhJr~TnsR|~qS$XL@sN0kVk_CxJ3wVrLd~JU0l`6GA`y;M z|5sYFZ0T~a_#N<0z?2K9;S#oY7ZFdMJi$MQkhcV7oJ8mfLf3p0W8$cKItWDZB#Lv< zod6>I1k9kj=*g3j(2>xmy-)`*4P7zlBBo&u#TS!Fg!-cX0Z%>Lg07YBg*Ds5=l_DD zgxk2jHsMeMzTYy<(}EdK?13`T5#$Cuoege4%;da-ZWD8WH|ULjj*44xLQf**OlIt& z_rgz6WAE)?*VBGw$eUa}c+!pk7x@3_zX9>Y4HWaD0EzB{a2p7aKnTQ~89>;keBU;fZTZk)b+@{8 zSia>;SdhUsmoW~<0>hC2AtVfB3G6Z?o0m-39cEs_5L!+yxUx zez*Js0st@tG=Ly5Ep7R7$u_I)(ABcniHyhgHS830i$ zP+ysyrOzZf3s<6kE$XYY(ZIAvq4lUgiuwuJ1?5$wQnU&6Z=-&AfxfC31g}NSsP9k} zTBt9`3Y{6V3iThLK2=;)R{o?9$N`vEj`|V;1d9Mc5TThB1qBA&njeS)fjS~kFACHL z1zrvoo{tQQ=?6}`eX@=WdkuhtkDl`hp}%}G{#MBNt5J8+NXY6J#wE{#Ec9vUK0`nl zy5k7&9EbwXgBQVc@CtYp%mi^D5u|`w;B_DaN}vIA!F;d?q=DsNC3pwC3)X>junBAh z+khTq0tj+J0VoD#pb{8BEvN@3Uhg`0e8XI;9KxLxDWmY{sDdhj{pyT0lyM}2qHp>DMTa@MZ7?W ziI<6JB8G@1GKm~0gL0^VN~nTrsDWCjgEA?U$)HRQWeO-$LYWH6)KI2@GA)$ppj-;& z$jG5w0p&_4S3$WN$~91~g>oHKNTEUo73d=sP@#kh6;!C9LIV|AsL(;B6e?v5p-Ki-a;Q>367ZH))iS7-L$v~`l~9e= ztA=U~RBNGH2Q^ZtkwJ|dY7|hTgc=pppxePkSomrCg zhO+Xkf-=dct zKn!M}a7h5EC{z?ci^60HcngKddtd_!j~yTjg+>u5M`2M1%qS!{(2T;N8~9Kt41vQa z3{HZxC(3Xb~;b^;GB3?mT9Z#eXa|k)1A?6W_iRHxG z#9AVq*g|Z_AwU!oWkeNWBus>jUo+X#p5agSBbbv!c{V^QgD?TJ~cL6f-59qv53VY7K>Oc zVzG$DA{L8SEaI?;!y*ogI4t6@h{GZdi#ROeu!zGV9*cM^;<1RwA|8u)EaI_<$08n! zcq|gINWdZiiv%nZut>ln0gD7I60k_XA`y#3EE2Iu#3B)kL@W}qNW>x$i$pAvut>rp z35z5wlCVg^A_SEK;yY z!6F5V6f9D(NWmf%i&QL9u}H-t6^m3XQn5(IA{C2NEK2?3iGIQ6=a+Vz_X}au3;$Tw}H|%eR~P0>$yNjzYGmxt=lGtd<(OhN?4@{M60j2g?TqrdCon zTmPmIG`!JUaK7e5-rpI1=)b<`Xz8K5oGi;Ahia$( zoP!%>_#M7Ww(*Bv;Zs;C*5Q2;kvziEZ=_qIzQzmKXnBk zCrC3k8n>2gs>(2WH;sBoetcqB9PvZowz$LH(cI}g=jGpFTjsKLR2^kBZ4;&$^=6W$ zStgneE2wp49JF0(x?(%I=z-P+hjwQ?lKF>JKg z(uK;faoBj!^3ZViKTq8`bMNiHFF0glDbB`qH+x&U+HYUZdpz%`^rR4Gl4g*_Wj(tN zHIsqa6SvV5_-;H*ykyS&HFvyp$tTDj=TITt zZaeFmIqI>V(^Di(F?6((kEZxnw(u{~4hpT$>NYz~3~9AeHrq^^!3QZ+Ps|p#bh!kmX z{Z!kr-kUqd^v73!At*{0?%h51(FNYZFTA!(n2{|^KQE;5v3g$m2R@p2zs*Nw-pQlpc9yuH zv8)l+78y!PdVlAwDU^sRhsneVL9K-vfQeyiY&E|x^0lKv%y&6{(?HEW_Iu9S^yd@grI98+#QZTmQ0FuG z%zcKgTCb(qzrOUsrxheQ)in_86(gmIhB9OV&>SF^U1k!L-{tm=^P1Lr0do zXdq$793j#h-?fC7{QJGZVIO_0x!2a~=x!#5_)TJNt7&WQu7Vu(Rr6@Wg)jM6|6J~& zJl19_m+#Ey3P^tagbVFQ)OeJ5vv;e1qg$B2Cr|L)oqcU#jq?Fbx?Au&rN6(|>+SZe za;~zjw&j}AGmITY+K0G*y6yZr+ZB>I)PxGX$2LIi z={Qr}*L%k0wRM<0U2XO~yS-$ZM$F|nvt8L#m955Vsj8^hU0G>ljrLl0!^b(F^nC5= z@9J*t>2L1$`l!*SBUML@BtxT!r;UzUldY2E(o(tz~XFJb1d(!*T{Tq6Bo$jqWN^1F4S^Rr>{6?~w^{}28&R^AD zO;vLSqob4@7S@V8-tw;KU8!%%Xwa9DNrW4GG))OvYOK)>O+03{pSIn8754$cHNkJ`G#m*|1!C6JJp;RB$OQW}iV&Zow zEZz)^i?{8~JdVO*>%Nr}(MN=7CxuzX`}r^>X>&Ex?&yDWUGF{mnRj2CZ%?29!;;~g z`nrY&Q-jf1RsLS3HK#G#oNcP~7Pc9EX?#Qvf8@~vvbSf@KHxc0aTt{&hP}sg{p6Pu zHxgl=wGW@by%Cfad_x>Iw9yx-50_8$zryN6o2A;w{MFpj1!Yjce=c0hQYiY*|kt=9U6 z84P8oSc(k1Kk*BCPU9l6E7Xy1$gvgJ^4NMtPtFN5H?T&Ji4zDHe(@5|ewcr@KBgak z)rG#Pd$6Z|6w+xmOFEV|GGpu*H%4;DdPmt2US#{(!ixqbCkRBj09pl+v&L82)K~+p z_AN(kWMJ8^A`}jkT^tdCl1U(%a*=SM+%J-NL_9*dmHg=$pf+lu%i*Cxp&=0>Q81qT z+hg(4CCk8~HDFE9l#6KmGOoW_NIZG+1phmPdW%uP2hJ^VHXR9qQ67o%TXZIX2unN{ zokdTcjD(MbKbu3hPGFk8t%DE@+D--VI z$u(p^Nx~IE`JyY6+_38udomG7at?HL8S;;i=q9snX& zApgVcEL|qiQMeNMA0uCtjVh)-45>%{UF0WZ7nE0plA?_OOr3;$vOrf=41(66;?xLa zLJD;SSs^o{S0R5I@~PsYvhpXrK!$uYK8PW}BoQD8A|$h-pg@mH^8=9}P)7vnMS=RD zz)O>a=Ocom`+&n{o3Ig~uL5x3;d4GAhHU;4uM+AR>gAOhgco#0!L& zc!`K2qKQ}{lgNQmD1&mSfJ&%>YN&x)D3w5|6iQ`KDu+@9lq#WA1*K{z)j+8h$|O*R z7#Wnwp-cf~N+?r7nHtJ8P^N`)36x8r96eGF*3e_^GmP54ys+CZUUPlep8mQJnjRb0>P$PpHIn*eiMhP`4s6lV5 zff_B;N}yH>wKAxcL#+a8l~AjKS~b+7#n7e|73)iLV0L*-N=9moOd^rREY2+2krlH} zUsj$~P!_YYFr%onxTsWDo|XAp%;Nm~n6D3W+kJiZBpH!b-4&i)bahL?5w-7$6Q3BgApyG;yA|L|i4V6WO%gWA*rZ^S8a5?1ECw4y#9|^A6S0_x#Y8M7 zVlfemiC9d;VImF_ahQn1L>wmKFcF7|I84N0A`TPrn25(jJSO5X5s!&@OvGa%9ux7H zh{r?%CK51_fQbZ5Bw!)|6A73|z(fKj5-^d7i9}2!Vj>X}iI_;lL?R{g|0;jz|7|1xr)~0J*xm5Kh={w+i09BrI{Cu1r&fIXMeqXtL^Ogy zVmh&3v`BO@XhD!?(uUy3U}H#O$n8))If*ooM$*J5j?ED--d-fkwJd5BruGTNe9AVm z;m{HHaFokqcQ|HVyEr_+Jzzg^j#@{}-*4gz^DTTX!{;>|(Ams8N&eR3RMay*FeLuWcWL;F{g%`I+q^9cg~>wS z`$l0No!?sE%y%|An_8Mq)qd(Z#eTtFwSU1La@&q(x01260L(ECy4%#vb$R(%zU|yK ze)0`|$_hSCkYsEyY$@4Tm0|F19PyC+*!Yk*{Kvqz;&xZNyTftT%fHPw&t>bVI?7<& zDoi!#Oe9USOcWhjQ0vS%V7=IM*?MC8okao=W@vXUs!sZg&QM`8>su;0nxk2|rLmQ2 z;Yf~S*eI{L6XhYpkl}#&f&TV?p1gJX&Rc(5aL~$9oR#Zxdz(AkzP*(9XxP$pe28|$1o;<237Q6x<r9%#i4>~G zXN#LVTpi8r-u^?UyL>0FoVtAK^2c$kAhHUC!YKTvZc{HAh!%>(;UizF zJDZ|AmoJUGwDtNXKKJ5Dfo$GoFQY2zglQYIg$PR)v%0Bdf1xk8$eTO7@uuxF?vC@D zzTaIV{ReF)TaWhK*gmQ|w)!hUUb=A4uF+4J~uElfWrr17yjUh*Ly#k=0(BQtO1 zQFA*=oX}9#2y2Vj|!q8^#UPX2p&q^ zSNOp3W3#z~>1ZYciNYCi_}>GM#GiLuuDwE&zTGV6n^~4yl~s|Y5>giksa3*a$Iek} z+x{M2`$s0!u`RJHNEN_cT zHY=I(#**fW=1Na_`!1KsV{UHJ)#jH}uFcns2+@De@f-VV_Od^4mZm=(Coc{+@xi7~ z>Ha#O(P!$_ch-8%Zll9!w>wdGjeb}8J@td7x7uT%8k-wDbu3vw4#Y?UjGbw-wlmG9 zJ^J=6S5be$_Bld?H@4$p*$A1h0Ay3a|I;7Zrq9XBXTTKyve)8zriKU-<>CTZqL5Du*PwpCSA?=OzG?E z@p`*Fs~oE=tF5`l^bEtw^7$vydo$XrHXW)uUVW_kSj|Ag{fn;c;c-mmEHCii4K7IToTKmmoQ^l-_HF75Fhm4_m z^)^90S4gQ67EElV`(o#(-RI9)&vcx1bf@>G``7pEJk?Wogw*h>viSG%_zk3+^{}33 z&R^A5O;vMxgT0g-64r>@-}J8NS*dHvXwmOhDeNFPd@%P2yzYqK@u3Bf@MZHT& z_Dby%`*O-vw}PZtD@#W=)wERg)0bWREbjc-zCM3U7htsDE=_>pAj;cWSs?2<5~2J;!qW zZTsam_Swc)#k{N^j??%v}QcJou-;T4U0OMCRb)i;HxT16wtSS&V6)DD_T zKWZiU&O9+6JS$Tu(j?{Xc)Rd@BWVvc^UF5#X(Rj+(iwW$b%{B%jpP@Oe<2P(6Zlo! zt8&h@%IOUhv~D0RHA0%ZBDyta#JZ0m|8f72>%p^=JH`_Gfk1RNUtliSFK`3gAUAM| zJMBF6?E7sKv$<&_ZNEj`s<}np>*Gn=kNTcngDu=3W4GBEdsC;yUE_%D7ha=c3&?7V zrM_VXL)j>nA_MP_|BBXWOeA)O*z@%{)&grDThHjoIiaQo*5EO60^!65FY)Y)`4`J0 z`q4L?Xr!)z?)ni(r`0TJU)sowvZLH6$sO$(VTXB<^%pZQ>YwN!5aj}B5k!s}Uujcg z4Yb%cAF+~wWsgNj4wOwC9*%-ZAewxEaH7~Rf_O+gM6s3Z=^dalDxv1Ekf4y@aFGZ{ zs{bo3Ub7QiR(KZFY>S-t3yKnM z%=5-}TR08nf` zFq-_$inTd0M|71w^GNPR>C=Q6Y-0 vUjq^pOJ|`7x&q{*Sh^Hsph#MWVrd+AZv#7@_A5u;#9Y9WF8rUs|4;u77SRl? literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E00,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E00,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..63e30661db84e65066f19029396a37d31e20260c GIT binary patch literal 4240 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%0DtlPqVqbJI(Q zx0Li`lYyC!Ra9gkVJww`{EpTfvp6e%t@!E=ae9t8?Yx*S#OVd;AA}ge{gx1&bvvJ) z(^=wz#HX<5VVV%uLk_tH%|p+IB1Nw_PMy6dq}@0s1`TWGiy30*aN542 z2hJZ`ES+p;3mHff&r*^92t1-b>%3BXl_7n*Io>y;EUzlNB3mt{%@@qqg?_ zy@Kvvg`~Se{Qisn%NGvz4;c65GoI@;x9V_Hhl9-m@S zvE_{=Efp=5p7M@eZnMYI(xk5~D5+dipdAro|B~xB4b<%Ae&DT5e>y>4I?^PBnm=I% z>U<`jxzEs5>$NnSoF<3Eg|d6}+sg0hAFO@V9wXh@(%`A%$og?WAq}t&w%yjjwwU)A zI!fW6{(`?`Hpcw>WQizUa9#>)L`E=Y58Bx8O6SzrWY( z?e?s6uC%VQ<(V=vjVsFMoy_RV?5Ns!sOm)Z@#^C>gAM!JhxmWG?ZO({6_P#Jgfg?+ zHbC$0I8)u%d&cFpb(lO|ZT8)}ykxqD;&Yujt{l3`R%5kPRaES%tTb{)do8!_liW{x zzIF9?b+`8PH}`ve^hnd;s-s4dWsu?-qodYjt0aYt@l$B+H;ql9I5TJB&9**BwMv{nv6ao2x<2W-aNc&d^PICMqc6k1u6M`j-nyftR#=%Wyq7PmC!0AB=ZWS0 zRqfSuHE%FFO37hyHP!K^cX{s$eN$$mp7Y=M=!WkrQt*wxPeuMQ@H17l*0hU$mzM68 zIi!wdw7YIONpm)iiEXNBtr}pixP_Vgg>(J={+=%Xr3W+b%{;KXW5B!D_vQK0N9)fR zdP_Xz?W+eD=42Si5))I_W@J!eX>vr|NBx;U*nSh<%I=fT{ou{*tC_`C�r1`6F}8 zGHUsl6jFuL)E9;$^ERwm_wF0@3+hSM&ayF_C7iLd92;9!z#V*Hn!;md!qG(%h%G|+)p;MZrT-lrsu=13r12@i&n~62S}4YU zhh*_aV2s+bC+j$p#pb;$#$yhPQ%;IAckUCym88wp%(!Fz&2_!^=;z+OZNA-o{trur zbL;CG8cYpFV^#TkmDb$G9CMDT(p%JK^rZ`tJ;LFK_sQO#LHmH`aK#~%4;%Iz&-0UC zjgL{0Uj*(`o))eprbwL8E56zzN=PQ$y`JrKEFtM|GjHK64yLodeHTm8w4J4AG}vsk zrQzuUFtK#4!_?OB?E+!b)$`xo6B2g|liv}PjeARb4Zc;k#F$!TBgtB=c5BRbhR!%< zBZaPfN(h~qB^GOw^R~ZT^uCF7gjDx88$$R|*Y5&pCyKAVGA7UML2kU6+vNqQ^;|9dn=(s|%+G?$D zn9kC6nxo0U`{Tc&bs7tzTw#s^L$0mRme19*dUAHSxq&l!OuR_A@WD$w`(pmZ`iOb- zbr%|`d$6Z|1TyJ0i#wJyvZLH6KT7h)dPle;LXhnjix4z0(Lp52MbIh+Ict2SO^r3s zYTtC!Mh2EX4nlIE?NnqW3MN6&q>F?L#ePx5L*gNdt>jPd0F_Y*HAjR6hlNH41%=?w zzfFslEM5v0z60I~pL7w`U&i*k1;mplPw>wnzEq6@&mOx|1lQ zHuQwhcfv9CKcyoPI6v)+x}h`~U2*6lCSxAO851c85s1RiMr{+R5kl&O;Q4c%^%!WO!Ux$LDQWP`iq5!D~#o4c+ t6{wL|G@uG{|)_V4p{&I literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E00,4E05,4E07.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E00,4E05,4E07.otf new file mode 100644 index 0000000000000000000000000000000000000000..6c9a0292a5e17f0fc82d5a3ff98a9d3bfd01b9db GIT binary patch literal 4252 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 Pcw&%Gx^d3`|I7aX%i#`^ literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E02,4E03,4E08,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E02,4E03,4E08,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..6dd8f971a43527768cf77bdac8c6bf067d739296 GIT binary patch literal 4292 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 xWO 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 xWO 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E08,4E09,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E08,4E09,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..b8039c36d1abb45003d80f7812cdd2e6bcaca2bb GIT binary patch literal 4280 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E08,4E09.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E08,4E09.otf new file mode 100644 index 0000000000000000000000000000000000000000..ddafe8c679a7f841b7610f4cce6d45a5dba463d8 GIT binary patch literal 4232 zcmZXX2Xquin#ZdZTS!JYG;1SUD2D~?$pMoE7_h+@ETR_}BvHyj0ilsJ3KKNlJ>3(P zM`_T27fECx6Bby44H#py;KgvqV$N^9=5E=2HjC+zTRg4`@!tB~RlWJTzOU-nU0wB` zn)v_$0Ehq$AQ()_SiCrH@K~)8MY;f(xb*$iZ^=%$`zulVK8kJ0D$;ESZ>*RFK=cyi zPtVQKWfL96OOaoJd{r(AOnMYnkNhFzC*>AZRE3j4>yUp9`DBr>Wi#dfb{Fhz5Z=B2XU`s1FXj z8X~?J6&%|K95&myjS7DQfc=kN@QGo+d^Y+{=;-UwcTgmB`Aeg5FM=F&H}syNARN7M zBzOTtgBQWeU@~|Oybh*<1dt5Uz%=kCkOBozgPCA9mY-crN_x65?S2*?2@fHajW&^ z6*)!aaZ8J{O3JpEl<6vRvfqrGUsxEo3J))jTa{CuQ&x$B0Py zgCuYne2KRI7WfO=`X9gpwC#_9h_*bGn1HtX72-9t)rmwJF@um1YGM{KpIA)1OROX^ zi4DYNECHgJC?~2217Rer1V^}tR>Dj45xa>2;s7yB94Af_=ZQ0XjBw->66G@mz!bB1#k}#2ki6l%UVImn5$(TsSL^39lF_DakWK1MuA{i6Om`K4y z3MNu8k%Ea7Or&5U1rsTlNWnx3CQ>nxiiuQAq+%i!6RDU;#Y8G5QZbQ=i8M^4VImC^ zX_!dEL>ea2Fp-9dG)$ynA{`Uym`KM&IwsOFk&cOUOr&EX9TVx8DD#gd`$el?SlE8f zFSh!_gaiJu^ZpzDW&ZI0+eiMpFJf@Qy~x3+sC&++7tl!>ap9F`mb&vYcnNc|`KrCSo9T3L9FJ-T)6TRa!Z0RMkwV63I>m_v zF0lYvhwiMMA7+I@i;&L>1r7UkHuE-8xcwv@jZ6#-QJ?uP9lm0}?X>^4VB=gdLhSp{ zD9&OETZ^29&PHcbOVg>^Pd%r&FSx7rFSvtl+tJ)sGM*8EInKd!o4WZfuMjV^ox3JP z+z=)%5fVg6)>^~H(sfl?2JgCI4=Id}4N;Ll1a497u6B2a5fSZNaAOY-TlI<1}}ezsVLRdw*(SHZz;qE#oW5 z9ph0YT`n8voI32WoYm1JL$gebLx`b;*ER?*Gj@uWyL@3fcGJL<$&*5!&(mK=6@Q|Z29Uw(-<|M0q-w$J#x&Tsnu zaE`eVmWO%K`eZ4?Rge5VMiNtUzOxG7~r zn@YQL$iTEGN-8ptIGRR5ep^efNt|A=T6|-hI3-t{d``>|;&p=LcS4NddRK_fzFk1i z>?n0YLwO^tEzy^j_Wby{Fj)xeCI_7ZrorcrB1Nw_MxD7Jq+dTO1`Vm_h?!#OQ2O5D zhmIeb%^hqrhg&}>rINmq4JijVuM~+HNpChJMiSr%XMyzf7 zdIasCh2*jZCFQ9tz7TV>bqZ&%ymXK;z zvK5V`%{!VaJr(UcT_%sYxk*=BSX#NNP%|vX{x#2U?629wea~B({&bwYc(_RjHGRtT z*ZGV-Q?I_W)@ybf9Y(v|iK=Vl+sg0g?=8L69s}Lj+~BF>$oerrAq}v0w$0kkHk)?q z+jCqc{YhJ9h*93e&ILl;f8HG!@-au+A7) zyFAMr%Ph;S`NqsF!_tb`Co+4p+N;(dtU6wOtom5ZK*PSaLH=JZo3P4ynPd+%p~~#C z_S3uCPgnQ$oOXJx?M6>$t8Ld#FPWjH_&i6hGncNi)>zC{J9g}>tTb>2TP?Td)4b2R zzjgL?cC~c(x%<36dbsIO)e!^9GDz`^!Cq^$R+2*I*h#eZ8%8HloQX5?ChPB5L-q2_ zqI#y7Rwd3E-%9tz&QH6~pR=CnIP2)n?9KGA>DhLwr|t-;5tii$9~1~{NjK-=Jh8mL zs;!!?=Jf`9895}bq}t!{F6mjSYszZWasKPSzwY~*6ntYJQjvcQ{6tl)HtwX~rzLx& zc8Ps4?W$Ws(wvoJVw-AOs`{DBE@2vf{%l{Lzq`|a@!_=l)AsLb@AvNUeRZzv@!He+ zo>EUm+sc7?xtV&h)X0>#8W>bqnj9AQQh(tOwB3L=b9!a7K6+>CN@jt@Gh**${>U6P zkC;Cpg*4$5^`-vs>~*Wwy#IFn+5>{9&b7B^fmXm`$#wIqMfm)yFczcZy-gLXrUZcPQ9aw4Z3K`(7bjL0X+|#uf7)&TBnKzVPm8_3i5Qe_T40 zS6|oAU~DiLswzIHwB$ABnsSYm-r`n+FGGmz77jgnK=yPG*!n$(b{s_Ykbd{Ed_Vd1 z*eDhGW#9qjY37<^ip8lt;v3y!9La>c*0LS;g(Mwr;?11d&UDnb?PN)swz2fo2CJ1e zH#}PaCYG+X8(SN`ohxj(a_-)JA!(N|afP60+*8)0_btCE#?&erN!DVqSz@*_bmmbj zDRdT4Lg=(?u|$)SzxBQ14~?Wf+$=2GAY=>+3rJ`9W!EM4%w|%UJN5+?c_#1+)vI#O zw91*aG_dq-?*-mrBqOaAM@LD$3QCwH7B{v(m-Y`(x=uwUQ@_(6W)6o1-z z>iO^6dUiw8I>vsRzFl*hyx%8~wjcC8I|p0%LDp`wv-YM=i@U}V-!HyN#}|>+7E67@ z6qdHp98Cs39Qy^W(`XRo46_&N^Q=YI0oR}gf<<873UWn6#03<;gzde##M7rw@!uij%|{g%oLk~-ItqkV9 z)2D|gJnP3JpM92i=G1JCp7k^O$A1S!KyC8D27JA3nyCeopV~uYK}V1q41#bJ6~v9t zA@mM09r!}uety64-e)6l53T^9JUjSVM;KUvXBHBHM!$-(-0^l0mQ6xHUtSO%_`B5`&dBdK9DNedVZqAN6g|DA4Vi_I7_G0Fld) zzcxEdmr1l2u0TGD2dZq;G38NM9rC|GenNIZS!FmGv=R9MQVG3@7$N8St_c_s2L>Iq%-!br^XAPZd$J!dEgM^799 zo&%BKdGI2b23`iQfEgeTB!Uz$6TAkbKmpWX4wwfPf;6xUtN?F=cfeYZ4mN@ zC2$#h0j| ziijp+iA*8~N}&wOp#mzQ3aX(7YN1pDrBW!BL8%-{6;P^#QWcb{p;QBrOBIg~4)TnXhWC|5(d2FkTiA%O}hRLGzL-BAG* zN~lmlg&Ha}P@#oN2~(~Jd{t1T zhAItIX`xyI)l#UILA4yJ6;Q2&YVgZRS-42% zSp}srD+)7;N_G{M=*qG(UyE6kpC7XphnL2z%__|*sX(3Mx)#C25%yXybIPNd29z+NE$_;49TJvn2;oR;6`%j1U@8%0dN?};1oEA zBybgchPMAJ@F%qO--8Ee+aCiFZFwj$5pDNW;$^he@k9zSn~)J|VlJ_WSVp`>tRd2g z&BQh=0iuv7B`OI6VI-^sN4SU1i@Bw->6 z6G@mz!bB1#k}#2ki6l%UVIm0=$(TsSL^39lF_DakWK1MuA{i6Om`KJ%3MNu8k%Ea7 zOr&5U1rsTlNWnx3CQ>kwiiuQAq+%i!6RDU;#Y8G5QZbQ=iBwFK_(u}`qSY@fX}jPT zTl`_dA^+$_|1JMYfB1ink^df>Ffj3(h=ECyzHv@^4!ubyT$(y&sk<+N7w{*d0Spk+ zhyy_jgDwZp5B7v?2#pLih82e04cC()q=7V&CLwWTHnnJbkvPY)utA*CEAA3fwvqLR zkGYRVxjc4#+ITO+tbEL}^lZA=Ry45K0yA*79@QkcV;oGEsf+LQ3b8`#g&V?z zTf*e!LYyec*kIUFysV*W7{XpkdH((ELz;_iv}~oW1wfKjt5@ax`z{JKf%5Ta<|<;}v2jGadFv$#wSBTHH=wADI;VR0eFs?k|g zQ@g9ZsmyX~cPd965gW41WSlEtoSEIv@^%PsQe9^H7`_A!6Y`DO3# zZjk;%w$m-gyKikD)}2`OxhOALuy^(7iLdSyr)P`PE{JJDtWJ>pMu-wzZwZl^ck<{t z?Zr-LC~bf>Mf&36?jJr8rU_wPtARNhqKDQny9GI`8Rjk=or;)=ETnjtazFFAf=U-drjJKoaxhm+*xqm4qS=_97E z)@SsYdh{JNUbEZiFxu@-R9(YgSA0ukFzK4;a$bgx@K>z1?1K zr)Q;OrDc^h*O;DRSW!0bRC-TFTji$1l_#rCRGp~quRqW_!2io-6V_UIRGB^2 zK6+2v*{YuIvrezI&FJZ9vF+LICDYUtpX11OX493{YKytDynJ^>g@H5JYPj_u<$T=r zwX?UQv$?C+-Rt$yLybo&j~PgoL5gP#_8OzLf)vt6PouTpJTisiOq`K7S%1SCs#a|i z)pNv@N^$=9R=O{DeAIREg7sYcc}G`zPr847_s%ojwZ}+}urf<{H&56=x;YQ$iRS&4 ztyOdtuQ%9B$U$)p)%K=$dG`ukV@89H^WXgKP2U%!;2V99iuirtN2+q2aX0-AE!iiv zOYF;NSM73==BykO-B{gR*~eUU2{ZYN=X-noT^;_*4`<$=d2ml#pLd_{^9v=9H=NaX z7kkQD*Yq#UPS=ygMy9mIz@Wm?WurKAIAdcuHoCOhmEGTXyXADtnGf_Xy|aqf zIdqooY~xAxWb;XK&CN7e@Ec-3)qL$VY#L zWbsB|gxb0{^8}K`mVGNmqmGDEPKh&j?H9roq}AzWTv7kyywQE^Q}4bO-<}@-2gQRq zb+z^N#(IOHvh3XoOHMU+ofONG9C1fo-=hA?a`vZ|2N)roFCpH%rpAjiqPQTdlOY zery4lXu8I3Y^ncxfw1}7g>UW)344Ues|7{FzLIXeZ`Exvsz%X3vKEWY619V&(~nz8 zp(BqHLT6@*MVh4C9d8%DXC&?6W?|`OA#F%lOgh7_x~{P2wvobu(NC#}bAg|!9+h*B zRnBanp>+dksTR}R<he=L{YrFA`4t;w7GaG5=(F%sl?G z1Kp{!zpHKtGHKO|+mw`^^I4>C>n9=MeH1p^8foIzrK*KshGPs;7bw5QEMks3Lzg zi3x0vP8=IYX*C*+Mh7t&$Bz{XSpr3kT@Cl5W4UL3^|r{lKcURvE)J?mJY0{@cT97% zVA@lAh%D$Ba)ZYhJb;+-xrW{)W&vO58_({C$Hoh~5-|%`08l<2Jk}WoR^yq6OhC~u zp=@}(9fW2%^;tXk7yTi>XosQ*d=<=wjrFfbNl*#OjdM^UREYBF*MJ1&&sivIE(iH2 ie=Y$TD0|kS{2Axk+rZATxH9C8&jmc~#Qy{Qclm#dUkeui literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E08.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-drop-hints.4E08.otf new file mode 100644 index 0000000000000000000000000000000000000000..8083c0e6be54f89d27d0391c8fbce56aa897d1ba GIT binary patch literal 4232 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 T&Z|JZz{y*E(v9=||G)h=c6bem literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E00,4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E00,4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..9e1f5c95be70f5fecf461f84539420a1970d71ab GIT binary patch literal 4292 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E00,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E00,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..789e5d7a346ea8743cac1add94e7bde7d1591725 GIT binary patch literal 4248 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E00,4E05,4E07,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E00,4E05,4E07,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..b4f3f6622e5e033a755650133d951a03f2976ed9 GIT binary patch literal 4300 zcmZXY349bqzQ?O`c1R?sG^<2I?qdO+`#|mh0*WFSP8S%GP`N`+GD#-K9GUK(?m2T$ zt|0?1Nw`DgSYSC65K$Ifl=oQl`B_)qTXsLnB0aI=hgU^-pU3CDs!#p9{#EtuuCDq` z&HM)t0DuV42!g?sjAhH>hK|=6QA;-flUKaE_I24wcAx^)@1eGBSw*^?Il5(|07NfG zeok(VE}Q5qUV;2W$XDf}hA9uj8jz32C*>AZR7Y$JL48xAkUynJSG^O2ug29^kO?c+ z73GA@h+T>NB;?aOOUf%A_W>F5hmjvgfRG?S5JXsZWl@nH*X9MHL7<)pGz0}2f&(vw zh|fm_$Myq<%{F19!e0g8z{BT!V%RUAjJ+8;_Db{})DpVtg|WEjK@Pebde2Z0j@~#D zJO`q|^Wa4=4ZI9q0W&}XNCs(OCU^}{Ipbj(uBd`D(*nl0lKnrLGU7!c_g8{G?>;uE#AUFb!f#cv5I0Mds zi{KLY6kG$>!A)=r+y-~RH{d()J-7${4*m�uO-zegVG{fCwhShzKHzh$dbjDB>j| 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 P`00Z_?#6ll|3Cf*5F!t_ literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E02,4E03,4E08,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E02,4E03,4E08,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..75269a7ca51e7780a5f9c0d38b36948e1e93b73d GIT binary patch literal 4300 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 VJD<)gN4>zwOMTLf^Zoz7{WlFP4YvRQ literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E02,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E02,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..9f7af81b2d0455a3a9d945ba597d6bf7b26da412 GIT binary patch literal 4236 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 NzR<^AILH6b^1o;z3cmmV literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E02.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E02.otf new file mode 100644 index 0000000000000000000000000000000000000000..9f7af81b2d0455a3a9d945ba597d6bf7b26da412 GIT binary patch literal 4236 zcmZXX33wDm+Q+MNHY5@}8kK06+{pqu_kr921QbLtoGvgVp>l_uWRgsdIWpZn-E(Ae zPp%;YE=jmUgfVt(z18fye>b%^%tS`UDUTVqd>m{ytq;YK-5y? z&&bZwXA&KS%aC7&e04VJnEW8D4*5gKPslDPt0a}d7UW+;eq@2Zat8=qg_=>fkqIl* z7i5J^i&>8R?~qULC@L*`+zaFYOwLEXga9EyfFOvl%<_T)18&U;M1epp5vU6a)CC7# z3K5@;436moPP={FMuxu%!2So%_{6YZJ|2BDbo7;|+o&gW#dD*QXF(Ra8+y-B5RTqB z0z3nvz_Z|aFa^8}UIEiU97qHyU^;jW$bb@Pz$`Ea%m-;;30MZ+2Je8?ARVj+o4{tE z2blnZTu=aZfKpHa44?+o0TZwS8rXpYxIr^$1D&87^nre`2kZqy-~c!bj)G(0BsdMu zf(zgx_yk-9*T4;M6Wju~!Pnqh@IAN-{to^LegY4G0Db|F2tWiAVZ;O?l87RnBPik} zBASRHVu?&52g;xvDxeaopc-nR7V4l(3S}}VlS7#T%9K#1f-*IfX`oCCWjZLALOEjO zP_BS-C6ue6Tn*(KDAz){4l1NjA%hBZO9fOYp+W@}YN*gag%&DwP$`8<8C1%l5Yz>vbuy@vL!AQZlu)OFIyKa3pbl+@F0E*Xp(F=pmq}7GQYCV!R4!SNS+p%nvc^za zmQ_$HSyq@)RI;O}L|>Mb`I=-we!gTio?a?homHAuQh_?hb%%s!+XgbRc*2luCIbpg zMRG|1sYogcphYrS2;M{zc^9lj^4JQpkTi-w8InaUFe6Fupb5#L3;2)}2EjojgA?Ek zlE7u~84CYb;Lj-ZKY)8E><@v6LLN#?MB#pcco~H{o=72P5^_RA%qA8PONh6KRYW?m zk=TMIKokuToI#D`tl4N2mHgVX*W0QbQA~s3bBx93;P3pu+u@fcOAR-nMv6zU(L@Xv^F%gT2 zSWLuXA`TOAn25tf946v05r>I5OvGU#4ij;hh{r@cCgL#>kBN9p#A6~J6Y-dc$3#3P z5-^c~i3Cg}U?Kq%37AO0L;@xfFp+?XL`)=NA`ugbm`KD#A|?_sk%);zOeA6=2@^?} zNWw%CCXz6bgoz|fBw->66G@mz#zZnEk};8tiDXP9VnxiiuQAq++7PKbq(lZGK@<`#HbZ z>JJkR_{YxsZ}^w{!~cDZ{Qt2DgA>1r7>tbk#ufPtI!Py7c;ShqZa)v6!{3MoFi1=x z_65xkx)?k+*b}lYG%C~-Rv30W+(3qqM$$x@g~ZXB)Pk)=;w}SJiy=QK6H)PMl9cM5DFB>O4|#$qNY05Y_nRbnQFS$ObU}WQ1_M$ zh-{6dc82~9F?eX5x8Pj$@w|Vq!r=dW-rn5JbUHbXN40}#XIc?q922PsA#F63;>0|+ zn1`%Wf7ZbdvqHXA$Yq7R`u%#lWjiU{dX$Q0#s`L|kA0U8Uvb=WIewG3X`VPi?0e57 z&Svsk3taiG23KQCnk&i-u1&CQWzZ@q9T3>d_}dp+nYL^XT8GPT=Oihmae6Zrp@AH zquxw1497+@;RQ9WjQzHYjhAgFw%(a90&%Kt=lrUqzv_+UW{aVvf@gS!V_F(o=@y>k zd6tXzS~^i3G7cH{Tkacf|Lx?h(|6wb$J_%pj^=HASChB7v+b)(c@JkFk)9C4P0|c< zM``!=15IRL#@JVA2fiB(rxwnf^ZMf7U4_oo(S3$umYI=+M4 zF&{dSX@Z4YHSA8 z+~MwMZuj;dJl*9xdF9mQQ920GiX?$YM#8-(18Cq=S(r=yfEuN7ZdpDjjOv)C1l#rq0ILa<^mRd}mE2dV83!K|WY;F5` z1l^y6#5+RVz6<_K=MVJt8~5fhr1kxc=1tLy_@$kTtDcH4pnmi^it^D>Ev0CSOSY)k zvWDX3^5zOpS^G}6*<)#L)Ys$}SFFz04vR70<@ing)qA+_d28bzkCPVDIJ>K^&J;#>NAYj2guNH;XsdulndZVXUJ1FVB>v$eC$=G}(& zEO$|V!q%B$q&L2Ep&Ae~4l^YIL9&6 z>0Rxot9pA*yS%n`lc%%QzH6tKOw&+&jx*bpO;_5gt(MC2@|_hGM$Txj;nseX^Ktjr zuD;H$mhQf$KCh1+Zah?Z#7MFXQaodH)R=4)q>wCBuQ(a98N=1jcV_FL9iwPK5? znI)!FigU+9*>thSi?QeRQ_AJvkW;EzI|MlNp_kBSMzOnbHh(82=qAJ&zcGBw;Xr*ntPi1$R^fJyJAjvf6#f}NQ!FFN;xZC24^M7h0(oq4}(q%#n_8T z7HfO`o+tus;pm->! zuC~73RBtp^mc3hH&1uLsXPYX#g{?+knh?<~9C~n%?CBn`_j?YNA4K(#VfV3IKl#Pj zC>8Np;2z~^=9;4m#c4g_tKFi6WWwF+*bc`ck`6cX7S7^eI_lbXvLsF0S$bN%%|=`5 zpKJgVL)SP=t@U5e6E##dmM`Ne8soELaFTO^{7LZj|YhC?R zmbTLzO$Oc@`vvXOXb|NJbL1OxYz4MFu8!4{GsDgGoY77` z(UZCcy6c7^lUBX3eNh8D!j14FB!9GLm^&;4*?zVNLH*+sM50UtEn<+f+E>!pPz|m2 zjYn)`VDY0MBnR3~MMR)v5(G`SK)6uu7fC!I9-!Px{^SZ!8@15z#IWG7(1@U*5Ip(U zWx=9_i^2SrK`YT6Q2!-tznMooe*75!9YWp$RB^$%CC;WJK?snbYY3{yUm1jFVtaVv zlW{!r$!Do&ZuOR^**~Ly{5T&5HHio7@%5H@mJUpL>{;vXna_!J3gJEDLUR}rpM7)GD-SKu1m;_#U+7A9zf5@-ep=btP z17^dX^shw;P6^6;b5N2~h;rrEfE4A%Stuhe2l*&BE&&-RGuETr80XPj!1gEe%8(a4 NzR<^AILH6b^1o;z3cmmV literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..d5e570af32af3109038611a1d912f80810245bd5 GIT binary patch literal 4276 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 o=UfR2kcTbBj#H`2Xd<0h#FwrT_o{ literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..40774034ab47dcd9e73b4bc25dcaa8c5002623a4 GIT binary patch literal 4236 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 V@oZi>>IFW#7x1(T=luVF`)`$g4l@7% literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E08,4E09,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E08,4E09,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..c78abc66afbfe5f77d4aca54f98618517023e082 GIT binary patch literal 4288 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E08,4E09.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E08,4E09.otf new file mode 100644 index 0000000000000000000000000000000000000000..b78cad5b472e0b692d1f5b8025cb6af3c7982441 GIT binary patch literal 4240 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E08.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-gids.4E08.otf new file mode 100644 index 0000000000000000000000000000000000000000..3318ae1aa74eee4785188b0dd6672eba6e6c7a61 GIT binary patch literal 4236 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 Q873a5N8Kc*|NrT~0q<1^wEzGB literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E02,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E02,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..e542969ca5e9c954379e33603485aebb1f6e8ab3 GIT binary patch literal 4176 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..9710585c3c1d1f72a6ce80672fe60d98bcc9a569 GIT binary patch literal 4216 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..b200553e7905d4b21aa67f07efc446567caea43d GIT binary patch literal 4172 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E05,4E07,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E05,4E07,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..68d14e2a0d80e5919788b6369cb21c9c35d9cb48 GIT binary patch literal 4228 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E05,4E07.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E00,4E05,4E07.otf new file mode 100644 index 0000000000000000000000000000000000000000..00881d99efb50a27e7de492934e6f04c6431a35b GIT binary patch literal 4184 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 V2SCL*1d?LnaeCBE;`;xe{u@FZ3Az9P literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E02,4E03,4E08.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E02,4E03,4E08.otf new file mode 100644 index 0000000000000000000000000000000000000000..844a0acc35242425bd27f1211faf52a50c002ea4 GIT binary patch literal 4176 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

BiunjV*Ax1NCuux5Q%aTw2BgEt-rLnsTNx8 z8xGmX;F3oYBnR3~MMR)v5=bVVBU~u=izFTp4^VC;e{uz=jaq1UQdme>XoN&E0Z;zl zW#QsQOTdDal9lKVsQ&`Ccjgn1A3w%_hmf}rRa|gxiL>cQFagA(>jYGhzfyu{Vta7X zlW{!r$!D2oUhU?nIlrQR{I^gKs7u=4h_5%zvvpwVW5)!!>{r0#XKe{;0hH5bqfE8}6rh~86l9`| fR*!O8od0eH+fWiygwhxpBA%4T-8eV@|K+~{5R?Tu literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E02.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E02.otf new file mode 100644 index 0000000000000000000000000000000000000000..be1ce11af6a76ff3125bdc093b236effa7263c90 GIT binary patch literal 4164 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

BiunjV*Ax1NCuux5Q%aTw2BgEt-rLnsTNx8 z8xGmX;F3oYBnR3~MMR)v5=bVVBU~u=izFTp4^VC;e{uz=jaq1UQdme>XoN&E0Z;zl zW#QsQOTdDal9lKVsQ&`Ccjgn1A3w%_hmf}rRa|gxiL>cQFagA(>jYGhzfyu{Vta7X zlW{!r$!D2oUhU?nIlrQR{I^gKs7u=4h_5%zvvpwVW5)!!>{r0#XKe{;0hH5bqfE8}6rh~86l9`| fR*!O8od0eH+fWiygwhxpBA%4T-8eV@|K+~{5R?Tu literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..0544e2ba724e5ce0b4e3669aba090625564cb37a GIT binary patch literal 4204 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 D{#*ti literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..1611dbde7eec7df49c5a23cc7d0d1207c5ba2bbd GIT binary patch literal 4164 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E05,4E07,4E08,4E09,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E05,4E07,4E08,4E09,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..634df9ada6c1cc84ea66292ea44bdf0b8cfe468e GIT binary patch literal 4232 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 Zp*MqVI1nnrp^y|4kJF=W65s#-^nXVa3w;0p literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E05,4E07,4E08,4E09.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E05,4E07,4E08,4E09.otf new file mode 100644 index 0000000000000000000000000000000000000000..93741ebdf6f9ce7eeb2ac055305fbf3a8a858efb GIT binary patch literal 4176 zcmZYC2XquingHNx2}!MBghR77vW0S3z@8j1S%ASd!C;x>1qMl!vQR`LX%r@Cx_i1O zDv#2j0WXqBLdb*zmS6+M*ev)k+_Bi_XRo zGd~~z0O6n!1cNCVOP9tC9j!B>k!}DcFJHCx4cT$WKo#1*i^jHQ73p@YoUw8h0MW}( zUy+-m%O*ODm!p0i>Z@|mz?27}4X8hg`boJ(71g97*o^u&Q9r6kSG@y-tVX-h-=ik9 zSXY!2JP`R4>fb~C#XCyMD<1a&830oxs2@jwNkM=hh|uiHq9Q%sn;VD*fqEj)5EN(# z4!k@`d_F2TwjVfbwx?}W*lPgnfAE}74E^oX@wY<8UyZ(vMnYD+Fdp|j$U&cmo-+i5 zp(l<6&w*(0Ja`dI1+Rct!E}%Sl0h1n0bU1Epa5zx8_Wd@Kn7R}mVri3yTl&PUi17%t$mq57`%F##4pxDWD47 zuL`QvP^Ez?EmTXOS_;)NsFp*u0;-izjUGo0)f%YQLX8A!q);P+8adP`phgKbDyTtE ztAQFV)JmXM3bit*l|!upYL!r{f?74yqRG%^lr>Hz`d2v=r*^ZJjT}4jz>v0PU3**+{)63)5RiVMBafbrWx(#IG;0Z-x zGX+p!8VZ*rkd8t{4m2oC7J;`=h`a|rK;f|!VXM`1P|OO9J+xIg~AXx zh{E7FIE_N!68Hiw|4r~0wDdoMduZ7o0ue2F2oZsn`z7KPwA6`28ZnEI5o%%%v5;6w zyhE%eGKr1E790XZF;Pxb69&RaSP71B5p9H*=qGj)gTw)1lsHD5BF+&Pi7Ui4;%nkI z@o&UmiN6s)6TeC#BoUM2BI0qAfSW|zB;h6*Hz~MD#Z4M+(jz9vN5tUxr5sO4D60u0cA`y#3EE2Iu z#3B)kBrKA!NWvlsizFrp35z5wlCVg|A{mQhERwNE#v&PuWGs@gNX8-=ixezU zut>oo1&b6cQm{zDA_a>SEK;yY#Ud4pR4h`lNW~%*i&QL9u}H-t6^k@1(y&OwA`Oc) zEYh$@!y*lfG%V7vNXH@_i*zi~u}H@v9gB1<(y>U#A{~n||9G-rwEBg`9cTSwn?F=I z;Ga0>zwUqAANGHbk^gfnd?@1E$f2mHZ=F%kp*Lyx`Inxw)a@6+3-}w+1cr#I#J->f zK^KDO1$!o~3yBUfh8Bn34%3s9NCRmkO+xbcENbD_5^=U=L6bP8U)&+2Z6O;E9(Iq! zxIA`;WBSz#BZK^X?qlbebSyZS6oZG?d5g~09xM2X6^8!f%Z`>Frpv)`JgS{c2h)axVM3%Lg^clZiW3W5VgYI$ zx-)iulobjsLOv@LH15~g%-c!f)}wTEW@2EN`qX!EY(o1D$9%_r+V@tov7=dRd4=MK7UM{?W9ct!-~I0w^X>fyV+LcGv^_NowmU6{N~ zNDw7i>kOMp*H>p5yz56jq%b})Ohx_}xJh-mI^3O(GhX3cu4Oh?PuJ51<7RP+L1!Wv zhGS!xu%bF=)_&`S=1bP&Tkk9ofjCXOb3skYUv-8`lUd(d#WOs^F|AE)bSqEtJj=y+ z&0VMt8-@-0&G+@U|NX?RQ+M9^Y2E=VNAp&`+wE=XYQK50;NhIZlH+2SQIbXODDT;R zz)c2bPTWK@@cnogwP@DdH&2JW=ZaC59Ck%>>AqrLeu+1KWc>}>r~Dn~*Zu!=mGmF5 zooGAKdwuJe?&yjyMS0o$-8;uVK4-b|bLTJ3_t~e*C=%%UP7&0QEN8QE)5?Z7m-gh4 zffjcRkgc!l~ju4%FtAL)}S?Yv_ z@+MeUqAxA&{rNLtsu0>k4mk%+L(eWnie7PoI(=S9zjj0n8dlE}GsTeM^u5LR9Y401 zJK4?_GLS5urXv3ycu0NLd8zI)L;7}cyl;AWesxY|j!I0QC#F}63mx0XtnK@H1?@iz z$#;Z=edqlb&mHI=FzhX0NXv&CO`BpC^UJ!H)I1Bmfa=j3XqAtQYbbepLaJHGRy38i zRJK%kDmr$$OdfMfv#zeNv}#SEW>k#*KF@C)sNKW;z+0OCe2ly>(kz6SK4AvxeMXQ~W05ru^+id8*5%(Z+LM39tUS!b5v3 zZVO-NDCCPsVeNzytw;2DG_}FI$-mAe&fQfYdT!6WGQZYwk0D(x_?^<<-|O{ud){`u zZCPQ>H)duTmRHO@p4pexQN7_{^|6|xHAia)8~3#j@&9nygf-SnBzvG4Rc4oUfZo+{ zs-~~^l+$bNFnYS$Y`b=P$qY5c=Q(nnxpcL))?%)%tlU{uW#A09I_`r{@;>eP#@XN1 z-P+Ud?)UoW(dI+dhYcjlponJ-_Bx}riWD*@PN2EpI6j5qOq`K7S^vNqYF2C!)w9L4 zYH{AvrF38D`lRRFS?lS}Gmf6jzD)lIz1vUr)*mJ{!rM8*dj-Ne(#?4|Pb}}RZm*$h zc)h`1Mh=UssgAe2%X*jVnzNd8od4P%ulc?r1>eN`ROFumzfjd{jXUX8v}BLeF0n7A zUG>XInzM3DY;$dE^#F6pCCuQ@o$2rQ_jLI$+@EoG#{OL$1KvHpFVB`eTz5*}Tk5H3 zUp=@WH&aiR8kzDo1A_`nlcVBZ>M#6(_UrIQPM>Vfhi`3L%`CEb#_WB}pO_=&G4scy zkS3g@zR-`%UBBjoRc|)TZy;G4%f@i#FviAmY;1Y0D|fK@M%#(DlOO3_dS?x+8KMQ=cBH322xas7RpiW)H|w4E|l)0dl~e$kWc&$g~gkJ zaccAK?4u|wHtktH5pzhKa$KCTW3LdVAgxX}&VsUz}_*#z`M>1iqb!?}7F-eD+cr$0VGo20XJ6V#ZZ7e;#(Q2j5jZY?k ziKXl8#{I`fE?6uJs1 zA!J6jSfWYE-}Y|t`$p0pW)_xg6f#DIMWi$AlItRSdJ8GcpZJ`LJRSIr>QgyqTjk6; z8d}$pmRd2xT^ZY!H)`F>lK;4O&~^XWn>)@D|Di~9wVY?q+t2fZ{188Ql0W4<`Rw;? z1G}+#J!8K`->SVu-t8Ai+mHI*okOks5No&DS$lJr#a-)&9}r)s0A)8cW+~ zjwS=|PyB}FX*`H>hT04DdDbFp0oTCl$XQ{gM$X_d@*?5HFJ9u=5A&~-o z2YVVuA(K(NsAF*xJI0OiV!qg`k0_Cx}Fa2wKG;N3E}{xv3UfY#R?- z$-t6FK`0z(8x;y|L?MJ z@uDSQ!OD=8;o;}e_(j})JD+&`_%Z%FgnA26#Rcb{eeKoFMrT(k{) z{CFf{B;v_gPX$(BnP*<@mgqUZqJRFk@o-)8!A88jWty!8Qy<$W$$}1}ZZHVKqo^SB z^j<=46ElG?7G1 z57)?OR=^vH$5YoMQDaP8%^KZxOg}%>wpZBUh{qOo$)wk>V zQNte)0Dy4N2!g@X^kvH=L&xfjsHPi$DJ$Mv`-bdEs;DLv!Di%-BR{f8SG@y-tVYGDBr>7J zx}u!mfruZGKNa~)c9fJ?Jm~{6NXb29x zJV|^$GB~CmIBd43HZtrr0QNt8&L@Wc`svtPA!Dyb-9a@WD_bM@yb5N3IFJZZz)bKukOBozgE?RxSP0U=GOz-?3*G~3Kn7S3Hi6AR z2eJVK`Jf2w0Og90kX~NpKpR z1sA|Y@EN!Yu7MliCb$jmfN#Ke;CpZn`~&36`HRK zs?<=WfhsLjr$Mz8s%20uhiU~>E1?=KM-9~)sMbPF8q`RkMg}!tW=3CElnm_lwGndN3vF5 zUXfE&E?H5WRZ_O2q)bsvLpSgtDGY&wNCqds z86<(r;0tv8x4>V~(ff@lCVj}CIy?+$x~t{ORzyiEGA+x5sQgfOvGX$ z789|Uh{Z%4CgLy=hlw~$#9<;16LFY`!$ce=;xG}9iFi!JV1i@Bw`{F6N#8e#6%J% zk}#2ki6l%UVIm0=Ntj5&L=q;FFp-RjWK1MuA{i6Om`KJ%GA5ESk&KCCOr&5U1rsTl zNWnx3CQ>kwf{7GNq+lWi6RDU;#Y8G5QZbQ=iBwFaVj>k2shCK`M45jq(Jxy4!jg`2 zezDCTDje{SpZDMJzwHnEzis6Iw1p2%{x)JLGV)tzFQf5e0h%vM{^iG(boJ1N(BWV&6$7WNDww8!&g^e|lxj^k18WIC8OL>R_JDndvfOQkrm zz$F$S>(HIG^CPTKXc6*Rp`dZU&Su_D3b!ApqMq@AVd_)grNdY3x1ILi7HnD|hKv2{ zjN)9Tu&u~h=xlN}w>F=u`^0mK`<%OK|C~GMwjIrFBV!p6m?aLT$JE1jdxcn`{oFMn z{Dv@PxezC&Wn~&Rm9DSOGI-aIct~Mve3**(A#jW8aCNvl9cR75yIjj0uAZ)^4aUvl zRD;e$G7QH?Ghsz_&aC~`i_MpQC<1Z1cIU#Hq`&J7l_s;kwTfqWhGSZr+UQoE z$(Y3IarAyy}({Z5D$T<-``*|!Vm zIi00WXee)jbtU@J(%zpw6Q&8FJ>-yc&@}XHC{px_U=S^T3qDVK5A{> z*DGlMBqZJy;`UweUpjxFf55P}fFUg(ZZvI*UcxW$T3Yi=d;!(tH_#~`9n(F!}beTNnmS$aDVQJNxLd}R6^S3;|aiDe&_dRcE{^N1-;^Af?#PkU> zQ13JPOnv&UIqkdzqj<&cnow?OQWZrBOAs6g*3q0*>-CO+hW?S z@5phL3?yuwEk=6dyA}(QzuX-h_Ay7@z1CiPx0@Ui)>Hf@bJB*&LHruY9UNT)x@p+D1XD(fBt+kk|D=T+aRT(>&aQPle|xR zzH#<pm+PJ-ufe?MtD0%c)vi%B;A~c^ThD} z>h>DChSwYHW#q89n(BDVyS#UWt~sko$N8`S{<`lgQt*whqaywg_?fC+Yurh{N2l$P z+SBaIXjlDmlIE-&6VqJVT0OvAb_p~2^Jn|}{XJd&iw|bro4J2i$AEW_@5^&#k1|i| zdrLhP?W+eD=4R;0QX^B|W?)caX>vr|OZ}BU(0&8n%;}TO{qU`AtC__XkR`2%y* zJZk=!6jFp!)ED~0^VYBV;Jr5+7BrBojb)=ba~NY|IX0%e)|EThe6#Ij+o_NAF1@pc z*Ew{St!(pg_IT@Yr>~{g-A}q%7wwEW-Sbh`c>^h`L<{ApcIq9~Bo|8e(Y*}1E#%|B zL9%!=Fh*_OoqY_+V$+@#zEGKH1wdXdCbxsyvADA^q-S`F`@N z@i8jmi@<%#)55hx7mG7`#n*a73CV=HGTBc15|R!x@n+6!XF40&cd{f++gN%=qt!~A z8z(k^iJ|N4##CMvxO8EjDJo=oC*9&^{Je5 zta2ukhSp5dQY)srD`VR7Myz{T@?ZB4x*j~cxh0m^4@IJ@@IfKW@i-Z$jyu`B~=3gw2m`7iC zp^>@=dm2U{lU}>HV@VS`%8l})B!9GbggYz*S${DLK?6@ah(v`5TE!qot*@-PsTNvn z8;@AYz|zM-NDj1(iikkLBnS$>KsZtC7fC!M9-`PvHt`0ij7q3^a%ga9NJLQ3B;5Ib zr$tK^F9i!%k*mVPFQEEM*nYc!c=F^4{&xs@i%`ZX2t6U_QJ@$TN7XNZNkD?$lTb$f zs&GuKBA+}tJb9uWh1IAv9zDbq+qoAi4g*{S4Or$5> KIF|qa>AwIW?FeK5 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E08,4E09.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E08,4E09.otf new file mode 100644 index 0000000000000000000000000000000000000000..f1037bb3e6e96b166e81b0542e712be50ef48e96 GIT binary patch literal 4164 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E08,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-name-ids.4E08,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..1b9a75f0943c7f8ad3da9a4413ed6570dd54b002 GIT binary patch literal 4204 zcmZXX33L=Un#Uy@+XW_=9K|F!F}{xh68GIrxD5mnNC?E?$^eaReF}oYTS^)Hn(v&78s5M2q9r0OTsQgvU!sUyF=zB458X7=dlv--tOC#UVWuc(oa%J zf2;ig2mqJ}8bK(Snz3wI?9j0~6Rzn7V9JVj*1je`;TfpJ<-53UYgUnd$F!A$%>YC# z$Nrk!9DO$IEM9?q+#jfOamCaJ;SJdT68nj{MHST%RLFYl2eD5T>8p2u(ABs&6+a-n zSYMPAIuQ9I_9^Ty*-=tn@u&~TvA+`gu@FoM0T9CQ?8>4d11Zf5MuA{G3^s%W8$yFG zPLQ6R92(OPoOb&YJ2~PN0QNt4#xI5c`pMWEVPh{x-NrRxtDYN+eHP^4(eQVMfe8G? zk>D8+1)c@ZgK6L;@G_VI;z1Hf1v9~`Kn9dR1LlBvU?Io=%fJe-61)S}fK0F+Yyz8s z9%KUq@<9>U0m?xYFn~JH08GFN7+?nu;07(A9dv;n&<_T{9hg`2H$}1!1v%T_&fLq_!&F^BKQ^j1_2C(;cz0H45Q$4kcKb9 zXcz61yU%HLWLA+q|hLR7AbT{nU0h)q?98io>7UE zDx_2+r3NXrNU1}rbfl6Yl^m%QNQD=qLMk;s2GQ z2C213twWl0q>&+w9BC9tqeL1N(%{e0AdMDjbV!?yv@)cXBdr2yl}M{XS~b$*uhk;0 z4(Za7PKI=Hq*EZB66sV(r$#yr(&5d}Wt8kNl;xq^irCbwv{-q1x;%DKcFDG!*tLf8 zikzbI*cHWDC1pEG%JdaE*{{YfDlCj$L%Ns8uE{CSDXYSjPjrWcXWIs{iFm@XY^DMl zOviFb1Zh|*3ZTU@Sq$F55_uQAkL9rys%TM~FB=#1SHn5OIWv zBSbtQ;t3H?hP5UGSnB}6JA zQVEeth*UzP5+aolX@p24L>eK|2$4pJG(w~iB8?Dfgh(SqSzs(FAlU-ql8$o$sVxvL z9tez|58Md68Ho75ZPfp?O&pr^ZRF78$=|vrKZ9@5i5FgYZ0Xz2gXhR!L=zZ-)8M|4 zg&`M1=ZAVHtP6_@Gldt2-;OX)6DT8PqRe8_*lc>y))Hxsbzze;rfe_aY4Ugs-1S9`qRM@}62uP-`Ude|-}&kHzrvK?$2CXC|}9VupvrO~`p;Fb!o zb?VPLgb_|Gw2JwhSkSm%Z?|lx#9P0m;hqV>VfqvQrNdVow_J|j7i?M}O_ciIGf8vV z!nPt;p{vQ&+}eDq?qlyM{xkln<1_xC$9^=ojf!I>V2O3IJ?0*v+b70}?dPtE6K{x9 zmW%OHde%DQrqcD*Sw`Rb5icc+bll(WmvC?cYv{nhM!18QsQybGNP=dhm z(LPHT&cnuG<9^G1!|ne(dF%9@w|<;|z{WFzP3ZRcTDsc5zEtpV?veBpQiLfzi`r4% zv;BaF3eFn;8t=eg$0F#(v**3G^!Ejuv$NT?LaocvY56K!oaXzvmEFQ_;kG{6LH?M4 zGv#*MdDn~)ul1~+p;(4vqn%hh_}e~jm)5Ss**Ch2$e8~UhVj8sBLj*LyCdAuFmbc76L)w0u3&Q#V*FRag%CR=m3Rn4XQiv9T|zWl@MZ`wZ*?zq0{|Cei2 z;DG&P+tJ<|TSxWBR(&BU$`(!q+e{R0dJvl}R;`v( z$)SQXe^b$s!Gy6?8VTE5bIsDMg0<2s+okEb(zJ6@h8U+8)Bhkwi|)6?sO(z>%$&|r z7c!PNp}G=7X=(3IpNiAO@E&T&HE14sIu#}Pq;dMp1u^aVQ7L3tGhfP-!iLlK7TN2I$Nkp@)g`3T?LZ&_N=Q5YMu93%H2Zll>Yu+pRe2d zrt?kfDqFrOGt0Q5V%~|&zO0Vw4F{`_*Bq-kRy)|ZuYE}Pr`s;Bv0bLP1I;+IyKDo@ zu8z|+eZ8k$K3j*$+tp^@wbMssXlNnNnd{1Bs%^DaOLb-C&Z;USZ?xC(?|+>4NzXT~ z{;uxUo_HzYSQz8>wmoN|B@2@hQssLuX+ES*BcfzP@J9PqIpXMYv*__ro7gjJJ@`)?PS}j4-IaEt47c} z_13Li^KtHY>v5OArPtF>c{n%YiaFi$Vb^&hC8;GV?W}egoYfQ`&h#<8EWRxipk+BZ%>06qtRGh@otqhuPN7@YpU`Uw;BBzVq}ka=)pazw`b5k;5}4%5a&aN-N*6+)R*I9 zbmZs3d$hNOZ;39JX7oz0^hmK38{uBZbvl+%OoUmm@D>N#+0ed|qZr1{F*6!%HpbHU zcmvoNrp{q%Yy4(`xbe!lZ|{nUyTmDPi^`@wWxWRfs+&@DowAAItX8`QGxw!Iwn&wB^m_n+R}vDUZ`B-qt*fxF)C^Y2RifjdZ1E;5EN0=LVqt_%z&_ym@`1FVQ7wbdz;a6RF zrtZO>h7rVO)GqE=(!`DOqrxa99PJ(94~rqTUo2wCz>^LVtdKyf6ymJ)mo+!lBCCDl z5gQd;`dbK=17oKnBT2LwGVua*;n;67d;lNd*h>ER4R9HkaPy?_(D1OxkdO(a^Z!nZ zmMmTh7QRirO-;Oj>n{=e?E?7d(IfKj5cU?~Oi~Db!tkTSF(!$sUjP$8EPhYG8T)Tj zgdq0tq{rVM|Hp~O7UEuyM(OVuE9YK0+pZ;$G&AC3rD_s9Q%?uc?;N%gPmd=?#P~w10Hpg82y4dAYhAqN`*%@+*X)OLlkc;ky-ZKnD zpf`>JFMt^EB6t~00k47A!8DKvQb0PG4&DS(pa5zx3(N%zKqgoUmV@`e`(QQ50_(s= zunFiu4uGHl6oc)c0#pM%s0WR}2rPgGHed%X&=i9rzyn0PcamgMWZuz(XK_-@s!65TQgk5lKW7F~my* zMZ8MH5^+QVkwfG|DU?AuR6r$EK{eDsEtFeg>rODIg~4)TnXhWC|5(d2FkTikpUG_sE|Pg zdZGdxbCE!1W}trTiyP%DR81=K2`Rt2?cs70Hh%`DxnFVBa0mGSA>l6YB0hAe(zPU+U% z_%-^9%G~0L_~j+prRCd8%XO8xId8@;@W74a&;$HP3Pa!k zlEHCs8cE<1_zH#pCin{q{g2>23i~49>Ntj5&L=q;FFp-3bBupe> zA_)^om`KJ%GA5ESk&KCCOeA9>857BvNXA4mCQ>kwf{7GNq+lWi6DgQT!9)rsQZSK% ziBwFaVj>k2shCK`L@FjyF_DUiR7|8|A`KI1m`KA!8Ya>(k%oyhOr&8V4HIdYNXJAv zCeksHj)`p$3!|NB$$w3LV^hiCM1}UU_yck2___%kYJ)bFqRS!tpQQ8j6m->x_N@ourZHUwLY&+b@Hc@He6v z3=va^y&(%iE`-ht^-NeB787O+FA2XLp(iJh2GU5Hgp{$F)WR*L;w;O8W^r=AxLru! zOg0@j>^>Ch^4J}YX;&{C8sr~vpE^gaqvr3|3&rxI6`dtqsk@OiSuN%|rjBkfk;0_) z)cvJ{B3mEdFhe(63>{wUEk0X!tnepR82YcTJ6n61ZU@KlsCF@(OgkbB<02I$WR6KF zPAqhZg~&Q|XYBk4D->CT0#+z&+NZObw~@lF#}YI%DL71h?!S2Gvi+9R{`^TkN9 z|3jlVhbd|=b{09Coh@xGC+k1+oaDabuGqii4!CVc^4iG+Mg-<~2h(fn<$JtBg3xjH zst|cyn6ykt6f?5d8a9@#tI0Na*Nu2cVQhSuiuy5llj?MJy1N`_yuy22>nyH;ZlDdu zP2yyO&O|Z{$Hp=d#r4kYebx&tm#oLP+*u$3ajJI5g4)!-=?qmSv%amGXLyEV+M3(x zHlE~pmW%b8yHOoB3>)^DALwuY=ZRaV?!5ccy!}>==B<2>+uPdRar0u~qdA8&j*Ah- zjBIjyMenx#ZZbGy{3hCgzm7#vi)PM!Ysv2mH|69oYxp{+xy$@*jxfdhOB=J9+01Tv zwu9VJ9#zuivT@F7BOc2c9ZfPc%fvc_SXy{(gYYtAr_uT>E|bH^k`@bXwN7JLTu8BY zdL`Q)XOm;RW@i6K^zP#DGEHLUL=gK=Uh6*V$8h2qe5uv5*v z+1V1;y>xNn#ZA}N3k4TWh-B*ydj(z9AilCLPmH$YvMXB3_LleyO1%Y#*4?mu&fjr< z+y5_D$-sWwiS{GD>sv;3M^}6;%FE~P+A;d+Im?xwyMAeTz&;D3NTBCCMNmt!oXy5f zEg#-g)|*QPr$1IwQNg6KbPDp@+VV`|jKVeI8{5RGdE%6_Vy2Lw6EglF#0su=g_xXM zh4iehGAA@tG{gE*eOa0B=P!gQLU=DZR}LN|ekKB{kwg$F@;x z$6lYH{Z}F7j*z(beBk1_{rv-mJ%tQu`FMkAW9(vnS@)9K=i&>h9>0a6d}K^R$vYC$ z%u2ShxvaISwc1nJxx;1hm|I(P^+jdXtBW)vV%%Tz1IB^6-P{knrRC4Z$P0&BgfP=* z%s_+R=r{H0yX(DXx6xs=+nuPoM!&26p8mnoSL-p*&8^*LBNLWYl8;u(awiV~AE}KT0&V3`i z{^v>$?XkEme37GwFD8XG<4zQhn6VgYy?0|^txKG{vrzQho^fS(%m`!i--0T$ z(>g%!>^xQ5=R4)}T04!N?snVG9bPh1P4W4TJZBzVW3988YpSYtR971~gRP$X=(GIK zd%tt`clWgQ_PhJNetM+kV9j9z$udasjKN-Sv{sWs*7ymu_Z!A0Q=Ex2@+RvaSVQfK z&7yjim|i2!dlpLfh3?OK&z-fN?mFY>&FaeveB|49(${d9)Clk73Lg{-Ye_ff;XHAC zpr)giuI2RxdpS8QuA(~M_Ac`+*R^Cf>$t$RKVI{HLkj-!52>g>1%IJx));rt@6#E( zrS=T_Qrgw9jHEd$$HcYNwbcwTmt4Yh{@j`V{y=Yc;KGCH_onaL**W0d?f?30`J=U` z^u97rWyh+)1$kL|vdqX-v>O;ySehIW_fUV~_jg=}H*))Ab3T51>ndiE#WQN}WB$Y( zF^`%*C53e1B=wd4(A;&aKYD+5w(n>+myt~||_pi7i#?~vEN!DVqSz@;`bk-3o zDRdW7LfG^iu~d^;m->SPs-s=}g+mCwRj-fVwh_&17ti7e%;;wTf42W;i3B_cs#nRX` zm8ESoN0Y%1$A3fnG!{ZR!|g@-d~30_kZWXhRjB+j&h^?D9Io3jc|vA5bLjIA!Oj$1d*r|L7N!jsPmV%G}l3k zZNp(J8C>!>1j&K6QBhGSnFJw`=Lsju{i2D7#6y%@$(~*TYNHk!o){h)9u^f6G67Hi z-(}(AMN7bfmE=k?@;vIli0$3^#FHma@ZTZiEkqR;oLk~-IvPv>@#s1MRphTE@l0$F zO?*0zXFmNb^USN;95d%v^pF2G>H+mB2b%EpmT8t2OnG9TAPYH++)xmLdr?8$vo(a> zMp?B#Z1(f}JsW*G1CQX08vvANKjT6`9A4RkNHqIZFzI(B~TLp?xPFoJL gQAVpnIW5kAH-l{`i77#8j1&=1%ab0QoB#jv->S0(X#fBK literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E00,4E02,4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E00,4E02,4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..e8ffede31c10031cf4c125d32a9a138b779c9774 GIT binary patch literal 4332 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 IA^hL;pF)`sb^rhX literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E00,4E02,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E00,4E02,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..1ef82f343ceb86d9313d863f28e9cec01c7a419b GIT binary patch literal 4288 zcmaKw2Xquin#ZdpBsG$ZaA?*>woncW*pmY$3ou}VF<3+|Fi4`5vxG*{C`{0F_jFIt zD38*h0WXqBLdb*zOt1lCY!-YN?pW;eTd%oWcAw2+dgK<5t3vFa-`#sx_1;(YRn@P$ zy6QhQ^9>*X0FyyI2n178mo1APJXT{wEnNUiS@G_=H)JQ+{vuSrhuXHM=j)1AN3UKA zK*Vz7E3z_m8AM0H3gp)yUzLR#rala|A%6t<@mcw0l`ni8Xh!}m+@G(jECN&3pz74A z$OISY@-u^HM6E>r%gCpT3QNnL^a2_3`;Z?^fJp&>Ac)|M^89=~uFdmD0DmpvuM6^4|xrM0}r3`iow5pI`&r3*sBqDP)pFN7sjHW2bpL#^qxT= z1if(>cn(B>=fR6$8h8b~3TA*;psKAQ%Qm!7*?W zoCasX1#l632Cjl@;0Cw}Zi74E8}J?Y9^3 zI04Qe30wwWpyR&<{)mqL2XG%9`y(KtBM%}%(Q&^-yn>E8jz}hE6EZ?g%q12P%ZRs$ zHAEV*nb?LUKok(AL?vM$jD(fo2p7>xc!)k?4>3R-Bu0qi#A)I@af!G}TqnLJ?hyY$ z{F(R*@gwoGBvcYQB|0<)n^f@lCVj}CM9%AOlUMVh={>N3?^bQ5rc^s zOvGR!1`{!uh{Z%KCSoxWi-}lF#9|^A6S0_x#Y8M7;xG}1i8xHeVImF_ahQn1L>wmK zFcF7|cud4&A|4a*n25(jJSO5X5s!&@OvGa%0TT(BNWeq_CK51_fQbZ5Bw!)|6A73| z#6%({5;2j8i9}2!Vj>X}iI_;lL?R}VFp-3bBupe>A_)^om`K7z5+;%`k%Wn4OeA9> z857BvNXA4mCXz9cjEQ7SBx5246DgQT!9)rsQZSK%i4;tvU?K$*DVQknjV1U*t4~G4@F$`H z3=-3b{Q(ODE(XpIbWhq46cJ<$E(pF8q9-Sj2GU5HgoLr#)S~T$;vCDu261YiSR^EG zBkKJNMXt* z>i)6;k*$fYouzwI3>@0v$v;@2VMJh#b}-$hZobPS#0YKY zt_hQG2ve2|v7#h>gJDbY#>#YqXXA*Q6voDfsIVXWx2SekdsBzwtVei(Q~s{= z>%M=vM*0rgPPQKHxv_mzcWl*{qP%3mo?W9Kowr>5vE!%42kgW#iUfMTQv_8c%h_z) z^pc^i#od{tf97K)73Pl{OQs;dvn9(U&dOaUzP3}Go+VB@C#DK9IzjR~AyRO?EktD8 z&ZXyc6g#1zv;o!>>Whnee*8?BCIokrgU$id;Il`OqDLI3&Rh^ut{)WxhSc-LG%;u> zWnaMq#}Ccs4z{D2^e2dCsIb5JA5oumT&}soklx)K@10SaQ<+(wsS;D>iz$`jBFD~A zYuo-FLHn;l!d)SD{{`Qr^9TF-4f}E#((=J()0W63{PNDFRnNrdS3Q0Mo$}E!4JB`j zO)@LlvWDX3^5zP6S^F-R$!%_K)Yaq_SFFv`jEGTx%Jv!itM_u>^OnXx949XhHwr>B;1;ye0#OK+9iKsPkkyK6bJZX8fZ1FW5Gv$nI% zrak)hOjlul{Px*mxF@c2u@L?5cL#>N%+aPEYmdFFi5wI*Qv4RYYxmP+?T2@(ejA`kH6=m~Ir1hq^S8h5~dA#aa)v@Y<`u%N#{NG(RVXgHt$sTM( znb~dar+2rXuIlYM?etjNjqc7?+wNT+GF46S*^Vq{7F}trwwNo+%Xd{&7&wEihFkwh z_NU$7IQu%gTDtq1`aE8Gr15a&5d+CGNb!upUSqUYkV4w{NwoKy$EH%8i8Jyh>+e`Y z)v9fxdXAV}DbAlb%BG8*pLCx;XFbz#*3q5To90{Jv-4C>?GaKVtjrYN%M~_|O`Mx^ zNAbSOwko=c*Bk65@`L6%|y7wzm@Q%Mvg?;S*iK<*@+(o}j zOZH0b68kdRRlA&|IV;CRHCDG&_A{4V!c6}B*}gtscc<^-gPHec9@yR9@7e49@?6QI z4X5=z#qP4UH3JK?()47pktuC8FetG!IU??({>UF}y8&-z_R8jd@Yaqs%wmgs)ZWW{ z%p5h3nm;0iWZ@L`g?@P6#w;XqRn|qr2$R^fBJEKl_f7p56K#D5SLOCj(dPgP61=GEB4})$C z`S@>;EZ+2wQCs(997D3$vUkOJ?mc3VD$!^FpWf?0x1+4~esu0#K9DaD8?CBn`^}7$3A42)Ce$TNS zANkez7!~$~|32kz=9(i5#2G!}Yu#cr$%MEzupRa#BpqVn&79fJbkw!&Vo92|vGk03 ztCcp_KivQ(imtI6TkF4BAZ)&J?%R7p{BB{&YC+Mkx1>k!U3F88tWh+Oti@upMDAed zw4+v1=**>rpqUwBp(ZhB$2$e@8%cYJSy;MRNF5Otlg^OKu1oBhZKSYZ{BtVojQRf%@~GDA5$isd{QLbwt_RORejQuu!yZSbHuTLOtKj?dQ4Yu%utleg3?Tww5rfNq_zxX;GlTTJz zEOqtMS=vT(H0ghT{1>!OV*!*i*q*1)w&q)NxjI%y&JHova|XAO7YQf6c!_6U%s*Qm zF^|6PL{I7(=&l=qOltMw_9YGMC^yQFlKj!05pGxru>Nco0{SNgh(wtPTEqZHwYQ|P zp&D9jn~zvY|I)_+NDj1(3JXKQBnX&%fpDVOFPwNtJVddT>}d&59o0~GXmDU~P*^~~ zBs}=nY0;9!OTog`V0GZ+3#k1Pw%;xwo;-Pie-0sU5z08>*b+z6;b0PqBT;;dN&*C6 z5|2e?z>_D#p~In1M@Q%*0xP?hvzpH|WiO&N$Hzz;jP~{^9*UhC20TKqXB5U3P-$FGl72sBU{kfvz~~y?`5l z$Q8){Fgr_^NpuvhME=LfS7oD$sgFWfK0f-P_Be>6_l%?Tm$7=sE|N~6e?s; zf!?Tq3MEviph6858mQ1hr35OaP$`2-IaHznDWOsYm1?NeK&2L{Bv2)VDj8JCp-KT& zXuK+@QbUyns8mcu=t%Vv1)JUO51~qc1Q9z9nYE)2z zW~+f3E!0Y&RtmK;sFg#l0&0~|tAbiJ)S|`ErWF|EZUJ3 zvrb=Do>fp5v$8OwsI<7KR9Bvr`C824{QQ`;xO-X5+N`py(n?f0p*tiz>kg2K#S?;L zGZl!z3?!EXkcy-t2O1=kCE!gYk@vuQB#-SN3rV90lp|Tx0TYr02bz%_x_}Q!VGtZb zGB^RwAPHOsU!d*(2K)(a{SV*)+V;mlKwBP6grV)8M!bx+I-W=&<`6PMP0S+}6U&LW zh&4nyv61i@Bw`{F6N#8e#6%({ zk}#2ki6l%UVIm0=Ntj5&L=q;FFp-3bWK1MuA{i6Om`KJ%GA5ESk&KCCOeA9>1rsTl zNWnx3CQ>kwf{7GNq+lWi6DgQT#Y8G5QZbQ=iBwFaVj>k2shCK`L@Fjq{bPxK!RqIi zwx9D0t^N@Hpnv?l|E7PHKlFdMk^kK`c`)o=_~4W&_ncFnLnrCv3)7xj@tqgJ3-}Y! z2nLDi#D38t(Z!$zLGDQ#f+K^CA%!7#LiOY%(m)zX6Q4LXN4$7@kucY?s8N{OClvE3 z+sKAPN1BJDTyDF=G4uMx;Q{U;`-yYZI%@uI6JH=dR@Pp~7B$y1Cac9SpWS5Q2s_cni+e9MAh3!w>$)m+hWzy3@h39LgPZJKc&1!?++0=hMbg z#jKF$67rCB=+4@?5r)sV@VN}1*Kj~*Gw&q%+rOrwp7DVp@n^nE!&mILo%Y}7ZCNNx z7W&>d3iIgv)&gg~v(eeq(sZi!Q}-$MDtpa-l|9sKJDS}}#?k^X$2jP2Q#aS;!erLBRB|*&vvf;i zE7ii09LKOxUUMhPLxv&40rNxsoqs=h`}Ezn{JG}9h?KAGK z^XtBUx=#8J+D^6}?YX&qRCjFkmx8=>;htTipPaW``?2GvriaYLHVOoKzf%C!B*WTl z?2OW(ttH)AWMI~>N^y7~ek?@{xt%T9CSi8oI^orw!i;QT`Z*zukJaBVtG^%ftQ zc{`7q+fm|#hO$OjTcj^3>G|<v%pFXJhYTbNXT;%u4?Grs-f_A13QhWUvz%{cS#DKUMV3lPT_B`Z35y*& zN3Cu9dwA_X^NDx)xcwLWm(CyT>o@Gnqe;sLn@wAymU1gPmsLL#UqJQi>u8scj%md5 zwzy=ok|}R2@l<#!-R14OTqd{K)1<4-FR5IcuNe`d|D5AD_SfuXzvnDXe>_fJ9B$%+ zO`p>Jbv~od)T{5T^_rWF4x`=fMAt$(`IdF zJf=PR_AFOXf5P@T!W3_O=Mp~VU+)eK`RJp~J=Pw3S2H=tZxnM|j9YSd7UZa|m_{1T zf5pG@$8tC2wlrI~d`CW4K=SLxooGKI$0Eg>yj%PmT*Ca_d4l`S>}v~a91m#H<-uo4 zUtf>c+vQ&6SY=sl%{8WH7*>|gKat*>(O$LbP}TA3W7WrM1{(Ia4RZf*+4!~A%OrEK z31xb>wV&GEe!9B1=d{ynZ8y3*TWz~{dC4@jn9FfwJF}@OYmLQRRZ+34veLjBY_;tA zPjf!&{?^&o+11kB*WBmzQ6o)Y6edb*%r!$2WXmk-TsGeR2370zZkX)){wE z?^2SzQoF>yoO0EzASu?$($P&dEmi&WWfwn-JAbyX&)?nYzxZ(0{aFWgxA%MZ`o26@ z`gp@>eNTzIylu_EqU>}%Sz@HiS`9Qx3`LFz`^10Z4z}Hdx3YR=^FDZU#~ONx#XV~8 zrT;)5HIJGZu`x^(YYwGt49i59)wr?;nr^k8Y(4dn z-lca|b2^94vYlx<&Kz$!?(}(jn)}FR#zi@!Pj`RRdEP(@D#0RlR5|sIDv}MMdZ`{7 zofh)(-yvDN5f~G1-II9?$zsdimE%!|g{dcmS;hPKPz7mqHq)-Ce{o*#Idavzx7D}1 z*Z)z;P)>baLxZuwV5lm8uhNp!m~F~7R(cCt4Zbu!yqiD#=mFW&Jz(p1AFeor@?rg+ zW4V6vtMM^$_!of(Vz-C&L=_4%dxTfJg&2|!b!}ie>`O^1)Wn%tvz_j!Z`;L?6lG(m znGIGeWo~%70CY4}Yd5wwe7lg}eC6D|`+UM~KH?o-(YUv?NAFvGONgpfG?I+PVzWf; zpsDnuR+8_`6Z65dGKC^dQtpno3*R@A_E0mwY%`xW!Y?76p_g5km^0f*e&P64arl|Q zFXCR6bFNiRZ=j%c18J!d(wZxxTXRON`xx>c4-UB=K0CQ%EU_O5M5pHhbHRRr8{h`H zfm7UR=c#AkZ=0CSO&e+ZZR&Q-ZSsB}PuhOa_v{*M;RYGI&Cb}HIxWpLj@W+TH7d4% zthQL{8)h(+jbbS>@c#HOXr0DHVrPgwU!P+wu;#J#jEF4p14DP;*#FP)KmN zNQ5KR|B)6iU9t=;dI!7{H2DH*xPwnp0%j)e!(qc=PkW&bAOc;n=prI8hvJKgBtm^r|DdNHZb8=y_kx;jk@J2= zQNkTuUz>QS0pD+%=4!$8C-zA)(GlbZJsk~hK+MFrgYOWtfiL)t|9UHK#VO)x%S8GA zwZH8*QAV*m9y^}nJ9yTUCZngngd*vQvIw|F{nP~@#cu{Vy>w}G8c`;{YaVx_>7F8m+D|4si1 Ddjb$5 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E00,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E00,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..461002aaae6248910d98c1e546acdaa6dc30a6a2 GIT binary patch literal 4288 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 g>8Q%qp*kDapl5n%{3F#!ArI&P7byY9v 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E02,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E02,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..7c0e7f59f792147992c25a3f972edd6950727091 GIT binary patch literal 4276 zcmai&cXSj-p2w?4sX+qaFxW=6P!0>&lLICTFkpi*SVS){NTQU5A{t4fFhSGZ(>+;n zlm-oWkwg};=SFw`{SyfeqFz+`czl= zPR;xT2mrt&&>SY zkUu*&N0&`>6t6^n1@cw7sAAfqa2xW6ke`%WR8bu{D%ynn8^~7_>8f{wDQi)2S|~E% z#k!)L@R_lzkROG7YIjL_#gkqjL%tXJaRdkz0fHdHvnz{=^td!X7!88;M6f{=YzPUy z94b5)6%yMA95&m8jf!{;fJ2X__=WIaJ{fx}Z0yzOyQn5?_48wK&w(5?8d_%Iy{ zp@a$*RH&gs0~K1Rlt85vDrHb9he|XdB~+@QQVo?FsMJE01gfM^C4(wCR4Jee%~u6g zYN*mcl@_WcP%VXO8C1)mS^?Ecs7A|CL$wB~wNN908Y$GsphgZg3aC*+jS6beYBf-! zg<1*JN}*N;wQ{IcK&=vLRZy#jTC^G3jFR2@vOJhu5to*g9w(DXWO0kLOLpeOt=E@V za$NJmnU0}YbN67Uw1$a`P|lE)5^gQQUcDv&JdfeA^118yXTF5pK}7z9U<3{HV_ zNCH>E=jiyq27g3H{{wh{j{PwZ(2<7`lhJX%NW6lMI*~{t<`6PMP0S+}6U&LWiM2!~ zv4z-X}iI_;lL?R{< zF_DCcBupe>A_)^om`K7z5+;%`k%WmPOeA9>857BvNXA4mCXz9cjEQ7SBx52O6DgQT z!9)rsQZSK%i4;tvU?K$*DVRvXL@FjyF_DUiR7|8|A{7&p$3!|N(lL>aiF8b)VgCHF>oueDiHC%+sJ>kO&Xm1ZRB87)VI#4Dd;Ahbm_&XR($sb@I3xRG=V{4 zI&o06NOU=5L5L@GV_0;UF}yhZZiJo;B@LvJH1Ww}bHs~xln8Szi<*RKeZp=&Z9Ca` zWg_n?lIYMqkl|+LHx;W%$AW`l8+2O?Nt2mP5INZl_xjVHg+0k$lEjx|kIT zTtWe|4&8Y>H_Y&b7CxWh3mOmUZ021gf9Kb9)H5+SB>u#I<=8d*9jE;_1zQ&ilZ3wa zjlw*-u(ilp=xlN}w=|!r``B}a{fxbC|BOB2ww=grCF5xUnByFDx2c=!^6~L}+l3qa zq+9&d6?}pq$=YbxTDqw^%i!BI>>>HF@gZ^K55cd+?XGrrhvU4De~0zXW$USW%3$0k zOf%?ABu%qS3>{Ha=gc}}z1)1&dTPhLMFJ3JX!k6tN%^zRP-!yjTdFvkqglG8sg-Ks zNRDIJ7@xTlE{_cOCzH|28+kahf*ve9zmFsf*yq#@dUnzJz@3`cY5Mh*L zk-N*gcO7<}+~HSL-x)n7_*Ar~7_tp|{i9nH>{5 z$c}O-lP;Hyb{3~1d7ic?$=4Wx497cw;SSYJ?Ce7eP3N_=i z#oi8Ahqv9=f8=bJ|MaypSI=DiT>>kJtOB7h3NO`f?j?hpyn<)clZ{I7Wd$?{^BIhGbZqjh#_8 zw5_x|hYZg8RVj`PCXS_vA-Ag~*Cfm?STDS`OPG->Ouryx@bNlc@>@QJcfHL=XWuEH z=5~}ip`pA9)|Kc>OM8C&l%LLrcaww80n^~KSCN8G7#E+r#HZgpA&7?53xrG|Y$*Le z@k7TCUULW2;U$B~!Z~r|--3_DpLSfWyGE1#y)5USS)N~=Q<u!4}ijn5Eo`&Sf>v#1~Zk`UX1X6Jr{&ye%Qs ztYj*hO1+idDo;iG9+$~u_BQM43QMcj6>5fs*gxe3jQzFy+3z_^^B+!|Daf{rkOvAwPY>-DB;sce%+yev_EnYTTN?t0+%(%{1J2@k{>I zKU8=qkHu}_3LS-95y`I~ccSx%9*Y)l_H7MpbP4nK76_iZv#&3#bv&R+mlxkDeSJMX zUzcZkn9FnII&-ONYpumxU0J!Os>;9`Y<290kMln1 z{>ItY+11kB=kD|Qsp00M)yEAaLnFo0278^+T1E1ixtz8 z)onFY4W~EQ%g7;Nt+@Ry--@1y3M;cPYt! zsa;}UPPyt=kQ8fW>DcDlmg;``s*9h+T|D2{7wGN`Tz)v~{;WfL+xva{{a;)td%W?i zzNgev(YAJAQEsN5EH%>Qtp*w;h9ZZB1L8k&hudz!+c~|mc^|yBb1l8Z;u*2`(!Zxq zm`BVXk$f6|M*O+{*!)fFHoW_0!@>rVu`x^xYmT6849mop*Sc~Cns2wBZawp%-lcce za5{(1vV&GXSh+)lR*mnqh~H|LF>4m23o&(yCX%sOY?hdvG?jV6 zO7firVm@qEwosx;$=~@-@%u*79%1H}ZQ(P9`6Z+?;;QQkb8b7yFC70&9CQ+07L%$!4cQPXE%48CH@0}==5GN!t(lo;`yt+#qAO*%^Ctr^Q|Ci0>C(r{asq8jGc& zaRx)#D3&6F?~nh2_GwHcc81#v^?BAJYXRH9=*T${rbgD_F>(Uo#1}8|?2Gwl%VYZS zSDolhT?5?>!;sFXUDCd^i5X!>xDk>&(KE~*<3-k=&Ah08qJuzG2%tp}Icoi7%}uq? zV%u`uN(PtxDnfFgY~sjB6ifoqq)UVo#ePx5BjOQ?tz=K10F_Y*HBSx?2@i`DiEw24 zKhol*OO}B}YeZ|%2&mx-w%;x!o;-Pie-0sUG0HgM*b+z6Q6Ln=p=T({$X_GEJ+VDD z`Dr`u`SfpvXF=`u=y^Y*U;KAb4X8^#(ukjTOmnqh`V)JoOmrN%AwYy{Q9|6r9K!Ar zvw=VC&1d6Hv|>BuY0E$S|F<;JAI0QTo^}lfYw#*UC!vvFMiKEuSp=qn7oU|w{;59n zpUPpV2c9ct!=Kh~K!H#hijVV9FjS0U>eqn;#n3q@a;^l0D26TrStx?mp%@y++uOme Ur~N9B7cw#JCtdh|0slAsH`odaJpcdz literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E02.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E02.otf new file mode 100644 index 0000000000000000000000000000000000000000..7c0e7f59f792147992c25a3f972edd6950727091 GIT binary patch literal 4276 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 Ur~N9B7cw#JCtdh|0slAsH`odaJpcdz literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..54c381faf95e63cce6fa6b397f86466d71664e63 GIT binary patch literal 4320 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..c73a44d52ecb189b68c493c84afd06db5d1b9c8f GIT binary patch literal 4280 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E05,4E07,4E08,4E09.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E05,4E07,4E08,4E09.otf new file mode 100644 index 0000000000000000000000000000000000000000..ef0e494e3bf3f46bd6942ae34c7e8d9d5c7da688 GIT binary patch literal 4308 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E08,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline-retain-gids.4E08,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..d08ea073490ca12e40cc55f4a280609f8bc4c13e GIT binary patch literal 4368 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 WVAr#LWylL2U(VA`{6B*KoBkK`k_zPj literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E00,4E02,4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E00,4E02,4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..ec13cb9fb63d635b2fc4dc73eea08d3159802357 GIT binary patch literal 4288 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E00,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E00,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..63e30661db84e65066f19029396a37d31e20260c GIT binary patch literal 4240 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%0DtlPqVqbJI(Q zx0Li`lYyC!Ra9gkVJww`{EpTfvp6e%t@!E=ae9t8?Yx*S#OVd;AA}ge{gx1&bvvJ) z(^=wz#HX<5VVV%uLk_tH%|p+IB1Nw_PMy6dq}@0s1`TWGiy30*aN542 z2hJZ`ES+p;3mHff&r*^92t1-b>%3BXl_7n*Io>y;EUzlNB3mt{%@@qqg?_ zy@Kvvg`~Se{Qisn%NGvz4;c65GoI@;x9V_Hhl9-m@S zvE_{=Efp=5p7M@eZnMYI(xk5~D5+dipdAro|B~xB4b<%Ae&DT5e>y>4I?^PBnm=I% z>U<`jxzEs5>$NnSoF<3Eg|d6}+sg0hAFO@V9wXh@(%`A%$og?WAq}t&w%yjjwwU)A zI!fW6{(`?`Hpcw>WQizUa9#>)L`E=Y58Bx8O6SzrWY( z?e?s6uC%VQ<(V=vjVsFMoy_RV?5Ns!sOm)Z@#^C>gAM!JhxmWG?ZO({6_P#Jgfg?+ zHbC$0I8)u%d&cFpb(lO|ZT8)}ykxqD;&Yujt{l3`R%5kPRaES%tTb{)do8!_liW{x zzIF9?b+`8PH}`ve^hnd;s-s4dWsu?-qodYjt0aYt@l$B+H;ql9I5TJB&9**BwMv{nv6ao2x<2W-aNc&d^PICMqc6k1u6M`j-nyftR#=%Wyq7PmC!0AB=ZWS0 zRqfSuHE%FFO37hyHP!K^cX{s$eN$$mp7Y=M=!WkrQt*wxPeuMQ@H17l*0hU$mzM68 zIi!wdw7YIONpm)iiEXNBtr}pixP_Vgg>(J={+=%Xr3W+b%{;KXW5B!D_vQK0N9)fR zdP_Xz?W+eD=42Si5))I_W@J!eX>vr|NBx;U*nSh<%I=fT{ou{*tC_`C�r1`6F}8 zGHUsl6jFuL)E9;$^ERwm_wF0@3+hSM&ayF_C7iLd92;9!z#V*Hn!;md!qG(%h%G|+)p;MZrT-lrsu=13r12@i&n~62S}4YU zhh*_aV2s+bC+j$p#pb;$#$yhPQ%;IAckUCym88wp%(!Fz&2_!^=;z+OZNA-o{trur zbL;CG8cYpFV^#TkmDb$G9CMDT(p%JK^rZ`tJ;LFK_sQO#LHmH`aK#~%4;%Iz&-0UC zjgL{0Uj*(`o))eprbwL8E56zzN=PQ$y`JrKEFtM|GjHK64yLodeHTm8w4J4AG}vsk zrQzuUFtK#4!_?OB?E+!b)$`xo6B2g|liv}PjeARb4Zc;k#F$!TBgtB=c5BRbhR!%< zBZaPfN(h~qB^GOw^R~ZT^uCF7gjDx88$$R|*Y5&pCyKAVGA7UML2kU6+vNqQ^;|9dn=(s|%+G?$D zn9kC6nxo0U`{Tc&bs7tzTw#s^L$0mRme19*dUAHSxq&l!OuR_A@WD$w`(pmZ`iOb- zbr%|`d$6Z|1TyJ0i#wJyvZLH6KT7h)dPle;LXhnjix4z0(Lp52MbIh+Ict2SO^r3s zYTtC!Mh2EX4nlIE?NnqW3MN6&q>F?L#ePx5L*gNdt>jPd0F_Y*HAjR6hlNH41%=?w zzfFslEM5v0z60I~pL7w`U&i*k1;mplPw>wnzEq6@&mOx|1lQ zHuQwhcfv9CKcyoPI6v)+x}h`~U2*6lCSxAO851c85s1RiMr{+R5kl&O;Q4c%^%!WO!Ux$LDQWP`iq5!D~#o4c+ t6{wL|G@uG{|)_V4p{&I literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E00,4E05,4E07.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E00,4E05,4E07.otf new file mode 100644 index 0000000000000000000000000000000000000000..6c9a0292a5e17f0fc82d5a3ff98a9d3bfd01b9db GIT binary patch literal 4252 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 Pcw&%Gx^d3`|I7aX%i#`^ literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E02,4E03,4E08,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E02,4E03,4E08,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..6dd8f971a43527768cf77bdac8c6bf067d739296 GIT binary patch literal 4292 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 xWO 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 xWO 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E08,4E09,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E08,4E09,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..b8039c36d1abb45003d80f7812cdd2e6bcaca2bb GIT binary patch literal 4280 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E08,4E09.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E08,4E09.otf new file mode 100644 index 0000000000000000000000000000000000000000..ddafe8c679a7f841b7610f4cce6d45a5dba463d8 GIT binary patch literal 4232 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E08.otf b/klippa/test-data/expected/cmap14/cmap14_font1.notdef-outline.4E08.otf new file mode 100644 index 0000000000000000000000000000000000000000..8083c0e6be54f89d27d0391c8fbce56aa897d1ba GIT binary patch literal 4232 zcmZXX2Xquin#ZdZ8zdtfnzfNFl*0n{s_2%pPs_NHWUEhCd z<^u!(U;=0W!C-Rw(xtJ3$7_wKrwf2d%iml3mh7avzXG)%puTOHg}R;Kja9P&h+2mH z89CXyETW@mIr7VqugXCklOKoGBYz0_i8+PkRpBHt1NqmHA6BTV+6jVIqh{1?>=)?@ zv%{vvtU&&KHx8??-K%kBY)CUFXg9ERI zh%ZJ4$MgY*%{Fc$!`}elz~dKuV%X20j=mi_`g+t|)Dyb$rP0_IK{mP@de2Z0j@~!| zya1xWi{NE21-u4c2h%`2NCK%~I(QREfdZ((EHD==0O?>USPtF=?}0TS18e}B!4{wc zSpb4OPzZK{GEfQhpcd2vBd`D(*nl0lKr?6qouC`^fqt+T>;psKAUFb!f#cv5I0Mds zi{KLY3|s@(!A)=r+yQsNH{e_F9e4o#4*mdo9Leg?k~fCwhShzUd_5k@L#YNzwNNI3GQ`NB zOb%rVC{se23d+<_rhzgoluMvo3gzgQawu0oxf04%P_Bk@4U}u4LIM?1sE|PgdZGd< zlu)693N=({ph63k5~!3yr3@B|#gh~}us-aQ?m0GBhK$R4#WKboCDg{)b^{Svs z4OJSb(n7Tas-;jZgK9ZcE1+5l)#!E9P_2P#E!0S$MhZ1DsF6dB0&0{{qk9> zLahX9rBEw_S~=7zpjHXBDyUUME!qridht$uX)equk4?=?ikbLex*cR;@q{7SOa>H~ zisX_A(vVc-K!aqm2)vCX@;+FH!+o3x3O;wHvogNQgx#9<;16LFY`!$ce= z;xG}1iFi!JV1i@Bw`{F6N#8e#6%({k}#2ki6l%UVIm0=Ntj5&L=q;FFp-3bWK1Mu zA{i6Om`KJ%GA5ESk&KCCOeA9>1rsTlNWnx3CQ>kwf{7GNq+lWi6DgQT#Y8G5QZbQ= ziBwFaVj>k2shCK`L@FlIFp-9dG)$ynA`KI1m`KA!8Ya>(k%oy<|7en5wEBg`?dSbs zt3OOQ=pVb_zv*A$5C6YoJ=I!Py7eC3&??!F9O!rzESFi1=x z_6IEpx)eMw*b}loG%C~>RupzOTu+9O2GU5Hgrw1#)WU7W;w;O8MsaeVxKl{oN;Vui z>OKprA3H~^Bj#^63Wf6HW$i^=vAdo%SuN%oriQLFk;0^n)Wf9% zB3m0n6i;egI&-a!g?en~?!69Pljr@qTauG;T7?Z3_6JYSq3_I+R! z=P(7Wh0X$JqqC`{>2&QUp3~gt+%@~>+#$E^SWYV$$B4ij>tMP~-F%l5BE_wtEXiAWqfpT2P(*H=UuvWY)J-@(j;#OiN=c-NKVR z&vMaTb0?}ph9ScN^CSJ;|2}o+%)NL1G4G(2qj@Xe<@Pprw%xv*|76Zl$w@KXD9I#u zmUZtq=q3X*#%`k>`0HpmwP@ztx0d`ie@j*tvzD)Mnmf#2X9-ihKejMinXT-$@g3xj z^Qe+8myL5y8}?Yv>1dLnSti;cMAO1+n}nAcJB`+7ahV)Omb6%Ct92T~;zEkmV>77c z4p&EWySM+)nJ(X{tEaD=zViEcP7Jb&gu*EPrfy>|8Hf>!sfgjxDHMmcgPm&T&CaHn z&ZUdvFK@ZAQOLV=N+g?i*~{pPI`NeaIbx(Gn_bydvcJfeSM1F@vf-BPQ~sXw>%Ko+ zC;bO)r&^Eo+}t*zJHGNuQC>QK&#sY=FIcYq(D7r_BX&HDB7vUo6hSq~ayA<`wRC7p zNq06GnEs2BiU=f(rc#jK(UM~lXXLLH-`F8e%@L=Z7t@6}ogn$05G}ag5u&p0gtBRKL81qI_&rL&@9XQ_M=X zys@OYqPfyj-oDFa@|c^ObhQN~m1_z#!(z-|bN$Btn!Vh2yrt<+C&)`jnuJi(Crp2x z&*(Gt>N{(_X1CE{wA-Dix<c$w6TQ#cwul&f8I#tGa3$Zn*H3@cN(1 zJ+#N-w(tdx0=|$G){Z$*JfcRUsEyvu{`D?#?(Tfib9ctI`8AG*4C!jdXG&jRkJsDf zS>ae=S!vBPW@H+cm(M+!(VN*`wee8ZiR$Ck$7==}_O}i4|8m)cHP$O6d$0*rX1BGU z-ratty0_#F*i~6+;0(4}ZrvxjpLT!a z?Cb1m>F#s)d42S7)8VS429jlv;u(Xz)@ZFHg^aONXzw?TPNp~$XXH)R-?4`3m0Lyi zEHSl8oHrgy_odEHx-Xo!p6xj2=+5ZP@UQFHak{7OD5()vWDD=-3+qWY=ixjtyuYfg zny%*c274(vB(A2~-}Wx+S*~l!Y}9f78^6Ed`-&8NV;@ive+>LcRjoDdqTiz>d!=@X zeJSm#TSn5Hm1AO>YFeuLnJX?~I)C9@U!T9b(|_sF^as-q>~8P(?)80nzVylZGy0wq zPkGzwfdx4kda}gGl(iZdR9KoE7WYwq;SaXmgtxMLWph4!d;4l;k;OA&?`8hT95auY zKPH7#;WYJy{>a=7Yu3FtyMBH>$=X;pnlpzpHkM;!%4%FW15LMDPqm)@Nbk}+t9hM6 zXW7O!onTM2oN)S@d)$4bn|0C7m^0lUbzU%#qDr(-jw+|#QAKiLbT8e*pwmJ=_8TON z*@01N%bu*`NEVy-E+30NEKWWtPT#pt2v?9+r<-v_|A+H>&(Y7lds}_Gd;K4k4CU6> zH8dC-42G)m_bV;AjX9_z)Uet;k32Tt>6oTs1v zzHMYTHEm$*cj!AccgP2Q0%`kR-?MA5g&$a@6P9C7{Pn{-?uS#7b@H%w(| z8_m&V;DfQB(LRj^QO+=Xfj-w-XwB#9Ssghu+|3o`MMK5 zscWFSei$<8HH+F8H?kw#2tPvd$9jgjBSMh%C$kXLKR!Vu%0`B&|=$k z)Jg`H{1SxZK-;K@2$W2Mpa~ZVC(8XIiO0lalv~N3T>)yN78;%y7918D5fl`HC;z%E zT)b!rSg?v*MNYVg`Y&U9e?IZ_=~Mi72zd)p#RcbOnydKYEY zzR=mv?>9dBYz7{|88-kZ&mQN(z$(15kO^q^t0>DIZwG-%;Fag?;9vEJ{Hh&_X5i;z zHtbpdI+Wa$qMSDuB{)SWPks|fP+pvkvf&C)fb!x}kcqNl9mNBs1z#EkbN0IdtZ<}fS`g1hE;(k2{-$mkWSKBdP!GRSM`$4 z-r1ToC`s5uWO;xr3J53z4$2IJJkL1t-Y|2NL8@bg!@HN@dGp>o=iPhitNY#W{;F=> z`|s-h8V~@0@t_U_g2^dMmqra7tu~^bP5>q?e|OF6vg2%DA!^@4eOuG=bcHW2_`V;2 z@MXyVFf&7!9v1b{MC5;rd{rjunEWu2YhWKOFdL2!CyW zzc$eS(m3(Cu)xS(;IP@oY*@&v0PK4>(JKc3`uWJ4K_jn(-$p$_E1n;TdJbfutD)x% z0wL&$L%~E44xR%qfT`eR@Cuj?Vn94d0yDsCKnfH<4Q7M6U;#)0OTlvR4tN)=2B}~@ z*aS8M9Y_ZdWP?0V2ueUX(1U7F3yi=5XkY_&-~vsc6?A|u& z6W|m$1I~jB;0tgSTmv`2O>hg`2H%12!4Kdb_#5~K_!&F|0{9g?CIAsg1QX+lFe03I zo}h@AhzKH*h$hmBEGUICD2EEDges_p8mNU*36x5qR0gGTC{;kI5=vE2s)kYxlxm?& z0%eGiL75!N6i}vwG8L4mp-cm1S}2!5xfIILCFM}AfN~|2tDsyBq);J) z3Uo&WR4AcB1r=(j&_IP2DkV@Ug-RJz%ApcXNC}lHs8mCx1}e2sC4nj_RLP)94pj=M zLi1HYl^UuvP^E=x2~^*| zqSok3N;C3GqL$~U6%-d16zfVe(qD^On42558V@gtTAfjnQCyBX$8?8;XWa(Uv3P=! zY$gK=Oha;s1Ib7#a-cynSp?oh5_u1-Me^7RGLSS1Kq-<%4KN`|@SqXNp%ZwK6b8Tn zB!lDNG?Kt2@Fm**Z^56@*8d3Zqiuf#M6~5W#00e6Q;3(*R>u-a#4JKasEIkmLSiZL zHnECGB{mXUump&FqJ*d*41|%e5**0iT%V7af~=coFgt0SBdMyH^gn? z--*8xeG!9)xuVlWYdi5N`8U?K(+F_?(OL@Xv^F%gT2SWLuXA{G;| zn25zhEGFVG5r>I5OvGU#4ij;hh{Hr2CgLy=hlzMh#A6~J6Y-dc$3#3P;xQ4AiFi!J zV66G@mz!bB1#k}#2kiDXP9VtvGD^F?uHJ8h23?AO+;_f@#m*Jwbbnw!1MSM zQ4a=)sl?uZ1pyZV=LNdQtqTedG6v@d-wx4}<46N(Buzs6$Si8%)&g<1WkJ0-xmPR{ zlD3d_2M#wLig3B@4#)Is7Y_CF54ca9!`5N*_Zx&f`O%WLe6FCemNi)|<|?L&t}&6q zqz%;lrTrpX9aS?^_l6iaxXzPzw(3~U-&tYcKfh{g>S8(^9LJ;D&a^Qth%k(bRH%?L zl1y=8j!Voz)}cFN=Z9D!*CJ%ILQdU2oz1+R6mC6EMk8bWgVg8Vi-#`TZ#nJ1%h@zv z95431ZxrV+xh;9lTxY$rp}FB?^=Iyr+!gMs{R(%W(RL)Wg^XrIV2*MyU8XL+(<4L+ zt!J+Z<8KI)mI*PUByF8xQ_=d0G=pdTked`nMhB_TAN}7_ZLYS)cE=fy@DA5Bo2#K~ zXoGRHIN6{xkqpDJ5ll#4wKHv>^+LlX>+!937KlKcrroiiGU2Z}Lz&5}Z!YH7P0JEn0!UjD%2&X3c$l$?tMDr>8S(_$sHl-TY0uFxB&OGqZ)+ z!fqW~LGCDzD(Q0BIOp^sx8;nECK;M#A{;^lExf!@c!9CgXnq!#$zfzki-opYr!y=r zq*ysRlWJ;rwKuhS`VO4x^q#nU^3usmAIETFfK?MSzBjwTlYMCYP21=E z9p^W_|8|Y^?YEt1InsS&>#*+Vimya@@%&vohCexHx%yN4&kYaQv27FybbqG^DoK{J z*|=%NgPV)GGD!c7$4V;HA3KsnL4JF4rb(QcvqpS%yErXVoO)JF5u$a1Im3fA}9!U$kGUzRZx`ogD9-UXoprQI??+ljn)a72-n2 z_F-%5-fltr2O<8B5VQBZ@8Y@ry?ur~ISgs}V54bM#A1F~$CAot;`6H>zm9hK$cToL zx5gxzm27E!QBzq{xx2J&hs)$PH#O+0bBoGX=W2$;$iHOyjD1zRxgU5-!|#ug7Y;QD zL8i}`z8bI5YwFQ=RC~;gMu*XEccSVV{;vFc`Ugu-rQ1N)H`TdoII?yWP)Gx;oo%(Y zu}!93`nC*LL0{a~Sz?$cwqubH^`|@igI?xHW4E>2-q}bF2nIpPy&%8Rn%5k3|T}}9% z(%akZ@pQW1a=c|(Va+zCrWux(&OM&mlh#(T;XuW)%A=J>tNQEqwhr+BblHT})=MP2 zzX4Tdr?rpX*>TT@xcb)c-S8vBtQA zewUW)mf9uurL?PN8A)?ij)`ojYOd&GF1dsm{JAr|y}qsv--QP=?#AQ>ErLC*_7i6aD$s!|D(qdpxVQF$m+(Z4D-`{!z-puHc&H3QXZL63?7Wc5d zhxwE_VjebsLJCR3N$N}ep}Ffsd8oZH{5JF(Q@)5 zy-V+`ioj6K$T%;|0FZtNu+Sr_e$Jk|A4$2kKjszeLrsBr2X6(ko-_t4!8 zdRxdxUqrHa!#_f8-j#k7$zs#)<)aY?#mUFT8HIa<5Cv&bLc|50)K3^`L&& z(QF_2_2>u{`lbIqIwi{dOzMC&>ynOcVJt1zVFlnWrsNY@Ot@p0DDMnN)>PgmOu~{Ov zF?8w?D=Bp3P(sj*bg@8_kiG4l{P&HdJ;W?5*(jt835!T)$R*cB_VgA~m_K@j3O()r zmFiJBXItgWIvQHnk(MekrLiosC2PpKhb8}c|A6bkvp08?CHe!A=x936p0}Up`}qOB z|0I9PdGgu!+Xi-H!+OSki@sHLi@et>khUN7-8%-F`2p5$v$OVw4ohQ|Bf3v~jgHPE zD=n7Vx@jzJqdA)Nzd!mbTBnf!${B3W)n{4rtT|jQt0QNHnCdu#+sKQA6Tf(gXJ5>} zSROHtzUe@B>g?~T9fC|s)uOh=_3SV=%ny_Nk?tYxkPu+~#ViE$jSUcqQV}$Z0gftf zaYKC-wAeNtwvzrOj{}e#Xd4w8ijqkXF#bH@M7duW@sN0kax2->GeB+BLg5L)fx$tc z0RcEu{U2rF;zdiqf|X!p;P~?>a1qV3@C^mMio_`=@OZc2$P?m5T zcUQ+BsKe(!ZYGMr)F<|FvVgAS1r;*>h|L6SM zIDAIeLIvgWcMx;8daNCQqEnu=1OKIe+`qJg&Ida3Cg`QP{v&ba#8MG4AM~MtwXst&eOMm?N7&*qW=xXRth}n#Q!1u G-|}C0n+f0m literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E00,4E02,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E00,4E02,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..117441202191196702733d75631e5845b42364b7 GIT binary patch literal 4288 zcmZ{o2~-qUy2o#UKp`k(DJPKx*_Tn1-WTJJ8cm`x8eB7K3wYUgkOrEi7rLstsu!BQ z*;-mN0`5p$o*I`#jWKaFV|2zbc{!7b?~OAjag5cZ@c8aU-+4Ljop=s z9L0+4EL~=J%!gA@T#I5=Hfo4`7;HoF2#OQ33(BjW|2WW$;#;`CKvz`^rmjYAWF#`d zg}Q>Q;2F_xqxdBh)5S$)IL06-8#aArk8fgXGF{1L!kNBHXl{PltU zmnMnNg$G9W1BcD_)P{$=3c&t{Q@mpEFQ1OR88r4v#2wTUwDS3}nCCzinhiZ?5C}m} z90sO<2=E+u0ZaoggIB-|5C;-L3YZCA15%&>YA^@P0}DYKSO!*rcfh+~4M+zYz-F)o z=s+fbAQu#XVo(MufgaR?dSC<=Km!}F0~crk?VtTMB~U7bQW=!Wp;Q5-N+?x9sTxW(P^yJ836vp5 z24!+6Q$U##%2ZIMhB6J5X`x&K0JH43OvLX8S)(9>$5 zMhmqPsFgyk3~J?2tAJW1)T*FX4Yg=9v}r}f`qCVjT^^H?ks2eDNMtdKGK;on#jMqr zm1h-{#jGgIC@L*3D%F)|Wxf`(C_g`D4IW+=vnH!7tF#g|KGhu(o^?CO#Nr7?vWWx~ zn2zL<08)`uV}(fW;<7ziU_B{;%Gv=JVnpV&1i@Bw`{F6N#8e#6%J% zk}#2ki6l%UVIm0=Ntj5&L=q;FFp-RjWK1MuA{i6Om`KJ%GA5ESk&KCCOr&5U1rsTl zNWnx3CQ>kwf{7GNq+lWi6RDU;#Y8G5QZbQ=iBwFaVj>k2shCK`M5%8q(I;Ac!jg`2 zKC#UgEFAESpZDGHz2yt}-+ko&^o0&h{x)nVJp5Z{_!RUe4ZZNmq{4)>u~do^ z^IT#cvJTx@J3qn-`4%CU74jPP>uly7q;UIjDjFH@AErL_UOIfme%opPZQkYuVyM{v zzEPaZ(rq-rYwV$|8ai4Qn?Voc8n{7w4+sIf(1m+kA(_`x4yFEgz(0=Zk z5PCzHx?G48B^m1tn@cuSWf(jgM%<(@Ha<*+{oubvb+|g3I~`{|!aH2c9IlS8qYcI_ zVx&Q5A{mBbqnMC_T4%<7>&2$a))U+AE);<{UAuE(b<*E-h67O-z3+=#P$3m#Zv**3O^tX9iGBcUAe2vrGY5qD>nCAJZmD$Q{Ww$-u zLGBojD(Q0BIOmKJx8hh_}zmMa@0INtSjN)(VHujPJXt9V28yTBMacDc(>1N*S zY>Mt$wj}P-mg^gZ+>0kgvSp{ejIO8?U)+!_hFh}Ol}#o43ca~Sp4`J5ZrVQO?>fKk z|F>(T?||)O+tJ<|+eUTAR(>hUOBd|kIr`Cg%hew{e`a)(vwO1I@yNlz!Gs<$SvMRDvV(NS`wMty%*fDBt z-`6W>|0pEh72@_?@Lf88pnt%yH;*ALA8ayhj#|Pm?^;^@OniRT~xvj=9VU1ZGK7RntaWO82#5ApK+jO5BEK9Y5K!)^5WqpA;|Oz zGf?L>dQE-$u3C?|+2}CZ?M_r(qu*41M}KeWt9Bdc#+C+m9Y@xW0}5$?wX^Nk4z|U# zTi=o8DjG=GHd_q$#CI(gV*Y%0aM;TnZSJ-9+Pj;{Az=f>Z#Hhu-BFOEx?&n>IRBOK z${)(zwA<2b;qx8&d;uw}9e1Mhh!~5YHhMPu*1N=cyYfW$omp2G)Hv=lq^kwLQ~LXR zJ)Um&TaLFZE3LW4^bEs_@_8rH`!YJJHXf`xUVW_kSj}L=zV;#hUoM-l#(J4#4>Y05 z?6MBfyE;x+_w}B3daNBrcUPNj*G>oSSn; z^S-L~YPy=&8|9x16LoE5}4P)wEU(Fqd7zO#b}Y{(fIim+#_(nfGSy-_x6W=JwUhVvBp!-p72* z95s)cKO%(`;S}|S{_wmFYu3H{M*V_%lC`mH6lV@$Y%Iq{m({qk2b*rTooqYxq28r; zR`WWC&a#bdI?f(%J?`|j^fvdC&8&-dMxXBauya#T6>jw+H1ru*n#2E8rh z_Z`LWqL2I-40+)SsN!dXIeW+0*9T)#v-L zWH_h3uA#x$U@%mbzgKC=Y0Nfd8!J79Z3b_e5Y{6cdU&7g?HRNUxDQnvMD>t<_pw|b z`PKLs750VyKILxVTA~WY8NK4GJz@;Wgt*qTo%SUp9b)3moY~HF*0=9uNt(8?^o$0p zl{Pm_YycBY*V>J34c{yfHeEUQ?L8r3moRmeplIAv+N<}jyeUT2DjG@FVzF7Gwlj44 zQ7b8QteEZroejR=cLXUJvOCHBl#QdltlITd!s{|nWp za?Y{Jne{ZZt|u)uVp?-WbX(4dbuUZ)>;6I4gJ*B<7)$I2BGJ`yfxTeAzz_06{NO46 zwDZ)n&$o^2rlt*y{Wg8O<~Dh+Um$Hi=zDh#wemx(-DYR)O3@Ix7qm}f0hBY?p0Cfb7FhGRdR9ly4ly-w2DgzH2`7H>63;%Ef3`eg z9(~<~?$kZlQ$GTkw3@{oOB&fxZj>J-`J=rf++iWW`m69q9( z*AjGxm<7B+Z%oYetaIWrWuoWTE&q@I-{bHV&4mie&!aD0EzB{a2p6Dfe?r}6F}IeeBU;fZTZk)b+@{8 zSn?@f!h!_b+{WQpU^o&WK*B(lgjt5Ld6Nmd!^}$B z$#akiEz}icg-(xo2l)YLaT^i#8UXtqKIaocfBk&)t&q`Iqi&;?kQFbCik}Br=x*pe zLqHgM<8bgChyu@p7r|8U3V0Pv2XP<~q<|UVbsz-_pa!$ST(AJ7fu&$Mco)0}R)ch~ z9&7@efevH>2y#IIC1Y&Vcja0{8-41=qk0a1-1Dx50Pdd+-Ce2mT8F4t@p?0S|r!j|o5o6QRUJB7%q_ zULZuo%S1F0L&Or9L=Kcf8I(f>R6-S0Lk-kIsRT-;P%48`Ig~1(R0*XjC{;tL21>P1 zCV?`<$e>IPWeO-$LYWH6)KI2@GA)!#pj-;&=$3LQS3tQE%2iOVhH?#*YoS5{6;h~> zK?QoE0xFbHp@IrERA`_=3zZV6ltQHpD&3AHMyRYNUW3~gFbvA#41W|xaoGE&7di9{w|m|3(f zOT0#3R-RQ*CSG2cQB+!7RH`e_%6whCFh5_s8V@fMug)sVDy>9~<8g-q&$g#-thQ8;t~9}0y* zZ~%qDac~-iz$Ne{+Wv3BpU~F-2=1e8e*^@y1i@Bw`{F6N#8e#6%({5;2j8 zi9}2!VIm0=Ntj5&L=q;FFp-3bBupe>A_)`8m`KJ%GA5ESk&KCCOeA9>857BvNXA48 zCQ>kwf{7GNq+lWi6DgQT!9)rsQZSKk2shCK`L@FjyF_DUiR7{lmM-%;m z)z2?(KkFA-{h|DR|JXVI4gcHzu>ajh{&(NR!AW<+2O}cxIwPJ#C+WoVQ=VGU?H9od z_!H3x28pS}-k=3R7lP*nyC7KYvq(~}cO18F2peB$UV(Za1o!feZeMqzTF zP|T-nAsY@HZax(4a@!q_>DMkC8sHwVpE^gZBj)cn@CEXtW$lG*QFA?GvRceFbPZK! zBKgP-qWen+1g2J8H&gef5InTbTX44KSl-_le(*oPYWH;0oeq}eQ0}1H=~hG-#spC~ zpEjB*Vud`HkcX^8cgD^QGkm^<&t>?$hJ8Alc{|D9dYpBDZz868E^6hlWl_-KlMWh4J0ZKu%uEH0D7$dDEbWwlPH z8JtL=dTgf1)8Xpyw0rvxoa*wOxP0=`$xENau|kklAQVR7rMeBhWFST;5`_0G)v?&9X_8~EG{Cj`>7!(K*J)Cp78XA2RQEM`Sh$=*U=Zjm?l(E6LU z&$&C!Z~Fe_8tLC}JJEWi=f>6%-O&|a3G&kUyLOCxdd_n7r;eYS9x&tEC=lrRP61St z3~RHo(@KXnmvm>5ff@f-CM_RsG;NAr%q{C&QvEFW0;W>|>%bB^EGU$dM2fwMII;TU=0 zP!k_w`i$`D!-?Gu=G~D4OFA2!Cl9a^(jS_9}Zt|~l33GSm3GUl7ugCDnr>c8zC{6%{)wD-Eo{ zR?DvaEa&s?@0@*|T`k>x&3#@UHQaQt>ac-iXcY0Z!Cq^$R+4=B*a@`u8%HOLSQBgH zOxBMWL-mR+f_k=)QYFkA-^%6-ou74|J8M1NamLY|-ka`U+q3;-Pu*cs!@r%yzn{mi zBb!+_>yF|4Rc+N&HK#Y&OUWT&m8ktK@3Nldx~7aq9qYgT$#vh?B<~yhKotJ_z|W$p zHO3v(dz56i)Go0vrCfE(NQ$+xbWBrCOI1I8$;Hp$&YkJ&^LKapFFcrWZ^piz?fu@} zzOT-fK3aE5-&5i)Z(B96AUj=8mKf=>Rs)R^Ly^P69?_q;{cShk&8%M8oDbjHwu)Y4 zagW%0>EF{w%p>McNj`-?Df&`>Xzu#eYu|gbettd4*cc|7HHXnQhGk;PYFya^O*dOl zw4VG}@6tP~Ih{ji*~&B>V~({PbNW0z&3$AuFKHq)-?KRU1V9KPb+ z-Rj%f>;Jf9D5t)zp~2W-FjSSlUunr{%r<2kE4_uS245N<-pwC;c%SU)9xTJ;H0vOCH);zYJ(UG&lObx8TZR7;Pi4R`l z*%$LKmPhoXZ#vPFx(2%IhasI-v#5P>BQwH|a3dslq-U5t#0Ob_G4nzF;{ybuTmUUX zkfX*|+SFJBEw+t^tz=-y;~*3cluZ;Kj>IGgns}aYBJCGJJR}|>Z6$kp1*nc{sC!aq zaA-()P!LwC|06A2yl4qnuoA2co_HR0T*UV7eB#NIC-~R*X!xZwVk!Q%z#&`8u0iwY5m)i}}@<0)u-JQ{}*?m=bs`~zWIqUQX9 zRKjiCT$^~H0bl>PnJ58MpV%kJf(|1$_~~qL2V%zO9detP349@MKD`s}`DcoJ+VfBE z|GEBl+;|;nc|3Qd<Hn(v&78s5M2q9r0OJJ5E*}Tbw-C^b>458(;d2E&8z2WV?t$O`+eO2|V zuCDs4q)&hV089prAQ(iYFI^ftbhOThYPtcKy8Qh$Z^(|b10|?@7u9XeEYy{ND9vU7 zB9|dwk&~^2zw2HeGi`ViJ`xKHuiSN*sGDZQBBB-7sg_r2ia&e^qwIg z483tUcn(B@=fR6$8h8b~3TA+KkOWe}Oz=980tHZmIba@G0MfxyupGPx-Uq8e23QX^ zfz3b%vH%2mpb(URa!>{Ipbj(uBd`D(*nl0lfCsdLF37??rBDXtPyv-t1=UakwNNU7QYnf@lCVj}CIy>RY|^GojhhmS4I<(&5r>I5OvGU# z4ij;hh{Hr2CgL#>kBN9p#A6~J6Y-dc$3#3P;xQ4Ai3Cg}U?Kq%37AO0L;@xfFp+?X z1WY7gA`ugbm`KD#A|?_sk%);zOeA6=5fh1+NWw%CCXz6bgoz|fBw->66G@mz!bB1# zk};8tiDXP9VnxiiuQAq+%i!6RDU;!$cY;(lC*Ri8M^4VImC^X_!dEL>eZ_{9{Re(dri# zcbxT$ZT?VUzkmFk|GNJjf7t(SBmdPld1%Ua;X@G--#H_mLnrCv^Dj+U>h_D^1^kI< z0z!|tr4ML&(Xn98wSKQLTnyeOcEmKR^n@C~m z2I}6@L6NPCt)HcPQw$zn=Pf*2do2I&tT6Q7Uv+qTm@Ws$@hEpP9ZVY{4C5jdE~Jm8 zQJk3X67!LD=+4;r5mqR$2zjiK-?&d_GjAt_TaVIE&xF7*^_lPDq09DLPWx~3H_aC( zi~S!O#kovDTcNYS+2m|)Z9ZA|srw}N1$V{%1$Usub|j~bjAKM#j&(3SrXIfAE5r%y zXRivAuM1O`3Gt#NbDd#R>H6wSgLnOin-s>zhpF%%12?G-S4T^ygjsg zVB9Q58FVI+VK_FL2`j8~X700IXuf1UzV*%m5s1^ZI~LR=|5azGG@13SRXoEp9Mjs= zMz``L&$C>#*W88juwmG+&wO8h`@c@yI(6sWzrVHL%F(=)?{4vWy4r7E%zrrdu;jQH zW|U--CFMQa_qULNS>rd+3jAd(j9N5%-WyAPo4+|Li&?|hI?bKtZ?c4G-k)2UEzA~n z>ys7aj`ApzE|-mS&KPl9&gf{8p;;!{Aw<){D;tFu89R;UXK|SvMwYZ#XsdMw!{S7W zHRH1=Pp7NX)8QRBaH`vP;_}H$Colazo)d$tBB3yfzp3BQM+RcVVk&%OY#PO(W;4XN|cw)-?d}(lXI3UKXv}xe4l-?jUs`b?-W4|$#OOu zH@$3lb7@aD8JPJpiL>(8h_7uIr{{>%&Wh4DP5yN*ao)~+(S3W?mHD-fdkpFF;4`Ja zzt`*ScE96z$FjnjXUxbnEU%b%JfknOqk6-E>SHxWYmU|qHtua7;{WNg39GG_NOpfS z%FIsd0KK#0R83#+DW})kVRU!3*>>*mlId!S&voQDbLeVot;JkjS-GRC%D@?Hb==xd zb3g0(*4f|H-P+UN((m=rBh3e^4;x69L5gP#_Bx}riWD-&PoTBmI2J{5CeFy4tiNLo zH7mA=>N#R+wfNSPt!%l_^=Z$!v)0p{XB<5leHs3>z1vUr)*mJ{!aLc*2l>J}vW0VV z?ik)*-Cjf2@Op#2j2sqMQ5|o4m-Q~!HD@;IIRCZZU-NxU3cm3VsqjApex|C|7 zaNQ|=Z>hVYebwNCoD4l#YGlgW3=B#vO^%3rs6X@j+pohL*?qFPAHBV86|>0V9<}!| ze_)Q7N6nv*LaK0*`ci*r-ul&R-+!}VegnzcST>q7hcPymV`Iu|T{(lzH`-3Lo%~qu z(mQK-okM5Y$~GTkkF_3i`aHcY{bUR4qMb3PdOq$tXCOtDXrUa{PQ9a=WUAlEV)fNrW|9Hx2VnFOBcd>go6+6k-a^GwgLCS$^$4L)bBc) z=O@1&AEUy*4BVsK9?lb8B+lp+U+WQLNhZv-j_tHBCh0H}Z|2N)rn8}a2TRhljiqNa zTCKFXabf|O7`o1GY-{{>zOeD~+3)TOi93a2ZSNI*Xe8}nW?{)jA$>$xL^{JRxh}G&w~)g8@h_9 zK9zHhRnDxVp>-W;sTI>(Dr4GmN345T@}Kt(xb8naxnnJHABjYl=RAAfex4uXhxoyh z{3++jr{8ZI*p1EW8T&2zR_!hFZofdIrXHsL;`^UA6Qy9NF5h+xnA^S3b_P!v<5v-Fa#s;=rK zoxQU)X>dpa1PGDk0mGtzh%(@y%rNNlj3e(2Ge;SuI#xKmdkLQBdGDQf@3~*y?N@jE z_wD`~5CDM5pdJK*h}7lFqX&=G7*S0Z08>}Kv+h;d3AVosBl}Aunm4zxI9t1m48TA42S@~s^&lgP^1|T8=l~?5JDvQ9hH7Fag z5t-luU4CZptf;q8c{?i8MTMnhk9&a(mGOAd1eg>62!aUCD9_K=|nyv%xDs3KT#M=79xZ5l98g!AkHpcn7QnX<#GR z0=5Dj$N&)JfP7E{NR6L1w=12@1;a0}c9UxRPKci=AgJNPH~5j+3__!&GR01-$86O)NBBAl2; zP{a#FBoRf#5E(=^ltLMlLj_bq6;wkF)IzBQN~KULgHkz^Dxg#er79>@L#YNzwNNI3 zGQ`NBOb%rVC{se23d+<_rhzgoluMvo3gzgPawu0oxf04%P_Bk@4U}u4LIM?1sE|Pg z8c_iiN~lmlg&Ha}P@#oN2~(~J zd{t1ThAItIX`xyI)l#UILA4yJ6;Q2&YP1|RRBNDG3pEm`kwT3OYUEI(fEp##sGtU| zRs%I!sFgsi6l!HqD~DPI)GDD?1+{9ZMVp~bEiBTPWW%ho=;ZX2XqiMJi(Z^jxFa)q zoxZdzGru%?WkGsjNl{^mt}HX-mFUHJdC_Ze_tNOKnWdQ}6{vDTcSv~F9UudXCm6{l z0#INkl1n^DK~j+e4U)+c@CK5|yI?(%$99m3q)`aUkSuC}2}yznO-K%1z>B0X2!@di zPJlB=0++#O==i?^e?dq8J-COC{UH$1kp~e|&~Z;EUPMP7Mo0KV2W2Qu7gNPVR#9$%@6ET>G z!9)xuVlWYdiC9d;Vj>n3v6zU(L@Xv^F%gT2SWLuXA`TOAn25tf946v05r>I5OvGU# z4ij;hh{r@cCgL#>kBN9p#A6~J6Y-dc$3#3P5-^c~i3Cg}U?Kq%37AO0L;@xfFp+?X zL`)=NA`ugbm`KD#A|?_sk%);zOeA6=2@^?}NWw%CCXz6bgoz|fBw->66G@mz#zZnE zk};8tiDXP9V%pyWxA&7xF*b$p3DeJUHc>(7~{lwR3c@iGf2KJo)FUkLUh_6$bzF^Y-R$rqjW3Jc=DmJJX5?!?;L=3aMi$ z6es4o#9U+@y0dnEgcb5ELJlkB)*sN>%sWZp)}s{EGtNImeeAt-_=^3O)Bc;>EeplT zV&8j4aXypRn(xeWHaHtw8c)@H2c05y=TL z#3)H8i%Pq99&950bH=|yJMh=B5NgTX1+OmqP43o=3}zi)?KF3ozswM3cz$eQwlUk- z?Gro59ph0XT`n8voHgRMoYm1JL$gezLx`k>7dH#fF?Jfw&*CyUj4Wxf&{pd#hQ)yt ztH$S0%^j|e=5|m2@aZn^$t$NWpSt|JSWXPEiiE-_K3}`3m-I)8g;eOs*bIt8+riE> z^JZsbROj-gv6r@9-z4N*JSmdRyX>WOd965oW0n|Z$z)eG7Vj_c<`jBz4sX0^`)xhOALxM$bshvzLdXZp<@!-EU`YMCm?j1d zrR*!X@A$si+`)DErM|3m7Nj>|Py7}C3&taf!xY)6C z)Y`VcN6`LJNVp@!?!Vx>bpBvpzhPf4Lt5V7Y}yjJlwZ-gtm>)w{HjNtAT;5#aE^FWAGP%vojk=n=;)=C-nh`PTuh~9hfAwDOJKoaxhvVeM!;M0a z=_97U)@$^ddi9+(9&?k?VYJ(wD7r?!uK1Sz&eB`uHqZ^t_3m1ZtQ!Xu(g15`+pO(u zvuTgMJ=0a#AHRLB80LxVTp~pO`Od(QmpR(hW9_kbHIakDMvC8J+>*01KU;OhG*W;5 z3*n_dl(}iQrOCqQIr8{?Qdl?cMCTDc7EW#QZ1HVyi3@h;itgKUt}d*0++#>rGrm*$ z`g%N`F87;`H!Z8IImWbf!^*M+C(?S;+bcH>S01lAR&}g;pniYbApb9yO;~HaOtJ?X zQDk;o`{~{7r>lBKq{*UrAqu9oh;raq6C9%(#OdBi}n3{pH}u-6!^6{L_heiH5d=CKHhGjT@VWc@8` zs9Lp6RL>KWE5+9*jNEY}1sm6{f9JKjg>@urW7$Z~9KzUGj*TjGKM>22<5>LZ(27wwEX-Tgu5c>^h`L<{Apbm|?IBo|Eg(mf2i zE#%|RBU!xWAEUPJ$vB2&v1RYd@yJ7B#0hbB(LNzWL0X+nj4Sd_&TBnKKK1Nv_3rNV zeNa4%>MD$Cxjuw*x6nX-%(o`P0`H&qDj77jhQNA`3N*!tav%7;-rq~CKa z$47oKK1PLp=D$a|o4Mx50&!N4_;R-xO)?>_4Qz*fDM^Qzcr$0VGaYqpyI7K@Z7e;j z-fE@I^-nf{iK1)l#@70;7YduNocrdk5WicPx>`^)>@Dfhdsp2QBWn~5Bx|wQERj1H zI_;>H6gqP$A!v4nSg1+N+3|M4dq&b8ViuNd7E(uqC8RUtvg;CiW*aFi9RHLGJ>&nG z>Qy=CS>?=*a}evltH z#h-SbdiwpgiQU||k+I*RZ&lwS@Ae6#?R$OCuE7?5khR0o9CQI9Bjwb!@jsJ}HX)J(p2HW%W+17k(E?39u$hje=dd}cB@*?5H7ccSji}@$Z zL+0U^ooJ-4f$q8y$fQ;;XjL zHdI54ZSxT;>0kCJ0Lg*2QK6y8nFIloFAz@T`-Kq?hzH2Gl0A6>lt($#JS8|VI4CqA zU=r^9>#%s~l4W4gYOp$F@�X3EOWL5|1B0#y^KpX)%g81fUdz(hB5bPC?J| z|Aah-+qk+WVYnVY|Fo4T1~VSpC&>bipkm;Ync)V+O{^j4HZccygI;^`CfxE%nD(UQ zm(u_9{J;ABQaABLe*Uy4F9=3c4+O-d$!N3}ke5A?4?ruO{xl!>tNKa5$_Jqyc>b6T zep0_4Iaejf=gvkBRsr(UUjY*2muDhxyd2~qzq|ybBd=VC{BrEWZv#7@^eaREDWKiQ N;c*xKf8l?J{{noA3=jYS literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E00,4E05,4E07.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E00,4E05,4E07.otf new file mode 100644 index 0000000000000000000000000000000000000000..041aa28105bf19d8395ef6499eb33441455c2ffc GIT binary patch literal 4316 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 XuycG|8TzjQ?*>Xwy72!F|2O>)brKAg literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E02,4E03,4E08.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E02,4E03,4E08.otf new file mode 100644 index 0000000000000000000000000000000000000000..31d1850349d8a1417a7730de88cc92351a5eff8f GIT binary patch literal 4308 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E02,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E02,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..e127011ca27cb80ffee386fc394104905c71a639 GIT binary patch literal 4272 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E02.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E02.otf new file mode 100644 index 0000000000000000000000000000000000000000..e127011ca27cb80ffee386fc394104905c71a639 GIT binary patch literal 4272 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..906d32fa56f8dfa1ee6564420d8ddf3fa0cfe3cb GIT binary patch literal 4316 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..f7777c5e45d06878b332478518adf78fe80b1917 GIT binary patch literal 4276 zcma)=cXSj-p2w>tBsEAzI5cY`TPTMG?8yO>MYIjZU=h8*Ac<1W2#ussn4szI>7Jk& z#ZekGU?YhvWB~^(!3GT2EO@cmWwFn1z2-Sa7`~(O9z(i0Fg29xurAuQ5Mrw?xrxSq5E8boEhU^62SB%>CP~WzU0$nkP>|6#w zan2dypSPfC)i>Ac)Y+odpGY+?pGR1c6#2P!|-a z3l6+IL3}6GMObbaYwB=&O-;P*2Fp7e-^A2U+ND=siO~ z7<%Jy@EnK)&x04iRPYLT6-);WRWuOA+K@F$_MqmLnumL-80S{;e9iR*Jf;r?~AUFb!fe~;L zoCasX1#l632CjkY;3l{QZi74E8}J?Y9^3YiL=rC$ z6!9_30w0pX062tX zZ~~k`61WULN8$e(`~`*n2XG&S{SgpR$U}%pDBLd*ub@!J6DhcLZu}Q!t5t}4zlCep_CUw%}*hw+iAR-nMv6zU(L@Xv^ zF%gT2SWLuXA`TOAn25tf946v05r>I5OvGU#4ij;hh{r@cCgL#>kBN9p#A6~J6Y-dc z$3#3P5-^c~i3Cg}U?Kq%37AO0L;@xfFp+?XL`)=NA`ugbm`KD#A|?_sk%);zOeA6= z2@^?}NWw%CCXz6bgoz|fBw->66G@mz#zZnEk};8tiDXP9VnxiiuQAq++7fKbq(lt$tx~ z+d043;tv%L`p3@uZ~EWzhyCv{^1sI>4ovzsd>|s?TW7>`=p>zZ;iadRy7MA<0slob zfB|AEu|H@*(8b_+!R`s`Ln1?rp@pG$!t~?>(m)zXlaM$%i(0s?NStk1&>&9f6^n(G ztz`Y7qfJMmTyDF=G5z|*BmMjX?qlb$b=dsfMxj7HQr1?;6*bkdCac9<%~aF1CQ_KZ zk-ERMUu0`yYG>-+6oUuXdkfB0AJ6*-D-8VS7j2#{ro+K;JgV(X8`FXa!f$@SLafkw z?z%AXrZ9QA5GP79)*CjLY^cmIcsC5WNnvzskP81H@HN%uYHMnDob?LtaGu#*EnQ0+ zj9bJh2Azpy7>v$#wSBTHH=wADJDVR0eF zse;%U(wBtQB9{kS#`7ve=c4CHo6~xkcXGBO7knKIQK^ zzv}(B>!kmn?PSZb?wi|&bt5ak5ap%w_v{+}_`K!XkL^D-K48bgC=zIWrwFP@mb2No zX{Cc(O1iShz>LRADm)NBnnFQ-M{~AGoSC;)d~Js~EnA#=PD~SGb%Nw~LX_ZoTZqiO zok!1ZFL6RcSp%#o(wCHU|M;0ORS4}O2b}$;foDsRqE{TF&Rh^uZyXbY2G#S#bTMQw zbzk8F#}6KJJKOFd1Bv1pD*T^;N7QHSmus#tq;EIJ`=*!WR%Y$YQi-Ya#MDZ0p<~Ce zwRL~Dp#7tecvpzqf5Ct0{K4Kn!@fL*w0yA1v^i=qzr15f)id!0RFB_4Q9d@Rq2#S` z$z~;6-caJ%>8Ws+x9xJ7+-6Ust|q^vVokngNR0k#j^Ef19YIC=3%qYz^H zgz2mG8GWW6eMgPg++=hZ?RF=suHkPgzN5dl^i;VGbc3hfUCWVmV}L>$VC`(HwT<7<_7D1)V@=)GZhL1FIUsDH_|3-6xjPDSR98$x_2<77 zUj0M4n|528EPTErpD!SVwPQ{ckI2zTYNL0vf4xhbyE{*G-qF8 z?6&sNyW37z^>m+hdaZ3ncSnnD_bxA)rl$BDN47JYuC!KL%#}NL?y9ITa0Xiqx9*di zPrJTx_I7kOcl9>)dVTazH(Usnl?qAov<5YL;QBotkl_k8FC#)x%I5+2x z=KYneRdf}vH`q(bL2)(Jw#>V{dxfqsqd~{{Z+vva_a!O##@?sGe;@dXs$6T_MZZf+ z_Dby%`%>CfyPTvsE5}4PRySAnF_&G!4F3Gt-d=xKhyUV(8TV!!*xlCW-Rt|}T?(){v{R^_w^<;^WDQht>sIW9SB<`dB!XIqC32$Zf$mV>oZ2M|vk;Of1?_qw= z95WA_KPH6~;S}|`{>a=7Yu3H{X5IWclC`mH6lV@&Y%Iq{msPv6`x|eyoNPJuq28r; zR`EKA&a#bdJkB0(KJN5+x|@2*Ce}qeqfd8z*m2%KiYn1UIVzocMB4Tj3{_bMzo4cVq_V}-Y{#o$X5!n=gS5AT!RUH!H`_u-v~P(7^QGm`5k zzZ@H-!aon(r`#US6ICcq?-pO{5@Sdv%(b3vw=X8?FcWX)%yy=|u5}kn(zK1Gr`KDp zw7LH21~AcdjosK%|IK`1)0K1I-V+jb3zJs~iiW+V-Fn~3TVhm=qJd;B7Mmq%J42@* zvywtb9wmg#$P|k-Nx9qKDSY2Z+QZDkl1)O|kg$k!hFx}DV$WH)0%chx8w|2_p#)^?jLeJcy@BfSYkgAi4M;N_JaKa-_H;5{ipcT z&Qs66-!`(F8aFWZ+w|?~+vL4ofwcXg@7^`g%nz`3o1L{cc37IK9kG4l>vU`ZS!J=* z)lXw-8_m&V;Qg^*&_0a@QO;0%zCOoVV9n#|SRFYl%v8@A+(up`ocQ1+o_#U@YP2mf8`xoPm>(wjW8FjC5h2L>vsno08=oK&=JY6&IXaPD0lRRB?Irsm1+ZRq*%+ z<(xR*MxQnF4~1=wobxmKwSNcCt4TamkFS5)LX?21PwW$9K}V4r41#bkDu@|hKjaQE z6Zk^je0rzxv2i>3>Bz5p{vYje2Ib_FpH2=1tI(Rngo)_xFQbfjyd8u_UwYOK{#E~k zU$sNf4E(&94Sm|b4kbdRC_m0Y$xtE6sb2>YltX8s%y}osM>%vU$Uqsi4&~4|-`)y# WJe^mL@_)2jxIF2^{|orP<-Y)c;{^-= literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E05,4E07,4E08,4E09,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E05,4E07,4E08,4E09,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..06725617c3bcc990e4b6dbb34d05c2bf74e76337 GIT binary patch literal 4392 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 LUHHF-|DFB|-%tzo literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E08,4E09.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints-retain-gids.4E08,4E09.otf new file mode 100644 index 0000000000000000000000000000000000000000..0754057184053d3670d41468751bd6cd241f4d7a GIT binary patch literal 4300 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 W8t+$z{u2nEn9S2o{QtoJE&l^C{sp1{ literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E00,4E02,4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E00,4E02,4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..dd37b390eb60a690fb909c30f487508426e4cd57 GIT binary patch literal 4288 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E00,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E00,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..1ceeccd22089306d9665626c0c22a181a533cd31 GIT binary patch literal 4240 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 R#rETS0Z+Pcod4hHe*xJ-1!n*N literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E00,4E05,4E07,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E00,4E05,4E07,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..61919e55d6e5fb8b4e498a78fb197473b23c5b15 GIT binary patch literal 4300 zcmZXY2~<=^y2qJ*%5ncLj&02>)a`g-Vck6d zB9>u4Hz!+{6&~~9GuR)&zA6U?A|C|TV;|1}2|0!3Rg^MdJphrB*bgn#RqX(iR^e{s z%h&`L=?b%hXGFh^{RHgOJBrK7ANK({_J^?_1Hq&K03i&{swgbflioak1n}2Ee|>&+w9BC9tqePlCq){Oa zep(IEXpvTmv@)cXBdr2yl}MY0v?`=kBQ4$xZF=zzeQ7SrDUV6XOpTFCrSh1CS;gD3 zW7g=)%Cig0VwM+W7MJcQF4dK1XT2J;u%IAjHJM%(vpTyhyR;GqCv=B}XWa&}hUfv}XG1wu!?|!FTngWY zt6&D)2)7Ukz#>=%tDpfIp%rq_1>2wp_QTz95FUUd@HjjT&%;abD!dNAg16y+!oR`4 z!yn<#(okvWl$g+1V&aI2CnkZIL}HSNNhT(RnAFfIv7s@s)UPl$Lz#1kT(5b=bFCqz6U z5(tq%hy+3;5F&vP34}->L;@ia2$4XDL_#DIB9Rb@gh(VrA|Vn9kw}O{LL?F*i4aMI zNFqcMA(9A@M2I9pBoQKs5J`kcCPXqJk_nMah-5+}6C#-q$%IHIL^2^#2$4dF6hfpB zB83nsgh(Mo3L#PmkwS=6LZlKRl@O_fNF_unAyNsEN{CcKq!OakHVL;34~2dkHWVKItuy=?{3e}zVd@hrx&1tNj{HS5f+08! z?h9BDa53OWuT0dNk|-7&?rXsi#vprEmXt7 zBh81STyDF=G2`0B!-M>N?jz@@b=3Ub2BA=KtgNGmD{ii5O;(G!hN+?JOq4KXgXG@Q zL6NPEshg#HT?`yv=P5i_b3FeatT6Q7Uv#weFkKFg<8kd|I+!+07{*0On2<`@UlW9s3%JwmL|e(stu z`GzoMnGh#RGuIh5m8`GIG}*haVV z6wk9#$+iu-|-NfBU~q-a38f?SH&+z{=6QmG5r$v~;z9eJTIp+#}KxVu(?i zN$n`>*?ypz^3NLo8t=eg$3i5FX3u+V$#3#EXJs*K_!_6V)BIJIFwOH*E3<{!!fu_| zLGBojE9G+8IOmKJx8TK!o3>-Y&?LB$r)a6r`e;3Dz0ag(zjp7S+8~P}Jv{)<&8yTA>;qZ2_)6Klu z*%aNibaC9J&DS>wc^6NLRLf3#8C_8)PFN8e z|Bq{w?||)O+tJ<|TSs-rR(v5UO6Tw1Ir`Cg%hew{e`>nVP8_2M@%^15sHRxXX5*%p z4sR~$$)@}>AEimc{PANc62xzB%`u6y^4Ey3Y!|2Jh||uA=|Zedkp5PP5?pT!5m~qL z={cPxPGl%+M772Gl9JvZKNY44!9CQFbI>&O^j4JU5yvHGE(odDkBR}q>Nms;F=#k- zZ_$0n4=v_SwzGxuCyHkzVgK|$lziHGx%LV}d3SNVcSc!WRdz+TN=$u2Osx_ZI<}8m z+xPVf+CK`3cZ9fo7krn_ALt)2?9FE=%Lf}xo1zx;%et0SKNX)}_2@Nx%16gE5=DDl zvN??{Z!Br4XsL9UckFbT+~$@hU2Q>0<>~^>h#39XT%U2EW)Js0Z)y6&aq8mXCLzf5 zF*8u-HF`~b`mS1!x!LG2+U-tUU8CPren)?A>8o}d=*E@?cO6I7j{^zT0BdL4tsQKO zX}7*3+f_V}uywW=?uqYOB*gsr&fu_@IojN7?X`C|Q$xaf3BSp>DQ|mWuIh?uq~ZLR z!pnaschhc5vxP5k6!3+Vux8we&m&?iLbAcL$+ylW&fAqQx^K_AI={wokD**GNSnbJjDRXB|BmeHp&Bz1vUq)*YcV!duzGd-=jTs+n_h z?r7du)m}|k^Lm55lo}RSNjl#2EbCpaYszfYalY%nyYBsx61?N@OTvEd|4CA{#<-Jy zmzM64*`@ZSw5x6zMRQh;iEgTCtr}o1yM&qi`Lq4~zMd}M#rrew&fLGNW5Bb=`^CA^ zhwD!3drREq?W+bC1Nx>wo@PK zU3zCVuXE@uTiK@L?D5v)PH#(Zb3fJ0x@c$g>7Ea}&KoFEC0ZnoDyQC2MRCD&AKlB~ zw}oQ-1uTo#{bQ2NyR(jAS!~*~d_3xq7+ z`93Te&aJO&XfQSy3{~atRa$Zzb4)qLN>5Rn!J96G^$3R^+@pGX25kfGLlp;cJ*3}# zEYC-MIX)%{``mv|;%?zuqKd>Bz2Yl9VhqKExYn_q_Qez(V&cu5+0JydR!Zo~mk2>Kv&3ReQr@;?M;evlvH z2T$>*ou{6DzinVQHmzsux9D3nx2U`Q0%iL_-@9|Dl^asM~IARCHSLxV7 zs@h_yZxYZi4ZZe&NfQGS%-kM@pmhlK#^&t@TDU}Ay@%SF&C1~_WG zrA>`B$YR@g#7g;>JPN>aply<{Fq}++fXNr26X$;6@Bw^)b1V6iPk{TlhlfLh1A~LY z0s7 z0nQ~SN+19$agQ`Iz7o$R4QHYF+7k`uqf>As7B@JBWac>6m?!}gESZnTCfe%x2Sc_* z%>5Z>47W+RHt}Es`TWynSOTU!woj4=9Kmkjla-MH%uPH)&}}#ic!OSlawRhI?}D!c zXH8TR!nyjyegxy&2Ld>0GA3Tcnes$G0IzoH(|+Ku;*);W55hCZ8VDQwB)%3WNToP$ z&c#Vm5ze(=1yY<_XXA{z0uC4N3HpZBUh{qOo$*SEX6 z>PHVh0096KK|KftlhcHZ z@Eb>fXFwEq7CaB8fS16_U>b-ANgx$W2d@GdPy!8@1?GVHARR0L%fQ><9k2>yfOTLa z*aY+-3m}jO3c+?z1}cC7)POo*0#-l+J8%FuXa;Sd6Lf<<&=2;2yip0bB&1f~(*fxB+g0Ti`bM27Cv80C&MZz`wxH-~kZ8uiy~`Fc^lyi7*mI!RMd^ zz6hgX42*+WFc-;?94U|zsgN3JkQV8XOp0VOB$FeV0?Cv}rb03`l4+1ki)1<^mm)c4 zq ziIgg&R3oJZDYZzcLn&?y0%?>;qe2?|IvS+WB8?7drARA7S~=1xkXDJbDx_5-Eq+@q z(&~^-igYrhlOvr1>6A#PLOM0lX^;*thAzE$yP-4}<&?*!W~Rl;rBZq9f~?}L*|Dn) zW#!q0WwFbOGK)*M7nkbGv$I}}T~JUEyNV1ii(QpnmR(wbJI8g0g=gCevWR#>v1}#- z37CrIk_ghUR1`pqWwH>wfhF=TScB!U1!QAs6oYasi&|jDlHfrTmO~ftVJQrPgIES9 zz!@xo%iwdo{a=H>;jRA>+{4@c5QuooLtr@G?ib)oc&ig&Dx3-BPy=Vf1#k&`3$BD2 za0A>-Bmj$G8LWgxXo5D#K{srLUf2hB!vS~z4#VT{G&~P4!K?5({0iQN{|WyN{{er3 zzevNS;ge#+<4A}nA%TQM5|T(rCLx7{R1(s{C&h)wl7NXgLc|dwju3H#h$BQCA>s%T zM~HYr#1kT(5b=bFCqz6U;t3H?hL;@ia2$4XD1VSVbB7qPIgh(Vr zA|Vn9kw}O{LL?F*kr0W5NF+oeA(9A@M2I9pBoQKs5J`kcB194)k_eGRh-5+}6C#-q z$%IHIL^2_g36V^QWI`kpB83nsgh(Mo3L#PmkwSP5UGSnB}6JA(g=}8h%`c^5h9HcX@p24L>eK|2$4pJQvYa@U$ps!MeXPOVyiz? zIN%>U@4w-H(;xPKuTlSdZQ@|~w-JMpk>9!^pTS?!i5FgY5+%2v2hWkehz2kSr@(zd z^Mfu1&kgoWSQ`=*VhSw^y&YztCQwGoM45%8(V3D3TZ+Y5*7*(M8nKO7zFRL8Dvp)47jeZ+b*$NDwNx|Jbgh{ZCass;TQVTB zHLI{0B$D6k57tdL*7UvIZ;ql8wq<-=)J>9JgGK-{)_fCr%Xm-ZP1_ znS$0rSAna+)!5Q_s^(+QDeg1ws^c^6V3Yl5PAe71h`MQP?*4+ zSuWaZ>BM!&IAq*!xo^1rUng&!zVp^U=N_nSy^n@5@l4erd z%euE6Xrcl$#=gcY@cn3*WZ}#?uPy$4{-&%fW;I{!vUFI!$`Yn{e{NwmGn?5h<15G= z<8h_jZae3iHteyU)zcJ1vrM#8h^B>?HVDr%4jRwT>NYz~EM>LQHrq6YC4~~J#%4&G zJKP=3?cV-_r@MS7ubjGk>hd4sIWfp4LZwOkUG4f_Di9+UOCp9xr${)w9PCsJZ*euo zbS_yGe`(Y8^+MjolOol;(@{q6s1;vWmm@}6v)Sd1CHsnedBxtm!|QI^KjH7VzUupr zYn1A=frd&PA^FRAVdr9w}hyyTlw^? zjuIC#mNlT7Vnazu&rhEUQ-siNYS1-c9(?*JO7x0jk~0^CwChL3pdrm%F+&U)O50m> z-}z&+rGxEgrUFUg8A-&y0uLphc3iHx!ce|l9PgV}mRFg*BU>$|%@xxs#Rbl7Beu4E zJ%aAfLed=}e%}TErSk{+`i*<@8Or+p2J^<~Mf}pv#Z^zm7f?TX4e#>NQLRML7N25K zvE>aV%{!VaJmu{>-DZ!axlvzJP*Sm~KszkPe4pz#^;hrVe&DT*e>zTGJlrURm_KIv zYkel4x!2HH8CU03JMS@+yP14b`ucjj z-Y(CZ&Nr>gZF#1QOyjchIVUoDGutcIAFMoHb*$=G^+5f;wn6^iZo9C`c9~)iG~&wa zvh~xu+D}*Y_MCQkZS5vcXRCeJPA`?Nk?^_B99IrqX{)wcDtGMISy5r+jP@FC&BwW) zbbsUO>+EXj?rZAv`sm@tLzPF26w6@6Ge$>^$yPxL8Dl5$+HV-0EaA+Yi8tH+z#6NT zZx%JP#MDZ0?)X+VUF`h0`}{fEnU1s0?u_0H|C*j{r+R9SP+H;5Y~kH}VJ+3fc{ooD z@2_mDqN{j=(NRhbi7O@TZ+MsXEYmk;Ht0G3^*>(seMt$vvG*hq9|eAvRIWDdq~D>X zdt?r&V+rl9T}siMjbmaOt6M7jnagfrI)DCbU!T9b(|_^)^t;pd?`rS&?(uzbuJqyB z(}tcBPkGzQf%!QZ2CBrwl(iZeTv(bK7WYd2#vf?Afo^8^%4fg-#@3b0LaS%Q(aU_q z9JP#CKBR$!Qc$_`na@^%>?rG|ynpijOiaFi=LFaiRC8|ZM#98SwI4dbGl)Ax_`ER|r#5Hdhnlj{b}5TF;Tsyn9-GyL$Z} zlnmw8)z;UW>W#+A@^>q&xeYny98-n2sMY987b3caLl5pzJ>3KLe$SyD2XQ@Q*nKR| zPklKyDv9_!a8KfC=9;66#A!X^E8Su&#e})nvK@{^6dh*fEu6){bkw!&WGR}qv-Grj zn~k>AKUn}KhOTj#TI;`=Cv3QK?%TUU;x1v*3PIVhr?ki5TYgiFu2D8ntkr6_MsH>4 zjH5P6=**W0A=9(OVr_EX*0+n^Gf|E(i?DcukUlIdq+DT_-Iv%in<-)5*k_W6Gl5?v zy=vDin}S(OBimZaS}mqG?TBg39k%Udsej))=)V8-%N=WtdtZc|%@^1Ujtl$%KgbW9 z;!nFyJ^g)K&u(a3$2e}$x2kVZcl!j&{-dF1=U@vz$U5u}*3sB$ZK`(0^^334afMWs z)mm3Sm8I=8M^l0K#(u@?G#Vsvg*plhxwb-EK3B);shMHsdd}!E@gj7Q4=;TB!~Bc& zA@lI7PW+^*4jzTt?C3M_sUgylfnB@q$WOoE_^7oZD!zexB1KEU2e{^SgB8@KS~@X+AUkcgn5 z31skZ%YsD<7lZjLz>2Vm7jXY262F}XA3uIf{vE>E0$fQU-ZC7YBXK1~`6L3|3s&GJ zImq=DA>#*jpZK2R2lk=FhvQ?_yn|tzqh|ktUBGPu)Fd6OC+ELxf+b+eW5)z}&=H&l zgCNq23ueaW6>=NS0KSmdpWJEu+IYlwf-}Y|>A?Pb{2fE_l!5`AFcA|kV)r}V4g!Q5lk~Aa|REAZeA@{L>&V3+v06_&245teWNvPZ*Cz&LZV~$LBPxl;| z+>>j_fJ+kY5IGiD4h2M%1s7$PMc1b*`(JjSvPe(t@c35&`~JTFR=xUl{i^EIU0wB^ z?*0vc0D$qJ9t49)X-k&G3?8j9;g&7{CN6t>^{evZTz@&P-@$ELG79wDmCL^Q7=Xy7 z*x#C+rO%9rdH)&g4`E-OjTIQ>%c~^ z3Ftv4Kp+Fxtbhh~-~evW4B9{^=mveDAM6Huz!2CE4uK=!C^!L5 zfivJdxBxx|SHM+p9ozsn!7cC=_y&9j?tp)Qe}NyteIS6J!9xgOFbsv`VFZkX&p`=% z0Y<@S7z;CD4w4}`QXnN#AvMwrCPy*_k|~i)g=A_Z(;%4^$#h6AMRLr@ zkz9e~N+eeyxf;neNUlY49a2bxttrBTfNUKI#e79Pp z)ghe}>10SJM>+-4DUnWvbZVs2ARS%|U0Tt0LrD(GE{jRYNR5$8rSg~snMGT(VpbbU z%d!eeW0n9r7#E%U>O_- zr?CVsflu-Fe+mAAxBh!@7jOFmAmS|#ffMj{Plhkzt&WE&a3+*P4V(=Zz$NfaxDuwr z4RAA&04#*1uo4=f3EChB-LMsUVISND2jG4<43EK6@Ep7dufS{Y3wR6u75)wW1O5Pi zl1`9Lm>4r5mY6tV;)zKhCXtvVVv>nTAtrUg#MlWj#9$(p5V3@aB}6PCVhIsTh*(0z z5+aTeafFB?L>wXF2oXn!I6}k`B90Jogor0ZJR#x<5l@JCLc|jyo)Gbbh$lomArc6Y zK!^lFBoHEj5DA1xAVdNo5(tq%h(tmp5+achiG)ZbL?R&)36V&ML_#DIB8d=5gh(Pp z5+RZZkwl0jLL?C)i4aMING3!wA(9D^Oo(JcBoiW;5Xpo{CPXqJQV5Ykh!jGk5F&*T zDTGKNL<%8N2$4dFR6?W@B9#!Sgh(YsDj`w{kxGbELZlL+#6Ozo7j1rFQTtiH*y;}z z_WQ@q`LFxm@Q3~XKI;Ga#t%;TI(#r9;%isLGx$k5{`};}R&wik@ErL?G=M=k1?~-+ zA9NvjZm?(E+K|W)Q)pr6tuO;Mjxtgv$}A*~&Xg?JQY6l@&TkMW^@-bsl+9HAfx}IQ zqTC*b(>d+xg+l}UJ?;b7h;793&3d6gakR9(kSl7cW6d_JrJAXxYt57}alPd3k^zye ziK(5Te@zS?TI(%1TYW6=pR6$WKcBTXcQc(%j^lCeVA`2hOc=*RNw|PE*`ql({1kNySzfI(02B!F#ftQ zaj6g|N;B3PHx{p}%rJV_4SOhIbZkfx{(ay}NxQqfsl$23E4;-u&*Ez7TH0vZBu+Bw z%@o6MY!nk#P~*zjXS>jN$##6p?fD`Qr|NdhuS)ux-dJw77+NZLhG#gYrJ;VGVH zxhSut6Xzl0ka3^op5fNtPux6p`^|sO-EZS)-o|$|d7C@izPy9Bl}DNOPH*urdPHnUrvtRQ!k z$C+}w?VM}cu*Z5vPg4xdGEq(;iWXknAUw}FXgoiw+w3&4l+{YxY||K)BucCrn;~iL zaCbDfd;1TZ>hhhqeDc!COTUfd#2}jpl_v35wd;GSK(tsS2_GJvBH{3Iuv0C(#nl+y zxnxn?#ZA}N3%M6gh*a|qM=4!iD^6aQEk;u%UT;%~dY==-!qV-76^(`a%qsu=N6(#d_?HKvsob}2N9X~eSW1noJ2=Vn@BB-KR&Ti+XmJDqw z?#`kD(;uoN;eq(k6ba(DwPc&c8F{P4m$!*iv&AWA#WW#SFGznQL<#OUg~-gCdGxG~ zViz)&HlUg!LveA>4<8FtgwSqk&^2Hle0nKL^onDW)8~cMYe&SOA=J-wh)w{Xxcx&Syj!_p5H3}i-51Ia2 zpUG$LHFVZ^Elnn;$>DI}>>l~5;v4!qYj2guNH;XsdulnVZVX7U23QB%W@~4g&ASZk zS?;3#ge^102ycAnLLuhQw+DuN%#o%ZTaTlwi5e8vN%)PXjk((ja@3d2!}aGr7hd{9 znTPgRo2-1kGoLS@gw(Q|9Ym3h_9yA0)SCeM_jkxU6i>@$}w|_R94KDvwnitvXsgP`|frkpH*aF08U$qS*b7I5RtK z{q)ZEQ&qh^r(9lJyUEkpYTvoTOQmTfe2z2Ql}%ULs;!pF^70)O6-Lfzui@5wnDbHh zSFXO!u9oh;rarHa9&S8XdDuv?3|2g2bkvw^6_k)Zb^@>chS5n9&diy3v+Xymv1<8d zQ8Pl&)N~j@mrKJ6J@6w)S`o@d~J?Fpn+iSkhDZw}Pt|a{TfgdH6t4%xTw`u8a znM3MWLc431QZ#4dnCQmpmdbwSl3SS0pF7jn=kMb+3&r+btSXV>KSqLGQVez zSVk-#P(q4uQu3+c(42Lv*1Y{%-Ml)AwX+4PRMq_2!I~CTPhHP`Tslr>>YV@TE;oZW)`**3H?g4wh=V18(oDUjy9nJMq zpO1}7!aoh%m3W%D=BPq(T95d0w-`e)VeYkThhq^%hnaZ`XK^qcb!|IXil*%>J+0nm zqb>E17l4VTYaFK5`mg2*8!n&y`i_vWQ<%6yP&Vu?=`r}0-w>l}lnoSXwc4#wTNyh2 zh>a3D^CUvZ^h~ixo0Pltt-^Orlq1X{EZ!ib4GRk?SJ)-@MfUV&N|-nHi6s1V;Acs% z+BM6jVAj&ewwAJ1i)l^e(XBbdwmmHM@4E-w_ntnvW2~|7iLkTzJbT`8o*&=``GJ%C zDc8xT@3-~rhQ@V_<0gHx`X+U!PoV7I8+vvOw(x_j!|q@mjh)t}YG-V}_zE3cKvh|- zb@fwO+D>yc6?k{-XS`0MK@wM}Bj1o?E3oBpb*!G68D_5Mj2;s&LKk`P!ly6hpR5m< z2VZpJD|HQY*9{{kt$Jbmq6T(^8{tPN{z%U-cSs1b{bUh>`kxFCVVMY8#2{z2ucWb| z8d>cd4%?`};)g+44zyho9*%=a5H$Wgbm7=90^W!Bacm`jd<3|TYq)ztXmDsqcu>$d zGWeHi!J>tW!Tc3LE2#13ar;GLzn%vlJ$ghwhp@K*XOe<&3BhGHjxi_T<75zlEx+p70Pt59{7H$DGi3jS*@lTszF_`kmF-{(I7`wrbXGA(M^JMNJx8Mxm3wiDFnMlun54m=c_PxE( z?9JBFnh|hE;_}pSNz@n=e?@a->t8zepPj= z{$1T4AOHZ9K?4W|(dkQ<#tj{-HKCer0H!Q|Z_OL>6Wl-rD&IqOTQdvwJ3zFy9Dt~0 z$XDiM>$4)`K6(!Mwa8cJpo-{+q4mfgL4HzBVR;p)3|f!;TgVSD)K~2QlUAW()c44Q z7U>JKL#M~SgZ%r*r*{;Wl|ShNasZ;y93YMWlY#(25TRKWg@p!Onj44$fjS~k9~7t$ z4!k@`d_FQbwjVg{_6Zvq_8I{DA3o<3Lx25r?5&WoSEKHrnvfMQjKw_=6N0?L(8u7Ywklxv_|3*|bfkV1tFD$tM$s8B+M3M$l4p@9l5ROp~m3Y9XbltU$& zQ3;hQs8mCx1}e2sse>vhRLP)94pj=MLJLwsl^UuvP^E<`9aKx9S_ai}s8&F=5~|U9 z)ljX0YAsajphgNcGN_S5jRIhM3ob|L&CFd16f!+p-48- zfCAHyT#|qUNksv)NG6NGTSy}BgSAK=TR}FGMlmQyvZw=QBncigBRO;fACkflIEZ9$ z0-Qk-xD38P$A1g_6&?ML;66I`M?geJ9zukp<9>;F1s!!Fkw(lSZlaCw68*$(VvsmMj1b3()5Lk=5^kBN9p z#A6~J6Y-cxz(fKj5-^c~i3Cg}U?Kq%37AO0L;@xfF_DOgL`)=NA`ugbm`KD#A|?_s zk%);TOeA3<2@^?}NWw%CCXz6bgoz|fBw->M6UmrJ#zZnEk};8tiDXP9VnxiitE#q+ucr z6KR-8!$cY;(lC*Ri8M^4VM2ll2___%kYGZB2?-`7n2=yXf(Z#GO8sNWe$nO^7I&QU zi*5c;;edbqy#I#(ZGYJRZ6p7;ZSqj~w-G~;k>9!^pF=n4jZ1wj{s=LLHvtqX|?F@+X|-U&01lSm_JBF#eb*eq({)?#tCbwQ&T-7oGC(zcKd z2ahx#j&XY&PUrM%7Y`5e54ewAqqb4YcN>I4#j&!EBCfc(o;BO7mKvspt}~OulnvDV zrGp|{8&@|||E3r`yv|#AuI70DKUiVtzrXBg>0!E@9LJ;F$#gJnh%k(rlh@FT2HU={LMA-`e2-fr1W3b!9iP|w7`F!ibL(%~zP+b+lN^Eb^GCyV_b zn8Z0uL0h4#z}4t#YHd1I`-$fi_c?df@i}*}*?u&qjf`hRV2N`wJ?0+1+bhHi?dPru zlWz!9mI(=>G;^JCQ_1?OOrv-Gh=&x$#)qkh9|O0j4tGa$r}L~=c$aIL&DGI$w9&L# zj5g}cB*SoQ3=>vZ>&o13yV!Kuc4F(@1tJiq>2@xtPWhYOSYfspS}S>mXE>&{v5ju! zNuFo97_X%Zz{b(Mjqh&uwsf`Mx|IKD&JpPeG0Y^* zBzKhcY(LOU24;@mLObyNSQxcv*4#Ii{62qkRu;2{uW?yAEnjB|Q@ua8GFzA}?AD1L zX{biq+#Y zsg_Q6XG@27;Nat{$LmwH46^p5ek+G>1hqi;AX5lTa zrr55fixVzwzP>@oyLeJ0TXs6i=!!b=rS&;tq&1se(Nwap$d^~_%{#pQru|d?uIuam zf4fHd576o4r=Anjg?POn{euuAxZe??vTo?xc-DZ!arAc2~P*SU<`jxzEs5>$NnSoF<3Eg|d6}o67I#AFO@V9wXh@(%`A%$og?WAq}t&w%yjjwwQMt zIZgK9ee9?1f=GFN%&if4MZozj-e}Avn z+wFPV`L=b1EzgvZXIYs-j|NWu=ib+H1MBpX7ep z^Np*&tGl(Qzq#M*qeq$!RUI*sEQ1u!7#+1HTO}!EjGsh%zi}*@;>?_hH{1Te8mm`q z5jC^Lv?_7l#8Eb1?E0kV{5jj1&a=**jJ^#2+TQJ_dh3pmTH)<%;r)DJ9ofuzI8Q9^ zuWGNRt9gUbQA!SrtEi5*yvur*>zgtg^_>6uAFunqA_d?02UNtL0zXq#YfL-o_h{)J znM3MWO1tZpku+!HnAoP8)~W&KvRjzJpFi8*@9*jIUwkm*-i-abItILZd|#d`eYEbh zp|`|S-o9#ZK~9E&EHN=IZ&HZFE>!w|?r+Yr?I&UOJwP>ZBRW5_GisVA+KDw7dw}oQ- zcSsg*2F9q(yR(iVS!~*~d_3lm7=1#Vv16|grX+2yX2u=!7uU7kBcFTswE1@R`9CTd z&aJO&XfQPxjaB9ES6Xu$bIduWN^en{(U&en^azI@-Y0u|2JHi$Llp;6K4jQ^EYDAV zH9kf~d=a=$d0M!Zm?Cj{ulQPz7)LT;?saUZV=+mGnRyFmaWI|r?K@eLrtK^}y}@Rq zEe%gMfQhAR9j3O1Z{`adublh#o{+Rln6gq(Hts3yHTYKC6k}?YjU;Qe+O09$7&_yq zjTE}_DIsJ=mRPJ!$=mjB(FZ2d5oQsVY!uQ*ghiw)?6Uh3du9tM%pd=piZ~PamFiQw zX4@3ZIvU#6k=7b9y}2T`EqBDWmnHvo|DgN9vzt548vmh4bhTVyFE}pngZvObc#1#m zI`!=LZ3DZpX+7h(P2aA$P2TGlNc)e5-kn3O{1EG~J6K0km$kXZ89yMtPRAFL)mCeL z!!(w*(;Q6(J{bQM?bBEg*$?wC)#Balh2S=6z(ksakm`B9QT+B?D>7J_WQScIT~i4G!BE`nAu$XVknZECE6 zR{O>yHZri}aS)ONZKon4P%sICCSM?2DE5ma9uf~xY$bpC1gMNks5v||I5Z?8C}L>lC z9D;h_HDEUMY5iIh=#--PHx~svMJQ%|9Y|4(oQ)#m3Q&Mz1sH6DF<3+|Fi4`5vxG*{C`{0F_jFHG z9;HD8Hj>CfCLFK?8!%wA;KOE*#Xi6Fn!9E9*(|00D{4^wB^fV29MVoQBM~DQ&+yX?hV;VuD=Mi@1wr$83npx5ZSd9fXEfd zPsz^GWk$q&^c?bwk*~@|9n&6#)+7I8P#+w4 zd6M{iL~wK;aM)}UHX`gb01iBQ&L@Wc`q}7PA)~KG-bFnjt6mt5c^+h;yP@|C0b%Hk z!@+YP5}9vFcI(7*=lzy+E?8|Vbxpbzwey1n?_(LI5I|2qh*H5kw^M0znZk z6H!Do5ldteIZz5^P!1JP2~|)HHBbws5-62IsSHZxP^y4ZC6ub5R1KvXDAhul1j-O2 zgEBdkDWFUVWhy9BLzxE3v`{XAaw(LfTgsta0p&_4S3$WN$~91~g$fB&NTEUo6=+2T zR4AcB1r=(j&_IP2DkV@Ug-RJz%ApcHkP<3YP^pGW4OD8ON&;0okwJ|dY7|hTgc=ppptsdP zjTUMpP%DL68Pv+5Rspq2s8vC&8fwvIXw!;{^`$v5yF4Z(BQ-`Qk;q~eXBO?qidm;G zE6*w@i&boX{N-o^=Pv#Nr7>vY7@b zFayaY0i+_S$bkmQWC?f+N#uR79?4@n$U@R60_8{+b-;uq!2>svLl^KNDGY)`NCqdt zStNlg;0qM~Z@^zr=zjzcP}m;>5rsU2n1aIn67dQObv%(m%pqiinwUo{CYBTL5Nn8Z zVl%M~OMoaO%7`k$Ko|)t!4WQ^mGBaM#2#XRI7kc=Cx|n|1>!Psow!MSP245^llU9) zcj71F7s(XKl&LXOVzG(CCLWsvY!b0a!X_D;6l_wbOpToqgAF2LF%gT2SWLuXA{G;| zn25zhEGFVG5r>I5OvGU#4ij;hh{Hr2CgLy=hlzMh#A6~J6Y-dc$3#3P;xQ4AiFi!J zV66G@mz!bB1#k}#2kiDXP9VnxiiuQAq+%i!6RDU;#Y8G5O8ujWe$na|mbRbw zi>>}p;h=x)g8!EPZGYJR9V7pDZ1Uig@4^QoBEEA*Jcmxw$roQ5x76Ji!3+2s(Fg{K z>BRn^MM0N>7X*7IZ3u}BF@_d~-VM`}lSl(;Buzr%=p1VC_9AhvWl^Iztxqf#Qnrx| zhmN|BM7cb6hhyfAOGgIyhukO55$lNg`%OZD{CHV=Ay?$CXH8a%xrV8s>rA9Dbrbbq z`GCmQ#?;N$y(tC{ZSWSHuQ`$T4^|lb?=Rb%yO~Z0$ML9kFzrk$A`D|96)vQWrc#`k z=MwXfb?DC7`C(Sbw+Okckk@cPXEX04g*#7D(aiY35cQew@{z0dJ5KxW^R_G$CyRX_ z7{z%^ertg<-`VJFYH2!M`>E$Nca6Jlzs4PM+m2d4*V^?fea4 z@-1QN3L#FEWNa{ODcM++VeoDo_K?Ep*bo)|W8fRA-PP{yaGdiB?{dv^xjMRzHW;^x z(+oNj$uJxn#e@~qIx`MfFEw4Up4@(KkqE>Y+FgsPlm4bNRG7^AmP(%C8IEabY^7Ux zlIK}2%4_aKb;vMeIADILzx!XO?wq;z&Oa6$v~o0W<-6S8=FYZnF6TX-cT{px3^PhH z$l|i@od?}yVD{KIXb1i}8b&RdGyjcczt7v6naQl4kJriEVR`+lVNco#piodJd)Jq1U#Ud(vcyv0&q3vL2n0d3a zDY|p{(zwf8Z*CHDFP##}=3VwOx}r{eX=An+VaZ}wHI?iy^yLpMkIO|qQL#?2@l z+FH_`MFwU)QBvW7_|X&!@;h6yP2%jlb>eF~#TnV+^z&kx5UUd;e-NSs*E>RF=AArx zZbyj|8p;}BZIQmDr01v4h3P_QH#z7WFbzIiiWI%#7o}H=DLZE#+5qE~|bfzJTh<8z{=hMm3bYEiT!t zWXl^%nk$+sJ>~7YTqcjXxk*=>UsAa?Uo$L5|24;N?629&{lHtA{&a%8bfifLF@4JP z*ZGV-Q?I_W)@ybf9Y(v|iK=Vl+sg0hA1uAq9s}Lj+~BF>$oerrAq}v0w$0kkHk>Pp0=~v{!99RCS{Ic=hp`frkBUgZ#f-Hes#x3dtU9LY3KV z?WcFQpQ-NcIpg$N+l`*iR@?4fUNTKh@i~rcXEt4Bt+AM^Dk^qWRvI{it(IH=Y0hWe z-#Ys`yIQ*Y+ZpNa8Kii|V6Qb=D@h@J>=fGj&7;#O&cqpcll2d*p?cLe zQ9V~osS+1VgwlPf^V9AN=dEWu&N;f%d(-{vdv>1gsXIz)gtxPV_w$4eq?_|_o@m}* z)mBYc^Lm55lpGS*Q0;GdSM;pZHDxsFIRDL$Z~DF>1>e{QRQMkQKT}ofjJxRfXvtow zU1DEOyXsbuG-u_Q=%$*Ms($8*OPIx9IM>(b@9y+pdN}L;tOL8-`@MU8U!E_0yy1+# zr^HjSu%2XXEE~m{!x$UOvC(BUuIz!P+pVWsPk*F$>7CWQ z&Y`nxXPZv2Ct6N8ea$`YKGMy)XlL}9?vFYz7)VhiS|~@AQ}3uExlp>7?qSerAs_o4 zlEs^WQEKa+%;QKFTlTITi#jY$J1Nd8-Y0}9NUPJ$xT5~-ywP*?ns;xjZ+EZ%qmrSV z`nrY&V}rp^RsMdZC8sgllx?i^7PcCEX+n6naQM*!vZs5%*6%r7aR}AJ`aQ>U{p43; zqg418fd`bQnQM+J6leB`uXT$tBopS^z;@V|l607fH*;n?(^22HizR8=#?mtztXA6G zFunmyG+k>qwl;jbP}qF+{CD?-gx$i_)qBp?3 z(3wXGA+s{YB27~6j&}<`Fp~B#v#@NlkTxtVA)R4YT$kCi+el&I*flErY~WX_SLK{* zl`|V?Xx%_sYQ!{mMRaS>UgFsg^Dmai%;T>+ z(Mnwd-SxweNvm1XzO<1Y;YRool0Vin%pDPetiPCrp#F&oB2g}a7BR?C<11}ytbrEW z=A%|JuVkXuPxr;JtU&x!| zcX~EBF$0gFF;q~FJ;8;7)#x6?q{(RZ%P7O0Xa|9*;H78n;NSF5`b|3o&A{tpHgvpy zJxXj!QNEjllAA)5BfkzLC@0QBnQ#TjM>%mR$Uqsf4&}r+f8GXmj?XJc`F!yB^MR*b KIJf`*<$nNyWCTh8 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E02.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E02.otf new file mode 100644 index 0000000000000000000000000000000000000000..fb505d2830eb519ea7f157c37b63cfc52c6ba5a2 GIT binary patch literal 4228 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 KIJf`*<$nNyWCTh8 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..452aeca81bf439fa393105676187c850f3931990 GIT binary patch literal 4268 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 O=}CFgMZEq0FaHDC8U$1T literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E05,4E07,4E08,4E09,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E05,4E07,4E08,4E09,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..5a31ff22cc2b2d098427d0314a11ccbe8ed9a335 GIT binary patch literal 4300 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 M(naK-E%P9 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 WZBOQvq5MAh$zH(YE}ZNC|MDM*R0e+l literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E08,4E09,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E08,4E09,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..7433b3baf4305e6a5dfb647868f807797d7f5657 GIT binary patch literal 4276 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E08.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-drop-hints.4E08.otf new file mode 100644 index 0000000000000000000000000000000000000000..daf2fc445f181fe1f9503a551281ff4a5e984bbc GIT binary patch literal 4228 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E00,4E02,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E00,4E02,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..9c63d9a681314f498f47399a4cbd7264366e6a0c GIT binary patch literal 4248 zcmZXX33L-jn#ZecY`3w4$-?xorTRwDH-K}mN zmVC;WuponNz<_Z$78s5M2q9r0Ltus>*}Tbw-C^b>458(;d2AK%-sbIAJ$+qYRsE`~ z>-(#v4-f!=aL@>X!PN9+%VLL)))`SxHvm&sytnoZ*>QHD1hwy?zHOO>x)Lx|^C19H z%aO0h$<}2>#(wl1^6QYV%0V4dAA~j_e-!zNIfWI~;oBySApa)vrxxm}OF-Ca)QrOG zg%;@wvqNXZyo3B7kx!QtmsdRQ12QzV8u_sVm=pvEf(Xs3EG*RH*1SLz2-FjShM+)0 zaNy-h;`5QgG5x?{vpuzuVXpzO|G{%UG4z*D$KMJWe>Lhh>Iqr-!g%cSARDcQo-+i5 zp(l<2&w(iLJa`dI1FwKr!3+=&l0Yh$30?_gS+4#;9uY;@Bj$l7x0JxL@*IbgcFfO6!8K< z5ib+bL<|u}WD&Vg3T03Z6;KIPPz^Ou3#Ae$l|rcuO65?hfKnxts-RR2r5Y&JLYV~0 z5F>*!Ig}}&ObKNwC{sh32FkQhE`f3>l%pl(P_BS-C6ue6Tn*(KDAz)T1S+IZA%hBZ zM+H+sx(lgg=z^@OQBi@)pDp-K(!L8(c`G0S_9QusF6U86l!EpBZnFV)F`1w1vTht zHBh64S_#xjp;iX9a;Q~6trBWgP^*SobQs$7;u3vXF3hQjP0dV;l}RMB*hN{z+p}ZW z>dPy#3(I3y6lE5dl@yohDzdX)k6lzy5W5CXFOOZ5U7lT5g*u<=4hhe?9b{qggd*8Y z1r(T$NACdXofh&W8dVImF_ahQn1 zL>wmKFcF7|cud4&A|4a*n25(jJSO5X5s!&@OvGa%0TT(BNWeq_CK51_fQbZ5Bw!)| z6A73|#6%({5;2j8i9}2!Vj>X}iI_;lL?R}VFp-3bBupe>A_)^om`K7z5+;%`k%Wn4 zOeA9>857BvNXA4mCXz9cjEQ7SBx5246DgQT!9)rsQZSK%i4;tvU?K$*DVRvbL@Fjy zF_DUiR7|8|A{7&bV`h_JO zXZ>QEKU6s2pE&2g?tj}K_J7C7{~Ze-n*43VP-Nt{&dBG`n>76VOHV9y`$g~q{zf!` zAz~V_FKA)Vh2Z(Y?n&!IqC$+JMWMID^yDPcKpIJtkTgDglWb0zEme> zC+54vd}JNEGj@KI6$&gu9xLQG?$_DOJ4oTyqck)#AuvpR>brR8vi+9R{@eV`3&e1- z{{y2qmnmo~bQU<9oXxGxC+j|OpX5I0uGl~4Mp|q~a@xo^Mg-e(QziOV;Dt?kp66I9Ia4Gd#mFtxauo zD^Kz~%SC(5U8oKlh7J48_w~2`>%^^7ci#Eu`~y~w=B<2pi`UcDe)D4f!?}kg$Hg$C zB$F&D@7Zyng$&G^xQR~SZ{uOq;@R`wSo+)iEm>L2TE5n4?lga$B~0`F)XHpSwzAuv zo*;LWN0oHBY@Bn(sM~TzN0SWAGSLnpnigK!B)rJjX|z9!%j7V!q{Tv8tuq)F7gDU5 zm_>OyU7el|@4(2ZZr_Q^Coi46^!s>D46=%Z!YKZxeq$dQh!Kmah|%$B6o-z3oo?pM z&gPh|WlQ2OZn?Hm$h&YtBt1Lr<#c7e_|k?PG18LFu52#dSLDkp_U0YhaKrW~f5-WC z|9@O1{ReC(+K%*I-!`T@y7Eg=UbbNO&ascrS+4xp`BU?K_GuVJ0^Q#!f*O+LY&LFs z+3=Rqo@_EO^O2H@2qcWBQjp)#nqv}Y<*yZA+aXTR5vQFM(}g&lAo-mTEx6thqOxw~ z({nmYozPI;1nY|RrKP<;ekM#4LVL&|=b&lm*{w*?D^5_S&kJeSj)+0S>iJ@Z7&4r; zx9Gm(2amav?evg=B=IyA@vp!`>a)&Eb(a~^w~OO_Gs^R-vn#VzV%mH$ty)~<*fC~p z-`6W>|0E>c5#slq_g_4Bpnt%yH=iLbA8s;jj$Xnq?^;^(Ond>=qc>2LkBn<5d3$_{ zS;}l536_i%3DbS3HF@MYT8wYClaNqNm=06@IFC1zXLQJ19 z1NAys`Hv#j1HsS?nKo!_D$7y^!Jv&8n=ON@-({ZIkI5_P)Gx;oo%;vupZNH zeMh#dcp!1xY%$WC(6v~I{mY%fVIOm(rPtbP?`|Q7gbftG*|<4xM`5n&vT3yO+*iV@ zf2?rRZcB@WFK`s_g`}`{!inM$H6BH6^ltXAcZu_M<%{myv#uy+pDHno(tT zSqJD{9j9vgdQUmM)()e)tIf7+rdMNURaFMgV5{TSeUkfW z&o|EguI|>J{+52Pj~;D4Sbf+)vJ6r@W3bm5tyQFuF>wN&{igA$6lda$yvh1I)=;x@ ztEiqMrdEsdpN6vKLf0of=gwMBcb;+dWb|eD*Y)l=*;{{@)Cg~93-9L(>&X_*&ADTE ze|38eUBl}Q_A+uzsiURicG*R6F&KYLW}3`{-TFKwlJ>fKRd7X9{$|Br_Hyk&;L>B zaBf3=W23RrV5qKmzsi!^lw-;$t)%#Z75Tol9O(biv*euc889L*L zl@z-2DIsKLmRPJw&fETO(FaD-9%dGnZW7W*g~g;Z?2_vudwMG=ESUJ5iZ~tkh3Zo| z=UC;;dKy~Sla^XBy`?gyEqBzqmnHvwZ^U)~*_%7o68E7d4t)rbf=-Hu56j#4ldr*$?y2mWRy4 zue;Elx(9n2Mj?}4ySQUX6FbI@@na-^q<54%Bm`N1HVZ)mPbY{(g$P>3AV;mQthuQc zT5OvRTgkxEM?pvqw2g|0K*=Ns3O`RcQSKK>JRlyR+)DQ33Q!xh(D3BY;LwnWprA>3 z@~_LHC5xAWg{#1-;PCUP|01^EE+8I1evJPPA#V|?xZvD!GP*{hic9Jfi8!S z9$$t1VAPI81g5~61tVcwqvrmM{`ud=lj@R28u9hdTZmFH?Xi85Ea)(DgYimF3Syq_ zCFC|S3;06be6rHB!KX9u$ge8^DDMt?G8T%q5)6n*;fQ(}WxY?^L0}4a=~+AYSN)TI z)eb>3@IEjb`lNpyN_NUn4xEb;o+6YtzYZiQPtHc!aV01~d2$)ZL|L*9<;ggw-U@a+ UnOA{we0&0^JnqK%{{Juk1DEgy^8f$< literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E00,4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E00,4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..b110395d17eb088400f35441dfc49e79dba5e064 GIT binary patch literal 4292 zcmZXY349bqzQ?N)l5|KUs0=F6ko#CbGxrRF903FsL@=BR3`wZmHzAW`a?FwG?&+Q* zlY4Rv8BmgNhsg1O*XySKeE8KguFKvBQT~McB{od#~zK|E_;keY>lx zep5650T2KX3hF^1n4Gp`N%Y{+8Y6D$0$|dzcUQkAJI?kO^*nb)Oba7Ex`Qu(7!@dvu(GW}s01(39%!0`Fbsv^FakaY zCGbTU38P>P%!D~eieyNR6iA6wNR2c|i=?SYDn(KmlFE@(fuu?#RUxSwNi|5SMY2>R z!;B2c(js*#QcICqhSYMTRv@(!sqyQmky?Y)TBJ!u8Y$AqkVcL)3ZzjYjS6Y- z+iH+Ti?pdoD@9rv(#nxmfwW4bRUxe!Y4Kuc(~64qr8y|OJUTfeC0dr6DvMr_S+q4P zdbPf+JgcBAdRbvcQE72esjfUL^VR4D`T5bS$ndi0Ras?Or4_hwTz6P_)~z6uh$k4! zW-^d~X;?1tAO%ZB4m4OM3&ERMBJY7USRPwI7M4a4D95s>1tu&B9yDP&bOA4x!XP++ zWpEsv#uB&$zQo)AE%+1O`X9kPyzLKxh_^flPQ=?i1-^v0Iu0hoSx^Sma1LAmm%z8- zN|+8ez|BMgun?BPN@##aXoVbf!B*&jeQ*~XfcxPvJO)p}bMPX(0crHElcFca5EDyG95M04BoLEGOcF84#H37|6f-fJ7)-JyI?rLx9aGdc7?{LktxmvoGHW)XF zlMOl(#V{Nj$%GWtI5YNHFEn1V9^Z0%z6iu=+8y(&691wzY&V(pEfqY&GaS>>&`P)P z6wk9T6k%L@H}Iu@%$_D6wj6 zrlh&U)zRGU=|6C)%X{MT$xA0MeH_b)0ag(zjN%Km>w77GlvpGQ8y=l1;qY>>)6Bft z*%;NiWKrzJP1n{7xff1|RPzpd8NIz$oU$%k47X&l%NtAf7J74wJh_L~-LQSe-*$e} z_a9d&-+tSP)+0UFw~XkHF8@lDm(JU@W8{-_mMcGX{M>k-9p6R~;^#X>P(`tv&BjeD z9okgVokjU)JW@)+{Bfhn62xz7$u@~I^Hz(mY!jzti&M{vX+n%nNc~WV6kKl$5t%ph z=-C}5PGl%+Ks81Bl9HaEJ{P76!QIrLbHFtC^ih=P5yvE_&kHHnj)(z6>Nmu6F=!}d zPvL#XkIm)|wxgNyCy1vdVSo2OlziTCspc|6d3SQWcY0ZFW!CmAm6-B|m{KV&aBLf~ zw(ac^w7(Y;ZVRz{&-*T(+uzr3*ptUlmJc?VHbySumv%0$dMZA@>d|X>mye8UB=WY{ zB(st&ZzyTr-dy1>Z{OiExy{Xux|;lwidFfVVKM5@IX+{5^=|G5-qQHHW7LI1jY5#= zQ>MSxYxJ6W^_?{ybCc0wwA-CHyGFjN_@4g3(p%*=&<)M??pltj8v_!o0oKm8S=-rW z(=L5`maC{ge#BBH?SUaLbEK)q+GFo(q6UR^5`Lp`WA3(s9MxshaQ(Tj zg_nOYYx!-cUWm#^`HKu16mX*&vp5B|$Ub+52<*}-xRY$7_>i4z{^8awzgjLo{6uZ9> zXJ)6hpWfMis;al=l+$BvH@Z7pZ98{(s5G^N&v9fsv*}7}wZ&Yyefy4z3Ik`b)o^P* z&H1eRJ7-^KS4($aQ=i964>umHJZzv?1}mO1*lUc|3Q9;HJAv1J!{}rQXX1>!$@(E{ zs9L^RRL>TZE5$d)x3cL%=cnE0&RS1*oN;ug_on;S^lUrXQ+t@w2ybNx@8t<=sV2_N zxubYrWm^?p#p@0BQff$CDQSPxv$SWKt}&xQ$N8>(e9ikcC3wf)mxTS+|FfiWwQ&di zE}gntYEQKMcC?Q!mDfv==XzsdIYu-(r=D5tKrzTQ}GFjSVmS7FI%$TnpgD?Ej*25*`W)-4=-aF6Qg9#UF5%k|DXN`bxj9L literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E00,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E00,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..bfad49a628a31210b3754085c87c354d72b53f6b GIT binary patch literal 4248 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E00,4E05,4E07,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E00,4E05,4E07,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..ab73d7b77c8728b00a7a478f2d626399629c73f6 GIT binary patch literal 4304 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E02,4E03,4E08.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E02,4E03,4E08.otf new file mode 100644 index 0000000000000000000000000000000000000000..da09548dd319ad62f2c86a0ac1b722a18b6a8a8f GIT binary patch literal 4248 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..3275c730e13c45c43e07a24ae4f105711c8c851e GIT binary patch literal 4232 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 Q9_;`wPrGn_|NqPX0Ohy^dH?_b literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E05,4E07,4E08,4E09,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E05,4E07,4E08,4E09,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..7ead1debef0abfd8bc78580f836ae57cdb1ca8aa GIT binary patch literal 4308 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

u4s-N_$d=TzI=0n)v zC-v*FP%6RtIR}fSLae!815&K9v#_$>1@f`RE&&->Ve7HRCVG4;*zu%a8UBAD@X1`j M<4*El!M}$80heD1ng9R* literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E05,4E07,4E08,4E09.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E05,4E07,4E08,4E09.otf new file mode 100644 index 0000000000000000000000000000000000000000..098fc894add83f6ac90cb589a8ee88cd4f4dc2b1 GIT binary patch literal 4252 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E08,4E09,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E08,4E09,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..73a5688e0c2155a53fd2651654b8020b9f781e40 GIT binary patch literal 4284 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E08.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-gids.4E08.otf new file mode 100644 index 0000000000000000000000000000000000000000..7cc707fa6abd0802435c14b6f3fb875ce8947cc8 GIT binary patch literal 4232 zcmZXX349bqzQ?N*k~Aa|JepOaA@{L>&V3-r5kOEu1jFe9LlP?YosdZ~Ip)Z8_jJ#h zdvXmKP?B(m$nk*XP(VOga1nM{_AO*|-uLCJi05zBm=7RYk4J-l6zt??2RFbia2tFJz60Nbd*JWjpWr9(5D4HG@R$HZFcC^jBqE4N;st^t zUM8Z5Xd;%#Byyk>%Ag!7pc1N}8fu^xN+nP#g;E)m%Ar&NrAjDOL8%%_HBhRBG6|F+ zMh0baC{sY063SFiriL;Nlxd+{0_9RDM?=b?Tmj`uC|5zb8p<_Lu7wH-R7jyh1{G*V z1ym@ZLIo9SsL()#7AhrBDTPWIRLY?eEl3HKDyURLr3NasP$hvXDOAazN)A;Ds6y*i zL6sV+G*G35Y6(!_hx1JzonkwA?UYGhC&hZ+UcD4|9LHRx?M zP@{!f3DioVRtB|ls8v9%5^7aYtA<*%8QQd>Vtr{2%r1{f$w-ZnNhGqE1(`)#vtm~3 z%gVC~%3_ukW)zhc7nSPDvoc?gS&*L}vkG@Fi&>RbmQ`AbD#vw)glF9fGO>6_ z3QR+CNdT!xDsrGfGFb@TMiTh|tU>bF0vo0TCT}2r&sA_e;bp=&0j~6k--3BhN@t?%s zh`$p*5nG}mn95(UTBw&+>O%gWA*rZ^SI%#t3q!?@v5sQgfOvGX$789|U zh{Z%KCSoxWhlw~$#9<;16LFY`!$ce=;xG}1i8xHeV1i@Bw`{F6N#8e#6%({5;2j4 zi6l%UVIm0=Ntj5&L=q;FFp-3bBupe@A{i6Om`KJ%GA5ESk&KCCOeA9>851d(NWnx3 zCQ>kwf{7GNq+lWi6DgQT!9*%1QZbQ=iBwFaVj>k2shCK`L@FjyF;VItP4tUazp$wN zj9+Z^hYI`rV`u%>{qOk0{%;%kzikr-C*2JnjEK1FjCc;+q!Z7*^wd(fUj#4UZ$u*) zB&HI3g60RE4}L4yGhuB=WQZ}eF!Xkqo}54$NF!+y5=UoI3$_%Avn}%*#VLJav5>Nv zY}kLueK5-9u{#{oubw|Rz(3$Vb&gm^%-^jS3gk!1+6%cNcRg#eTFf;}4P9psu;$hG#gYrLmQ6 z;YprnxhSu>6XhYpkYTU+f&TV?9lv$*&b$A3YoC>)c`M)L_BMC6-Mo#0$GP_7-7j`mp7H{DfHzQd2zJBtj=c&wzt1M#CN6y&$HWShj9d8@_Owu#fS#i?h+G$B?eNPZ_o39fgA$jn=L z^z4ojCp45b!rCHzNlDL-UkFo$&~9?jIba%mHWev)#WCvCIU)7hVKHb({g#+6h76_d zE_~qlq1oKQb~KZLMDY|A{?EW8>WhwxwU-#uw}az-)5~(JvMRDvV(MFBYL&Rav2DcK zwx>tX{!vK0BgE}F=f7}vUthmrcOFApKH6Z~7`2FB+PS#;nfL;#$8VrhK0KG5W7Leq(>lF7A8Y()5R;|JhhP*_Lt8;u)tw-w~5E}4cK&VDVt z`iF84?XkEme7+-}FCc~0V@`A)k)x5+dhbU6T9-I?N1o`pJ@d-E8pnNxbT#8UrLV8Y z>+SNq<9Nri+?s1l&oC@2pL;C5H>163{r;+>)kmt2)C@H2X&dDK<+2H@tQSdkUlYpA z4r@QXqy1!cZ_i1m*V=CMbhg@dZ1<9BYKqTsWIMCzDr=3!TvbuAy|U848Em!On$L1R z@BY@=*V)z5-RJJ}`sm@N1679%B+DShGX{ID(OO9g>0`&y-ftM4LUAU}$eXOcV-3~I zH;d}oVoH_x*7#An&v$;-efEs?RL5yYcY1HSe@)M}6Fqf@NR9ALmheHIu$FXl9?lcZ z`>Wcj>1tkYu$PiU;!3LhZST^aWxA$}MjhwB_Q^Hh*QDSZ`;ZF%ec&gmYPE4Y{XQ+( zCACZJOK4Z!Qj+GZ924DC(^A#XTyzOD__L?``uyFU{__uJ+?%m?M|;0_m+z}HrH|I0 z)c2Hl%G*{B%+F5OlO;x`tkuAv#M0!jxSRS5zpw2&yph!_oAc4zTURm*EuIm3FY|lm zuzAG%DJi4~C#Wy=2j{L^wdVad>*v*ztc_)(ICB_dV>vdutj3i+&~&5qcFKx*1p0pPW~F4qf){YW3~t^?zJ4 zlv7{V&|qvZ7^=!YsI=rXW}C8&mEOWugD*`8?-mX`yifLY57_!W2P*cXd_ceRNUop! zdTf*m|1xl&@-%bJQHA349`UtqF@|KqTx;15`y!GKGx285Y-c*^+qSbLP1{&{dV|$U zn;V{P0258u+KsIZ-_8>@Tsm|2o{+FZn7l$zH0~r#$V*AC{>DU6Y+G441 zn8wmJnxo0Uhhx8>eHsm-oT2u7eU7!jn#a|%I&xN+sevepvLoCGKSJ_{dxp7#LXh=mvk=rj-a#bFMbIJ!Icj{RO^r3s zV%u=YN(L4`4nlIEZB%$T3MN6&#B+ob#eNaQL*gNdtz=K10F_Y*HBSl+4h;zp3YvgB z|2i#Lv~V$)zk*yrPCSR|FJOCj9`WSK6a04wc?(d+3CEU`&@%#MoL+ruaXnZ;j(@-l z*u$Sy^Y({rj-2x|`nP`@_p43Z-+-Tg+C-FqsZZ<^WI>0J8w`SQElP+PpFiX_F%$Sg z-h4XJc-y!|BM~$IodG~`cF5C)P_P1xLrj>6h?h~6J6;X~lfg^R%E7;?pYW@42C^SW~S=Yck8RFU){P@ zf2#Qa1OQA1^&kL5q%B<1*n6mucHLuH$v;D=meiyfG$tchlzqsIsK>)&+ zVgIA-EPZBJ^vBO&{}b%1vvEVjgP=O>-@$%-c0qY1rIf4#AYu~sLkjej#bDAZT#bmp zCa6$fkQLA$`ZM-l!v5moqO$VGy+Drr53wH&!6XTQ5C&y#FDNjO+FXA)@Yh0roy1=k z;D2e7_-t4}R3C8K?GrXE_*DS*J$S|^2L1l|*qec4uY}*iErBbZ8;gDxWZ~KHcLsuB z{KcW*84wPh1(>9 zHUT}z1PJ7U0#FRfKm{;>8c+vJzzS$!2M*u{&7ci*f^N_U`oV6n2MmM#;1DX^{@eQjtuCWO5`^Aej=$R7j>qG7XYxkxYl=sYs3) zIg%@oT#4i=Bv&K32FbNZu0x7cq>v#6o>GAnN~BOBg&HX|NTEdv9a5$ur3@+MNQvL5 zL`oG>s*zHIlvnc z#1JBu5V3@aB}6PCVhIsTh*(0z5+armv4n^tL>wXF2oXn!I6}k`B90Jogoqs)UPlyCUBoHEj5DA1xAVdNo5(tq%hy+3;5F(KfiG)Zb zL?R&)36V&ML_#DIB9Rb@gh(Pp5+RZZkwl0jLL?C)i4aMINFqcMA(9D^Oo(JcBoiW; z5Xpo{CPXqJk_nMah!jGk5F&*TDTGKNL<%8N2$4dF6hfpBqI6&^VL-GE2#ed#4v4J- zLBjrl@pA*$2i_V8{=a?H|MX2B3b_+H6c%>J74{6iNhhCw;fa;rdLBGS{vsN{5S$A4 zN)|{i1k4NYOj;Wl9%u?G47wF;pe9j9%0!ukgt1xDgJJ=l zIuz;lIGoPuS1%kIu+;{QNWyejI;}3Zo=ZllYzV}Vy z945cDz?JW6a5c6xo~-%IbCUa#yW;qgJJ4i5lHE$hFe0!-JDF~CH{azIVuZG{SB1&f zg(=H~STQwYt#Mi zd6tXxS~_taHVzy2S?(Kd{l|%$r*6Ofk9qrT9L?MKt|o7DXWMrd^B&GQoO)agHl=1z z#bw>w_BT=fnd9H#9r){5uyoO^xvwwzL*Ay$OlA#V?Xq-OzReV-dVg(UHZz;qEfYJ) z9p!PR+-^JPnm*#Op3&13L$gezQ;4L6mp2H{GY%TB&+0ZiO)O=#(l*<4h9!v-tHx(a zn>*Yc&F$X)1E;!tCoZ47bn?$1f#YZkkrv1D(dFSp2>duZJa`{(>^*SCHD za+Mm`Z$Hs`r04pUQT@>sUyF*;`MY+EetOP&<(H0M8}G9d$0$PlewPTUD3-I^xoM@t zn@YN~DF2K{Dru-cZY)`f_-!rOW^rcT8u8U_;RB;Oh|vqF9|@6y`)wgS^JX4B zyQ9Q~jAad|rpQoI((}s~!c-xsn;LQrnunggiW0rzxb*aSA?4Z;Q8KKVC#H*m!zp_T z?>m2Lwsf!^&6GbuJS`3V+5b@bMaQL@%M9h)$??AFWx17E+q2YS$~-ZpQe5cVHfn3z z+au`yRYQclX@jej~uT{zSz1e!l% z`fGhApSjo2S>v@dnVcqv!-cbZ^!th*=pU`URURYV&|L4S<*2%GAjKMB9c-JeoozPn zGPGy8i~8fY%o4-Aah;2V=zqICIP7DNH1*he99>P+kg!h5Z!~Sp-BysJzHA<;KlhFB z%Ad+Tw8z?H<@25Sd;uk_8F%6H2p*nSnC$&?#vTCw`N|MU+uidQ0``Or}Xvp zc)eYox14WTSJ-k*=^4i5<#Ugx_hz(Lu0K$Dtmg_q@^4i)>p3YYL&K+JVO(W%VoY}5yy3$r{wN!53zN4bT$QkW5+y|fK zeBS-NtFN=GrMs`G&+DT{8V^<;Hc~8u70(zQH6~jHC8Up^z&$JxpnZx3Yxy@`SZi6X)SP zQT#wJw zI(4_qk?L4VyK9$GG-u)JNdLm`Z@Z3eWcAADeE8u*XVlTl z{E<0g8MS;$3CY4q=~sqBbJwl@;N3Us=GRfIon<3AOE6<+IX0@S+MPYvc%$`1>&cG| zZiB0e*E{vrEo|d4_E^g?m#?{}sgG)6-Lxy}RQJc7=Zuu77OhferOV)~q_`lum+oQk zZJ`){5zFEY|Cn^suFRuY78`djACEjJMjRJs6z>s&m6XlZ#JD5>?7G@>_)G8ZR^QIv zfsadubLwjA>rM4WV`ce!71o@FY;(4$!duvC^rZ=*-NL~K_o$xkL3_XF;PwMJA2jSb znma&!Gd?B_{mOq&>S^YhBMZgpJ>sj~Vl>4ByVtTEj>QxmZ00ST#ldvcwe4Ujnzpm_ z^m?0(w$wk_049pAahO``zn?E`xP11`T_Jv_FlD8nY}j4eWALrGAx73H8z|OlwOb>% zGIaV88zpq+Nrk`}nPQPPF?Z`bh3}gvN3ca$vO!225f)Ld;7jg{?CH&vFn|0@Y3OPH z@6ukiYqm|ntfi4{EoH41)0(zNwdRc2_OR4H?;UX8e|mFATVp;HVQ2Gs_PpafKgbX9 zgD3e@u9HuH-`2Am8rLz7oAk}*j&#UJtkg+E^_h0r$5ZU zSsyYFzwN|t>Kg2>8$nE3^`iF04eTg4%8yd~k)9FmkRY-BW)UR)69Yt8E`k^8|7c}NP^`++ohqQIG6;I$>*U9$9`e(0epaCEBTWrz;#^1-625%L4lzX z35ityS6aAu(Gsv=C0H3S`8@8pNbH^Y@bTlv+qoi6ogAPsZTBiL!eBf#A*IbAH27!Y$HV zlW?G(Jpa52mVl{`9h2me!`KaYvKrEXxrucL-hwlMFYt{gGm)PEPIx9bb0U)_9G_3@ zfdoY1dElhUn0N`VaiT7Hvf9-+$U$H`$j7m8DagQ)upY<4ByQdew&CEX5Qjfc~2crTX literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E00,4E02,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E00,4E02,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..b69ba18b924dd5d17bfaac762f8cb93c939bbcee GIT binary patch literal 4176 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 KMdJDYpZ*JRs{y$H literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E00,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E00,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..f52bf146bd8715bd542544cabd904b32883f4892 GIT binary patch literal 4172 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E00,4E05,4E07,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E00,4E05,4E07,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..37dbceac24bb086477e4cc0946ff88cb806bd6ea GIT binary patch literal 4232 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 SaVR9m#FO;6o5c73Km8X)j{`UW literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E00,4E05,4E07.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E00,4E05,4E07.otf new file mode 100644 index 0000000000000000000000000000000000000000..dc0d31c1b75e5eb936ed9fe32b80c21af9629ff0 GIT binary patch literal 4188 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E02.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E02.otf new file mode 100644 index 0000000000000000000000000000000000000000..23f25347f73cd70572ee8913971b817a979829d1 GIT binary patch literal 4160 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..289def1135d8a685cfc1744a2599b098a5b9b0c6 GIT binary patch literal 4200 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E05,4E07,4E08,4E09,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E05,4E07,4E08,4E09,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..533805d2a63b1ae71454a17467cc517bb37f2e44 GIT binary patch literal 4232 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�Q9YpFd88mfemOoyMSUK; zOL$->)7SHa^_R|kb4N(tAxv5!D4KVb`}F?h*TvX+MKj4-EH+E*7KY9`Y$b*6LP`jm zo+FlOQVX`cUGkohv`3hQ#p{L45n&%w9)A*90>#Bt8_v!S!=O0Hce$|8_m&V z@V)V0(KwBTP|k3Bkv`vAY%Sy(Ssghu!qmhWJVst5ocP5{JpE$+#qxl8@KrauQqN#- z;|OFj>lSt{YGy~dQGS%<5Bo;AgF=Y)7qbvD@Zd-!{kmD(76u;IRXeOieTh&fguT%JLDvjWOB@r>F(*C zJLlvYGT@SgJ4B8LEQbOj%7PDNAB#Re>&kn}`cW3?i5)(?DquhRdGA$y`rq}hs&7?w z)h{*q0|EdL4VpnXn3}b8sbu&_g9+9205E0wJF8!jAM*^>pz>{0w>hUozfH1u;tl|D z%aFf1KTn?qwuuxNY z==n+F)3Mxa4V&heku+83Cfu z7sr67Kpc1)JPW3Q7r={P21o*_AOp+e z=ZSbCfk-5Bi2^8ta;ShxsDf&!fm*18GAWeFpiB;B3Mf-TnF`9(P^N)0EtKh?Tngog zkwdux%9T*Af^s#KYoJ^UX>XcBYf;u(SX`l{mhAyjYo1vlr=2uBFaxx`ysZ=gmm|M0bPqNxj zS(R5(DOp~cQ&zF9tU_Ovm;170VR5l!74BXsS(R6rS5bp1AL|YY&$b2RV(~;G*-Ql# zn2zL<0y2?Q6hMn)vIxA6B=RnJAIW1g$V1X7164>Cjlhf~!2=JHLk|cbDGY=CNCwBi zDI|f5;B$2RUxPoRqyGWiLC1a{i0H^8h{@=1i@Bw`{76G@mz!bB1#k}#2ki6l%UVIm0=Ntj5+L^39lF_DakWK1MuA{i6Om`KJ% zGA2?mk%Ea7Or&5U1rsTlNWnx3CQ>kwf{9d2q+%i!6RDU;#Y8G5QZbQ=iBwFaVj>L_ zX_!dEL>ea2Fp-9dG)$ynA`KI1m`KM&IwsOFk&cOUOr&EX9TVx8NXJAvCNeOQfr$)E zWMCo#6B(Guz(fWnGBA;WiA+pnVj>e0nV87LL?$LOF_DRhOiW~Aq9Qn+8We3oVR7e~ zpx7Ra6!rxt&IYdq-v~zi-!}4JZPCM%zl|A=js4aY`xLrKqt89}$Wk|-1<&BWh!!wR zOe6M$EeJaw{#v+q(wd042vcNfo4Eal2PO|02wwbV29bfcLRrmUmx zEFBWr21(;A{i|a5$Qpminfjwee`kf^|Nf%W*UNM}IgUrUi|J(A5n-GVsTd(^Jd@(Y zBDYwCtW$s5!H=>+u~jH!g`(!Ydb?#SDcpFFiFzi7MyO8$7Y<%>+;BO5TeM-m7%dLG zXA_(oVPW zB+s*4yx-D|@`!Q7xYu&maPz;8-#B^e&A-34&&JWbjqmaJecc^jUnsgi_mK3M7-f>? zklQMIx9;Ti z$Q|KPCf#m3=bACL)*blx9}EM zYeM(Z#Yq=7UR@^?o#6sefHz+hx@K=9@8IL@r9_Un7?!T*hgormw)Q|x%Dpl_!vb3&F>OH9m#TbJ2$;z zWMg@69vPbXKt;ublE*VB$Zu`SH;c21R*Nrf6{qKm)6R%lLZV)f{!WM&+;0kTxi^aF zIbG#0Xsm334P}P%^1h!w6{ZQ1z2vZK$UOXHDpK@|6V$15Lgv-OV%Ui0H8ER^7|GmS zde`}b&(g(q`N&YJc#4YoF?65$wCiHSC58;_;P}9d%EH>b>O8fW`I?wnD=u_y9kX@p z=@WGSE~MTPlJ=YnUO2mNV9>a`h#{>XtT%6nU(7G-UQ+i&d?EFNSI{XR9@kQej-+&p zimhrX_f`99yj7js-Da=F*Q#$QF0WZttQ{2-{!$P$4c71CzUQs2e>_T_KiDcnm_KF) z8v~|*x!=&;;J0{8PLspoLfJj`P0e@o_tyS8uaR!?HG3O5vS|WPNCT{c?XY#SKJ!jP zXP&!kFlF;>G1i~ly-1M!$E~4}0CU*WXX|tHc*tR4EyZszZ7AGYQlP$M9&JARrSRe( ztGu+=>ap_0&SJiV6jo2T(0Rm-$5HG28-i=x;=CP2qW9*k%k%4Tn}7gpIWlI*@#l$jm2 zL3&5$$-4f&lPsFY8;bZ_R1ZbHS^>zZ&?G6ao|PQ89lA{Y=%aHf^Whp{2WI z4yj`)?QUE~(wvQB5?brqY6qE%Zeb>W_VmC&u(vyS{_f1%GxzT39Q5xBd~v4Y{+g49 zzH)C>$I77v`Pl}t+{9G28yS>Xnj95(Q-9|7bzFnj^ZMm;KX`r1N@kJOJLc$T{=giz zj9ES+g$&^Y^||5TytS*|f9KVv`AsBiXW4kp62;hAj!mencjphaUT;6%e&R!e+u*9> z^-jHYGuwKUJ=%8E74Y?W21pOcKwN>xdSPNS6&H1Jpe`&ihkR`G#Pqt;#ag!<6)F5(ot+Eu$9<~xF%Ll&Wc!?)J%)eOgGxxvh zMlH{ z|7jyp4yHYHOp=EkLT>n@72pQMJYH+WO=1=ZM7;WFB;4}PghnD}{WAlA!fm{AJbeNh zhnN(Ni09E7AD6=(t#%a(Y#^ux#VG!*068f7)uZ?q$I6?)Ruu4*qL4?9h)3yR502yi GfBGLAd;=K( literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E08,4E09.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E08,4E09.otf new file mode 100644 index 0000000000000000000000000000000000000000..a3187cb942ea7b18abb9019b21c293c9ad305977 GIT binary patch literal 4160 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E08,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-name-ids.4E08,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..d2648add29dcf7061c4baecaf395964a7321d73d GIT binary patch literal 4200 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 C)B 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E00,4E02,4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E00,4E02,4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..820c281b55b7c63a4f2ba16e4dffa80bf5616c63 GIT binary patch literal 4332 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 G-|}C0n+f0m literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E00,4E02,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E00,4E02,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..117441202191196702733d75631e5845b42364b7 GIT binary patch literal 4288 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�X3EOWL5|1B0#y^KpX)%g81fUdz(hB5bPC?J| z|Aah-+qk+WVYnVY|Fo4T1~VSpC&>bipkm;Ync)V+O{^j4HZccygI;^`CfxE%nD(UQ zm(u_9{J;ABQaABLe*Uy4F9=3c4+O-d$!N3}ke5A?4?ruO{xl!>tNKa5$_Jqyc>b6T zep0_4Iaejf=gvkBRsr(UUjY*2muDhxyd2~qzq|ybBd=VC{BrEWZv#7@^eaREDWKiQ N;c*xKf8l?J{{noA3=jYS literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E00,4E05,4E07.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E00,4E05,4E07.otf new file mode 100644 index 0000000000000000000000000000000000000000..041aa28105bf19d8395ef6499eb33441455c2ffc GIT binary patch literal 4316 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 XuycG|8TzjQ?*>Xwy72!F|2O>)brKAg literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E02,4E03,4E08.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E02,4E03,4E08.otf new file mode 100644 index 0000000000000000000000000000000000000000..31d1850349d8a1417a7730de88cc92351a5eff8f GIT binary patch literal 4308 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E02,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E02,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..e127011ca27cb80ffee386fc394104905c71a639 GIT binary patch literal 4272 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E02.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E02.otf new file mode 100644 index 0000000000000000000000000000000000000000..e127011ca27cb80ffee386fc394104905c71a639 GIT binary patch literal 4272 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..906d32fa56f8dfa1ee6564420d8ddf3fa0cfe3cb GIT binary patch literal 4316 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..f7777c5e45d06878b332478518adf78fe80b1917 GIT binary patch literal 4276 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 WJe^mL@_)2jxIF2^{|orP<-Y)c;{^-= literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E05,4E07,4E08,4E09,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E05,4E07,4E08,4E09,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..06725617c3bcc990e4b6dbb34d05c2bf74e76337 GIT binary patch literal 4392 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 LUHHF-|DFB|-%tzo literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E08,4E09.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline-retain-gids.4E08,4E09.otf new file mode 100644 index 0000000000000000000000000000000000000000..0754057184053d3670d41468751bd6cd241f4d7a GIT binary patch literal 4300 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 W8t+$z{u2nEn9S2o{QtoJE&l^C{sp1{ literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E00,4E02,4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E00,4E02,4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..dd37b390eb60a690fb909c30f487508426e4cd57 GIT binary patch literal 4288 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E00,4E03.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E00,4E03.otf new file mode 100644 index 0000000000000000000000000000000000000000..1ceeccd22089306d9665626c0c22a181a533cd31 GIT binary patch literal 4240 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 R#rETS0Z+Pcod4hHe*xJ-1!n*N literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E00,4E05,4E07,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E00,4E05,4E07,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..61919e55d6e5fb8b4e498a78fb197473b23c5b15 GIT binary patch literal 4300 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 KIJf`*<$nNyWCTh8 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E02.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E02.otf new file mode 100644 index 0000000000000000000000000000000000000000..fb505d2830eb519ea7f157c37b63cfc52c6ba5a2 GIT binary patch literal 4228 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 KIJf`*<$nNyWCTh8 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E03,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E03,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..452aeca81bf439fa393105676187c850f3931990 GIT binary patch literal 4268 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 O=}CFgMZEq0FaHDC8U$1T literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E05,4E07,4E08,4E09,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E05,4E07,4E08,4E09,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..5a31ff22cc2b2d098427d0314a11ccbe8ed9a335 GIT binary patch literal 4300 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 M(naK-E%P9 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 WZBOQvq5MAh$zH(YE}ZNC|MDM*R0e+l literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E08,4E09,E0100.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E08,4E09,E0100.otf new file mode 100644 index 0000000000000000000000000000000000000000..7433b3baf4305e6a5dfb647868f807797d7f5657 GIT binary patch literal 4276 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E08.otf b/klippa/test-data/expected/cmap14/cmap14_font2.notdef-outline.4E08.otf new file mode 100644 index 0000000000000000000000000000000000000000..daf2fc445f181fe1f9503a551281ff4a5e984bbc GIT binary patch literal 4228 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 diff --git a/klippa/test-data/expected/glyph_names/Ubuntu-Regular.retain-gids-glyph-names.0x0,0x8,0x9,0x1d,0x20,0xb7.ttf b/klippa/test-data/expected/glyph_names/Ubuntu-Regular.retain-gids-glyph-names.0x0,0x8,0x9,0x1d,0x20,0xb7.ttf index b566b780757fadcf0b86a0a4a6bba5853451498b..e09c36da3360432c3ca68f23ea60d3404aafa965 100644 GIT binary patch delta 251 zcmexyis`|ArU?%943`)~7#L(Z7#J8r(sL@)G=r4cfczLBKOrMEG38P3-|ayD9w6T= z11KP{h37Sp{{_fb$;d6KU|q+sh=D;)f`Ng_Cp)z$ufB8Ed*C{F#8tn1NUXNHT(H76u0(&BMUKz{J1;WN|XcGAJ-?|NkGzW&n!9c#Qvl{(tiS S@&DUkePBrjhRvUp+L{0$jzDq% delta 1560 zcmZXU3s4nR7{~wLp6g8vQbZI4?kL5D-lv z%khbd&k!L|dstebCR4spBp%-Db+wtYU`!nymF;6=oMyT+-|qL{bN0^u&i{Xo^Q82! zLRvq>ezbUbC=k#ZX!ZN-d1OBC_@iuFmYwgqHKu{#>f${vHU77nItaDj+ ziBCvLZB>k2tV;lC^juqVqCI=_4xsB3U}^Ha`LR~F-`pC3ok;+7OR%OUnZsIN0(NcU z_mxCzg0Ic*{(xkD@Fh=Jlr(=q3i?n7ps;Ugb$@@m;Azd}58^9?lT~x)50fb8`%g%R z8R6Wy!2=Xw?i8v?Do1#pyriG?QmJG|^vbP*ymq*BBdAdA9UM82x<#MH5D>umZ8w~3RS8!5Dq+fSB}qwBvXvsGSSeG!3iJx>7^nsY2lft}sYUVM9^I^balddxe(Aq#zP(b#6G>Asg1d60+ilJ0Wr##A+d?bHn z8Dy}WVU}uUStYWVWu4d{c8i0eR8*K?iZLadaxCeVyE0@SS&_r#aV;oOa=Ls>J|kDj z_3~Z$f#Rk3DE^9KpbR!pQj~P1$o@Z;h!z%4X7PQ-64$~4gT?$1kHIXYKhp2(ntoHS z)$8 z(n6dGu8$m%&Qxav;MnBY=vd45HI6Jth9k`}!!gn^tkw~9r$Yna)!6!FUnf&>cO{6EC3`dZQ2eA_V==A1`A7 z1|k%LFc@KY1+U^YypA{Q7=odA6T>hZBQO$gae7AKZM=ig7=w2)7UM7;6A*z&OvEHi z#uQA&G)%{Pn1Pvy;`~_|Xa@@TBr9asN^u+~@D0AjNqmP>_yOhk5vOs6kDIeNhYI|R z^Y{f9a0wS-zltlU!Zlv#HCTq_Si#G^frF8aRak_Nv6A*;Cyvl=kjW_*a%vxhqfRSpJEo4VhgsT#E1x6YgpQB?qxcF8V*b%V!{n? z**5k$k6pLneQd)XY{g#e<`f>lLF_{@4m0B+9OVp`kvryKA#(VD1F%x$*yD$M&F$1v(kYohYEDRu8IN40z0V9C&>H{|6clXMbq}!saiHU>yt$o8_7BFpIJ<7ck^8wlVNCZe`$SVEDh_ M|6HJy06Pye0Mi0GkN^Mx delta 667 zcmew(Fh^v9LH%UAu2~EWj21xrDm|w%?bEu9J_ZJ66(Fw4NKH(6FMjkO0|VOv1_lPR z44?qpJH~Dx{|1n+l95|d!M5iANg)3ZkS~&xpPa~el4%D61G@l_&y$;2QNVbM=PHmd z1LP~@CFZ7DDu+x5@@*IxnD!Oq7ju^Ut7i~lVBq{SaYu7KGf))>%P=qkNd|@|Kpu!C z!@$CD0!ZsIC;(Y}40R0q8Ll&YXPm@*fHR0Qm4}&!hev=%gU6D`g~x-(mnV!Tk|&ub zpQm1d_y2#OJ_UvaaPMC+6cQE@6%&_`l#-T_m6KOcR8m$^Ra4i{ z)Y8_`)zddHG%_|ZH8Z!cw6eCbwX=6{baHlab#wRd^z!!c_45x13^>>E%GWl_94FNHr$sF|;r+s6;T4S%pAO)#iG}JItc2%moa2jBO13j9VG_85sUA0OGlu3s`xW0YNE@>Hq)$ diff --git a/klippa/test-data/expected/post/SreeKrushnadevaraya-Regular.glyph-names.c30,c36,c40,c4d.ttf b/klippa/test-data/expected/post/SreeKrushnadevaraya-Regular.glyph-names.c30,c36,c40,c4d.ttf index f9069bd21c797a56e0d93c3b6f18b18c1d4a8572..83c6a3742f2228bfc64c2db747647dfdf4ac0136 100644 GIT binary patch delta 248 zcmX>hvO;izLA{i!R5$|zqXh#4gHL)+W!k588GS&03j+glRYq!J%6svn2N@Vxfzk|S z89)KHcZ^*?K1jVvMs7(3nK{gw0;; M|G7XZ0d@;!01RY1asU7T delta 667 zcmZ1>ctT`?LH%UAu2~EWj21xrDm|w%?bEu9J_ZJ66(Fw4NKH(6FMjkO0|VOv1_lPR z44?qpJH~Dx{|1n+l95|d!M5iANg)3ZkS~&xpPa~el4%D61G@l_&y$;2QNVbM=PHmd z1LP~@CFZ7DDu+x5@@*IxnD!Oq7ju@}&jvYw^UuT`&GpPcRUj<4<28hFrG-BWS)GU zdIjG9|AG1x7#6_Q2XLnFF!HeS@bL)oXz|$cxbb-Lgz`l2B=Drw^HhK|{D1ua(Eru{ zd;Wd;bM(8}chxUlUpl{Zd};sE_NDnt)0f6CRbMK<6n`oFlKJ2c)S*B-hy{#nz@UaI zW@G{~Ko|n*Arw%SnT3^&or9B$n}?T=UqDbuSVUAzTtZSxT1Hk*UO`bwSw&S%T|-k# zTSr$<-@wqw*u>P#+``hz+Q!z--oeqy*~Qh(-NVz%+sD_>KOitDI3zSIJR&kGIwm$Q zJ|PiiAsU^I#4k!o&19%xD9C0g%K`}(Gccr=1L;i0y$Ni>lyDbi?T8oFyt||G4L~PW#DIE_`d*%=WZ@wwO|GSqi>DO diff --git a/klippa/test-data/expected/post/SreeKrushnadevaraya-Regular.notdef-outline.c30,c36,c40,c4d.ttf b/klippa/test-data/expected/post/SreeKrushnadevaraya-Regular.notdef-outline.c30,c36,c40,c4d.ttf index 03d5fb3c4aaeb95352c410fb6383964b8c4be0c9..d29606b184976dcf0ddfe53349aa6bed94a9b2a1 100644 GIT binary patch delta 248 zcmaDMazb!|LA{i!R5$|zqXh#4gHL)+WtyoE-$Nk3g@J+jL`G_2%6svn2N@VxeSq?2 z89)KHcZ^*?K2V-PB_p?_g3Xgb2gqLm&XRxi3?d8+94jX7Xm()&s$vFW5g^G3rdb$3F5_b0 zU|?ck;xXVc<8k2e{r?|mIGp{Z4G5dRG=g<7Fl?4*)?g83VJ=|EV{BvKXWYub&%p41 N!T-5HsTg)1W&o39Izs>e delta 667 zcmX>h_(EiYLH%UAu2~EWj21xrDm|w%&D4kQAp--m3J{;jNKH(6FMjkO0|VO|1_lPR z44?qpJH~DX26mu4gGxqjNd?=Q|0jWb4eg^{s)4qcIV$PC(^$a2m3|t-)cQn^C166^r32#!1WvID4cm#Mfcr1BbcszJ~dBS)id6IeZ zdFmB-|NjT-Q(#yCS0BKc!o$eJ%EQMa#G}Py%j3r5#S_XC!IQv~R?kxb((wQB|3m** z|L^(t>Ce&cX5Ur6bbaak(($GJOWT*`FHK(>zf^sx{8Id-@Jr@{J5YxL?I0E~vH^n{ zs+f@p$N*sosE1HMS!NbiHg*n9E^Z!PK7Ii~Az=|wF>wh=DQOv5Ie7&|C1n*=HFXV5 zEo~iLJ$(a1BV!X&Gjj_|D{C8DJ9`I5CubK|H+K(DFK-`TKmUNhpx}_uu<(e;sOXs3 zxcG!bn1yI`IugGqB{h?wf}tRrp)3m|T+G0bUJj&N8FFfXRAX`;Lkj~#ZY@I+NEQm3 wVGIU_N(2*`RS4u%ZLVk3U=d|yE?~%GY-8YO+{(bu!0>+o5YOGbhn0sJ0DEhRpa1{> diff --git a/klippa/test-data/expected/post/SreeKrushnadevaraya-Regular.retain-gids-glyph-names.c30,c36,c40,c4d.ttf b/klippa/test-data/expected/post/SreeKrushnadevaraya-Regular.retain-gids-glyph-names.c30,c36,c40,c4d.ttf index c1f3dd725900a95b439e34e30b6a9c8e7d9ecdca..8f2df67625fbdfc87c10854094e101f1c6ecf3c2 100644 GIT binary patch delta 221 zcmeyNa6@*2LA{i!R5$|zqXh#4gHL)+W!k588GS&03j+glRYq!J%6svn2N@Vxfzk|S z89)KHcT6roK1jVvMs7(3niPfq0N<-Ntgz$F1RZ$WNiMFGyz8Ju^@h2+J@q0!apjCqN#E zCBwkNZ~{o{F(?38d<=CA`x&k?d}o}*e1J2EGnI##hlfXiM}xLc_u%BBP>X zVp-zi6B2Dl1 diff --git a/klippa/test-data/expected/post/SreeKrushnadevaraya-Regular.retain-gids.c30,c36,c40,c4d.ttf b/klippa/test-data/expected/post/SreeKrushnadevaraya-Regular.retain-gids.c30,c36,c40,c4d.ttf index 041874b6318904b9611e09132eeea69febbfe8b2..aaf9b4852063e35153e0af228fc172ddd0f20a9f 100644 GIT binary patch delta 221 zcmdlXJ40%MLA{i!R5$|zqXh#4gHL)+W!k588GS&03j+glRYq!J%6svn2N@Vxfzk|S z89)KHcT6roK1jVvMs7(3niPfq0N<-Ntgz$F1RZ$WNiMFGkx|hx zu`F@%35h_5C^;6Tq-HWyFcf4nlx2bJFJ@p!F9*`C3^_GGsxdi_p@o4Vx0WFZBnt)2 WFa`rdCD0Tx)--oFH diff --git a/klippa/test-data/fonts/AdobeBlank-Regular.ttf b/klippa/test-data/fonts/AdobeBlank-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..817f51a7aca0e99a29918c5b61653cb8287535ef GIT binary patch literal 72408 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 literal 0 HcmV?d00001 diff --git a/klippa/test-data/fonts/cmap14_font1.otf b/klippa/test-data/fonts/cmap14_font1.otf new file mode 100644 index 0000000000000000000000000000000000000000..a4283c678f43a09d0a37a0a8a700887574a302ea GIT binary patch literal 4484 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 CR3d%= literal 0 HcmV?d00001 diff --git a/klippa/test-data/fonts/cmap14_font2.otf b/klippa/test-data/fonts/cmap14_font2.otf new file mode 100644 index 0000000000000000000000000000000000000000..4a7da8041616f07349d915873842a56782e92298 GIT binary patch literal 4480 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 String { for c in text.chars() { let c = c as u32; if out.is_empty() { - write!(&mut out, "{:x}", c).unwrap(); + write!(&mut out, "{:X}", c).unwrap(); } else { - write!(&mut out, ",{:x}", c).unwrap(); + write!(&mut out, ",{:X}", c).unwrap(); } } out diff --git a/read-fonts/src/tables/cmap.rs b/read-fonts/src/tables/cmap.rs index 7195e95e5..1a93f2808 100644 --- a/read-fonts/src/tables/cmap.rs +++ b/read-fonts/src/tables/cmap.rs @@ -60,6 +60,21 @@ impl Cmap<'_> { } } +impl CmapSubtable<'_> { + pub fn language(&self) -> u32 { + match self { + Self::Format0(item) => item.language() as u32, + Self::Format2(item) => item.language() as u32, + Self::Format4(item) => item.language() as u32, + Self::Format6(item) => item.language() as u32, + Self::Format10(item) => item.language(), + Self::Format12(item) => item.language(), + Self::Format13(item) => item.language(), + _ => 0, + } + } +} + impl<'a> Cmap4<'a> { /// Maps a codepoint to a nominal glyph identifier. pub fn map_codepoint(&self, codepoint: impl Into) -> Option { @@ -392,6 +407,9 @@ impl<'a> Cmap14<'a> { #[cfg(feature = "std")] pub fn closure_glyphs(&self, unicodes: &IntSet, glyph_set: &mut IntSet) { for selector in self.var_selector() { + if !unicodes.contains(selector.var_selector().to_u32()) { + continue; + } if let Some(non_default_uvs) = selector .non_default_uvs(self.offset_data()) .transpose() @@ -571,6 +589,7 @@ mod tests { let cmap = font.cmap().unwrap(); let mut unicodes = IntSet::empty(); unicodes.insert(0x4e08_u32); + unicodes.insert(0xe0100_u32); let mut glyph_set = IntSet::empty(); glyph_set.insert(GlyphId::new(18));