From df9e22656de746bde65dee775a66f1a80f1c2e32 Mon Sep 17 00:00:00 2001 From: Garret Rieger Date: Fri, 16 Feb 2018 17:02:51 -0700 Subject: [PATCH] [subset] add a glyf subsetting test for a font with composite glyphs. --- .../Roboto-Regular.components.subset.ttf | Bin 0 -> 2052 bytes test/api/fonts/Roboto-Regular.components.ttf | Bin 0 -> 2572 bytes test/api/test-subset-glyf.c | 21 ++++++++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 test/api/fonts/Roboto-Regular.components.subset.ttf create mode 100644 test/api/fonts/Roboto-Regular.components.ttf diff --git a/test/api/fonts/Roboto-Regular.components.subset.ttf b/test/api/fonts/Roboto-Regular.components.subset.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e759d77675a074fe740ffac40d5cd177db55d2e9 GIT binary patch literal 2052 zcmZuyeQXp(6o0e3xA)PbcUP_r?e=5WYYU}!Tq#WhwUHCBos(L_x&VeVqmVu+~;e?Wo?MiL+~G5*CrMuRmmO?&5idliH@oB7TA zy*Ka8o0**%U;vPZAc5K(jx@n`kO8cxP+QsD)*1~@>>5Y@C33Yn`ogw%^G_5Yzk$5I zH5#m)aGd-MKv+WF)jbr8Ly7zifH;U;@17V_t3S710FbGFM_;^u=;+^FU!eUe0K3v3 z8;yevR%5(Lv^)C;kM&(SucguE$GUl-XK2#nmYmpsKib^`y|JF9!#^I!@y;QyA3%lU zYs)9d?;tN97#f>gH3hejUqhZdINTkBEAR$#nvY{BHW?S{L_6{xwP_HoS_!Gxh zk#CL~LF zKsdk!Hy3Xfaxu83W+U6ge5~=8^ul{Gr0?OdnFknquZ4pP@?Z)$M073(m84wyjA0T$ z0(mP$LLwnad1Ub9ZQ-6^QefOst!sCb1%u1(r0o$+<$z3`a)L?cBP|DaGWQWp<(ZLc zHfoxvi9V*~Ypc!5G|{?u>9lM4#&^GpadCEew^!J+JXaumyLgFRD`TY-RS>13kA>t7L(!b;BtUaj(;0j z0aVg4&`_4rr{hYmKWgN4&2_lHno9rBB1eWubP3TgVZN*#AM`2e&XFalM ztavxKwl+hEEwLrsSb#q3c>yQDE|OVl!2MP66OmvRV6)pK(U$cm9o1q)vQg{6wvo;s zwi14*XG@t(7Sp)0sK?V`VzG&4T!v?kDu^8XE!^IwCmB0q%(2WH{8UNOE_NOaaOPLl z$e}Q2T>&omIa{v|c$tNc7PGpE8nJy``|_rs`n zR&%I^6mtvJEahQ{vz~^U3dIe!YM5m^p5CB&QJfX@9h=vglGwhzuA+c+(!t%0)rBNk z>itg@x=4~=InY$AkYs)5=>7&DNw(Me+qM*uWbcU7SDH~A6J0I!C8Wza*|R6x&v`eM z=x!w4DzDpVmr2TPtX*5|A;}f0t12;l-EGfivw~D!juj`6-M7@%A~u@pBzT=5Sj5Is ztpvjaX9+G5WC+TN*f@ENlgBuDjHg_sm)c!@B=}HU~4IM9wrE?*l!qt z4#s-80Mn3wN%#qG@jb8)-hwW85$c3SdXl+tOH?06FC6lP@sZ!jmc!!W#rbqs4e^g=(3!yv?91bdk! zbC}+f|0xWw7aP6^8GH*!#{1AL1<2@bppPyf8qtX|6+#Ez8KuC&O}jeKUm`W#6=uoW gYoQJ#(_YklY-AA1`$u|ThVsGK*byjy!ozg?2S>Bgb^rhX literal 0 HcmV?d00001 diff --git a/test/api/fonts/Roboto-Regular.components.ttf b/test/api/fonts/Roboto-Regular.components.ttf new file mode 100644 index 0000000000000000000000000000000000000000..816e3a28e1012f4591bf4838ae8ed4bed60ab941 GIT binary patch literal 2572 zcmZuzeN0=|6+idA=jUhaV4K(w>;&G!Ktix%^X0S@HC|?*Y1+UrY3yie>|g^)A@&F~ zv{^UQuOO=po2s^Hqbkz0wp*E&Yi}APsyZrF+dA!oM(MOxn-uMzM4Q@8X(nwM*gNN$ zgl5`B_nh-P_uTV!eeVMp08}86K_y&M7i+FH2Gctbi zU-5Zdp8;U+jwDWGK!J_uuN~JdBV$ht?@A7z!8I>{aAh<(K3#6Mpf7`j>$cHUBDr$x z@{<@ZfH*jcin2?FHxbVut{)wroOb-2jUygKTsf8=N(l3UhFC>hKAxD)2tm<=7$K;~ z6XPjiq3jFH?@x&D$)rzA7RMop`B469W+IjO-test0gPRk(;i@eT==!@1Sh2O*2*e- z#l66xJIWQmJEy4k$8;bf5M67)j=+8!00OAM715SsjF&Y>wLiLV#<*h3ZTJ#oHokG0 zJC*}2ZFWybTSt4at+mS7=&6&P&NipVerFAM( zxt0AOK)mpXcthF;)ld)5=j$38F;8A+}<0;WKUh=)}57Yt-+2Cl!cuR zly};xy7*t;|3%vL!+&3%x_V#yjmw}pM z_veK5dbw=NDeEwA23hZ%KWACja*{ZQ z`xh}IF04N65caJuRtoRmy1;%_%Myk227b2C^y=zoY+Cqpu~@3axLatXA38IFD169v zgX8X+a!%!DpauH|Aj2F~!XOxQgf|7-0YW|MX%!#>zk|eKskZXgpTwfz5q$#m(V3W1##hNIAwgYc!TmJf5x$b z1x@$dau*&n1=eDgwh=XeC_T@cq2F@lQm6S%6|vB+(!$R1oQCZbnLL#LJL}v7_6N%g7l99$_oR zB4UhyeLq()>DH(KtOy6$(x4QFagN|be{7{R0aNhq<);29J_l!Fi>&w@e|AgGBp!a$ z$C+1EyN`xBi~G3XtWPenmIH>p4o(EmbWvc3--=HgWCp5Gc2$N?%Sa`P+SnA58Sg&m&Aduwl`Fg zPI~m=uI6fz3_)*QwUs3K8;5#Y-6R>md-Cg@9+H%Ajr8B^BFQw^9cI0vez zfm!MVhx8)Y@De%XP2gm2fn8pLa`_XypQRx{4c%ag?j_yGk}Tj0XMq7o!x5a5I0qnw zcXJBHAORC-rH|q<`d{Gx47&LWeld#ptsoiSOMTQJV)`peZwB3TS}nZ=7L-dmz?UQd z_k$Gfd1w$^Lr+YMfoo(U^%%Iu5|hWlMXxphdZ!)ivDCzIj7HvQO1eje8mfpa8Gf%Q ek{+#iea*5ATA}@}81;ILdOb${ofv3-d;AyLMPU^H literal 0 HcmV?d00001 diff --git a/test/api/test-subset-glyf.c b/test/api/test-subset-glyf.c index 3c9d8fe9f..96e37bbcb 100644 --- a/test/api/test-subset-glyf.c +++ b/test/api/test-subset-glyf.c @@ -52,6 +52,26 @@ test_subset_glyf (void) hb_face_destroy (face_ac); } +static void +test_subset_glyf_with_components (void) +{ + hb_face_t *face_components = hb_subset_test_open_font ("fonts/Roboto-Regular.components.ttf"); + hb_face_t *face_subset = hb_subset_test_open_font ("fonts/Roboto-Regular.components.subset.ttf"); + + hb_set_t *codepoints = hb_set_create(); + hb_set_add (codepoints, 0x1fc); + hb_face_t *face_generated_subset = hb_subset_test_create_subset (face_components, codepoints); + hb_set_destroy (codepoints); + + hb_subset_test_check (face_subset, face_generated_subset, HB_TAG ('g','l','y','f')); + hb_subset_test_check (face_subset, face_generated_subset, HB_TAG ('l','o','c', 'a')); + hb_subset_test_check (face_subset, face_generated_subset, HB_TAG ('m','a','x', 'p')); + + hb_face_destroy (face_generated_subset); + hb_face_destroy (face_subset); + hb_face_destroy (face_components); +} + static void test_subset_glyf_noop (void) { @@ -79,6 +99,7 @@ main (int argc, char **argv) hb_test_init (&argc, &argv); hb_test_add (test_subset_glyf); + hb_test_add (test_subset_glyf_with_components); hb_test_add (test_subset_glyf_noop); return hb_test_run();