From f605471efab6af9d7358daf45131b4b132aa038f Mon Sep 17 00:00:00 2001 From: Garret Rieger Date: Wed, 4 Mar 2026 00:26:07 +0000 Subject: [PATCH] In the dep graph traversal add implied edges from features -> glyphs. As with liga and UVS we want edges on both sides of the conjunction. This allows accurate analysis to be made in cases involing conjunction with feature tags, where all constraints are satisfied. --- common/font_helper_test.cc | 6 +- common/testdata/Roboto[wdth,wght].ttf | Bin 477420 -> 489752 bytes ift/dep_graph/dependency_graph.cc | 126 ++++++++++++++++++++----- ift/dep_graph/dependency_graph.h | 47 ++++++++- ift/dep_graph/dependency_graph_test.cc | 80 ++++++++++++++++ ift/encoder/dependency_closure.cc | 14 --- ift/encoder/dependency_closure_test.cc | 31 +++++- 7 files changed, 260 insertions(+), 44 deletions(-) diff --git a/common/font_helper_test.cc b/common/font_helper_test.cc index cc7c5889..90c578e1 100644 --- a/common/font_helper_test.cc +++ b/common/font_helper_test.cc @@ -356,9 +356,9 @@ TEST_F(FontHelperTest, GvarData) { data = FontHelper::GvarData(roboto_vf.get(), 5); ASSERT_TRUE(data.ok()) << data.status(); - ASSERT_EQ(data->size(), 250); + ASSERT_EQ(data->size(), 252); const uint8_t expected[11] = {0x80, 0x06, 0x00, 0x2c, 0x00, 0x2a, - 0x00, 0x02, 0x00, 0x26, 0x00}; + 0x00, 0x04, 0x00, 0x26, 0x00}; string_view expected_str((const char*)expected, 11); ASSERT_EQ(data->substr(0, 11), expected_str); } @@ -448,7 +448,7 @@ TEST_F(FontHelperTest, GvarSharedTupleCount) { } TEST_F(FontHelperTest, GvarData_NotFound) { - auto data = FontHelper::GvarData(roboto_vf.get(), 1300); + auto data = FontHelper::GvarData(roboto_vf.get(), 1400); ASSERT_TRUE(absl::IsNotFound(data.status())) << data.status(); } diff --git a/common/testdata/Roboto[wdth,wght].ttf b/common/testdata/Roboto[wdth,wght].ttf index 175c7b7e6ff75073f0cf67707cb67108f1884a64..1d3b29037dfe0d73376828e5fd2d6263aa850913 100644 GIT binary patch delta 173421 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

WED+gTR>#R|US8bU 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

4RhTfi{^tlF!HN0n0H)C$}XHXW2{1 zM`O0KtSUyl#oxMfQvl$r}@5z>eSeK6z6NC0GuctD8B1`^;BU zRwV95YF{ybUJ1X$^3UDH^q!(Z^pz7i-Ee;2bnA5_QW92n$4()&yS(lTIL^|(mRG?)#>k* zQXex2rdIRCl-V%@;NOo{kupEVR}bS!ej}!DGClZ5zmYOE`5eiFEryF2Mn!EY!E$`a zZzNrg$$)7A*p*~@_oL?0lnF71!77bAQ>Mml1AE7ukUAkofmItll09h@n0HKH>fmTf z>}sPfS)`s|*;BsM+Gu)Qwb77tA(pb#NV6$rKoYW)w!#>nGB9l%WcT86r;-OEfUSNr z>2&lCwzo7TD+U<}_U=r{j`cz|*<6#7AN>kgKHQe2<*;mZN>T#i7qZbQ83_x)ru+NE z&W|RUFW+C4;)NR6$^PgWV3W;d$)}^Il4&3iJ1818AiTLV`4qqL zm>cbhdC?T<@7`#So}9E9repkl6BD8lRP9}V-{_&y4Umm8pG)2qjqIqsi{bG)&J`=o zN1|(^vA47?i;ddo-U-LRUNpxg?}(;1>1p&xia;eovd5B}HxBADI}{{|72fw+euyc@!xUK?ig ziRztv3No+pRMa6Z5nkhosJ(G0I*|2=%1I6e=GK(rWP0#T#;BAW`goN$;YB?BBK`4T zZ}JAn`r{eJaUQUKMr~w!6uo<$|H6kK7!I=$Cyh zS&_lE!L2viB3DPg0@+x@_e9c4swBks#_-7HiK94@ZcS`Y+Qe*B;^m|=V*ZB2E6FH| zuvZ&7J(5!Ur13=Jh1gm!k6$KUi5vsduZ*W6MO(_}oZJt+gSWCZ$h4B}j7p`c#$_$V(Y z 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

b;g%KYsEi#w=bV5ppFqBw_|JWQe?Ed%1^ zlEjDOp?|znxZ|Q~!#l)I?{bhSOVZ1O`?0L6qhvDEdW4dsGjQLwi0`fn2Sd|&Kz{b;j_gCcY~ zbBu9F;1>3FIc$P3EGu(jXYhP#Wrnb25xELBY)}(+fWY;dGjt~v7n82gx(-c9eBB3s zIHgHz8WYqMmZz?vzpq=m4Y?n%iswNgciQMJ`-+UNA-7*>9mL7Ok{7GJKb0+km&W)1?1i26!GFMJ2_QPpXQR9tBmc zhI=yMCGl}qdp-_g8R2uYiTz!iO4=)o*$@0D62Dd)k)L>uNSygJpmT{MGMExhK^w?J z+#pa8*2`WYFo07HHq0uN!RH94N)ahc>t{nL!aG9W1paGkGNs86g}8LSboLI>k&=J8 zeh2PE8*Gg}BHNy$4E%De>9qSXHhUSED@u-|FvxUELxaJN%p%jqiXHn<0o8Y!VSjKv za7~pFFdM;IDac&VF(S zX~g$(^$^#Oi*xeje>12H!^)KgpbP5Ec6-=xLZeu#a;39h3`b*MKKr6GN+r%DWOQ`G z%7))guVrJ{)8|M7MX+1a2x#IHlVf@_P_J=TGm!AveV`3CuI&zLBmF4*S+JO!v6zpL zQkmialz)J{uBbXJCOOo}nbPh4uDc4#d7AN~<+y5pBzL*pa^_6C5J-5zN)h@35>3UdtDkmP{@5sWwdk)RJuGH%^(0s1Q-52^`v zuUR${=NN9?+qE&9R}uDojRtL2Dh>y<+9tw2w-^|Q6v;_YK8Hdn2|a)W2&((81~}D} zS3fk!eg^>CxR(hX-U34s5}hbf31eP`O7JbrAZ!S>z7u1?SLvoUb6o4^c!r77<2Xz1 zxMGdK5@bl|jvEc|J5?vZZ|yRNZ`T66iPJ-yu{BM9;>pGIEgm)=TwWs5Qhq`NKJ zfhv$A5s5l@C!kvg&yj?y5gc=Px{Su!ZgB=)jkNFRAz^m8w=&8JJ(hvweh9m$6aB3E z=Uqta0OuVR=iYudfb@b^Ss{`_vsXB5SgjW*{brk7Bq0<42Ws8OXNa>m7@GOiFY~cH zxf9{NzOf5uUx6hLDUq@mdV6>e%2l}Klsm^Mdc#ArX0@K9^jmGv+jgUfCT_uV(X61c zWu$_GW`?`40gF5Jbfs_Z!d|6l0<*e;pk^>Ng&RZ7hSq8|0<2r#no|v6f$D*P2gq<& z)l$HVs^(I>-_=AG#xZ;BOYn@5^~><@l2k!^=B2uOe@7zgg;@Y!jsFk#QF#hGZo1{8 zezFxe=5(mBeA4qq?D?cJ<(^-`3_p1iBrRc)j6CM`2iHId<>i~~->wG9KqAUxBjxc0 z%iHLXf(Gtmgn;KtlS>NTh)pF9?C#{4H^|^f{F$Z~Oin>70cy)=h=xH(^&hpihv?hK zbISh{qKT#e83$8BAZR@@%5AvO#quC|8%P#xfq=>aWtj>}h=F;cEbthgy+K<9={I!A zv_<`rp)EEia1ynsq*V}{5YP%kV|}0v8YqkP-w5ejy7Vbs1U(?umLByAVnTfnOI%M< zI}%wBJGSS|@Vyev!!HU-=j;ua;*(6BeQ+q77d+Z5dS@p5I zU_RQ*?dapv^){h!P;!{?W#qbs*x_(FB23W~hvSV6bm997Em*KB=F4ZmOkm&Z7~AV^ z%0VKkF&KaMee{;%EI*X(F0=bjWB1W%h~4i?4};U)lDR}NidesiyglH8tElZw-Md#7Ttq3Q;^&tfu4yJwyZzK+!ZY!_(=gGIp)6}Am*KhxEj-=jR(snT#~i| z+7zt;A=BeIWdrlPxUt|-;%zQd=tiIefay412j`d{1aQh$%13z#j-6vv)h;t=!14o+ zsnI0&2;#ah2+o6me)k4_H11Ptky)LFGj#80+5@rmq($c9k^xaJcp`R6ppQ^`-!5S} z9pj8f9)h+wWB(klK4xH#8p6P*ZP3${{&kC~BMSp-+!g>!BWQxd4xa@jg0>A;p)60` z9FVkh+W}D_eFws2iMEJ2#^v>Xfz`{@77I@lXA@y=QKoIzF(kn@ce9ffbb=?)kI}gl z7joik#evnjA26UjZ5eKx1*nx$)~~fgQo1Qau-A09ILJJf^bDQSB?_Ik$yo4KI~Lqr zeJZIPa-i)jXCPkEv!iiRiTP4D&f_J=lOF317bOiu6=~yo`C$3YTX0rFAFvlm#hq{% z{wBVJ$(rKGPim;rIOW?t;r#RCxVciCl2FS=p)YOWKD6wXIOPm9R_gkk*#n7FK&mQB zs-fNI_iZA3K9_^)f)-#5ekOJiXB^>|Y8n12kx6DpheMAGwoos2?KXi4qlbS6+=Dq8 z6+rvVzyxg+18ISDKl{ZGQ#R4iU|#J8q8yLamHSq)bf%%=@z$wUOvM!(=jyJ|+sB1l zs1={tZGsa!Sy%UPAFcAjSY1yi#`MSx8usAM+@zN({X|aB<=kjF1x7++3KtHp66+%7 zkC;%!$GVcwncqT9_|$F_oiK(Xc~N(YgA-2w{VUKsVv{}@a1GlgSfZ9+@X(}_l;tiv zz}eBUK5b9fLSB1%w~19O(pY>Bi|@ta#aEW8#RhhRO7+-PpNg7vaMdNz(!z+=G^`lW zI#dL+XftLdU5dAHY174#oGu4kM%zSJV&(UDhknYl^_aXtavUTdq;;Ujuc9 zm%qNVW-)*8<{aGs;^?@EZUvkbi4x68XC&sR5@O(P8aTt3%d?(Z+eU0BuT8s71 zR2FIU4vEdEaA?!&MVP6_f@p~RjrX)Y8>tt^PPF+O>P7n;lfO~gw@tC+h7Q+e!bN&B zpO~emAT2bxUM?l?GyGlFPY!iPx+jDFUg8sor`c0AgRn~VkbU{58(2l zW2wcMwyZO(Fhb1}*1OSKi7KAT5p>ZrB#W={c*EuB3|-+1w&lxT61W9;h}#mLzL-2c z%J8%~sMM!$PCKFP0EqTuy`2{6jULh{gb30$4-6_7iWPBpr~uz3!`G@d#yz;vLp>1G z$q)wlAcH&^qo0K@K$ZBMv1uJydC@#!<>O(Kb)&`mfU*r*Jg1)^UJ)?hdai@oL&O33 zux(aIF7D9N>MhO(1?OZOXF_tr&eE~wCEt!-M+UB$XBap(#aLtmg1;Eiq)VOLF_374 z`7DK(5>dc@Zd)oGV2$&I-9{Pd*bkM>cGF@`wE}Po+;caDiSJ*>&~NHI*?msI6i27d zQdOp@$%1PkVjONEb4f0*jm%Z0G1?wvpT7Eq1ANNF1qddfqj`N3Qz5uO#qyl-WZ9ep zCs&@wj5zc7mEu7mN`8&XV<))?EPf|DW!lxH>KuI%9uZu}+7Et$w(?UZgPFTC1U$%+ zdYU)XMe~y$#L6SEyK6DTSkFBN?4gR7zFw5tQXOk!x|>Eomn)C!Z5`aN!h{+SCRkv0 zlhGy#gLRjl{zh0+@CKHX+yfFMrHB4dEi+F&=Ll4c!8Ek!O$KSOYcj2bxv5WXWSaWK zypFnzh*vS&cqq=i7S$_ENZzm;jk%bE*i6sierALJrQw$s91(G(N5XyEMb*u?bT1)3PJs2fHxxa!`|Jq&ZuxiM#`f!I3A5F^mf%CYi4jWYKF#RFV& zwR*e_Z@||yRH!`~X=F_)KT<4D;~`>cjyxnP>w~2uo1zJvbc@-zjWQTFD6JV4&7Fkw z;HpL(<%n|C0ndc+X26w#=OTa_7L4NuhS8|1RU>HLpmJ&icD~WE_oLxz+}9MfOwS$q z;d|$AsY1d#*wFyeeWvQQeLst^)2niIVY&Jsc69}aS2}!jG;L}Oaa3zgjRo&}5S0R# zmOeW=YHrLmeCYoAoBPyN9l>^V6Mr9nU3z$QG;>n5nhlhu0HtX_X_|x5RP1)+q0!^j z7$+Q*x(2k)qEtrY;d&d#B#33a!$u`FeeWJ2-0^KbRa*rW<5hL{+qwd^sQVjX})TEHKOnZp3<9icUqUO z^mr~BBRRV7wR#a@Kl*!mW$6|sok#4JjXe`N5}|+2(%+__JQ7vnLuVZY5z6< zvC}&Q&Vuqqa;w4U!v*Dq3@NJJ3k~oP)F?cZE5I$N$Yb*5yx%~NnIJ@72FHk^E`C8G z>PRN`=R>++u2eci7KBHzQ>DFprn;%zGfymJq*lnOOb{?d@d&JH zOz@$816IoQvqHxvC!}0p9DMzkX9VgAYm_=-cU zz3FM&?$z&9`na8zC}}lSrF+v@yaY7;ph~vR zH>0=POBx zJ1-ece;hS^z18$mO5=KPswL*1gj88U7V1pCg{1E}Mi)4#Qo5_y_znQl1Qw_LxSQ;1 ziFY%j5As>w$-e=R5d4!6T1y`O^(1PCUqsNTJj>`Wqid)>(=(c1KZ;5&AqYwoY$__mN$VBh*YkK^)CXSvug8ty3rWUMLXnwCmz6oa&i#@AA10g4eI-W9}fS`mZ6@- ze0fR{MGtb|C``!3{Sf|0PIpESwfb=Ul*w;UIrZ%-??j;xlxYOw@x=2ucU{y`fCVOk zL%P%yS}PoL^wi7j=g~f(iut~migr?aJ*SUpbT~^IO+=mB5*9PS<1KZG?n`B1_BKQG za#XaFB>RB-X8~R=v?tLKp8lzA#U|e(gN@f`r@q=1I7{d|@;{JE!S$?@HtF8_jzR&w<#QF#Syo z(!qOsjPK*~T|DNT5SckS!&S0xf299FkP~7f+!Ecl^=%H5iw$TcM)A2YbG-w0%)Q;= zqYQ!Ih{G)!?)46>_O^(PYKm~(gX&vgi?TS%D-x%kX%kEJ4;&Y7=e+ac7J?l}2F-H2u({=6dB51OuH|OrH(N{hwZUX(IokpO zFLOx9l~5=j1R1^r`|?G{_5UIgX}4aPJLArECq%cSQ&MK}U@8uN%57qtuVaSb;ASz5 z%~>%DpZP{!@^#XqqXEfOs9E{*zVd%?J`YH#S15g16TgZ{iSDj>h*J1234nm6Fwijxo7_=<$ow&R9=q%o_Bd^=i+Edt+6m1 zuz5m0YOdn+m9z8FhxOFHZj9vT)F8e(S}?T8%som5AAxA4C)%Ud0_Pb4%Q8B3u{h9+ z+_;j23|7>UoOmIXqdS^FCVs#=@gjBEuw3qtzgSs~)`8ygrOlj=)D7zFKY-_RND)a< z9rX6bMW0wN^MDp2{nE}mf|01kLKzb`x<$ca?Lfgl>eGn*PHX;KLC~9 zBPzfQN+^|2ig=1$I?ug{3K9bvD^ysw?a;)vK_~nOtVUJzZNt@yEa&&qkJdiUqjF1Bk2eL|?|4 z5%QGlmOAtoBnxT{B6e%|b{U|^{1rX0$Z*JZ$XzNxGvhg8Q!1Ih#I9QCWouUNc4xG< zWDhcf^U`q635*^&O_X)R=@KT*I6Z1RN6M#_`N1VWxwRM^N=F($o7FC1Gxl;^h<9)W wO}lF!*dyjLJNc!w`Yc==@#oW{>EP%j&}dl_wN)q6VM-S-$z%fVSrQ%dzq}v{U;qFB delta 161934 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 reached_features ) const { + if (required_glyph_.has_value() && !reached_glyphs.contains(*required_glyph_)) { + return false; + } + if (required_codepoints_.has_value() && (!reached_unicodes.contains(required_codepoints_->first) || !reached_unicodes.contains(required_codepoints_->second))) { @@ -176,6 +183,7 @@ class PendingEdge { Node dest_; hb_tag_t table_tag_; + std::optional required_glyph_ = std::nullopt; std::optional required_feature_ = std::nullopt; std::optional required_liga_set_index_ = std::nullopt; std::optional required_context_set_index_ = std::nullopt; @@ -330,31 +338,31 @@ class TraversalContext { return TraverseEdgeTo(dest, edge, cmap); } - Status TraverseGsubEdgeTo(glyph_id_t gid, hb_tag_t feature) { - PendingEdge edge = PendingEdge::Gsub(feature, gid); - Node dest = Node::Glyph(gid); + Status TraverseGsubEdgeTo(glyph_id_t source_gid, glyph_id_t dest_gid, hb_tag_t feature) { + PendingEdge edge = PendingEdge::Gsub(source_gid, feature, dest_gid); + Node dest = Node::Glyph(dest_gid); return TraverseEdgeTo(dest, edge, GSUB); } - Status TraverseContextualEdgeTo(glyph_id_t gid, hb_tag_t feature, hb_codepoint_t context_set) { + Status TraverseContextualEdgeTo(glyph_id_t source_gid, glyph_id_t dest_gid, hb_tag_t feature, hb_codepoint_t context_set) { if (!TRY(ContextSetSatisfied(depend, context_set, *full_closure))) { // Not possible for this edge to be activated so it can be ignored. return absl::OkStatus(); } - PendingEdge edge = PendingEdge::Context(feature, gid, context_set); - Node dest = Node::Glyph(gid); + PendingEdge edge = PendingEdge::Context(source_gid, feature, dest_gid, context_set); + Node dest = Node::Glyph(dest_gid); return TraverseEdgeTo(dest, edge, GSUB); } - Status TraverseLigatureEdgeTo(glyph_id_t gid, hb_tag_t feature, hb_codepoint_t liga_set_index) { + Status TraverseLigatureEdgeTo(glyph_id_t source_gid, glyph_id_t dest_gid, hb_tag_t feature, hb_codepoint_t liga_set_index) { if (!TRY(LigaSetSatisfied(depend, liga_set_index, *full_closure))) { // Not possible for this edge to be activated so it can be ignored. return absl::OkStatus(); } - PendingEdge edge = PendingEdge::Ligature(feature, gid, liga_set_index); - Node dest = Node::Glyph(gid); + PendingEdge edge = PendingEdge::Ligature(source_gid, feature, dest_gid, liga_set_index); + Node dest = Node::Glyph(dest_gid); return TraverseEdgeTo(dest, edge, GSUB); } @@ -501,11 +509,13 @@ StatusOr DependencyGraph::TraverseGraph(TraversalContext* context) co HandleSegmentOutgoingEdges(next->Id(), context); } + if (next->IsFeature()) { + TRYV(HandleFeatureOutgoingEdges(next->Id(), context)); + } + if (next->IsInitFont()) { HandleSubsetDefinitionOutgoingEdges(segmentation_info_->InitFontSegment(), context); } - - // Features don't have any outgoing edges } if (context->HasPendingEdges()) { @@ -627,6 +637,14 @@ Status DependencyGraph::ClosureSubTraversal( start_nodes.insert(Node::Glyph(gid)); } + if (table == GSUB) { + // For GSUB we also need to consider reached features as starting nodes + // since those have outgoing GSUB edges. + for (hb_tag_t feature : traversal_full.ReachedLayoutFeatures()) { + start_nodes.insert(Node::Feature(feature)); + } + } + TraversalContext context = *base_context; context.SetStartNodes(start_nodes); context.table_filter = {table}; @@ -680,13 +698,7 @@ Status DependencyGraph::HandleGlyphOutgoingEdges( &dep_gid, &layout_tag, &ligature_set, &context_set, nullptr /* flags */)) { Node dest = Node::Glyph(dep_gid); if (table_tag == HB_TAG('G', 'S', 'U', 'B')) { - if (context_set != HB_CODEPOINT_INVALID) { - TRYV(context->TraverseContextualEdgeTo(dep_gid, layout_tag, context_set)); - } else if (ligature_set != HB_CODEPOINT_INVALID) { - TRYV(context->TraverseLigatureEdgeTo(dep_gid, layout_tag, ligature_set)); - } else { - TRYV(context->TraverseGsubEdgeTo(dep_gid, layout_tag)); - } + TRYV(HandleGsubGlyphOutgoingEdges(gid, dep_gid, layout_tag, ligature_set, context_set, context)); continue; } @@ -702,6 +714,44 @@ Status DependencyGraph::HandleGlyphOutgoingEdges( return absl::OkStatus(); } +Status DependencyGraph::HandleGsubGlyphOutgoingEdges( + glyph_id_t source_gid, + glyph_id_t dest_gid, + hb_tag_t layout_tag, + hb_codepoint_t ligature_set, + hb_codepoint_t context_set, + TraversalContext* context +) const { + if (context_set != HB_CODEPOINT_INVALID) { + return context->TraverseContextualEdgeTo(source_gid, dest_gid, layout_tag, context_set); + } else if (ligature_set != HB_CODEPOINT_INVALID) { + return context->TraverseLigatureEdgeTo(source_gid, dest_gid, layout_tag, ligature_set); + } else { + return context->TraverseGsubEdgeTo(source_gid, dest_gid, layout_tag); + } +} + +Status DependencyGraph::HandleFeatureOutgoingEdges( + hb_tag_t feature_tag, + TraversalContext* context +) const { + if (!context->table_filter.contains(GSUB)) { + // All feature edges are GSUB edges so we can skip + // this if GSUB is being filtered out. + return absl::OkStatus(); + } + + auto edges = layout_fature_implied_edges_.find(feature_tag); + if (edges == layout_fature_implied_edges_.end()) { + // No outgoing edges + return absl::OkStatus(); + } + for (const auto& edge : edges->second) { + TRYV(HandleGsubGlyphOutgoingEdges(edge.source_gid, edge.dest_gid, feature_tag, edge.ligature_set, edge.context_set, context)); + } + return absl::OkStatus(); +} + void DependencyGraph::HandleSegmentOutgoingEdges( segment_index_t id, TraversalContext* context @@ -827,4 +877,32 @@ flat_hash_map> DependencyGraph::ComputeFeatureEdges() const { + flat_hash_map> edges; + + for (glyph_id_t gid = 0; gid < hb_face_get_glyph_count(original_face_.get()); gid++) { + hb_codepoint_t index = 0; + hb_tag_t table_tag = HB_CODEPOINT_INVALID; + hb_codepoint_t dest_gid = HB_CODEPOINT_INVALID; + hb_tag_t layout_tag = HB_CODEPOINT_INVALID; + hb_codepoint_t ligature_set = HB_CODEPOINT_INVALID; + hb_codepoint_t context_set = HB_CODEPOINT_INVALID; + while (hb_depend_get_glyph_entry(dependency_graph_.get(), gid, index++, &table_tag, + &dest_gid, &layout_tag, &ligature_set, &context_set, nullptr /* flags */)) { + if (table_tag != GSUB || layout_tag == HB_CODEPOINT_INVALID) { + continue; + } + + edges[layout_tag].insert(LayoutFeatureEdge { + .source_gid = gid, + .dest_gid = dest_gid, + .ligature_set = ligature_set, + .context_set = context_set, + }); + } + } + + return edges; +} + } // namespace ift::dep_graph \ No newline at end of file diff --git a/ift/dep_graph/dependency_graph.h b/ift/dep_graph/dependency_graph.h index 717d18d8..003626ed 100644 --- a/ift/dep_graph/dependency_graph.h +++ b/ift/dep_graph/dependency_graph.h @@ -79,7 +79,9 @@ class DependencyGraph { full_feature_set_(full_feature_set), unicode_to_gid_(UnicodeToGid(face)), dependency_graph_(depend, &hb_depend_destroy), - variation_selector_implied_edges_(ComputeUVSEdges()) {} + variation_selector_implied_edges_(ComputeUVSEdges()), + layout_fature_implied_edges_(ComputeFeatureEdges()) + {} absl::StatusOr TraverseGraph( TraversalContext* context @@ -100,6 +102,20 @@ class DependencyGraph { TraversalContext* context ) const; + absl::Status HandleGsubGlyphOutgoingEdges( + encoder::glyph_id_t source_gid, + encoder::glyph_id_t dest_gid, + hb_tag_t layout_tag, + hb_codepoint_t ligature_set, + hb_codepoint_t context_set, + TraversalContext* context + ) const; + + absl::Status HandleFeatureOutgoingEdges( + hb_tag_t feature_tag, + TraversalContext* context + ) const; + void HandleSegmentOutgoingEdges( encoder::segment_index_t id, TraversalContext* context @@ -136,9 +152,38 @@ class DependencyGraph { hb_codepoint_t gid; }; + struct LayoutFeatureEdge { + hb_codepoint_t source_gid; + hb_codepoint_t dest_gid; + hb_codepoint_t ligature_set; + hb_codepoint_t context_set; + + bool operator==(const LayoutFeatureEdge& other) const { + return source_gid == other.dest_gid && + dest_gid == other.dest_gid && + ligature_set == other.ligature_set && + context_set == other.context_set; + } + + bool operator<(const LayoutFeatureEdge& other) const { + if (source_gid != other.source_gid) { + return source_gid < other.source_gid; + } + if (dest_gid != other.dest_gid) { + return dest_gid < other.dest_gid; + } + if (ligature_set != other.ligature_set) { + return ligature_set < other.ligature_set; + } + return context_set < other.context_set; + } + }; + absl::flat_hash_map> ComputeUVSEdges() const; + absl::flat_hash_map> ComputeFeatureEdges() const; absl::flat_hash_map> variation_selector_implied_edges_; + absl::flat_hash_map> layout_fature_implied_edges_; }; } // namespace ift::dep_graph diff --git a/ift/dep_graph/dependency_graph_test.cc b/ift/dep_graph/dependency_graph_test.cc index 5426eaee..d7c09d50 100644 --- a/ift/dep_graph/dependency_graph_test.cc +++ b/ift/dep_graph/dependency_graph_test.cc @@ -235,6 +235,86 @@ TEST_F(DependencyGraphTest, IgnoreUnreachable_Liga) { ASSERT_FALSE(traversal.HasPendingEdges()); } +TEST_F(DependencyGraphTest, ImpliedFeatureEdge) { + SubsetDefinition c2sc; + c2sc.feature_tags = {HB_TAG('c', '2', 's', 'c')}; + Reconfigure(WithDefaultFeatures({'A'}), { + {{'B'}, ProbabilityBound::Zero()}, + {c2sc, ProbabilityBound::Zero()}, + }); + + /* ### s0 ### */ + auto traversal = graph.ClosureTraversal({ + Node::Segment(0), + }); + ASSERT_TRUE(traversal.ok()) << traversal.status(); + + ASSERT_EQ(traversal->ReachedGlyphs(), (GlyphSet { + 38, /* B */ + })); + ASSERT_TRUE(traversal->HasPendingEdges()); + + /* ### s1 ### */ + traversal = graph.ClosureTraversal({ + Node::Segment(1), + }); + ASSERT_TRUE(traversal.ok()) << traversal.status(); + + ASSERT_EQ(traversal->ReachedGlyphs(), (GlyphSet { + 563, /* smcap A */ + })); + ASSERT_TRUE(traversal->HasPendingEdges()); + + /* ### s0 + s1 ### */ + traversal = graph.ClosureTraversal({ + Node::Segment(0), + Node::Segment(1), + }); + ASSERT_TRUE(traversal.ok()) << traversal.status(); + + ASSERT_EQ(traversal->ReachedGlyphs(), (GlyphSet { + 38, /* B */ + 562, /* smcap B */ + 563, /* smcap A */ + })); + ASSERT_FALSE(traversal->HasPendingEdges()); +} + +TEST_F(DependencyGraphTest, ImpliedFeatureEdge_Liga) { + SubsetDefinition liga; + liga.feature_tags = {HB_TAG('l', 'i', 'g', 'a')}; + Reconfigure({'f'}, { + {{'i'}, ProbabilityBound::Zero()}, + {liga, ProbabilityBound::Zero()}, + }); + + /* s0 constraints not satisfied */ + auto traversal = graph.ClosureTraversal({ + Node::Segment(0), + }); + ASSERT_TRUE(traversal.ok()) << traversal.status(); + + ASSERT_EQ(traversal->ReachedGlyphs(), (GlyphSet { + 77, /* i */ + })); + ASSERT_TRUE(traversal->HasPendingEdges()); + + /* s0 + s1 all constraints satisfied */ + traversal = graph.ClosureTraversal({ + Node::Segment(0), + Node::Segment(1), + }); + ASSERT_TRUE(traversal.ok()) << traversal.status(); + + ASSERT_EQ(traversal->ReachedGlyphs(), (GlyphSet { + /* f is in init */ + 77, /* i */ + 444, /* fi */ + 446, /* ffi */ + })); + ASSERT_FALSE(traversal->HasPendingEdges()); +} + // TODO(garretrieger): // - basic math, CFF, and COLR tests. diff --git a/ift/encoder/dependency_closure.cc b/ift/encoder/dependency_closure.cc index dad47fc5..aa46c0a9 100644 --- a/ift/encoder/dependency_closure.cc +++ b/ift/encoder/dependency_closure.cc @@ -44,20 +44,6 @@ DependencyClosure::AnalysisAccuracy DependencyClosure::TraversalAccuracy(const T return AnalysisAccuracy::INACCURATE; } - for (hb_tag_t tag : traversal.ContextLayoutFeatures()) { - // non init font context features implies conjunction. - if (!init_font_features_.contains(tag)) { - return AnalysisAccuracy::INACCURATE; - } - } - - for (hb_tag_t tag : traversal.ReachedLayoutFeatures()) { - // non init font context features implies conjunction. - if (!init_font_features_.contains(tag)) { - return AnalysisAccuracy::INACCURATE; - } - } - if (traversal.ReachedGlyphs().intersects(context_glyphs_)) { // A glyph which appears in a context may have complicated interactions with other segments // that aren't captured by the direct traversal. diff --git a/ift/encoder/dependency_closure_test.cc b/ift/encoder/dependency_closure_test.cc index 6a55e818..1157f4f6 100644 --- a/ift/encoder/dependency_closure_test.cc +++ b/ift/encoder/dependency_closure_test.cc @@ -2,6 +2,7 @@ #include #include +#include "common/font_helper.h" #include "common/int_set.h" #include "ift/encoder/glyph_closure_cache.h" #include "ift/encoder/init_subset_defaults.h" @@ -30,6 +31,7 @@ class DependencyClosureTest : public ::testing::Test { face(from_file("common/testdata/Roboto-Regular.ttf")), double_nested_face(from_file("common/testdata/double-nested-components.ttf")), noto_sans_jp(from_file("common/testdata/NotoSansJP-Regular.ttf")), + roboto_vf(from_file("common/testdata/Roboto[wdth,wght].ttf")), closure_cache(face.get()), segmentation_info(*RequestedSegmentationInformation::Create(segments, WithDefaultFeatures(), closure_cache, PATCH)), dependency_closure(*DependencyClosure::Create(segmentation_info.get(), face.get())) @@ -138,6 +140,7 @@ class DependencyClosureTest : public ::testing::Test { hb_face_unique_ptr face; hb_face_unique_ptr double_nested_face; hb_face_unique_ptr noto_sans_jp; + hb_face_unique_ptr roboto_vf; GlyphClosureCache closure_cache; std::unique_ptr segmentation_info; std::unique_ptr dependency_closure; @@ -355,7 +358,7 @@ TEST_F(DependencyClosureTest, Rejected_InitFontContext) { ASSERT_TRUE(s.ok()) << s; } -TEST_F(DependencyClosureTest, Rejected_Features) { +TEST_F(DependencyClosureTest, Noop_Features) { SubsetDefinition features; features.feature_tags.insert(HB_TAG('a', 'b', 'c', 'd')); Reconfigure({}, { @@ -366,7 +369,7 @@ TEST_F(DependencyClosureTest, Rejected_Features) { Status s = CompareAnalysis({0}); ASSERT_TRUE(s.ok()) << s; - s = RejectedAnalysis(1); + s = CompareAnalysis({1}); ASSERT_TRUE(s.ok()) << s; } @@ -608,6 +611,30 @@ TEST_F(DependencyClosureTest, SegmentInteractionGroup_WithInitFont) { (SegmentSet {0, 3, 4})); } +TEST_F(DependencyClosureTest, InitFontFeatureConjunction) { + SubsetDefinition init; + init.codepoints = {0x30}; /* zero */ + init.gids = {20}; + + SubsetDefinition s0 {8320}; + SubsetDefinition s1 {}; + s1.feature_tags.insert(HB_TAG('s', 'u', 'b', 's')); + + Reconfigure(roboto_vf.get(), init, { + /* 0 */ {s0, ProbabilityBound::Zero()}, + /* 1 */ {s1, ProbabilityBound::Zero()}, + }); + + Status s = CompareAnalysis({0}); + ASSERT_TRUE(s.ok()) << s; + + s = CompareAnalysis({1}); + ASSERT_TRUE(s.ok()) << s; + + s = CompareAnalysis({0, 1}); + ASSERT_TRUE(s.ok()) << s; +} + } // namespace ift::encoder // TODO(garretrieger): missing tests