From c5e440ee449e14911ce3c167705d19bee61a7ed1 Mon Sep 17 00:00:00 2001 From: Anton Mukhin Date: Fri, 16 May 2025 18:04:09 +0300 Subject: [PATCH] Update TODO; More examples --- McBitFont/Export.cs | 4 ++-- TODO.txt | 13 +++++++++++-- examples/Numbers_11x16.mbf | Bin 4099 -> 4099 bytes examples/haxrcorp_4089_cyrillic_altgr.mbf | Bin 0 -> 22719 bytes examples/helvB08_PREFAB.mbf | Bin 0 -> 46643 bytes examples/helvB08_t_cyrillic.mbf | Bin 0 -> 28612 bytes 6 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 examples/haxrcorp_4089_cyrillic_altgr.mbf create mode 100644 examples/helvB08_PREFAB.mbf create mode 100644 examples/helvB08_t_cyrillic.mbf diff --git a/McBitFont/Export.cs b/McBitFont/Export.cs index 40f23c4..7d59977 100644 --- a/McBitFont/Export.cs +++ b/McBitFont/Export.cs @@ -88,7 +88,7 @@ namespace McBitFont { int imin, jmin, imax, jmax, idir, jdir; if (com) { - //Header comments + // Header comments output += comments["header"]; output += comments["scan_order"] + cbOrder.Text + "\n"; output += comments["scan_hdir"] + cbHDir.Text + "\n"; @@ -107,7 +107,7 @@ namespace McBitFont { } } - //Figure out mins and maxes + // Figure out mins and maxes if (cbOrder.SelectedIndex == 0) { if (cbHDir.SelectedIndex == 0) { // Columns; Left to right diff --git a/TODO.txt b/TODO.txt index 2a8d4a1..7dc7c23 100644 --- a/TODO.txt +++ b/TODO.txt @@ -5,10 +5,19 @@ Functionality: - Context menu in symbol navigator - Delete symbols before/after selected - Shift all symbols on code line (change symbol codes) -- Specify starting conde (extends the shift) +- Specify starting code (extends the shift) - "Only numbers" range in the New dialog - "Specify range" in the New dialog - "Single frame", "only numbers" and "specify range" as radio buttons +- Button to Clear/Fill a block - Undo/Redo - Image import from a file -- Import from a text array \ No newline at end of file +- Import from a text array +- Copy-paste to a symbol with different size +- Rectangle selection to mass-paint, shift and mirror pixels +- Change height of variable width fonts with ability to choose which side to add pixels to +- Make it possible to have zero width chars in VarWidth fonts +- "Packed" fonts export + +Bugs: +- Every char changes its width to default on VarWidth font height change! \ No newline at end of file diff --git a/examples/Numbers_11x16.mbf b/examples/Numbers_11x16.mbf index 6f70ef5227a3a0952100e9526aa5140b28e98a59..23c1b32086a56e45189265469c7704cd1612c09e 100644 GIT binary patch delta 400 zcmZoxXjYh@!)P{9_Xdd2nry&W24P%e3}T$TS%qmC$K)Gad|Zq`zyJo5t9T41ckysB z1NoCT@Q6(A<7A)wjzfrx0ipt^aIzt%$mA?;xyiS9c_)kUDS7~9z>*+SfB<9;j1M*w zA`Fp$NJ2!wl3>LU{^YY<29x!8-cD}d;A90$PX5Rt9S_t9l7~6~WHyKgwF9ahq#7a$ zk%#iZO5qkmc~GB1b%MMjym=e%I!2(iY{4LnV1T9=#)TLL;=xpbXgD9@NU&nCJcvK} N6^Hudm7H>n+yL}XCanMf delta 203 zcmZoxXjYh@!)P*5_Xdd2nry&W24P%e3}P(XtirU6WAX(~zR9P!_$Hs=62OXGI0YxW patcgN=T@97z{?F(FGK)yPuAmkOF#|C4DQX_c-Ju!p^%S}8vt!^Mv4Fc diff --git a/examples/haxrcorp_4089_cyrillic_altgr.mbf b/examples/haxrcorp_4089_cyrillic_altgr.mbf new file mode 100644 index 0000000000000000000000000000000000000000..a745cafdfe8ec4239644488d8891fe55e51b6aa3 GIT binary patch literal 22719 zcmds+37A#Yk;nV7ofa9#IF92u#2_M~Vhf14q6mr`xPdDoH1L4NrW@%71vf-Q#eLsU zQ4tmQeM7`8ZZXCfV~jCs+%?7+V~jD;)W1$u-FmN2-|qNkzR8#S^}DZ5{m%b?>YTg0 zgH{!)s;a)F1K&8hb)eIbkrRj3H4krWXzttNz~aoNy2ggV{c8r*^sDLDx5uzq_06+p z76&&JXEo2Pt?%1o-&qst>n841oHM%dh+@OwhFSIXonhDATxv$v)-?=ooH>27QMI#+ zL+cwS9?^+9be-PV(AYGic4Bc-^~Ay4aF{#XVy+HHc_{Zh3e{4 z3!~;VH5aGX3~Q{fFHUTxikfP6D>f8o)=jJ#QP5b#?XkwtVHWD`%;1$ke{rqr;i*8_Q1$Y!2&2YFjaUuxj;aBb^@yd`9FYM5IOkT-#X_)DrkMtEp^#CY)PtNa1dC{z29R@w z9N@_ekh6tgc}+7D!Sa{RS202a0A)Xu!a*7aK64T5DIa$aUYS5VJ`nI&YRCue{(3BgTanzKNT6jJo$9FRsKxLrEXhbuS_WV(xKmVk^C zg4@#Et^pYB$Ws2MNKgY}a%-$N@rlBT5Ob`eu+(LU5Ct z=2npXgv_FbRd74VK0!ViVQX+V$X-J5V3_7!kUfOV@#KDx-GtzgG0lS@ zy9zmm8dmiRkYPgjVWI@jbS22nLXPvARUkVF!DH5iKCF2RWU!DE&`|OO8rut*=gAMz z*jC7io;;1l))iyPWI#{Xlx;5p(j5@V{;*=c=9te zHWR`RIwg1weh#vUkkh>87ierOWRWMoL}Mc%r+e}%G&U5%F9%BSIKKwjK**V1^ClWU z5W=qwO0ecPAm0~qHX2IaLF0df@C!xBdm#TU!Y^W?T-!Pz9}2mVvi43~7vy~*%e~urAnyvf$&>CNZwujkY|KEK-p>~+kiYJgnx3B zYzOkBkcTKs?Rd3!0C`-<3Qu+fc~r>5o(utbM94}{hJrjS?8!+Jac;tWU!ELz2*s!?S&AqqibQiWOmzRcAI2&>tuFN zGP_kWJ208uGMOEa%=S-a`z5nmB(pWi?B>aA-(+^PWOmbJc9UebPcpl4GTS?u-6)yu zmCSCK%=S!XH%MlCB(pzAX4g+%qWd^b2dMi@us52gz#UmZcTp zJ4><%9Zee6q86`$X&6G*e)FI;eA4PZj>UB@2!M>TUy45Zy!fl#Af+8b%A%uXc(iHQhyIo&RJ?rHo0~Mp|?8w>TO+M8kd!#_?NXQgM+$+ zKI-Dv3WN{thK^xVYV#ddG8#IeGYi--wj@ViB_#B1%_Vk&o%)G3eyK~WxhCa8Lhi*5 z5=AjG@t_C?)6kEi@)_}>Ft)X$-blnx7QvFzVL-ygRu`)Hmy9^cE&~%T0P!e`be(0s zu@LGR2GOZ}Mp%{DF%|-^RAl|aHm$fomeyu|HuJEZxc2Mf?I?B;uqfiib zqy*2%zqzDO?9AO`24NVY3V)xHsq|}K6o#sc9~Txjocc*7?4k-kZdoVl!rkqTQZ84r zDhyW_-SVPdK13S7NCyf3B~Q2~Vh8l1h+XK5R%mxRCGHZ8LPS;R$chPjCS15s=aTuA zMkt=Ug%JstI0gZ(JD#C0kK(i_9rmVE`HV_xX`#*hY_za%TP`FjokvVaE{+lQZ-)zY zX>FZ>Xhx&yR6ZlCw6%4S`UuBM84gUiWa~l@rN^U1Wc|Xy)Prk5A9<29dZe z1HZc5jZdm!nWfv44fCiwJG)xM!B>#g7v`(Ny;Z#+0qQG{HxEZNU2fkwHBFvty+ahATR!%Dm18Gt#&f$!N7LvSi$q+?^v;JYN zRTa)@Q>&L5-*M)0tA_Jb>-W#mnh5oc-NOai&#enOl+F#EaM=Rdt#ogIwlO6|SVXMFp{Zs$hvy_tcUW z2NCBh3mKE`py3+oT3&NIox{?kw)|?L7E~E46&jW$wLBx9Q>Mrw)!vZQ=8r4RVYzDE zbDlfjaC1_D>BJdjce|v*tw}}fEn}5lw{W{EO745qOhAq-j1kX>?u|Q%r>~$YwNkV* zEj7a3bYg9b`wD&Iks4Q-`k`Iwd@p5ERnb)vv3{$PzG*2b8}4sKYf>If_3>R3uWwa& zFs)^C4D7E~R7QkxSE#n+-jIp$?Zp=)8#t^~1#muWLU>Lp`@$5hdU z0(lP^^??>eITxzCrot11`6^`fK@pGeL;7x=KAlUS&80uer9aN4Kgp#(&80ufr9aQ5 zzsRM(%%#7|rN7RlZ|2h93g~KgIxMiF8ysT{ar5oeJ=e&F8yOJ{ZlUeb1wZ$ zF8ymR{U(>=>yS%3<v^tk|&86LP=^D9o&0M-xE?qm9u9HjGRqB7s_-#y= zN8X6kg(AG1B|bfjO6?zwdRT-qa-_ROWda%t~e+DB=Ne|Zt0 z184qV4LHhj7KKgK1zlULOW#~tlS}*M(gC@2U@je$OSe&4oy~}E1KD~I)}uw}`Vos5 zYbPBw7q+9Q_4mOJxpc=|IwY44&855K(&0+|{Sqfk>p_tIaHJwUZgkL-vOAr4=FTNT z$fGtVA|vV+_N4Q7b%8~68PS#trb7pYj7K60d#j6o=Wur(B~FgoQHygbvK5L0p~A4Q zI)BHt;*rAs>f-9dwczW4(PB9+%C1K%G-|_Wb$0c!8#~e|{>c}TSq>BA^$7=3vh{1} z%5s&$i;1poI5^>gGU*Uq)M!g3Cgf@>bUY*@_Gs<0~6r%FT`h^Jzm-4wm9xX~E>lY>^ zTx^V%!Y1-FOh-*bC=W#7TfKjn3sRQIWZD6w5ci z5*q4LE_N?Rk+{-VX=KKsL0#NEWNV+Ahb(C}5S*hspLI3D40SHKhtOGj$8VE!APisV z7iQ9l*UJ4{S4yBR@rWA4rBRE1^u}yfzmlplU71D60Ol8FtBYGTqft|4)J__XR_9js z7VVg&j2~B{#kjNvb9D?~eTgbIO0=Y*KOCtjUes`G$~oG!uFd@P)`)#ElxoBA>Rfu= zz}xQ}<|SNsT5J-XaHdcEb5SgYV3<#g@5$D#5iH`N5zhmun7}y|Wn(NLT>g%T%OhI( zd7+j)PhuHO_~}`wE+zlP5FN7eVu-UuaZSUi)Z_}h*3Cl|u@GrR=ddWHjdk(B&_IDP zHIg8l(WaJ#tSyVeS*mq!i`YjONvDp{wE~T}K((YsRX9ie{2EaAZ2h!)KM(c|=c(2` zWsu@eYRbma4AxiU1Z8cwK%L8~k_quwbn#VjI$We$_Z;zrY+QA*Rq;WrFIt z2)StiCIu5pgv;pE;to@aj=mJOF~_htsdXA2!nNTh<6f!S*49AADp6ZbU6!az$yE>v zX;!^Os=X$uMS(2j{xQT^lT5=>YUZt)^v-mMaL|e`YhBCc&_;b0Nmb#7q_(Y^*)A+s zZRv{BXz_?+B9=-KMU+M1W_4+?;?|W^s*4f((UW|uYD=ERyy~Np*Nr`+FU~STMB#RI zE~|>Xr7Zn6B@kbaJ5^h{E*RRTR2~7k9L?=+bt$i)RS#R|aIb1h)}?HWGM{$QaKAdc zUr8Icm6d6ivubJP59%1D>zCCFL+!8EjlMO3OgA!i=C7`iOpPo3qd2v4YA$viM9R5)iYF+({VRaL8- zw&cpl=BuSDa zNs=TlN%xD={eHh+&iXyide*bnf4~3zy#M$8@A)|I=gj|I>-nzB?^*BjfB)M# zXJBw(VBp_;;f`zV)%aug0~RkBom@CEJ~?;JVI#{|j82U2y4}1T=gprtf9{+;SB_1t zTt2ev_{hr1<-=oh=Nz>1xUtd2`;DA_=)_4QmjY@sZ`Di|6e>x?=L!?G`Pn=(i9>4j3ID z9fsz)b2Oyk#*R7)^BH)A|Yye1 z*-J-8PgpuRYsv8BFq74XhK3#|&wjzg#MsF2_@cQ%;vA-H^S{UPzcpv`$KYSNU+8Jc z5Xhf}Y-Y(?Ab%9Hxg{t&_>9k|i60{8-2~mTUy_Lm}H*vN6abLgres3CQ<^JlT>tAm0@-&k_uA@Y_P3VhKhy z_)Q`6Ex|wrzb<4uOR(+1uL{}T5^QepAt6t-1X~z^7P6}) zyMug42*NaH0mui1Jj;^3Kt3R3cS{z6ykE#3mh1!aJ|QTref9-;uaG@0*&pORLeNxm z4g`6(kY`(R5XifPK#t}d4DwDPds}iS$UB5UsOB67@^&H5vE*=&w+X=(H0KDAw+h+M zk|ROhB4mF{js|(NkOM3^7UWGrux;&g9LO7mJlB#XAa4+YfoRV0Ag>qlJWG~>yiN#4 zr8y^pyjI8|mW+YCMhJ$eIpZL&7V>;cP6m0E5R6xImV>-f$O|l)1bKxJ3|@0i0l7%X z3oSVfPb=9~-i5+TP}az4n5 zg&b?i1t6yj!S9w_JRIOIxh z1$my3m6qHF@?0S}{+e?;$N@r5wd4+v{e<9)p*eSgJV(gsmfQuhw-9_~H0N%RXA60; zCHH{rDFk08&AAt34g$fiPGY01MNPY{CFhW7bB$m4~) z%90;|{I3waP&DU9Apaxe)t3AOeT(L z1@cEBZ?R-;klzczOI35$0r{0BG#M@Kz=IZ z?Url^@?#-*MQhGRAU_oH4ofx$c|^!9mTUs@Jt6P3WDdx8h2XWWeKrI6wvcyOvIWRD zh2Vv+Ia`8!UC6sF*&5`lLhw_dIop6dB;-Ao%msN+2!13qXCBBGg}m32`5>Pcf}an~ z*&gJxLf&V|4j`Wvf*%&m*%9QELf&u5P9Pr_f}b4C*%{=cLOx*0E+8Kfa*rjufqYoV z2QAqhO4wPXRv2ZemdlD$AaAmlzv7J|HA$cHW22jqQ1@YAOI*%#!!LOx>2{vhuW zf*(E2IS}OCLOyEAK_KrEf}capIT+-fLOyQEp&;)Nf*(rFISl0OLOyB9;UI4lf}c>$ zIRfOZLOyNDksxmo@)=8x26?lP&suUU$eV=VXIJ|i2l7TCpSNTQ$Qy*<2U&BD2YJ1a zFIut`{5Cg1lD9gO-eeyhaFq#5HFe$fYJ{NDgf@5U;vT4rUAkP-^cT4U8*;5GqnA4nlLG}>xPfP9td6p3TnWs7TgX}8g z-I zRjxj{a&>Oy>b8}u+f=STsd9De%GIqZSGTNOePZS67L}`;SFUbWxw>iP>YU2eCseL( zQn~v0%GHglR%te$+SOL$k96P%_*6f7FB)QP1-*l~_`lP_E}XOK_eE>f(wl`rdiCXq zbE@MTtrCtwVZQv<1&tMnWZt)~TV_$_mnhw6F(==L^*=>Ci6C`f#Il zxkzEYNl<79RoXWa9XEDhm@`X7GLO|d%M&6 z9AD5IG^Mi6NsFuQP8*cx3C=1(xOecK;ioqTkvDgYW$R2YUm}M=5TZ!y;&D1(UJJd zPW$TL7HI1ldfi#DGj$T3(?5m25^YmMZx~Y=DIAs-%0yefenGE(7h^~a^DSF>G?&v$ z?}yM;T1TZ>Z;%|t%YdUEj!3&|C9orz=J7&FFNcUgWJ3w=xUyQT$14KsXlO86eb9VP zFY4vyNh5Tqd|8h2!*ZZpGHe8qeZFXWE?CkFjj4CE#e+o7kFp@%#9>o2pm&F|Ue`6~ zOG-px(rfe?v#%4T9m{&diA@5+2(w-{-^ijqj!#kj6ihqS(#sQ+DF;p10WN$hifaA7 zLR3FLXlJfgI=?|)65^eHYN=C;cIiQ{3>6bq^>v!`F@|=lqc=VO*w|{-(*R_hu($9L zllt^YyK|x9d0-``brYvgatCNZ4ZVI=>}B!J>HZk{C3k@Ks-f3)%UW@ap`pJ&u_?< z6x2y_vx$h%IYtGLdv&NdMiOGrkkG=U5hB%TG<#2dog?>Y{e_1a^ zm*)|Ms17!=c&w^;2OYJqqjlNHYs#OS#PYLXUBd%9)J;5jWnkA@sp0^Vr}MYln240 zjqQA7(|-D(n~rX&7aIKNt*Y+CM)hFRu^ilZzL=4gt4B-9dc&Y}Cb48Oh-Bn4?`4otBjKRqiSFTwnOFFb|Ksd|;eh^bN_6i*$ZcnwBFaa@=y zpwW#CI*rq6>CHltrmzByx{w{an%{DbB)TLzgWZx|5f*RwOcGfr%&1rXcMRglOsAxV zh2|f0Cg+y)hOx=S)P}C8%^J;>)XSu^IIgJI)e_-(EuV+HHd7Xz!<9>VQ}ZxV9Wbw| zt%FXXGj*qPxpF}-gysIMQ5|CQ6gS)8A9(rJ~ZZo)Az$q8O^THNU>PA=&UU$^w#u}+J|4O8jr>Gfh{{DkGQ zPQ!*R)94y5P?~R6%i^tr=J|yiVG@J`uS`yMV$JV#E$6n<+q`#^OuDYDHw{(l#{nlt z?%~$``_?2UK1y4kZMvR63iIuQ-pbw`Qfj$$Lmj=LU8*;AR%x#8l)5liAQftIryJ|& zjlI(wO}x;~OT?0j4`Cq)t9&K9&7E%I?BaQF?V?<1TGCs!$5wi8uA|pW44&1S1oUNs zsaW-$ZsGMh^VR2!S@S>dZHH?9^*?S&e3yb1jLk z6a>(XWh=My7Tw8y4ZYo_Xx5`B)7vrMwy{Tdb}0k6eTEp>RE$rKtJcP$dpNtxdC+EIY@#vP={V+yHX3@#rF*;Ut*n!@ z>$oeUW^9q}J^eN7)rPqrnjG?KVVjg{_j@~%NPz*m1xZwCL^mUG*SH%Z?ju-nmU%!XG zKL+|j4|?-{YwB=e&dH@ZEf?k-MADb|qc~spg)vS%8ge|G({VUVPN%-!eEM>2y{Tuo zN5@HYj_9q(=}li}G<~I>-qaXhGF-7vw8g_qjMpP_PG{2=K7FmMH|yhARfML2sCxKV z#f8N}UJUH`EalKQIH7ocLs1zVD)JSVj4gwe{t@`FycrIv<7gigjXmjGY}V1M^)(em z!btN};X zD#%0dz4OV#Q9DQq?_(ep0E|C)jb~wd(0A_2_41y(}X!mnI(Ooj->E#hZ0?|HWs@Om!ru8^f$Ka=}m=EN&8#dw01h+*f{3|!Kri%%<8m_ zF3~^OEbHY&lgkaYfE|!ooGFw3RY$Lzh;usRntix1=kz#Iw{^lpEY8=pGY;e>iI_Q1 zC?9O|q7JJOx%NFfv>I2Ls@Ii{0+SN)M3xD(e`PR@aY<0{lGEZ&vnus=RCK+a69Rc9 z-ILj=x1(TVmuA<|+qit+6KSZdSEd(xW4dhdzj%i)3vs4^c$>uKkYvnQr1>YU)kQBf z@D*>;oE>O`$CstB6G0kZ5+Y8#wg05Gxy{t?TSZ~$(<`XWUa-O@;y&!2G^#HKty4#D zkdpdAxQd^~aRW}tZSS;hS#Q0vQ=5_5xjtPSTEB+g@O76% z5R~%qmG4{pmWA^X7t>C-Y+zmbHeIF-%6cII7x$1CRdm7*;wsuhVZ0$MJ79ggXhW`C zd_RcV&=s13uz1Tu6p?`^#mUK;k{ba^q`ilb;s()n946H<(miUvVD$P$? zVEDil!pvqkp)VVwoyvOCvyDQ;3l1K8G~`qLX>wcw?~E&?BEg*2p`95Q-oM-c?Ngs9 zB?&~YghK1&SddcN-)R@FUq`QbwjEPdfnip8U){r6$fn(<*9$S}$Ob9uv}oEQm3E(A zZzvrOgN!kr44ERYg)I^juZQcg)r zjqbEprQXz3YWlBO@B--wYowsJBwARhcWMz#HC{%%G2>y#qt2T`mJ5u2EY|BM?Ninp zn~7fUuo83+UHNkw2YD*a+PYZFpnbVY;rx1u;*})YFr3}y65T#%|CV}lwLCsvb54$F zZP9^cz0xF3NahyxcqhhH5s9;EV>P={%cg_Mdc7*!n{y#gBzARbDXAAk2iMRWONlDJ zL9(m`_1a2S*_U0Voam;w942w8m?@naq#U`^p$rP&w>ZC4Al%c-qU%VVURDKR9jzO= zbXZxh>+Kx0%tEqNm~SJcF^LXutT)X#-noqGjpGbE3tfVxw1ry!|JOL8vEJC1)6*4Y z$#T>msl=Gjl+yE^j^rw(^D7d<&CN<2%SD0HR+ZxdB&o)YjxOu%-VVex34z`h&k&ar z*7+lZImeW-CLP;GFITd9jpKSd$9C`CrsK+ba&7*vO!zT($Uqu+3p7De;~r z9|c5}qE(!5(MM}l zux^%<+4fH3WxcU`>f{s#*`hsybU4I|SvIWQ%YsfW>-DD;9*YtAkd<~4l;rgs<_c(Z zBZHRL(Hn;q8bs5Gm}jdU~~J=&c?bu5GpB^g72Ds%6tD_4J}k zC|K35LZu6Hj>u|~!>M%I|0BJ;Z#tufUi+l{Tx4>UlSiaRPvfA5cCfZC8iUT{*y8&) z$_i=G%pIl?!tp93q-o!3Rj#yiG;x5=di3bcs=8ZrPFZgllbICz;>EjoyoTk7cnyAZ z!izcCSj~2KWz~ev<&tgBLn>{B#OE1FlqVw776Njl&bH|M>GY=BD4W_jA>35f*?7(*@k3FyEjNP6*qR7;%FzM3i^zw)_N6n7; zazG05#LX9FY&9+0qd}KVr&o)icXEP`NL93<#qI;l?p~{b@FgS zh}oChR!5jA;7XUbKv&e!Yv;x`r=SfkuL?Vf>ofI9SJu(%R5>R|R&iFX3v-T!H!$d` z7J8$+B$5jy6NZ!MoCY#Ag|2R)H&o$#y&x+&QL=bpRZ$9QaHngyO8NH~l~X%6tKg)* zDI)k&!yHaIJ>KcsI(nz;ohK?XRe>SX70~!P23^-$uWe&S*f)u`{s3KHM{oG@q&zPK zt4U?Js}tgEQnK6J>4rLby+kV{sS6ssVi*$QEy)rhmh@-R3vUp%2F3dS0fLCmZx;EWWQ*SPa-r36nJ9aWvqD^XQ)15W- zW|32cB>9dwC&;TAHtkmEu1B5TJedmRbax%SE-{TM&Mb^kc*jUNFvo)BGS<$kH7vS^ zs}$d7PKa}Yq%5SCDp$ZcWx;gss@Gdq)jfjltD_gsRfmXYsn2t||5)bHb#L5|(EVJq y?Rn7N_Bgl)9fT+Kj)d2_7AP9@z;t?32h3B4722i39HBv>wGYcICA7Rh=Klcy!Q_7c literal 0 HcmV?d00001 diff --git a/examples/helvB08_t_cyrillic.mbf b/examples/helvB08_t_cyrillic.mbf new file mode 100644 index 0000000000000000000000000000000000000000..76eef188e1ba5ad281e3a0088639310b72fed506 GIT binary patch literal 28612 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 V^GaBpIrsn9^