From 25c06b1a56c20b24f104e39ddfd0a99770522ce2 Mon Sep 17 00:00:00 2001 From: Laurenz Stampfl <47084093+LaurenzV@users.noreply.github.com> Date: Wed, 21 Aug 2024 19:33:02 +0200 Subject: [PATCH] next try --- .gitignore | 2 +- tests/refs/text_rendering/ghostscript.png | Bin 3717 -> 3773 bytes tests/refs/text_rendering/mupdf.png | Bin 5707 -> 5986 bytes tests/refs/text_rendering/pdfbox.png | Bin 6043 -> 6513 bytes tests/refs/text_rendering/pdfium.png | Bin 13644 -> 13516 bytes tests/refs/text_rendering/pdfjs.png | Bin 3577 -> 3731 bytes tests/refs/text_rendering/poppler.png | Bin 6700 -> 6927 bytes tests/refs/text_rendering/quartz.png | Bin 8630 -> 8821 bytes tests/visreg.rs | 9 ++++++--- 9 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index c6662125..bfdd2738 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,4 @@ target .idea out data -./tests/diff/* \ No newline at end of file +tests/diff/* \ No newline at end of file diff --git a/tests/refs/text_rendering/ghostscript.png b/tests/refs/text_rendering/ghostscript.png index 83c7d40deb18e7ce4f6b6a597e764cd628ac5e0e..a0519b37a7777eba8d55d97f2b08066e412bf523 100644 GIT binary patch delta 2721 zcmW+%dtB0o7O$JFxvadmyB?-t&D5EuD?<~6?B!gU*KBFNnEA?7$WW08e$ARLomxIq zmNYFbO-f9RcxaLlQj(eh5|a7A7a$U#AaL2vpWn|ppL5Rl^ZlOln*-C~W(Kex9CRe$ zbk3i0$t-qQXqOi^x_k8shX}=r`>T$uxdri3bp0>)&ia>`SARMM3}s`9aU0F^emoG0sQG2V8gq{XW*_DZ6`3E(F zNF=%zIG5ds3D}aCQo~{}PBacqTuMPe?blBfiYVFiJ2Grx&rTb*zOF;uA~`nl@uQI7 zMoc(c+3=9=|6{2WUp;hT=vlfb(@&BH*2Z530HsM~SCtT0o+u)8n)RCIJJ%IGx=`t1 zyl6}%{7@;Q8Ipl!M7$Y|M0Bjea86D3#c`}N=E(2J&kfhZqgMxf!p4qy&>a52FE1`m z!A6iBq5qZZa0Xu+wrj!q{A+TKBmNaKu}Ur;&8l%FKZJ$V&uaLm9asbtRYW^Sbj40Cu~R&Y;S%pn6ae zw%x&np(vDLD=*eGXv2sNDYjPGo2QW~=dvJMD}!-_^%)>@0041R346CLN8Z4>C6zFH;V~KZ z1{P}Fx~TE9tkbYg=HH4ZMjNJ<-29_L{--&zfR?y7^ickHw z$D-}GNwu;i7TiK`eYZQWmPBfy!EzmM^JNnDa$H`}!oq~pocX~{-$a)IT^WV$~l1OKqolO-3m5CKmEN()n6W8Lto-gnn4!cq4 z3fa=R)-6TH%D69ecsdTCDt850MmX>NO|GL2+qanSmn7z&_omRFysA3*VK%GONs(Br zcMb^&NvRpOrZ7ILWxdp@$WxqMl8xl&ohE&1=s-qH5wB0ZJUN-Pw^}&pk8AQhXlun% zirEkKVTbtYZm%mjIltGv_77HI4-KCgNlNe`YA+qNwbIZdfNiEJ%y<~ zxcQ;Iga)h`LLch90)w~DWU^^<9c#3$!M*EE{sK=$QJ?^=URYXwZ(7%k`)PQ0(M@qz z>V)oc^4lY%KkIcD+U${g3|cLik2WNxPei#S3xmbyv13iWYaf7O#1VMomD;RJb62#` z9oJ;4Au=N@Y~WSVO{ESe)k(&#qLb?kZ~Dam<1exJLi?q}BcV?tTR#3CVBVTN2#y?~ zHZA07>Qn8Tbv1p-=3g@~Fv!W*Vwp;MSX`bd?$We+9~wbB5966Kd;F4{8&O#Dm|khx zH`kEylo9`PQQ#;n-M;zpgA;cIo)^;&d%RFU{4fuK&1Z$aAU_9?=pK)Ol?s`b+xm zxqTD~`suRApiy}R<_UQ~2tfEX+=JLa5UVDqQ~2Pg#bqfmvMql$q-??mvt`Qix=83l4(AH#g)H4PjczBVvtWAh11)Ss)2e&E5LHb#R$&Hwg$n8nfu}L0 zn#y9B492sv+fH1aQYvZ8uoo{il>j$=in&#srx!Q^pBwb>8KZc?&X<#~?jvoAsq&`o-{;{0%oEJZAc^gnWsj5Zsy;9MN zX_U9Tki{3|u@`-$zSPl*F;~&BvJ&dXS=5&FDFIOGYc&AZ!F5`Jk0v6-9JN&Q*Z&!i9$W zwT2cyA3&>M4S@eh1?*}XQj8ml(_MalpDmwOhDqn6FiW)0A9X(K44?CjG>=-QEJj`YGKgGZM zVd?!3&YjVFReR`&p}Ak`xr(EGGMVfJ=9ItB@_uQ` z*v6$r#PpXJLPH~(+duBko0FOzp)@ar23hwTh!c#E_EqPu?p&+3d*8fS^(}m>X!2RW Tden;*mIyj}@(B6RFS-8*;q@Ke delta 2654 zcmV-k3ZeDA9fci`aeoc|Nkl)Cb`Yk6JRj~EhDAZtT$60}{C&zA(HlI+m-yEmyuH0yz}0-`9oc>crTV0QBD?aeGQ&-3#Q8yCA?ugzk{<8hj%-HWO3NS^22Ypz?b*Jj5X zhwFUv#)7Lu9YxW2JT?dIcs!n8#npqn-EJq7iP_Wop?@$Nn)M8a!|ir^_2#H=)qRB9 zuJoLhrm1CF7q84zbvPXIJfBP^Pft(PBFu`@G#w6y z)vEf}^ZNQ)Z`S;4Gyhhq+uQtHEn>A=nV-$J)kU@44AqHk=g;%pL_Z#nt9|GWtA2FM zt=O@c*=#nMOuE-_(fMyXHa|aebqCyb`ENZAa(~4frRu7yyY0zjVh&oLUF#WE+m)XC zpJiD=5G)pp)9G|L9Om=+dcEH5c3GBLwdZu^xoS}q9ZwXh6V0~s`Mmm-x!Z5kc7Dfk zR;$&1zmKBm?x!Z*i>aQ2-@4|TuBE~AyvbzZy6)4{({j0Nd#2odkdq{dqUibg`TRU( zS%3cZ*I$Rj!JPTQU90Q3(uQx^VMH9^iAz^G~PKa=G+8&s^jA<xVMnLAIEV~6sOZ^I-M?;%l@zM?^w*OYkqul z-}lWP?f3iY668|v!sVf}$g z^DN5_hr_M!^FQd3{pz{x9d8AG61T3rehdD-#|naAFc^5ASG}iQJudjZzu)hlpPvVV z!NqBG!rJfmuIuJ`Zbr`Gb{k_swRLrs;CItoFHMF&+D5)|uydwNA^j9LL%1c6pvJ77OzUx&Ftb;ruw5 zrMB&|Wm(hdv_2ST=6`L>&(rDj{K%ZIwz{b5hW35GzU;QsyI0MUtIacThRRK@~gsk`B3H6*A$-Tt=H@2a%tPP z`4C4np?cGRc7LA{@<(3a+%)Tbx9(k@&1PAa<$3P9u6bn4vdnzM?~&EE-OxP)=(q)& zuL>Lg&~I|bn0!$bQ54mmklsC@-54Q%WM;qNrdjVh^x0+4^Il(Hvn<_<4^N$FZ4h55sUg9$#E>_oR7QmVbAQ$rnXoUNKas+%ceiafH18 zVy;fmcg%WUJto~N@4w5_=`_o-=jUhheF%U5{kQpy$xW-Zem$O+Wx3sM>o;`U=~tcK zg2vCV%p-{Fxr1^Y4-|zS40qE8-`S0Jq$8l_)TiCX34(Lq-+E)7rd7s7f znV@f*^?&YpO!~OG%bw>wKR;KGeY4r@<>lq#&EGwl?l{h3u^5d;Wm(n_NZaXGUAzS? ztL0l8{){wD>)-WYKJom4>-qBPuk!kwepSaU_>t2M+wC?CL-X9iJPP!`2gYa6aSMKA zSmp_)>$-!%z`WAgY&IXbp8tZ2A7$$}y<5jE$bZMbAi?(ib?H%@ANlr)jIR8nAHCFPJiQ8|G398 z6AI?fsf`apRm0;!5H#MjuWxm6_Po+(h8kbPKf+op78gHQ7lvVyByk+4X=(=kFK*Q~ zdw<^M;`BGZhTji`X6pX@(W)%V{eFKq9Lxto8t)UIZ)Ik_`n;WNM*S_zavW#B-#@Y& z_-uZL)%a%cx{le)##TMQzP$1||F1H57r(#f{rsE3uWD@d_}7=?%lQ2q%SmnJ90RSKsRKuP?`!@sC%9^=}5R zOOnKKoY83Hy6*9KY}|WQTRr~u<@hof^n(P`4YLsomIITp3q=<3e_~^HV$0L0rvLx| M07*qoM6N<$g5WIEP5=M^ diff --git a/tests/refs/text_rendering/mupdf.png b/tests/refs/text_rendering/mupdf.png index 973bea602928c7c4e2c7b1cc9f7f2c3497b1c846..8a3659fe0885bb6e260a5cb26fd08635999b9edd 100644 GIT binary patch literal 5986 zcmeHLXHZjHv_@${=)LzMO%Rk`qz0)D$+sfr3FG10z`Td0}6VP zAPH59O79rTJI;MG@4b2R{=DD!N9LTFeKLFRwbu8o?^`K%EWq@%JhWtFWc0U<4Xl9Y zdor?1nO80YZ!VdbRp3G6XKWuxMh0U2^SeY=P{c(>#>sZuK-VU$XrnkBV?KE??5mjQ zX}mI&lpSs?aNC_p*t*<`nMh#D4i775qpxPFQq-)XsoKmb*G)FQXHqe`d$aPXUhP@5 zM*Y{&vqSC3xj^}?()!sZ9Zk|YI_d3H#Kx!J>w!9}#=G%CnL*{eLg)F$vbwr38rloi zUpm*%kC!r7@dZnLV8Q61VgAsfH9Hsiammoxa5s*S(}SspI=~mQ>tQwxM{}_kr+c3) z5n1vNyB7MB+!k)x!%2r5I%oS|c8EtW?>VUfZyAjb@|UU$eL4=lILykZiP|sCL#Z`Y?5s10coo{mbB64Iz6@P zp55v-9e3+(%-L^@uRNrgtc|VwD#!YV1Q4gl`*)i1TM??YvOK*tRpJsWSJA6HZp-Vn41lrdVrthhaF)Vwf652a=|%4z`+*> zQ|Dqx8=3t_0?1~wd_^GDIy?y1h3wG?$J+_C?0yVEXY?wBOi9a<`lc=(xF)nO-t<~K zg>SyWMyh<*E!p+icci5ZotT|L&WFL1w%bDje5=vlv%nTw2R21KAmFUMCXNCjvFoT| zDh9qho!E1rz^G-eOIMk`I$uZ`O_$i#ow&G z|JFm5?c9*(i9meUWc@wgZ*QdH`zaUKJ3}@QYXcbApw<-nlXmJt`{^!j!s`ud;Xz5kK*zI2GnKzH0o$owgORP0|&Qk%-Fk1aSnvZ^j%YEe(A(dDLA5L!% zSdJTT#d#vzUB}CGEwxX?I6i7@VS&hu1rEeDxzohGQ#%j*q?Kd@OCC<=cW80BePy+i zmiPRbT*iufdIHj*;*S-#M%*>@|?KWUTJUszl8cCUzUl2f!cb^ZR3nqpgN%$$bg zOuf#fRw(X8z%Uo)r+Uq_%K6x#1<1)6nO37}l3s+U>+|(-dsFNF0#2I$XkWF%cO+Y! z62vj^0Eo{Nr+feIGH%S2Kme**83#3wvs!yA7<)Q_z4`caC9pK}I-vqX5>>yBgg{sO z%(;s0j6cWEZ?w%ZXe6{><;^dPM8O6}naI+JY1~Rto%41B*Ggm0+mG5H$^7Fe|D_=b zzQyxl%%>8q884mCO~Mxo4SMdZEv#}=^31Nnd4%-90#lC6J!DZ)Q5yFpPlc(n_RZ=l zla~>TDU#ScNb@Xmc*ETs{Kfye#3)R=+|YO4|9^gW}nj@DDGfR6B`X;d?6> zuRRVbDqQnPZA}THv#CkmPk&}DIrE7Gw`pGi1WCfwVA)Bmg z7_!OHX*+0`Fm+!TVQU+x)87_bAD*`Jg}(08l2D9<6jAPsM(;mo0xb}`4B!nAAQzBi zs}N4JxI91Nm{ZiwV6sJ;j2*sRB++dU!S2U1mC(>{&Kt*h)47LiK!DWZ^e)0kwzAup zT;X6TAhWRpw){S;!iU(=9=O_y;@e^5oxkHF8cnmj!wkZn|Nf<_g7i2)J$WCH>792# z&A|7*P({AQP+o##5la*|YcP2!Ev%NRt)=ciQEuqUeUu+*#Oc_q#^a;PTThIB5M`MF zRD}6%O2WXE5rZJygGB^;$Thl8^S#eR(-UhrC?qv`+hw9T*(EsiI0d%HJ`g)YJ7K-1 zL6>(wwmiZW#8dOmJ3Z(KdTaoXf*H0E#A&2JF5l2@8Jr}SwVzy0>nEUIRz_JcOvqUT zbUoiW4kr8xTsTV3|8>b|XKapag1NoU-YD6q<7<^ECu_a`w1oD;P#>|hq$ItFOe?RT zfQO*cAdkI}v4iA9!4@8qaWn3^qd66E=7q}8OWwEAeFa1vg*en*(E0=I+b_OU-e#Sn zp1|Z}Ip@C&D=|dEOTR5T+2ldOE-P3{8+R+5U|{**`D<>iATqr~VD)y5nIrQl_|z)> zUNO9uFCjN6E8b$jubgtt!~pjT+4)iXl5pT~KQk3OiuOUb4^bVht&1AphxR856OH)# zvg9%Iar2q;3zU~wro7mCx&4bV&ojN}v0*m4m9hXD#uk*l@J}l8so`^7Q20E8{i|3h z#7Q=1u(()~szqE=B@89Yl+>r6xFs!QmrWj_xahd%H+q~b7$$-O_qapJDWuaVS;pqw z{-!}BsD>KReXoE#`?#M%*+tsa@KSIc<&w{xZ}XiKpdY$DwgxUz@xk>UdrBJ&wRz99 z&Py^l$p#qcc!8e@C5eKgu<4R)1|}+1c;FA|{2GhO68+H`ra5$~>mQ3Xu6yE_;Js%r zuHjbu{KviKByF9%*qXJoKpA9hOdq+5_(Xcxo<3NV5Z3OyFJKTG&%q{^TPB2}piB|J z`k&f?#q>@lBu-BcW@wYu^ssx@uFwT~l=DjW8CAYwCfx0CeVSFmOaTY5#3^;uMvv*8 zhGf{Bv~3-}d)1{>B#5dDu{Hnjsp7y3BT7`P$V{8>Lo2InsbZ~ZH9J(R57Fa-Ei)Q1 z&V4N1r6lt;OB9S?mszO?-NeL3p8fvSq(tJZTOYZLI^3Gm0a~zj^zZ%k>A+1wd+&2+ zBY-Pad}lTN=5Ki^#hyozzW!ZneXsF8d)pHtk;pEir4_w4{`x^@$Y571)#ty1me}%O z+Z;oqUCV>#rzv~Ym6erMRgDg9AML=Dp5Nc$1rNdLd?{^yrxwNP(;|@mA)sk93eExu z?TRLK*sA!~ljM34zR5SkcU@%Rxq=GLJ(8tSFck*7V$sZ_UsH?|?)YY?YFyLG2qGbO zi3oryGBy_Fe6qW&6|sM-o}hiCC~fnJfsfsD78~yU?M*Mgn(Js@93@DPdCo{dR86hj zuJL~LIe#v`gD-GtNX|Jlv<>!dyAO1-w>n$~Q{rm|2&46CXV}i-OPPDE2|ru=9v}Ri z1iD$ra<0QrI{!>Fw4at;8c)*jd9E3tO$TlBAr>fmBPzV7TLxQQ0G>BY%^vU6C zOnnWE^_y)JGF|=)%eYtIZecA&+tn+|u1n67C)MVKX3-K6TwsNtkOoNg@`^>z2ar6r zIb`G88vTu%mL;04$Ey8$2kTE_r45|jr;x?IRZ^JNgHlZXct&+7fm^t|@=G%1g@PAm zVk~0xb>_$m4KQ0>o7eQ`+(03e8~`Hj#AcpwB~3sNUTLMcF629lO&;I;ko+@-^WmA; zHG&)i5`q%hG@HBTGpSaNX`J0*maqde-Ka-v47K0@d zAFC8kwX<=G+F)wKW+)9}+2>1xz0#f!WHOv%AfOxa#E1vQBK2nz;irZ-T1pM8s;h_C zL7ebz?!+1&?2R9FmJMqnL43kMnfl1;suQ|nW93`cSu1=#@YClljVi=Xz6Ym1((Tbt zGoVZTYcq7mHi}e2+X#W$t{OF945Og1_D3Cd4F-QAciTAZIzF!wi>HVml`xa7d*-wwP{hqtf9FsFo&uE$Q-`TEM-~z&R-?`#(I`-0WLeb_Sr+TdVyIB34x^W zGNW0n3?Yw_hBxL65aU^&MEaJ3^5mPV&gO;mWcT?yxDMgS277e%$x7U`EJSq65b-u- z;t>n7Ec#ki>gR7bsF+E|)ShD!PxC&0EU3hMi&}AHCP9RxBQ- z;lQ17@4zboA#7b^F}A+5w8=iEQ~O^lVn`8g0UZ!5{G#kbkihLP)#m7K6AYlSg!L1> z@Xftg#}=2A+ECCrT?9dp^&!SjIK;ly%ihD|Coyzx<6K-2j0ajg5ZjKRABs`OexzVd zlG37+%gdwJ`biQNMfh6l8fHqz{>oRIIPIp-eC6(2k4Zv%AayEdg9zY=To?Kh%qL$(o(BK=DlREm(aWg0O}5EILbvw5 zOQh#b%mw_-qrP|=plKewl#+zxpUX>1$;r{%CrjOFUn@^#x(n#d<-s~Kh12TUu_L9m zYd-cW5!`S%?hR@Ghjo<+J33ADh7SQR3umbX>;*ud@18*X>#K~>~J>S z(_6gGDfT}EF1~T4tWW-Rw*rV`Vz9l)%O4^%#c@}GGfSJXCQ}@9X1M|$`j0_6bBiTS zHf|m2edvgO^exXm;QM+#XH;xkME1f$-yi4b8dMP&5sTCs{KI0P=V9SCVBQK6`df}N=uCMUV zJnAZMZEo?|57=87+i*2~b#2gLMFXVTSCOIZF{c+}S7AgiFJwoM_Fae6T8Vd__dF$s z!q{aYOsv-=Gz#rIhm&Mhy30oVXy1jvaGSZd8U!Gm$O?<0W@<6#wC zsVjH?%@dbH9gXc2cDt|M0kWOkiV7t5Yka+D7rRV!qc0X%WqiiOyn4uH?n7NPp)lcz z*|(neQdq>j`Zfgw(c#-NVg5%g>%>k@sTW%+X{-%_ES8us^ttb;te)&aj_kvBlXwGB8J0?%_Z}DbiDedoi=~!f#(-8@m^fMlYOg{>d>*(~F zZrL=w_s>px4{{{T748CP=e$0$LQ=gPa1yZm0h+gyYyO;-88lBrUSpd6)UCrE)dNf| z0N+C%NmvqH0SH_qBmS%3+S@57&?Z z|L&zHX-pHQf>CaP77VD5T1SqW7-&f&;AsRF_b-JWu7)8J8Z_5&ImX#>I_NCbyzE?A z`?%rDmH0!@w1`GU#6KgVe`H?V0L%ZS0RLV3H&Fl91~5$h7b*YS9{&Hy;T)vMLHo8x TU|<3mnv>l&v@k&GImi76!SC5>C_{}SwDLyPhIam0yULYQ| zJdmW0HU`Z9%!@3t^^1P1^?Yl@mz47>xa*zT%4opPgSmIUTvp157rYL3H-$BxVJ$0c z#_&OGoC3Asds|=O$P<{^7}1DZ(Q1clZK4wqd)_UXH;5a3BR+)XygFG)?fuoSs@}sz z{s{Ee)ke=-a3+pO0Dv#yR+RNHXFekXu33rRg=@>gD!CqylMw zow+tG3 gl`{w1)EP&ZGDMT@v>Z#i3-3k;-qr3R*R3a5uRUxDe}H&=p5|_pyjN! z4>ruVKQi#}a!WK!{FVvb**~}BW(7224m$2+D5{@b@}%N>-I$C5e8nq-{F=Q z{)|qoP-td4k|GZH6zs9e{UtE^1c|ik_h~_GJVZ}Q3YI;yS3aL%W#7o0N>FI{{qkd8 z#BO<2v%eGx`0#v%xSgUeVqNc(b2v(hJeui93+f}{AANawS=lvg^$VMToyo1q6GX)b zYJlRyYUemw_*9(K7GsR=z|PC?bsqWbjprVF^vatn^*+{Ap0<5XXa7@6`6Ucr&f-A1 zRScJ~<6>b;y0m$qz0(j7nhP>+)2)dZa1?&LGNMx2Wt%bP)cX3eX2>VexnRcV&Mv)* z{@OF_=wMq<_i3AN^UfTwLVoUl9wo9b=4w4Jkif=lGN+Tbmq)A;{~n73IDNKFG*Xk% zFip|s9L^uSIF)9sUS?bGBX9fJ0*0(*ge3{x_8hWyphE*8MbNit z?X_}ukG%8H+?6xr_$rsl7F7J}Z}|1^vT$tWgZC>VeYR6?5IW)7mA!MN;jxBEu4V*p zp4_o~0ZB`_y0V@+=U>$>9XD=$lBK-)aJP8tWc((ux1f6x`QwXjJn(BjN0oa(*`1?1 zX(rmCQ{Unkh^U^ZbK0fH-&SfD#fD`YN1fuFay$5dK$c>lvki1mZkZ%Q(tAV2lJ|xk z!lb?aY6b{xWIj^BF_@^iHRQy&m7)54ifm*FHIPgGZlyzE;nNBE#uf1cf2Yj{BrF3{ z@VGW`!itCt;$4X9DY%<(LDJ~8h?e@-)oWNq@s}(K)yX)y3+IhFcJi3RvPFl}>#?Kr?T^Cx_LT^zb9|CCck5 za>5Z%;~4i{$??}ULnMHh@+eqV+oZ-7i)cJEhc30#Ek z9hX-|ZY-oc4&k9@$+aL)_!Nu1tNYm*jlgXrm8-dPfAmAJ+4ML5S(gLS&!?x`R1Wq5 zxq_CrO&t)>K*-4-4+^)ju~`u4638At#U)gFga`S4^KMIx&A_hqBo_6#nlvFgJPog* z-Kbb={2ju-Gabkx!b`jy?+5f@G8>w{O zYwpL}Y(J0-?VS7!sFWs6LyVlSaIPEezge=Y60)0=k&mzuTnwA<&KVOi=kKJLk_Di$ zme|sku{m&RnWwjE5EfLGP)IejDaS|-KgYNcVBeR1)qtcsUoamUf^n(5BKQ<%Z|eGu z!wH9r$U3*#$fvzfM1rlcM^Jv>J|5gQT#J_~Vzw!~1L7u&tj7}-M-%#E`g!GunAM~ z9;TSwyBse$9y%{vA+|AY*XZvN%yZ!z#Wt(YDkeQ_W=Yfbyzv))oRiP~Q*%FZ=S+&^VTI8muj+iSu z(Q0y4y|qvfQR51GYEm@*8|`-)jXnIJc+Gs-uy~cJT0ZTHDTuCfABs)RSC4ZP)Iont zYW1(9E|&%h;dYYUZNcK=*yn44WwGr-@I2lY65F?9Jm)#?-;uk?iu?D(|L;sH;8I-- zbyoj99z>^d7PF&<>U}4&6rH%_JD3x#C9rp`Ny36TQ<>r(9v&S0Hv-$rqSq!mbPS`9 zpjhV)EYG$3?!5&lD9e3xL90sm2u9rp|MqCtq)+aXvSAB789Ky|P>P_Y7H`y`>uFlMO(ZYynL2e48<77XbV6 z@?;*8R)*M>axl@}nR&r_-1SEmw;TkeU{h-_cmy!s7uTy$F_WyCl~@ylV8;r8yha=R zj4U;?;&Xl(i&F2A&kWA5uQ&tBUad*fa^C=O z==z=_(Y870FabmcfO*+TMiZvgfz-To)}@fn1z*xTr$wo8GpW->(Q%E*v*qyeYrUOl z`H{u|H;4A1!G~70?!D?kv}oVrPt^I9KoOMKc*711b+LT=$}4E1z!ifkOVwb$Nz%zrP*yj#tLw&1LSz z)p(3R&qotc6waf+q#5P%J-y7Hh(A_&VFU8ndxTFTce>P`3wbzaTo(R z6}mq2U}h5wO~0-fy6!AB#flS9eX>By(hkQDFRMdtic1@#E>NXz7;ORKli*s$UZ;_s zc;laq)!fL#(BN=@TQ(p;tAPIGy>9w%v23G7V10yzm`sn`EZek59#|x$X2tLpFJ4IE zF3hY|u<&uK%TTLXF1wy1xlIfWHpUB7(Sxq+T!o}vgV}um05xwrUS|H0iH`1@RKPEY zXP%fedpWjW$VV%&>wc*Mm!f0|C-6X7{W=g(v|MkfRyJbSJgvDhY^)ktr@>W)Q_-bq z`7Cr}5wr<)DrL^zKe_AR?M-u|wJtza;6G?o8P9?H0c8ZJ$%tLi_4%JG)g=}NVa62_ z+9*wNw+S9%YhUctlpu8CCgx5?)q^kdNg~;Zx8J{SyMIa-S1&ayj{m$WaLZ{iwK0Zf zBeL(QR~;DQK!D2TsCwI!q6!?z@!3xu{Tz3^YU5WOE>jlhZDV43uWt1^tvMRH5!=Fb zC2Jhz9hx<>TQ&Yw{ivNLO9aU|zJ z_%?E;Jw-bJo>r#Hz7|wm{d`k;hWqwj?nSaEppT$~d;*>42#B(oA}`#MYbtV+wrEnp z0Xm17Z@?~?b{6(ej^UapwsT$Y_!D^O8~rAO7jB}n5yLVb>3v%U=M zJtZ%9^$ml%yc6YuGNWkW`w}ieMW57Gk2Hr9)T7a>cs;d3DIREjg|)SEj^--i6FGsu z{Jz#_#4agsXKBXSQS!c6a{I4spyH*)6`!%ejpQYjfFDjrjEjr!jW27C`n_@_o3$Gz z7t;&GeqEOE0n%3PBZyte>N;u0Z`|!E9Zk}7cmHLXk z;fa?N#nGB-cBOlsj{+)Scd=&!`kWS_CWD-T`+$vVJitDe{(Gn)m#d66F~dtF_Iy4g zB~Br{nb(<$A5#giYiJ7PY~e5SPREWyqcIX>|G+w5j_Q0d<)v_50mD>>x~|Mr=L8n{UtFYeP8uG}svu*ODj!eacrK zt2g!Aw8a~)iWU%6Xa&*{tljxpUYFJzx7ZU-J=peUO6-W$QuRXr%)#q>eiW=(KWE=O zT*%9Q5ecpq)2VGW65dovtRC)v0@K&~;CiXvMn`6 z!+K8W*3H8vK9NIFCFM@QK6UFHg(aTOz6W~eg`4e8Q$2p||M}o!j{lsAJ^8ouMrB^> z>;2_89;sKUhe|V;@=AY_;u(D{L-RD{9~7>GQ>HS33q6mAK0S`Ik`vmDFpk_CZF z6Qm=+zp?YlWhppl%QwkbVjBRnWa<(dwDczKC;MQ9E&ov@H9=nka-{M5>5rC}o=5+S u65#6Ozs`R#_* diff --git a/tests/refs/text_rendering/pdfbox.png b/tests/refs/text_rendering/pdfbox.png index bd451d4babde8f18601afc8f7f27e07c7cae15b1..44d2f2e0b1d3e274fbae4f1954a1628dba4ee170 100644 GIT binary patch literal 6513 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 diff --git a/tests/refs/text_rendering/pdfium.png b/tests/refs/text_rendering/pdfium.png index 44881e9f5984ad21150d56d05ecee1667bd05ee1..ba79651dabb01b17af621997c0bb701bfc7ccd1e 100644 GIT binary patch literal 13516 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 literal 13644 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 diff --git a/tests/refs/text_rendering/pdfjs.png b/tests/refs/text_rendering/pdfjs.png index 7c7e3e7f69186efd15a2abba1677c39ffec65beb..08617065d086499f2699efad68b5deaedd1d2869 100644 GIT binary patch literal 3731 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 diff --git a/tests/refs/text_rendering/poppler.png b/tests/refs/text_rendering/poppler.png index 8687d43546eaae66c29c96ce9d4f415eb1a948aa..7605b66414b2316ba32461e55aa328ed618eb39c 100644 GIT binary patch literal 6927 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 IE0{h1ABTHoQvd(} literal 6700 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 literal 8630 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 diff --git a/tests/visreg.rs b/tests/visreg.rs index be790de6..425dbaff 100644 --- a/tests/visreg.rs +++ b/tests/visreg.rs @@ -1,5 +1,5 @@ use cosmic_text::{Attrs, Buffer, FontSystem, Metrics, Shaping}; -use fontdb::Source; +use fontdb::{Database, Source}; use image::{load_from_memory, Rgba, RgbaImage}; use krilla::document::Document; use krilla::rgb::Rgb; @@ -229,9 +229,12 @@ generate_renderer_tests!(linear_gradient, |renderer| { }); generate_renderer_tests!(cosmic_text, |renderer| { - let mut font_system = FontSystem::new_with_fonts([Source::Binary(Arc::new(include_bytes!( + let mut db = Database::new(); + db.load_font_source(Source::Binary(Arc::new(include_bytes!( "fonts/NotoSans-Regular.ttf" - )))]); + )))); + let mut font_system = FontSystem::new_with_locale_and_db("".to_string(), db); + assert_eq!(font_system.db().len(), 1); let metrics = Metrics::new(14.0, 20.0); let mut buffer = Buffer::new(&mut font_system, metrics); buffer.set_size(&mut font_system, Some(200.0), None);