From acb4627ebaf595e266cf294ef047e87084b520da Mon Sep 17 00:00:00 2001 From: ariza Date: Wed, 22 Jan 2020 12:28:30 -0800 Subject: [PATCH] add api test --- test/api/fonts/AdobeVFPrototype.WA.gpos.otf | Bin 0 -> 3948 bytes test/api/fonts/AdobeVFPrototype.WAV.gpos.otf | Bin 0 -> 4448 bytes test/api/test-subset-gpos.c | 27 +++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 test/api/fonts/AdobeVFPrototype.WA.gpos.otf create mode 100644 test/api/fonts/AdobeVFPrototype.WAV.gpos.otf diff --git a/test/api/fonts/AdobeVFPrototype.WA.gpos.otf b/test/api/fonts/AdobeVFPrototype.WA.gpos.otf new file mode 100644 index 0000000000000000000000000000000000000000..967ef255431958ae3e60b972531b8cf22a5fe1d2 GIT binary patch literal 3948 zcmb_edr(x@8UN1R2fK$ARwU8~O>YcJL`9^E_0a|tiBZEEVKfgD<)LB`mf*@FP{c(* zxx33Q?Aq-HU1Q9c8EdAMwuw&L(M+9YI+NJ6f7H=*(sca8Hfh?)*erHQw!d@lT_lgz zblS6X&iQ`d`Ofz`-#K?3)zuElq#iO*%j$}X;@YyUKOmwBBID>o8y!_=_RV>T$n+cV zezA6Q*`^QYTHYrz2Y{b^1o*7s*;?TDfZH5Z3yYuhw_`1>9(a3Iby@Xm_udEr{}T8w zHElJmvzqg|i7Y<^UR>8y(?SR6Fz^lFl{>Ni+xZ2}L{=I2#fBX<_1V^H$eSX-B@JMt zZIU(MDV*Wui(D^N% zXfNi<$>sc3m$$Qs$NEBfJn^`Dod}x%|+ne15L|t))D^cKk}C60e@P5@?HbKleu6%iDhc ze3vKG>3MqF%MW_C%KXtkF5+YE>kwUcds%<%i0|-lYd(Mc`F7pCg%g)gDT#;2FCT0S z_8pyFq$o#0M?dOJQG;St<#`XJD8&a#-Qn*OJkh?NV@~+P{l_$Y((^^_j8)-92 zw1#$36Sb0?x~Z4?NueN((g`|EXK9Siqhf!>&axlF3!nWS8Aatg;-AIMKD)^~=$H9y zK7u8YmR|H>^iK3|aFfi3?53fCpw}+*2RJe-^Pt^SSArRuLY^qp9ruK~e0H~(P+wlV zS;hA(=kb|cW!!I1Ylj@Bn3ya0n5b#9%smUZ8>&>U*PbTxmArGLHv+Oh&2YjneudkHruq-f*>3di#>&+m#11p7jvHT?DAo>_e6h5e(b ztnK6Px|H}+6Ymc1?;ZK>mH9mAMmz`Cz*MxxcO>xWJ5Y+4ZdS$#SE%FmQtvz-a^-W! zm;<=$qov^yX!V@T=kLdzJwr!)1E=c){Ui7B_^XG)gI)!}be zbPE1c!-M|ALoalc^Z4$BbF>~s;5@gQ$4`#!yC`$_Lp))RhWj4m!F3A}N>*3!7{UrI z;B~Q89O()A^Ee7Yyb48t<7WsL$!i6v0I`B?38FRl>=4dXTT3Fd6g=Y z7f^PhanPf*N|4E6l%r_kRTCYpM@1NcR9YKT5)3b@(9S3eJ;lWbKp@C#9uZ1kc#vws zOS`InJ}5*+QtGAEL`tbtBU1Z?FQT&#r<-yyBR>d5=n=Lg%H8W~bqdhlu*-!>`11dI z?I*1>3!4VL28pqNc>kqA=`rB-+RUD&Vg~OdquF3Gnk31ndV(R<%F0(c5Ly{+k*StJr6+V+B8#N!M4j5C3Y~8xyHujnCd!s(>9m0W zidetSPbWKT(`g&-T)9q9BMV!p(-~C2vUEBV`Yk$br}^}jPEV%-+#5A^$gZXD==2QS zt(4Ae^?fTtwK{RvcHlEzfmF8wxzxU&TEJa^7jzFk-*waoJ-hK4Z@`D$NzIUI1%EH* zI}-AwjQkm?|HjfIuv`yo`|zjXKUte9_rF=Z6T=tr(}|qaBW`WJ`;IEa(}Z|x^&Owa zch|598g?Nc;w)Nm`|oyY8}zes(H-jUyVg*^+tbnO!vjK6t zzkt`}(6bW}ia1@U$Q_7vFEopKlW7qZQW1WOX$7iK)M=f%(l)tP2$>>UhV>?BX~cdZ zwG(qYx{O!5kd~mAU|a&Zl27O?!;M%)4(z^rratMZ*inw1t7r}VyOWX;k2t&C7;6!q z@TWrc-v#QkH&5iah4!mE#H|xj#fWYZyq2eUDC7GeR$Y)@jz8ZEk!kTOgq>8C6snnO S!rEN$Q|~Dy-+;!?Y5xMPD?U^J literal 0 HcmV?d00001 diff --git a/test/api/fonts/AdobeVFPrototype.WAV.gpos.otf b/test/api/fonts/AdobeVFPrototype.WAV.gpos.otf new file mode 100644 index 0000000000000000000000000000000000000000..c9da07b6eda3a7fe17cdf0090b3ffda96303dbfd GIT binary patch literal 4448 zcmb_g3s98D9slol4`4w!kcep=b5RtZh#0jPn+PHrV}uC7m>Lxk#Ufx3JP=CY0C{|O z$Lr40i-18L)7m^L)A|^js2OL{j)@az+Gez!B%P!&wXL0u^{|Jz{&v6b5N$JwlYTe5 z`+x2KvHRcGW#;5$QZyqnl4WT|Msn-o&wfJ`(nDnW;qvrl84q5Y_#Dv~BM}uW&&teB zDjFCDz61D;<=M}qeVUl^AW`Hd;2T!trmnd@{pRPu&j|b};IA59+DsH>1-?5odrtBX zT$LR}423pj=cMMmGw~BQ_^?NR&D)(PCk_`>4y%J6F11$;elOL1Q1PBLZzWD`)C zOY({fUdg+ZOQgV_Y30t+UFCuIDH-usf^Q{)tcV=LLyVdKQhNAz8>1HgiwuUVpwI{2 z%(Gg1W?5i$z-%lvIDi{S5maccqb%jeWKs@Nl;JEz2|b2=U;YA0k3xR6u~cf-gtgj8 z28CgCOz7RFJPYEJTFW+2vhZ3lnhhqSNl}7+jr2}UPs^kwluB!r%U^yWEU`?h<~y;= zN*@HR(lgdsHD|#8jz(-!_Fr!7l zG`d2OX=(ToE{Qet#C?2ey|Q2NHi8{VL$R7yLkippp^ZKFae z$2=ud63wLrfKoA5rL>s}08f+La!4QUOWPYc6yp;r9qV3Z3bcMwt={dX`HWSSt7Gm<`DS z+6oOqPr2SV6TO#FE;waancJlg*1IeeNQ5K+{54i=SqW@<8t%61yJq2xB;8z9gtk7pesf;=U;d` zsvqP2%6VKJc$D9$aa6;VCU-pde`xD(Z|*?czDRGa6EXwy_%AoBs-u4~_r=zfH$X%8 zYzUu{VrKu1J?p>~9U{E;m-PTa;NzY)9r{}{S zkM~5sb1x)XJ5V+Epi*5Z`$~gQo8U^CLm&uB1;@cRAwtm9;(vog8uDgI-&|s#e(B zpxhZ35pl(%v7`+U#`vq8D)XRFj>Wsg2snLtZ*SN9lF?6`iJY^bTF5-?P)~ZMfpJJYdCI!Md2l z%}$HS(dM%9DZCpjF*Xe-T`1Kkk8qQfw_8lec8A5vr*RCmm3LZ92t>_a2pHP1nxL`| z>%?iXiAGxy5`W-P?i*K=&avDowN=+I+9&wnWTD2&MShEwYqoOxY;Lod@}+>o5@O}w z=hfW}JplK1G{AzVem}ewCYQqS4B^X54c)a)EWSO1MK)NqE#PLq;_W$r#ImpA2{k>< zolS1{3jS_a9hUZ~s{P2kO+(kpRp0Z&*Se}2x_@+W7Voqny!vG@<;`=pc0Bztl)|^G zt9^tew&&JD$4u@nPvDt@nZRpqFZ6Unt9>AW|HD^W*WT)EKC-1_Z}-F8cdpUX=1>t# z^~r8KWM0@`@7Xg2tFl3bPCmPL!Ikjo#$3=z#mWV8q^>I8lfRt(@YKb4q%~svL^kkyl=VtQ2>7!kt_2 zSy4e*355zs7Nf3)I)u(^I8Eu*XTShV&&7f-hP;e*gDlaPqg(?fTl}nD`{lCs*VO@H_ zLfIHyyRa%^6R)j!Qf%7_%Naafx;keK-aZVYG8MVG8h5$f*rodDn3N}G!u~|E{2Q&% zK`excu>g*jq()O%n0SW^oZZlA#KOg^Q{YP52yKjVTEh+25n7Z1*&%Sz!UnQK8!BK# z_)kF6aEi$LjliEAp((g`YPe`&4n@qDf>=W-Qp72|XHCyOEVUCeh?u3UsAMl@M4Vcb zXqcIWpcXL-ERbam$h{&do-@QCeYRFXvzOyZ^cIx%S*-K~%Is|h~VE+Nk%EIXY literal 0 HcmV?d00001 diff --git a/test/api/test-subset-gpos.c b/test/api/test-subset-gpos.c index ac460b395..5546bf27a 100644 --- a/test/api/test-subset-gpos.c +++ b/test/api/test-subset-gpos.c @@ -54,12 +54,39 @@ test_subset_gpos_lookup_subtable (void) hb_face_destroy (face_wa); } +/* TODO: Once GDEF subsetting is implemented, this test may fail & expected result need update. */ +static void +test_subset_gpos_pairpos1_vf (void) +{ + hb_face_t *face_wav = hb_test_open_font_file ("fonts/AdobeVFPrototype.WAV.gpos.otf"); + hb_face_t *face_wa = hb_test_open_font_file ("fonts/AdobeVFPrototype.WA.gpos.otf"); + + hb_set_t *codepoints = hb_set_create (); + hb_face_t *face_wav_subset; + hb_set_add (codepoints, 'W'); + hb_set_add (codepoints, 'A'); + + hb_subset_input_t *input = hb_subset_test_create_input (codepoints); + + hb_set_del (hb_subset_input_drop_tables_set (input), HB_TAG ('G', 'P', 'O', 'S')); + + face_wav_subset = hb_subset_test_create_subset (face_wav, input); + hb_set_destroy (codepoints); + + hb_subset_test_check (face_wa, face_wav_subset, HB_TAG ('G','P','O','S')); + + hb_face_destroy (face_wav_subset); + hb_face_destroy (face_wav); + hb_face_destroy (face_wa); +} + int main (int argc, char **argv) { hb_test_init (&argc, &argv); hb_test_add (test_subset_gpos_lookup_subtable); + hb_test_add (test_subset_gpos_pairpos1_vf); return hb_test_run (); }