浏览代码

added text BMFont format support

dmuratshin 10 年之前
父节点
当前提交
9672f36139

+ 239 - 230
examples/HelloWorld/data/fonts/main.fnt

@@ -1,230 +1,239 @@
-<?xml version="1.0" ?><font>
-  <info aa="1" bold="0" charset="" face="Paneuropa Freeway" italic="0" outline="1" padding="0,0,0,0" size="-22" smooth="1" spacing="1,1" stretchH="100" unicode="1"/>
-  <common alphaChnl="1" base="20" blueChnl="0" greenChnl="0" lineHeight="26" packed="0" pages="1" redChnl="0" scaleH="128" scaleW="512"/>
-  <pages>
-    <page file="main_0.png" id="0"/>
-  </pages>
-  <chars count="220">
-    <char chnl="15" height="3" id="32" page="0" width="5" x="399" xadvance="8" xoffset="-2" y="98" yoffset="24"/>
-    <char chnl="15" height="15" id="33" page="0" width="8" x="503" xadvance="6" xoffset="-1" y="33" yoffset="6"/>
-    <char chnl="15" height="6" id="34" page="0" width="11" x="249" xadvance="9" xoffset="-1" y="98" yoffset="5"/>
-    <char chnl="15" height="15" id="35" page="0" width="16" x="452" xadvance="14" xoffset="-1" y="36" yoffset="6"/>
-    <char chnl="15" height="21" id="36" page="0" width="15" x="0" xadvance="13" xoffset="-1" y="0" yoffset="3"/>
-    <char chnl="15" height="15" id="37" page="0" width="21" x="127" xadvance="19" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="15" id="38" page="0" width="21" x="149" xadvance="18" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="6" id="39" page="0" width="7" x="261" xadvance="5" xoffset="-1" y="98" yoffset="5"/>
-    <char chnl="15" height="21" id="40" page="0" width="10" x="28" xadvance="8" xoffset="-1" y="0" yoffset="3"/>
-    <char chnl="15" height="21" id="41" page="0" width="11" x="16" xadvance="9" xoffset="-1" y="0" yoffset="3"/>
-    <char chnl="15" height="9" id="42" page="0" width="13" x="185" xadvance="10" xoffset="-1" y="98" yoffset="5"/>
-    <char chnl="15" height="10" id="43" page="0" width="13" x="171" xadvance="11" xoffset="-1" y="98" yoffset="9"/>
-    <char chnl="15" height="7" id="44" page="0" width="8" x="231" xadvance="6" xoffset="-1" y="98" yoffset="16"/>
-    <char chnl="15" height="4" id="45" page="0" width="14" x="378" xadvance="12" xoffset="-1" y="98" yoffset="12"/>
-    <char chnl="15" height="5" id="46" page="0" width="8" x="315" xadvance="6" xoffset="-1" y="98" yoffset="16"/>
-    <char chnl="15" height="19" id="47" page="0" width="13" x="305" xadvance="9" xoffset="-2" y="0" yoffset="4"/>
-    <char chnl="15" height="15" id="48" page="0" width="14" x="463" xadvance="13" xoffset="-1" y="52" yoffset="6"/>
-    <char chnl="15" height="15" id="49" page="0" width="12" x="357" xadvance="9" xoffset="-2" y="69" yoffset="6"/>
-    <char chnl="15" height="15" id="50" page="0" width="14" x="478" xadvance="13" xoffset="-1" y="51" yoffset="6"/>
-    <char chnl="15" height="15" id="51" page="0" width="14" x="195" xadvance="13" xoffset="0" y="69" yoffset="6"/>
-    <char chnl="15" height="15" id="52" page="0" width="15" x="303" xadvance="12" xoffset="-2" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="53" page="0" width="14" x="180" xadvance="13" xoffset="-1" y="69" yoffset="6"/>
-    <char chnl="15" height="15" id="54" page="0" width="14" x="0" xadvance="12" xoffset="-1" y="73" yoffset="6"/>
-    <char chnl="15" height="15" id="55" page="0" width="14" x="60" xadvance="11" xoffset="-1" y="71" yoffset="6"/>
-    <char chnl="15" height="15" id="56" page="0" width="16" x="119" xadvance="14" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="57" page="0" width="15" x="255" xadvance="12" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="11" id="58" page="0" width="8" x="128" xadvance="6" xoffset="-1" y="99" yoffset="10"/>
-    <char chnl="15" height="13" id="59" page="0" width="8" x="481" xadvance="6" xoffset="-1" y="67" yoffset="10"/>
-    <char chnl="15" height="11" id="60" page="0" width="14" x="113" xadvance="11" xoffset="-2" y="99" yoffset="8"/>
-    <char chnl="15" height="8" id="61" page="0" width="14" x="216" xadvance="12" xoffset="-1" y="98" yoffset="10"/>
-    <char chnl="15" height="11" id="62" page="0" width="14" x="98" xadvance="11" xoffset="-1" y="99" yoffset="8"/>
-    <char chnl="15" height="15" id="63" page="0" width="13" x="329" xadvance="11" xoffset="-1" y="69" yoffset="6"/>
-    <char chnl="15" height="18" id="64" page="0" width="25" x="384" xadvance="23" xoffset="-1" y="0" yoffset="6"/>
-    <char chnl="15" height="15" id="65" page="0" width="17" x="400" xadvance="15" xoffset="-1" y="36" yoffset="6"/>
-    <char chnl="15" height="15" id="66" page="0" width="15" x="351" xadvance="13" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="67" page="0" width="14" x="285" xadvance="12" xoffset="-1" y="69" yoffset="6"/>
-    <char chnl="15" height="15" id="68" page="0" width="16" x="153" xadvance="14" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="69" page="0" width="14" x="493" xadvance="12" xoffset="-1" y="51" yoffset="6"/>
-    <char chnl="15" height="15" id="70" page="0" width="14" x="300" xadvance="11" xoffset="-1" y="69" yoffset="6"/>
-    <char chnl="15" height="15" id="71" page="0" width="16" x="170" xadvance="14" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="72" page="0" width="16" x="187" xadvance="15" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="73" page="0" width="11" x="370" xadvance="9" xoffset="-1" y="69" yoffset="6"/>
-    <char chnl="15" height="15" id="74" page="0" width="14" x="255" xadvance="12" xoffset="-1" y="69" yoffset="6"/>
-    <char chnl="15" height="15" id="75" page="0" width="16" x="204" xadvance="14" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="76" page="0" width="14" x="225" xadvance="11" xoffset="-1" y="69" yoffset="6"/>
-    <char chnl="15" height="15" id="77" page="0" width="18" x="273" xadvance="16" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="15" id="78" page="0" width="16" x="221" xadvance="13" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="79" page="0" width="16" x="238" xadvance="15" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="80" page="0" width="15" x="415" xadvance="13" xoffset="-1" y="52" yoffset="6"/>
-    <char chnl="15" height="17" id="81" page="0" width="16" x="57" xadvance="14" xoffset="-1" y="20" yoffset="6"/>
-    <char chnl="15" height="15" id="82" page="0" width="16" x="418" xadvance="14" xoffset="-1" y="36" yoffset="6"/>
-    <char chnl="15" height="16" id="83" page="0" width="15" x="154" xadvance="13" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="15" id="84" page="0" width="15" x="399" xadvance="13" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="85" page="0" width="16" x="435" xadvance="14" xoffset="-1" y="36" yoffset="6"/>
-    <char chnl="15" height="15" id="86" page="0" width="17" x="292" xadvance="14" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="15" id="87" page="0" width="21" x="171" xadvance="19" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="15" id="88" page="0" width="17" x="382" xadvance="15" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="15" id="89" page="0" width="17" x="328" xadvance="15" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="15" id="90" page="0" width="15" x="287" xadvance="13" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="19" id="91" page="0" width="10" x="354" xadvance="8" xoffset="-1" y="0" yoffset="4"/>
-    <char chnl="15" height="19" id="92" page="0" width="13" x="291" xadvance="9" xoffset="-2" y="0" yoffset="4"/>
-    <char chnl="15" height="19" id="93" page="0" width="10" x="343" xadvance="8" xoffset="-1" y="0" yoffset="4"/>
-    <char chnl="15" height="8" id="94" page="0" width="16" x="199" xadvance="14" xoffset="-1" y="98" yoffset="3"/>
-    <char chnl="15" height="4" id="95" page="0" width="16" x="344" xadvance="14" xoffset="-1" y="98" yoffset="19"/>
-    <char chnl="15" height="5" id="96" page="0" width="12" x="290" xadvance="8" xoffset="-2" y="98" yoffset="5"/>
-    <char chnl="15" height="12" id="97" page="0" width="14" x="327" xadvance="13" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="15" id="98" page="0" width="14" x="15" xadvance="13" xoffset="-1" y="73" yoffset="6"/>
-    <char chnl="15" height="12" id="99" page="0" width="13" x="0" xadvance="11" xoffset="-1" y="102" yoffset="9"/>
-    <char chnl="15" height="15" id="100" page="0" width="14" x="90" xadvance="12" xoffset="-1" y="70" yoffset="6"/>
-    <char chnl="15" height="12" id="101" page="0" width="14" x="432" xadvance="12" xoffset="-1" y="83" yoffset="9"/>
-    <char chnl="15" height="15" id="102" page="0" width="13" x="315" xadvance="10" xoffset="-1" y="69" yoffset="6"/>
-    <char chnl="15" height="15" id="103" page="0" width="14" x="120" xadvance="12" xoffset="-1" y="69" yoffset="9"/>
-    <char chnl="15" height="15" id="104" page="0" width="14" x="105" xadvance="12" xoffset="-1" y="70" yoffset="6"/>
-    <char chnl="15" height="16" id="105" page="0" width="10" x="68" xadvance="6" xoffset="-2" y="38" yoffset="5"/>
-    <char chnl="15" height="19" id="106" page="0" width="10" x="365" xadvance="8" xoffset="-1" y="0" yoffset="5"/>
-    <char chnl="15" height="15" id="107" page="0" width="15" x="319" xadvance="12" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="108" page="0" width="9" x="502" xadvance="7" xoffset="-1" y="17" yoffset="6"/>
-    <char chnl="15" height="12" id="109" page="0" width="21" x="490" xadvance="19" xoffset="-1" y="67" yoffset="9"/>
-    <char chnl="15" height="12" id="110" page="0" width="14" x="447" xadvance="12" xoffset="-1" y="83" yoffset="9"/>
-    <char chnl="15" height="12" id="111" page="0" width="15" x="247" xadvance="13" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="15" id="112" page="0" width="14" x="45" xadvance="13" xoffset="-1" y="73" yoffset="9"/>
-    <char chnl="15" height="15" id="113" page="0" width="14" x="30" xadvance="13" xoffset="-1" y="73" yoffset="9"/>
-    <char chnl="15" height="12" id="114" page="0" width="13" x="14" xadvance="11" xoffset="-1" y="102" yoffset="9"/>
-    <char chnl="15" height="12" id="115" page="0" width="13" x="28" xadvance="12" xoffset="-1" y="102" yoffset="9"/>
-    <char chnl="15" height="14" id="116" page="0" width="12" x="454" xadvance="10" xoffset="-1" y="68" yoffset="7"/>
-    <char chnl="15" height="12" id="117" page="0" width="14" x="417" xadvance="12" xoffset="-1" y="84" yoffset="9"/>
-    <char chnl="15" height="12" id="118" page="0" width="16" x="164" xadvance="13" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="12" id="119" page="0" width="21" x="68" xadvance="19" xoffset="-1" y="87" yoffset="9"/>
-    <char chnl="15" height="12" id="120" page="0" width="16" x="130" xadvance="14" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="15" id="121" page="0" width="16" x="469" xadvance="13" xoffset="-1" y="35" yoffset="9"/>
-    <char chnl="15" height="12" id="122" page="0" width="13" x="56" xadvance="11" xoffset="-1" y="102" yoffset="9"/>
-    <char chnl="15" height="19" id="123" page="0" width="11" x="319" xadvance="9" xoffset="-1" y="0" yoffset="4"/>
-    <char chnl="15" height="19" id="124" page="0" width="7" x="376" xadvance="5" xoffset="-1" y="0" yoffset="4"/>
-    <char chnl="15" height="19" id="125" page="0" width="11" x="331" xadvance="9" xoffset="-1" y="0" yoffset="4"/>
-    <char chnl="15" height="3" id="160" page="0" width="5" x="393" xadvance="11" xoffset="-2" y="98" yoffset="24"/>
-    <char chnl="15" height="15" id="161" page="0" width="7" x="393" xadvance="5" xoffset="-1" y="69" yoffset="9"/>
-    <char chnl="15" height="10" id="171" page="0" width="16" x="154" xadvance="14" xoffset="-1" y="98" yoffset="10"/>
-    <char chnl="15" height="5" id="180" page="0" width="11" x="303" xadvance="8" xoffset="-1" y="98" yoffset="5"/>
-    <char chnl="15" height="13" id="186" page="0" width="13" x="467" xadvance="11" xoffset="-1" y="68" yoffset="4"/>
-    <char chnl="15" height="10" id="187" page="0" width="16" x="137" xadvance="14" xoffset="-1" y="98" yoffset="10"/>
-    <char chnl="15" height="15" id="191" page="0" width="13" x="343" xadvance="11" xoffset="-1" y="69" yoffset="9"/>
-    <char chnl="15" height="19" id="192" page="0" width="17" x="93" xadvance="15" xoffset="-1" y="0" yoffset="2"/>
-    <char chnl="15" height="19" id="193" page="0" width="17" x="111" xadvance="15" xoffset="-1" y="0" yoffset="2"/>
-    <char chnl="15" height="19" id="194" page="0" width="17" x="129" xadvance="15" xoffset="-1" y="0" yoffset="2"/>
-    <char chnl="15" height="19" id="195" page="0" width="17" x="75" xadvance="15" xoffset="-1" y="0" yoffset="2"/>
-    <char chnl="15" height="19" id="196" page="0" width="17" x="147" xadvance="15" xoffset="-1" y="0" yoffset="2"/>
-    <char chnl="15" height="19" id="200" page="0" width="14" x="276" xadvance="11" xoffset="-1" y="0" yoffset="2"/>
-    <char chnl="15" height="19" id="201" page="0" width="14" x="261" xadvance="12" xoffset="-1" y="0" yoffset="2"/>
-    <char chnl="15" height="19" id="209" page="0" width="16" x="182" xadvance="13" xoffset="-1" y="0" yoffset="2"/>
-    <char chnl="15" height="19" id="220" page="0" width="17" x="57" xadvance="15" xoffset="-1" y="0" yoffset="2"/>
-    <char chnl="15" height="15" id="223" page="0" width="16" x="136" xadvance="14" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="16" id="224" page="0" width="14" x="442" xadvance="13" xoffset="-1" y="19" yoffset="5"/>
-    <char chnl="15" height="16" id="225" page="0" width="14" x="382" xadvance="12" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="226" page="0" width="14" x="337" xadvance="13" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="227" page="0" width="14" x="322" xadvance="13" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="228" page="0" width="14" x="307" xadvance="12" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="231" page="0" width="13" x="0" xadvance="10" xoffset="-1" y="40" yoffset="9"/>
-    <char chnl="15" height="16" id="232" page="0" width="14" x="277" xadvance="12" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="233" page="0" width="14" x="262" xadvance="12" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="234" page="0" width="14" x="217" xadvance="12" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="235" page="0" width="14" x="202" xadvance="13" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="236" page="0" width="12" x="55" xadvance="8" xoffset="-2" y="38" yoffset="5"/>
-    <char chnl="15" height="16" id="237" page="0" width="12" x="42" xadvance="9" xoffset="-1" y="38" yoffset="5"/>
-    <char chnl="15" height="16" id="238" page="0" width="14" x="367" xadvance="11" xoffset="-2" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="239" page="0" width="11" x="500" xadvance="9" xoffset="-1" y="0" yoffset="5"/>
-    <char chnl="15" height="16" id="241" page="0" width="14" x="292" xadvance="12" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="242" page="0" width="15" x="106" xadvance="13" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="243" page="0" width="14" x="412" xadvance="13" xoffset="-1" y="19" yoffset="5"/>
-    <char chnl="15" height="16" id="244" page="0" width="15" x="122" xadvance="13" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="245" page="0" width="15" x="138" xadvance="13" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="246" page="0" width="16" x="89" xadvance="14" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="249" page="0" width="14" x="232" xadvance="12" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="250" page="0" width="14" x="487" xadvance="12" xoffset="-1" y="18" yoffset="5"/>
-    <char chnl="15" height="16" id="251" page="0" width="14" x="472" xadvance="12" xoffset="-1" y="18" yoffset="5"/>
-    <char chnl="15" height="16" id="252" page="0" width="14" x="457" xadvance="12" xoffset="-1" y="18" yoffset="5"/>
-    <char chnl="15" height="19" id="255" page="0" width="16" x="199" xadvance="13" xoffset="-1" y="0" yoffset="5"/>
-    <char chnl="15" height="19" id="260" page="0" width="17" x="39" xadvance="15" xoffset="-1" y="0" yoffset="6"/>
-    <char chnl="15" height="17" id="261" page="0" width="14" x="74" xadvance="12" xoffset="-1" y="20" yoffset="9"/>
-    <char chnl="15" height="19" id="262" page="0" width="14" x="216" xadvance="12" xoffset="-1" y="0" yoffset="2"/>
-    <char chnl="15" height="16" id="263" page="0" width="14" x="247" xadvance="12" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="16" id="281" page="0" width="14" x="427" xadvance="12" xoffset="-1" y="19" yoffset="9"/>
-    <char chnl="15" height="15" id="322" page="0" width="10" x="382" xadvance="8" xoffset="-1" y="69" yoffset="6"/>
-    <char chnl="15" height="16" id="324" page="0" width="14" x="397" xadvance="12" xoffset="-1" y="19" yoffset="5"/>
-    <char chnl="15" height="12" id="339" page="0" width="22" x="0" xadvance="20" xoffset="-1" y="89" yoffset="9"/>
-    <char chnl="15" height="19" id="346" page="0" width="16" x="165" xadvance="13" xoffset="-1" y="0" yoffset="2"/>
-    <char chnl="15" height="15" id="347" page="0" width="14" x="150" xadvance="13" xoffset="-1" y="69" yoffset="6"/>
-    <char chnl="15" height="16" id="378" page="0" width="13" x="28" xadvance="11" xoffset="-1" y="40" yoffset="5"/>
-    <char chnl="15" height="19" id="379" page="0" width="14" x="231" xadvance="12" xoffset="-1" y="0" yoffset="2"/>
-    <char chnl="15" height="16" id="380" page="0" width="13" x="14" xadvance="11" xoffset="-1" y="40" yoffset="5"/>
-    <char chnl="15" height="19" id="1025" page="0" width="14" x="246" xadvance="12" xoffset="-1" y="0" yoffset="2"/>
-    <char chnl="15" height="15" id="1040" page="0" width="17" x="346" xadvance="15" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="15" id="1041" page="0" width="15" x="431" xadvance="13" xoffset="-1" y="52" yoffset="6"/>
-    <char chnl="15" height="15" id="1042" page="0" width="15" x="447" xadvance="13" xoffset="-1" y="52" yoffset="6"/>
-    <char chnl="15" height="15" id="1043" page="0" width="14" x="210" xadvance="11" xoffset="-1" y="69" yoffset="6"/>
-    <char chnl="15" height="17" id="1044" page="0" width="16" x="40" xadvance="15" xoffset="-1" y="20" yoffset="6"/>
-    <char chnl="15" height="15" id="1045" page="0" width="14" x="240" xadvance="12" xoffset="-1" y="69" yoffset="6"/>
-    <char chnl="15" height="15" id="1046" page="0" width="24" x="79" xadvance="22" xoffset="-1" y="38" yoffset="6"/>
-    <char chnl="15" height="15" id="1047" page="0" width="14" x="270" xadvance="13" xoffset="0" y="69" yoffset="6"/>
-    <char chnl="15" height="15" id="1048" page="0" width="16" x="0" xadvance="13" xoffset="-1" y="57" yoffset="6"/>
-    <char chnl="15" height="18" id="1049" page="0" width="16" x="433" xadvance="14" xoffset="-1" y="0" yoffset="3"/>
-    <char chnl="15" height="15" id="1050" page="0" width="16" x="17" xadvance="14" xoffset="-1" y="57" yoffset="6"/>
-    <char chnl="15" height="15" id="1051" page="0" width="17" x="364" xadvance="16" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="15" id="1052" page="0" width="18" x="235" xadvance="16" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="15" id="1053" page="0" width="16" x="34" xadvance="15" xoffset="-1" y="57" yoffset="6"/>
-    <char chnl="15" height="15" id="1054" page="0" width="16" x="51" xadvance="15" xoffset="-1" y="55" yoffset="6"/>
-    <char chnl="15" height="15" id="1055" page="0" width="16" x="486" xadvance="15" xoffset="-1" y="35" yoffset="6"/>
-    <char chnl="15" height="15" id="1056" page="0" width="15" x="383" xadvance="13" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="1057" page="0" width="14" x="135" xadvance="12" xoffset="-1" y="69" yoffset="6"/>
-    <char chnl="15" height="15" id="1058" page="0" width="15" x="335" xadvance="13" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="1059" page="0" width="16" x="68" xadvance="14" xoffset="-1" y="55" yoffset="6"/>
-    <char chnl="15" height="17" id="1060" page="0" width="21" x="0" xadvance="19" xoffset="-1" y="22" yoffset="5"/>
-    <char chnl="15" height="15" id="1061" page="0" width="17" x="310" xadvance="15" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="17" id="1062" page="0" width="17" x="22" xadvance="16" xoffset="-1" y="22" yoffset="6"/>
-    <char chnl="15" height="15" id="1063" page="0" width="15" x="367" xadvance="14" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="1064" page="0" width="21" x="193" xadvance="19" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="17" id="1065" page="0" width="22" x="477" xadvance="20" xoffset="-1" y="0" yoffset="6"/>
-    <char chnl="15" height="15" id="1066" page="0" width="18" x="254" xadvance="16" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="15" id="1067" page="0" width="19" x="215" xadvance="17" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="15" id="1068" page="0" width="15" x="271" xadvance="13" xoffset="-1" y="53" yoffset="6"/>
-    <char chnl="15" height="15" id="1069" page="0" width="14" x="75" xadvance="13" xoffset="0" y="71" yoffset="6"/>
-    <char chnl="15" height="15" id="1070" page="0" width="22" x="104" xadvance="20" xoffset="-1" y="37" yoffset="6"/>
-    <char chnl="15" height="15" id="1071" page="0" width="16" x="85" xadvance="14" xoffset="-1" y="54" yoffset="6"/>
-    <char chnl="15" height="12" id="1072" page="0" width="14" x="477" xadvance="13" xoffset="-1" y="82" yoffset="9"/>
-    <char chnl="15" height="16" id="1073" page="0" width="15" x="186" xadvance="12" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="12" id="1074" page="0" width="14" x="342" xadvance="12" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="12" id="1075" page="0" width="13" x="42" xadvance="11" xoffset="-1" y="102" yoffset="9"/>
-    <char chnl="15" height="14" id="1076" page="0" width="15" x="422" xadvance="13" xoffset="-1" y="68" yoffset="9"/>
-    <char chnl="15" height="12" id="1077" page="0" width="14" x="387" xadvance="12" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="12" id="1078" page="0" width="22" x="23" xadvance="20" xoffset="-1" y="89" yoffset="9"/>
-    <char chnl="15" height="12" id="1079" page="0" width="14" x="462" xadvance="12" xoffset="-1" y="83" yoffset="9"/>
-    <char chnl="15" height="12" id="1080" page="0" width="15" x="311" xadvance="13" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="16" id="1081" page="0" width="15" x="170" xadvance="13" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="12" id="1082" page="0" width="15" x="215" xadvance="13" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="12" id="1083" page="0" width="15" x="263" xadvance="14" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="12" id="1084" page="0" width="16" x="181" xadvance="14" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="12" id="1085" page="0" width="15" x="295" xadvance="13" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="12" id="1086" page="0" width="15" x="279" xadvance="13" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="12" id="1087" page="0" width="15" x="231" xadvance="13" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="15" id="1088" page="0" width="14" x="165" xadvance="13" xoffset="-1" y="69" yoffset="9"/>
-    <char chnl="15" height="12" id="1089" page="0" width="13" x="84" xadvance="11" xoffset="-1" y="100" yoffset="9"/>
-    <char chnl="15" height="12" id="1090" page="0" width="14" x="492" xadvance="12" xoffset="-1" y="80" yoffset="9"/>
-    <char chnl="15" height="15" id="1091" page="0" width="16" x="102" xadvance="13" xoffset="-1" y="54" yoffset="9"/>
-    <char chnl="15" height="18" id="1092" page="0" width="22" x="410" xadvance="20" xoffset="-1" y="0" yoffset="6"/>
-    <char chnl="15" height="12" id="1093" page="0" width="16" x="198" xadvance="14" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="14" id="1094" page="0" width="15" x="438" xadvance="14" xoffset="-1" y="68" yoffset="9"/>
-    <char chnl="15" height="12" id="1095" page="0" width="14" x="402" xadvance="12" xoffset="-1" y="84" yoffset="9"/>
-    <char chnl="15" height="12" id="1096" page="0" width="20" x="90" xadvance="18" xoffset="-1" y="86" yoffset="9"/>
-    <char chnl="15" height="14" id="1097" page="0" width="20" x="401" xadvance="18" xoffset="-1" y="69" yoffset="9"/>
-    <char chnl="15" height="12" id="1098" page="0" width="16" x="147" xadvance="15" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="12" id="1099" page="0" width="18" x="111" xadvance="16" xoffset="-1" y="86" yoffset="9"/>
-    <char chnl="15" height="12" id="1100" page="0" width="14" x="372" xadvance="13" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="12" id="1101" page="0" width="13" x="70" xadvance="11" xoffset="-1" y="100" yoffset="9"/>
-    <char chnl="15" height="12" id="1102" page="0" width="21" x="46" xadvance="19" xoffset="-1" y="89" yoffset="9"/>
-    <char chnl="15" height="12" id="1103" page="0" width="14" x="357" xadvance="12" xoffset="-1" y="85" yoffset="9"/>
-    <char chnl="15" height="16" id="1105" page="0" width="14" x="352" xadvance="12" xoffset="-1" y="20" yoffset="5"/>
-    <char chnl="15" height="4" id="8211" page="0" width="16" x="361" xadvance="14" xoffset="-1" y="98" yoffset="12"/>
-    <char chnl="15" height="4" id="8212" page="0" width="19" x="324" xadvance="17" xoffset="-1" y="98" yoffset="12"/>
-    <char chnl="15" height="7" id="8217" page="0" width="8" x="240" xadvance="6" xoffset="-1" y="98" yoffset="5"/>
-    <char chnl="15" height="5" id="8230" page="0" width="20" x="269" xadvance="18" xoffset="-1" y="98" yoffset="16"/>
-    <char chnl="15" height="17" id="8470" page="0" width="26" x="450" xadvance="23" xoffset="-1" y="0" yoffset="4"/>
-  </chars>
-  
-</font>
+info face="Easterbuns" size=24 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=4,3,4,3 spacing=-7,-8
+common lineHeight=30 base=22 scaleW=256 scaleH=512 pages=1 packed=0
+page id=0 file="main_0.png"
+chars count=234
+char id=32   x=0     y=0     width=0     height=0     xoffset=0     yoffset=22    xadvance=4     page=0  chnl=0 
+char id=960   x=0     y=0     width=25     height=34     xoffset=-4     yoffset=-3    xadvance=16     page=0  chnl=0 
+char id=255   x=25     y=0     width=19     height=33     xoffset=-3     yoffset=1    xadvance=11     page=0  chnl=0 
+char id=254   x=44     y=0     width=17     height=33     xoffset=-3     yoffset=1    xadvance=10     page=0  chnl=0 
+char id=253   x=61     y=0     width=19     height=33     xoffset=-3     yoffset=1    xadvance=11     page=0  chnl=0 
+char id=8747   x=80     y=0     width=19     height=32     xoffset=-6     yoffset=0    xadvance=6     page=0  chnl=0 
+char id=381   x=99     y=0     width=21     height=32     xoffset=-3     yoffset=-4    xadvance=13     page=0  chnl=0 
+char id=352   x=120     y=0     width=19     height=32     xoffset=-3     yoffset=-4    xadvance=11     page=0  chnl=0 
+char id=221   x=139     y=0     width=21     height=32     xoffset=-3     yoffset=-3    xadvance=13     page=0  chnl=0 
+char id=216   x=160     y=0     width=23     height=32     xoffset=-3     yoffset=-1    xadvance=15     page=0  chnl=0 
+char id=210   x=183     y=0     width=23     height=32     xoffset=-3     yoffset=-4    xadvance=15     page=0  chnl=0 
+char id=205   x=206     y=0     width=17     height=32     xoffset=-3     yoffset=-5    xadvance=9     page=0  chnl=0 
+char id=197   x=223     y=0     width=21     height=32     xoffset=-3     yoffset=-4    xadvance=12     page=0  chnl=0 
+char id=106   x=0     y=34     width=18     height=32     xoffset=-6     yoffset=2    xadvance=4     page=0  chnl=0 
+char id=402   x=18     y=34     width=17     height=31     xoffset=-4     yoffset=1    xadvance=8     page=0  chnl=0 
+char id=376   x=35     y=34     width=21     height=31     xoffset=-3     yoffset=-2    xadvance=13     page=0  chnl=0 
+char id=219   x=56     y=34     width=21     height=31     xoffset=-3     yoffset=-3    xadvance=13     page=0  chnl=0 
+char id=218   x=77     y=34     width=21     height=31     xoffset=-3     yoffset=-3    xadvance=13     page=0  chnl=0 
+char id=217   x=98     y=34     width=21     height=31     xoffset=-3     yoffset=-3    xadvance=13     page=0  chnl=0 
+char id=213   x=119     y=34     width=23     height=31     xoffset=-3     yoffset=-3    xadvance=15     page=0  chnl=0 
+char id=212   x=142     y=34     width=23     height=31     xoffset=-3     yoffset=-3    xadvance=15     page=0  chnl=0 
+char id=211   x=165     y=34     width=23     height=31     xoffset=-3     yoffset=-3    xadvance=15     page=0  chnl=0 
+char id=206   x=188     y=34     width=17     height=31     xoffset=-3     yoffset=-4    xadvance=9     page=0  chnl=0 
+char id=204   x=205     y=34     width=17     height=31     xoffset=-3     yoffset=-4    xadvance=9     page=0  chnl=0 
+char id=199   x=222     y=34     width=20     height=31     xoffset=-3     yoffset=2    xadvance=11     page=0  chnl=0 
+char id=194   x=0     y=66     width=21     height=31     xoffset=-3     yoffset=-3    xadvance=12     page=0  chnl=0 
+char id=193   x=21     y=66     width=21     height=31     xoffset=-3     yoffset=-3    xadvance=12     page=0  chnl=0 
+char id=192   x=42     y=66     width=21     height=31     xoffset=-3     yoffset=-3    xadvance=12     page=0  chnl=0 
+char id=191   x=63     y=66     width=18     height=31     xoffset=-3     yoffset=-1    xadvance=9     page=0  chnl=0 
+char id=214   x=81     y=66     width=23     height=30     xoffset=-2     yoffset=-2    xadvance=15     page=0  chnl=0 
+char id=209   x=104     y=66     width=21     height=30     xoffset=-3     yoffset=-3    xadvance=14     page=0  chnl=0 
+char id=207   x=125     y=66     width=17     height=30     xoffset=-3     yoffset=-3    xadvance=9     page=0  chnl=0 
+char id=202   x=142     y=66     width=18     height=30     xoffset=-3     yoffset=-3    xadvance=10     page=0  chnl=0 
+char id=200   x=160     y=66     width=18     height=30     xoffset=-3     yoffset=-3    xadvance=10     page=0  chnl=0 
+char id=195   x=178     y=66     width=21     height=30     xoffset=-3     yoffset=-2    xadvance=12     page=0  chnl=0 
+char id=81   x=199     y=66     width=24     height=30     xoffset=-3     yoffset=1    xadvance=17     page=0  chnl=0 
+char id=256   x=223     y=66     width=20     height=29     xoffset=-2     yoffset=-2    xadvance=13     page=0  chnl=0 
+char id=229   x=0     y=97     width=17     height=29     xoffset=-3     yoffset=-1    xadvance=9     page=0  chnl=0 
+char id=223   x=17     y=97     width=20     height=29     xoffset=-4     yoffset=2    xadvance=10     page=0  chnl=0 
+char id=220   x=37     y=97     width=21     height=29     xoffset=-3     yoffset=-1    xadvance=13     page=0  chnl=0 
+char id=201   x=58     y=97     width=18     height=29     xoffset=-3     yoffset=-2    xadvance=10     page=0  chnl=0 
+char id=196   x=76     y=97     width=21     height=29     xoffset=-3     yoffset=-1    xadvance=12     page=0  chnl=0 
+char id=161   x=97     y=97     width=14     height=29     xoffset=-3     yoffset=0    xadvance=6     page=0  chnl=0 
+char id=36   x=111     y=97     width=20     height=29     xoffset=-3     yoffset=0    xadvance=12     page=0  chnl=0 
+char id=64258   x=131     y=97     width=20     height=28     xoffset=-3     yoffset=0    xadvance=12     page=0  chnl=0 
+char id=353   x=151     y=97     width=17     height=28     xoffset=-3     yoffset=0    xadvance=9     page=0  chnl=0 
+char id=251   x=168     y=97     width=17     height=28     xoffset=-3     yoffset=0    xadvance=11     page=0  chnl=0 
+char id=234   x=185     y=97     width=17     height=28     xoffset=-3     yoffset=0    xadvance=9     page=0  chnl=0 
+char id=233   x=202     y=97     width=17     height=28     xoffset=-3     yoffset=0    xadvance=9     page=0  chnl=0 
+char id=232   x=219     y=97     width=17     height=28     xoffset=-3     yoffset=0    xadvance=9     page=0  chnl=0 
+char id=226   x=236     y=97     width=17     height=28     xoffset=-3     yoffset=0    xadvance=9     page=0  chnl=0 
+char id=225   x=0     y=126     width=17     height=28     xoffset=-3     yoffset=0    xadvance=9     page=0  chnl=0 
+char id=224   x=17     y=126     width=17     height=28     xoffset=-3     yoffset=0    xadvance=10     page=0  chnl=0 
+char id=203   x=34     y=126     width=18     height=28     xoffset=-3     yoffset=-1    xadvance=10     page=0  chnl=0 
+char id=166   x=52     y=126     width=11     height=28     xoffset=-2     yoffset=0    xadvance=4     page=0  chnl=0 
+char id=113   x=63     y=126     width=26     height=28     xoffset=-3     yoffset=6    xadvance=11     page=0  chnl=0 
+char id=104   x=89     y=126     width=18     height=28     xoffset=-3     yoffset=0    xadvance=11     page=0  chnl=0 
+char id=103   x=107     y=126     width=19     height=28     xoffset=-3     yoffset=6    xadvance=11     page=0  chnl=0 
+char id=41   x=126     y=126     width=14     height=28     xoffset=-3     yoffset=1    xadvance=6     page=0  chnl=0 
+char id=112   x=140     y=126     width=18     height=28     xoffset=-3     yoffset=6    xadvance=10     page=0  chnl=0 
+char id=38   x=158     y=126     width=22     height=28     xoffset=-4     yoffset=0    xadvance=13     page=0  chnl=0 
+char id=64257   x=180     y=126     width=20     height=27     xoffset=-3     yoffset=0    xadvance=12     page=0  chnl=0 
+char id=8730   x=200     y=126     width=21     height=27     xoffset=-3     yoffset=0    xadvance=13     page=0  chnl=0 
+char id=8721   x=221     y=126     width=19     height=27     xoffset=-3     yoffset=1    xadvance=11     page=0  chnl=0 
+char id=8706   x=0     y=154     width=19     height=27     xoffset=-3     yoffset=1    xadvance=11     page=0  chnl=0 
+char id=8225   x=19     y=154     width=18     height=27     xoffset=-4     yoffset=0    xadvance=8     page=0  chnl=0 
+char id=937   x=37     y=154     width=25     height=27     xoffset=-2     yoffset=0    xadvance=19     page=0  chnl=0 
+char id=382   x=62     y=154     width=18     height=27     xoffset=-3     yoffset=0    xadvance=10     page=0  chnl=0 
+char id=322   x=80     y=154     width=17     height=27     xoffset=-4     yoffset=0    xadvance=6     page=0  chnl=0 
+char id=250   x=97     y=154     width=17     height=27     xoffset=-3     yoffset=1    xadvance=11     page=0  chnl=0 
+char id=249   x=114     y=154     width=17     height=27     xoffset=-3     yoffset=1    xadvance=11     page=0  chnl=0 
+char id=245   x=131     y=154     width=19     height=27     xoffset=-3     yoffset=1    xadvance=11     page=0  chnl=0 
+char id=244   x=150     y=154     width=19     height=27     xoffset=-3     yoffset=1    xadvance=11     page=0  chnl=0 
+char id=242   x=169     y=154     width=19     height=27     xoffset=-3     yoffset=1    xadvance=11     page=0  chnl=0 
+char id=240   x=188     y=154     width=19     height=27     xoffset=-3     yoffset=0    xadvance=11     page=0  chnl=0 
+char id=231   x=207     y=154     width=17     height=27     xoffset=-3     yoffset=5    xadvance=9     page=0  chnl=0 
+char id=228   x=224     y=154     width=17     height=27     xoffset=-3     yoffset=1    xadvance=10     page=0  chnl=0 
+char id=227   x=0     y=181     width=18     height=27     xoffset=-3     yoffset=1    xadvance=9     page=0  chnl=0 
+char id=181   x=18     y=181     width=20     height=27     xoffset=-3     yoffset=6    xadvance=12     page=0  chnl=0 
+char id=167   x=38     y=181     width=18     height=27     xoffset=-3     yoffset=0    xadvance=11     page=0  chnl=0 
+char id=124   x=56     y=181     width=11     height=27     xoffset=-3     yoffset=1    xadvance=3     page=0  chnl=0 
+char id=123   x=67     y=181     width=15     height=27     xoffset=-3     yoffset=2    xadvance=6     page=0  chnl=0 
+char id=121   x=82     y=181     width=19     height=27     xoffset=-3     yoffset=7    xadvance=11     page=0  chnl=0 
+char id=102   x=101     y=181     width=17     height=27     xoffset=-3     yoffset=0    xadvance=8     page=0  chnl=0 
+char id=100   x=118     y=181     width=19     height=27     xoffset=-4     yoffset=0    xadvance=10     page=0  chnl=0 
+char id=98   x=137     y=181     width=19     height=27     xoffset=-3     yoffset=1    xadvance=11     page=0  chnl=0 
+char id=93   x=156     y=181     width=13     height=27     xoffset=-3     yoffset=1    xadvance=6     page=0  chnl=0 
+char id=91   x=169     y=181     width=14     height=27     xoffset=-3     yoffset=1    xadvance=6     page=0  chnl=0 
+char id=33   x=183     y=181     width=13     height=27     xoffset=-3     yoffset=1    xadvance=6     page=0  chnl=0 
+char id=116   x=196     y=181     width=17     height=27     xoffset=-4     yoffset=0    xadvance=8     page=0  chnl=0 
+char id=108   x=213     y=181     width=12     height=27     xoffset=-3     yoffset=0    xadvance=4     page=0  chnl=0 
+char id=8260   x=225     y=181     width=19     height=26     xoffset=-3     yoffset=1    xadvance=11     page=0  chnl=0 
+char id=8224   x=0     y=208     width=18     height=26     xoffset=-3     yoffset=-1    xadvance=11     page=0  chnl=0 
+char id=916   x=18     y=208     width=23     height=26     xoffset=-3     yoffset=1    xadvance=15     page=0  chnl=0 
+char id=338   x=41     y=208     width=29     height=26     xoffset=-2     yoffset=2    xadvance=22     page=0  chnl=0 
+char id=243   x=70     y=208     width=19     height=26     xoffset=-3     yoffset=2    xadvance=11     page=0  chnl=0 
+char id=241   x=89     y=208     width=19     height=26     xoffset=-4     yoffset=1    xadvance=10     page=0  chnl=0 
+char id=235   x=108     y=208     width=17     height=26     xoffset=-3     yoffset=2    xadvance=9     page=0  chnl=0 
+char id=208   x=125     y=208     width=23     height=26     xoffset=-5     yoffset=1    xadvance=13     page=0  chnl=0 
+char id=198   x=148     y=208     width=26     height=26     xoffset=-3     yoffset=2    xadvance=19     page=0  chnl=0 
+char id=190   x=174     y=208     width=28     height=26     xoffset=-3     yoffset=3    xadvance=20     page=0  chnl=0 
+char id=164   x=202     y=208     width=24     height=26     xoffset=-2     yoffset=1    xadvance=19     page=0  chnl=0 
+char id=163   x=226     y=208     width=20     height=26     xoffset=-3     yoffset=1    xadvance=13     page=0  chnl=0 
+char id=162   x=0     y=234     width=18     height=26     xoffset=-3     yoffset=1    xadvance=9     page=0  chnl=0 
+char id=125   x=18     y=234     width=15     height=26     xoffset=-3     yoffset=1    xadvance=6     page=0  chnl=0 
+char id=107   x=33     y=234     width=18     height=26     xoffset=-3     yoffset=1    xadvance=9     page=0  chnl=0 
+char id=92   x=51     y=234     width=19     height=26     xoffset=-3     yoffset=2    xadvance=11     page=0  chnl=0 
+char id=90   x=70     y=234     width=21     height=26     xoffset=-3     yoffset=2    xadvance=13     page=0  chnl=0 
+char id=89   x=91     y=234     width=21     height=26     xoffset=-3     yoffset=3    xadvance=13     page=0  chnl=0 
+char id=88   x=112     y=234     width=23     height=26     xoffset=-3     yoffset=2    xadvance=14     page=0  chnl=0 
+char id=83   x=135     y=234     width=19     height=26     xoffset=-3     yoffset=2    xadvance=11     page=0  chnl=0 
+char id=82   x=154     y=234     width=20     height=26     xoffset=-3     yoffset=1    xadvance=12     page=0  chnl=0 
+char id=80   x=174     y=234     width=20     height=26     xoffset=-3     yoffset=1    xadvance=12     page=0  chnl=0 
+char id=79   x=194     y=234     width=23     height=26     xoffset=-2     yoffset=2    xadvance=15     page=0  chnl=0 
+char id=75   x=217     y=234     width=20     height=26     xoffset=-3     yoffset=2    xadvance=12     page=0  chnl=0 
+char id=74   x=0     y=260     width=19     height=26     xoffset=-3     yoffset=2    xadvance=11     page=0  chnl=0 
+char id=72   x=19     y=260     width=21     height=26     xoffset=-3     yoffset=1    xadvance=13     page=0  chnl=0 
+char id=70   x=40     y=260     width=19     height=26     xoffset=-3     yoffset=2    xadvance=10     page=0  chnl=0 
+char id=68   x=59     y=260     width=20     height=26     xoffset=-3     yoffset=1    xadvance=13     page=0  chnl=0 
+char id=67   x=79     y=260     width=20     height=26     xoffset=-3     yoffset=2    xadvance=11     page=0  chnl=0 
+char id=65   x=99     y=260     width=21     height=26     xoffset=-3     yoffset=2    xadvance=12     page=0  chnl=0 
+char id=64   x=120     y=260     width=21     height=26     xoffset=-3     yoffset=2    xadvance=13     page=0  chnl=0 
+char id=40   x=141     y=260     width=15     height=26     xoffset=-3     yoffset=2    xadvance=7     page=0  chnl=0 
+char id=57   x=156     y=260     width=18     height=26     xoffset=-2     yoffset=2    xadvance=11     page=0  chnl=0 
+char id=54   x=174     y=260     width=18     height=26     xoffset=-3     yoffset=2    xadvance=10     page=0  chnl=0 
+char id=53   x=192     y=260     width=19     height=26     xoffset=-3     yoffset=2    xadvance=11     page=0  chnl=0 
+char id=52   x=211     y=260     width=19     height=26     xoffset=-3     yoffset=2    xadvance=11     page=0  chnl=0 
+char id=50   x=230     y=260     width=19     height=26     xoffset=-3     yoffset=1    xadvance=11     page=0  chnl=0 
+char id=48   x=0     y=286     width=18     height=26     xoffset=-3     yoffset=2    xadvance=10     page=0  chnl=0 
+char id=105   x=18     y=286     width=13     height=26     xoffset=-3     yoffset=1    xadvance=5     page=0  chnl=0 
+char id=63   x=31     y=286     width=17     height=26     xoffset=-3     yoffset=2    xadvance=9     page=0  chnl=0 
+char id=8364   x=48     y=286     width=23     height=25     xoffset=-4     yoffset=3    xadvance=14     page=0  chnl=0 
+char id=252   x=71     y=286     width=17     height=25     xoffset=-3     yoffset=2    xadvance=11     page=0  chnl=0 
+char id=246   x=88     y=286     width=19     height=25     xoffset=-3     yoffset=3    xadvance=11     page=0  chnl=0 
+char id=238   x=107     y=286     width=16     height=25     xoffset=-4     yoffset=2    xadvance=6     page=0  chnl=0 
+char id=222   x=123     y=286     width=20     height=25     xoffset=-3     yoffset=2    xadvance=12     page=0  chnl=0 
+char id=189   x=143     y=286     width=26     height=25     xoffset=-3     yoffset=3    xadvance=17     page=0  chnl=0 
+char id=188   x=169     y=286     width=25     height=25     xoffset=-3     yoffset=3    xadvance=17     page=0  chnl=0 
+char id=182   x=194     y=286     width=22     height=25     xoffset=-4     yoffset=2    xadvance=13     page=0  chnl=0 
+char id=174   x=216     y=286     width=22     height=25     xoffset=-3     yoffset=2    xadvance=14     page=0  chnl=0 
+char id=169   x=0     y=312     width=22     height=25     xoffset=-3     yoffset=2    xadvance=14     page=0  chnl=0 
+char id=87   x=22     y=312     width=27     height=25     xoffset=-3     yoffset=3    xadvance=18     page=0  chnl=0 
+char id=86   x=49     y=312     width=22     height=25     xoffset=-3     yoffset=2    xadvance=13     page=0  chnl=0 
+char id=85   x=71     y=312     width=21     height=25     xoffset=-3     yoffset=3    xadvance=13     page=0  chnl=0 
+char id=78   x=92     y=312     width=22     height=25     xoffset=-3     yoffset=3    xadvance=14     page=0  chnl=0 
+char id=77   x=114     y=312     width=26     height=25     xoffset=-3     yoffset=2    xadvance=18     page=0  chnl=0 
+char id=73   x=140     y=312     width=17     height=25     xoffset=-3     yoffset=2    xadvance=9     page=0  chnl=0 
+char id=71   x=157     y=312     width=20     height=25     xoffset=-3     yoffset=2    xadvance=13     page=0  chnl=0 
+char id=69   x=177     y=312     width=18     height=25     xoffset=-3     yoffset=2    xadvance=10     page=0  chnl=0 
+char id=66   x=195     y=312     width=20     height=25     xoffset=-3     yoffset=2    xadvance=12     page=0  chnl=0 
+char id=56   x=215     y=312     width=20     height=25     xoffset=-3     yoffset=3    xadvance=12     page=0  chnl=0 
+char id=35   x=0     y=337     width=21     height=25     xoffset=-3     yoffset=1    xadvance=13     page=0  chnl=0 
+char id=49   x=21     y=337     width=15     height=25     xoffset=-3     yoffset=2    xadvance=7     page=0  chnl=0 
+char id=8471   x=36     y=337     width=22     height=24     xoffset=-3     yoffset=2    xadvance=14     page=0  chnl=0 
+char id=8240   x=58     y=337     width=22     height=24     xoffset=-3     yoffset=2    xadvance=14     page=0  chnl=0 
+char id=321   x=80     y=337     width=21     height=24     xoffset=-4     yoffset=3    xadvance=13     page=0  chnl=0 
+char id=248   x=101     y=337     width=19     height=24     xoffset=-3     yoffset=5    xadvance=10     page=0  chnl=0 
+char id=239   x=120     y=337     width=16     height=24     xoffset=-4     yoffset=3    xadvance=5     page=0  chnl=0 
+char id=237   x=136     y=337     width=13     height=24     xoffset=-3     yoffset=3    xadvance=5     page=0  chnl=0 
+char id=236   x=149     y=337     width=14     height=24     xoffset=-4     yoffset=3    xadvance=5     page=0  chnl=0 
+char id=177   x=163     y=337     width=19     height=24     xoffset=-3     yoffset=3    xadvance=11     page=0  chnl=0 
+char id=165   x=182     y=337     width=21     height=24     xoffset=-3     yoffset=3    xadvance=13     page=0  chnl=0 
+char id=84   x=203     y=337     width=21     height=24     xoffset=-3     yoffset=3    xadvance=13     page=0  chnl=0 
+char id=76   x=224     y=337     width=20     height=24     xoffset=-3     yoffset=3    xadvance=12     page=0  chnl=0 
+char id=47   x=0     y=362     width=17     height=24     xoffset=-3     yoffset=3    xadvance=9     page=0  chnl=0 
+char id=37   x=17     y=362     width=19     height=24     xoffset=-3     yoffset=3    xadvance=12     page=0  chnl=0 
+char id=55   x=36     y=362     width=18     height=24     xoffset=-3     yoffset=3    xadvance=10     page=0  chnl=0 
+char id=51   x=54     y=362     width=18     height=24     xoffset=-3     yoffset=3    xadvance=10     page=0  chnl=0 
+char id=109   x=72     y=362     width=22     height=23     xoffset=-2     yoffset=5    xadvance=15     page=0  chnl=0 
+char id=8800   x=94     y=362     width=18     height=22     xoffset=-3     yoffset=6    xadvance=10     page=0  chnl=0 
+char id=8734   x=112     y=362     width=23     height=22     xoffset=-3     yoffset=5    xadvance=15     page=0  chnl=0 
+char id=339   x=135     y=362     width=25     height=22     xoffset=-3     yoffset=6    xadvance=17     page=0  chnl=0 
+char id=247   x=160     y=362     width=18     height=22     xoffset=-3     yoffset=5    xadvance=11     page=0  chnl=0 
+char id=230   x=178     y=362     width=23     height=22     xoffset=-3     yoffset=6    xadvance=15     page=0  chnl=0 
+char id=99   x=201     y=362     width=17     height=22     xoffset=-3     yoffset=5    xadvance=9     page=0  chnl=0 
+char id=43   x=218     y=362     width=19     height=22     xoffset=-3     yoffset=5    xadvance=11     page=0  chnl=0 
+char id=97   x=237     y=362     width=17     height=22     xoffset=-3     yoffset=6    xadvance=9     page=0  chnl=0 
+char id=111   x=0     y=386     width=19     height=22     xoffset=-3     yoffset=6    xadvance=11     page=0  chnl=0 
+char id=115   x=19     y=386     width=17     height=22     xoffset=-3     yoffset=6    xadvance=9     page=0  chnl=0 
+char id=101   x=36     y=386     width=17     height=22     xoffset=-3     yoffset=6    xadvance=9     page=0  chnl=0 
+char id=8308   x=53     y=386     width=15     height=21     xoffset=-3     yoffset=1    xadvance=7     page=0  chnl=0 
+char id=122   x=68     y=386     width=18     height=21     xoffset=-3     yoffset=6    xadvance=10     page=0  chnl=0 
+char id=119   x=86     y=386     width=23     height=21     xoffset=-4     yoffset=6    xadvance=13     page=0  chnl=0 
+char id=117   x=109     y=386     width=17     height=21     xoffset=-3     yoffset=6    xadvance=11     page=0  chnl=0 
+char id=59   x=126     y=386     width=12     height=21     xoffset=-3     yoffset=6    xadvance=4     page=0  chnl=0 
+char id=62   x=138     y=386     width=17     height=21     xoffset=-3     yoffset=6    xadvance=9     page=0  chnl=0 
+char id=110   x=155     y=386     width=19     height=21     xoffset=-4     yoffset=6    xadvance=10     page=0  chnl=0 
+char id=114   x=174     y=386     width=16     height=21     xoffset=-3     yoffset=6    xadvance=8     page=0  chnl=0 
+char id=118   x=190     y=386     width=19     height=21     xoffset=-4     yoffset=6    xadvance=9     page=0  chnl=0 
+char id=120   x=209     y=386     width=20     height=21     xoffset=-3     yoffset=6    xadvance=12     page=0  chnl=0 
+char id=60   x=229     y=386     width=17     height=21     xoffset=-3     yoffset=6    xadvance=9     page=0  chnl=0 
+char id=178   x=0     y=408     width=17     height=20     xoffset=-3     yoffset=3    xadvance=9     page=0  chnl=0 
+char id=58   x=17     y=408     width=12     height=20     xoffset=-3     yoffset=7    xadvance=4     page=0  chnl=0 
+char id=42   x=29     y=408     width=17     height=20     xoffset=-3     yoffset=1    xadvance=9     page=0  chnl=0 
+char id=61   x=46     y=408     width=18     height=20     xoffset=-2     yoffset=6    xadvance=12     page=0  chnl=0 
+char id=185   x=64     y=408     width=12     height=19     xoffset=-3     yoffset=3    xadvance=4     page=0  chnl=0 
+char id=179   x=76     y=408     width=15     height=19     xoffset=-3     yoffset=3    xadvance=8     page=0  chnl=0 
+char id=170   x=91     y=408     width=14     height=19     xoffset=-3     yoffset=1    xadvance=6     page=0  chnl=0 
+char id=305   x=105     y=408     width=12     height=18     xoffset=-3     yoffset=9    xadvance=4     page=0  chnl=0 
+char id=215   x=117     y=408     width=17     height=18     xoffset=-2     yoffset=6    xadvance=11     page=0  chnl=0 
+char id=186   x=134     y=408     width=15     height=18     xoffset=-3     yoffset=2    xadvance=7     page=0  chnl=0 
+char id=176   x=149     y=408     width=15     height=18     xoffset=-2     yoffset=-1    xadvance=8     page=0  chnl=0 
+char id=8250   x=164     y=408     width=14     height=17     xoffset=-3     yoffset=9    xadvance=7     page=0  chnl=0 
+char id=8226   x=178     y=408     width=15     height=17     xoffset=-3     yoffset=8    xadvance=7     page=0  chnl=0 
+char id=8222   x=193     y=408     width=16     height=17     xoffset=-3     yoffset=12    xadvance=8     page=0  chnl=0 
+char id=8221   x=209     y=408     width=16     height=17     xoffset=-3     yoffset=2    xadvance=8     page=0  chnl=0 
+char id=8220   x=225     y=408     width=17     height=17     xoffset=-3     yoffset=2    xadvance=9     page=0  chnl=0 
+char id=8218   x=242     y=408     width=12     height=17     xoffset=-3     yoffset=12    xadvance=5     page=0  chnl=0 
+char id=8217   x=0     y=428     width=12     height=17     xoffset=-3     yoffset=2    xadvance=4     page=0  chnl=0 
+char id=8216   x=12     y=428     width=12     height=17     xoffset=-3     yoffset=2    xadvance=4     page=0  chnl=0 
+char id=187   x=24     y=428     width=21     height=17     xoffset=-3     yoffset=8    xadvance=14     page=0  chnl=0 
+char id=171   x=45     y=428     width=22     height=17     xoffset=-3     yoffset=7    xadvance=14     page=0  chnl=0 
+char id=8482   x=67     y=428     width=20     height=16     xoffset=-3     yoffset=3    xadvance=12     page=0  chnl=0 
+char id=8249   x=87     y=428     width=15     height=16     xoffset=-3     yoffset=9    xadvance=7     page=0  chnl=0 
+char id=184   x=102     y=428     width=13     height=16     xoffset=-1     yoffset=17    xadvance=8     page=0  chnl=0 
+char id=94   x=115     y=428     width=15     height=16     xoffset=-3     yoffset=2    xadvance=7     page=0  chnl=0 
+char id=39   x=130     y=428     width=11     height=16     xoffset=-3     yoffset=2    xadvance=3     page=0  chnl=0 
+char id=34   x=141     y=428     width=16     height=16     xoffset=-3     yoffset=2    xadvance=8     page=0  chnl=0 
+char id=180   x=157     y=428     width=14     height=15     xoffset=-2     yoffset=0    xadvance=8     page=0  chnl=0 
+char id=44   x=171     y=428     width=12     height=15     xoffset=-3     yoffset=14    xadvance=4     page=0  chnl=0 
+char id=8230   x=183     y=428     width=23     height=14     xoffset=-3     yoffset=13    xadvance=15     page=0  chnl=0 
+char id=732   x=206     y=428     width=16     height=14     xoffset=-3     yoffset=1    xadvance=8     page=0  chnl=0 
+char id=126   x=222     y=428     width=18     height=14     xoffset=-3     yoffset=1    xadvance=8     page=0  chnl=0 
+char id=96   x=240     y=428     width=14     height=14     xoffset=-3     yoffset=1    xadvance=7     page=0  chnl=0 
+char id=8722   x=0     y=445     width=18     height=13     xoffset=-3     yoffset=8    xadvance=10     page=0  chnl=0 
+char id=8211   x=18     y=445     width=17     height=13     xoffset=-3     yoffset=10    xadvance=9     page=0  chnl=0 
+char id=183   x=35     y=445     width=12     height=13     xoffset=-2     yoffset=8    xadvance=6     page=0  chnl=0 
+char id=175   x=47     y=445     width=16     height=13     xoffset=-2     yoffset=2    xadvance=10     page=0  chnl=0 
+char id=168   x=63     y=445     width=15     height=13     xoffset=-2     yoffset=1    xadvance=8     page=0  chnl=0 
+char id=95   x=78     y=445     width=18     height=13     xoffset=-4     yoffset=18    xadvance=9     page=0  chnl=0 
+char id=8212   x=96     y=445     width=21     height=12     xoffset=-3     yoffset=11    xadvance=14     page=0  chnl=0 
+char id=173   x=117     y=445     width=15     height=12     xoffset=-3     yoffset=10    xadvance=7     page=0  chnl=0 
+char id=45   x=132     y=445     width=15     height=12     xoffset=-3     yoffset=10    xadvance=7     page=0  chnl=0 
+char id=46   x=147     y=445     width=11     height=12     xoffset=-3     yoffset=15    xadvance=4     page=0  chnl=0 
+char id=172   x=158     y=445     width=20     height=19     xoffset=-2     yoffset=5    xadvance=14     page=0  chnl=0 

二进制
examples/HelloWorld/data/fonts/main_0.png


+ 1 - 0
oxygine/src/core/file.h

@@ -40,6 +40,7 @@ namespace oxygine
             bool empty() const { return data.empty(); }
 
             const void* getData() const {if (data.empty()) return 0; return &data[0];}
+            void* getData() { if (data.empty()) return 0; return &data[0]; }
             unsigned int getSize() const {return (unsigned int)data.size();}
 
             std::string getString() const {return std::string((char*)&data[0], size());}

文件差异内容过多而无法显示
+ 0 - 0
oxygine/src/core/system_data.cpp


+ 273 - 30
oxygine/src/res/ResFontBM.cpp

@@ -153,6 +153,264 @@ namespace oxygine
         return -1;
     }
 
+
+    ////////////////////////////////////////////////////
+    char* _parse(char* data, char** key, char** value, bool& endOfLine, bool& prmFound)
+    {
+        prmFound = false;
+        *key = NULL;
+        *value = NULL;
+
+        while ((*data == ' ') || (*data == '\r'))
+            data++;
+        if (*data == '\n')
+        {
+            endOfLine = true;
+            *data = 0;
+            data++;
+            return data;
+        }
+
+        *key = data;
+        while (*data != '\0') // we get key
+        {
+            if ((*data == ' ') || (*data == '\n'))
+            {
+                if (*data == '\n')
+                    endOfLine = true;
+                *data = 0;
+                data++;
+                return data;
+            }
+            data++;
+
+            if (*data == '=')
+            {
+                *data = 0;
+                break;
+            }
+        }
+        data++;
+
+        while ((*data == '\"') || (*data == '\r'))
+            data++;
+        *value = data;
+        prmFound = true;
+
+        while (*data != '\0') // we get value
+        {
+            if ((*data == '\"') || (*data == '\r'))
+            {
+                *data = 0;
+                data++;
+            }
+            if ((*data == ' ') || (*data == '\n'))
+            {
+                if (*data == '\n')
+                    endOfLine = true;
+                *data = 0;
+                data++;
+                return data;
+            }
+            data++;
+        }
+
+        *data = 0;
+        return data;
+    }
+
+    void ResFontBM::_createFontFromTxt(CreateResourceContext* context, char* fontData, const std::string& fontPath)
+    {
+        char* key = 0;
+        char* value = 0;
+        bool endOfLine = false;
+        bool prmFound = false;
+
+        // info block
+        int fontSize = 0;
+        while (*(fontData = _parse(fontData, &key, &value, endOfLine, prmFound)) != 0)
+        {
+            if (prmFound)
+            {
+                if (!strcmp(key, "size"))
+                    fontSize = atoi(value);
+            }
+            if (endOfLine)
+            {
+                endOfLine = false;
+                break;
+            }
+        }
+
+        // common block
+        int nPages = 0;
+        int lineHeight = 0;
+        int base = 0;
+        int tw = 0;
+        int th = 0;
+        while (*(fontData = _parse(fontData, &key, &value, endOfLine, prmFound)) != 0)
+        {
+            if (prmFound)
+            {
+                if (!strcmp(key, "lineHeight"))
+                    lineHeight = atoi(value);
+                else if (!strcmp(key, "base"))
+                    base = atoi(value);
+                else if (!strcmp(key, "scaleW"))
+                    tw = atoi(value);
+                else if (!strcmp(key, "scaleH"))
+                    th = atoi(value);
+                else if (!strcmp(key, "pages"))
+                    nPages = atoi(value);
+            }
+            if (endOfLine)
+            {
+                endOfLine = false;
+                break;
+            }
+        }
+
+        char tail[255];
+        char head[255];
+        path::split(fontPath.c_str(), head, tail);
+
+        // page blocks
+        for (int i = 0; i < nPages; i++)
+        {
+            while (*(fontData = _parse(fontData, &key, &value, endOfLine, prmFound)) != 0)
+            {
+                if (prmFound)
+                {
+                    if (!strcmp(key, "file"))
+                        addPage(tw, th, head, value);
+                }
+                if (endOfLine)
+                {
+                    endOfLine = false;
+                    break;
+                }
+            }
+        }
+
+        // create font
+        if (!tw)
+            load(0);
+
+        fontSize = abs(fontSize);
+        Font* font = new Font();
+        font->init(getName().c_str(), fontSize, fontSize, lineHeight + fontSize - base);
+        _font = font;
+
+        if (context)
+        {
+            float scale = context->walker.getMeta().attribute("sf").as_float(1.0f) / context->walker.getScaleFactor();
+            _font->setScale(scale);
+        }
+
+        // chars block
+        int numChars = 0;
+        while (*(fontData = _parse(fontData, &key, &value, endOfLine, prmFound)) != 0)
+        {
+            if (prmFound)
+            {
+                if (!strcmp(key, "count"))
+                    numChars = atoi(value);
+            }
+            if (endOfLine)
+            {
+                endOfLine = false;
+                break;
+            }
+        }
+
+
+
+        // chars blocks
+        for (int i = 0; i < numChars; i++)
+        {
+            int charID = -1;
+            int xpos = 0;
+            int ypos = 0;
+            int width = 0;
+            int height = 0;
+            int xoffset = 0;
+            int yoffset = 0;
+            int xadvance = 0;
+            int page_ = 0;
+
+            while (*(fontData = _parse(fontData, &key, &value, endOfLine, prmFound)) != 0)
+            {
+                if (prmFound)
+                {
+                    if (!strcmp(key, "id"))
+                        charID = atoi(value);
+                    else if (!strcmp(key, "x"))
+                        xpos = atoi(value);
+                    else if (!strcmp(key, "y"))
+                        ypos = atoi(value);
+                    else if (!strcmp(key, "width"))
+                        width = atoi(value);
+                    else if (!strcmp(key, "height"))
+                        height = atoi(value);
+                    else if (!strcmp(key, "xoffset"))
+                        xoffset = atoi(value);
+                    else if (!strcmp(key, "yoffset"))
+                        yoffset = atoi(value);
+                    else if (!strcmp(key, "xadvance"))
+                        xadvance = atoi(value);
+                    else if (!strcmp(key, "page"))
+                        page_ = atoi(value);
+                }
+                if (endOfLine)
+                {
+                    endOfLine = false;
+                    break;
+                }
+            }
+
+            spTexture t = _pages[page_].texture;
+            float iw = 1.0f / t->getWidth();
+            float ih = 1.0f / t->getHeight();
+
+            glyph gl;
+            gl.src = RectF(xpos * iw, ypos * ih, width * iw, height * ih);
+            gl.sw = width;
+            gl.sh = height;
+            gl.offset_x = xoffset;
+            gl.offset_y = yoffset - base;
+            gl.advance_x = xadvance;
+            gl.advance_y = 0;
+
+            int code = 0;
+            ucs2_to_utf8(charID, (unsigned char*)&code);
+            gl.ch = code;
+            gl.texture = _pages[page_].texture;
+
+            _font->addGlyph(gl);
+        }
+
+        _font->sortGlyphs();
+    }
+    /////////////////////////////////////////////////////////
+
+    void ResFontBM::addPage(int tw, int th, const char* head, const char* textureFile)
+    {
+        page p;
+        if (*head)
+        {
+            p.file = head;
+            p.file += "//";
+        }
+        p.file += textureFile;
+        p.texture = IVideoDriver::instance->createTexture();
+        p.texture->setName(p.file);
+
+        if (tw)
+            p.texture->init(0, tw, th, TF_UNDEFINED);
+
+        _pages.push_back(p);
+    }
+
     void ResFontBM::_createFont(CreateResourceContext* context, bool sd, bool bmc)
     {
         if (sd)
@@ -170,18 +428,22 @@ namespace oxygine
             {
                 _file = *context->prebuilt_folder + getName() + ".fnt";
             }
-            else
-            {
-
-            }
-
-
         }
 
         std::string path = _file;
         file::buffer fb;
         file::read(path.c_str(), fb);
 
+        if (fb.empty())
+            return;
+
+        if (!(fb[0] == '<' && fb[1] == '?' && fb[2] == 'x'))
+        {
+            _createFontFromTxt(context, reinterpret_cast<char*>(fb.getData()), path);
+            return;
+        }
+        /////////////////////////////////////////////////
+
         pugi::xml_document doc;
         doc.load_buffer_inplace(&fb.data[0], fb.data.size());
 
@@ -203,38 +465,19 @@ namespace oxygine
         int th = common.attribute("scaleH").as_int();
 
 
+        char folder[255];
+        char tail[255];
+        path::split(path.c_str(), folder, tail);
+
         for (pugi::xml_node page_node = pages.child("page"); page_node; page_node = page_node.next_sibling("page"))
         {
-            page p;
-
             const char* textureFile = page_node.attribute("file").value();
-
-            char tail[255];
-            char head[255];
-            path::split(path.c_str(), head, tail);
-            if (*head)
-            {
-                p.file = head;
-                p.file += "//";
-            }
-            p.file += textureFile;
-
-            p.texture = IVideoDriver::instance->createTexture();
-            p.texture->setName(p.file);
-
-            if (tw)
-            {
-                p.texture->init(0, tw, th, TF_UNDEFINED);
-            }
-
-            _pages.push_back(p);
+            addPage(tw, th, folder, textureFile);
         }
 
 
         if (!tw)
-        {
             load(0);
-        }
 
 
 

+ 3 - 2
oxygine/src/res/ResFontBM.h

@@ -36,13 +36,14 @@ namespace oxygine
             spNativeTexture texture;
         };
 
+        void addPage(int tw, int th, const char* head, const char* file);
+
         void _loadPage(const page& p, LoadResourcesContext*);
         void _load(LoadResourcesContext*);
         void _unload();
         void _restore(Restorable*, void*);
         void _createFont(CreateResourceContext* context, bool sd, bool bmc);
-
-
+        void _createFontFromTxt(CreateResourceContext* context, char* fontData, const std::string& fontPath);
 
         typedef std::vector<page> pages;
         pages _pages;

部分文件因为文件数量过多而无法显示