2D Toolkit Forum

2D Toolkit => Support => Topic started by: Ceraph on May 22, 2013, 08:24:34 pm

Title: Creating Custom Fonts
Post by: Ceraph on May 22, 2013, 08:24:34 pm
Hello, we are working on creating our own original bitmap font for our game. The font itself has detail and shading on it, so I cannot create a ttf file from it. I also cannot use BMFont to generate the bitmap font file (unless I'm missing how to start with an image and define the font from that).

I tried using this program: http://code.google.com/p/fonteditor/

Unity did not like the XML that it generated and I get the error "Font parsing returned 0 characters, check source bmfont file for errors" when creating a tk2d font from the XML. Are there any programs that 2D Toolkit supports that will allow me to define the font one character at a time?
Title: Re: Creating Custom Fonts
Post by: unikronsoftware on May 22, 2013, 09:21:06 pm
That is the first time I've heard of that program. What does it save exactly? Paste a sample here and I could probably tell you why it failed.
Title: Re: Creating Custom Fonts
Post by: Ceraph on May 22, 2013, 10:46:44 pm
here is a sample of what it's generating. It looks like it's standard XML and not FNT formatting.

<font>
    <image>DeepDive.png</image>
    <size>40</size>
    <spacing>1</spacing>
    <leading>0</leading>
    <symbol>
        <char> </char>
        <x>152</x>
        <y>272</y>
        <width>18</width>
        <height>34</height>
        <offsetx>0</offsetx>
        <offsety>0</offsety>
    </symbol>
    <symbol>
        <char>!</char>
        <x>420</x>
        <y>220</y>
        <width>25</width>
        <height>35</height>
        <offsetx>0</offsetx>
        <offsety>0</offsety>
    </symbol>
    <symbol>
        <char>"</char>
        <x>489</x>
        <y>169</y>
        <width>25</width>
        <height>35</height>
        <offsetx>0</offsetx>
        <offsety>0</offsety>
    </symbol>
    <symbol>
        <char>#</char>
        <x>557</x>
        <y>169</y>
        <width>25</width>
        <height>35</height>
        <offsetx>0</offsetx>
        <offsety>0</offsety>
    </symbol>
</font>

I have also tried using Shoebox but I'm having problems getting it to recognize my characters properly.
Title: Re: Creating Custom Fonts
Post by: unikronsoftware on May 22, 2013, 11:16:34 pm
Sorry, don't use Shoebox - couldn't help you there.
If you don't figure that out, why don't you simply write a bit of code to either:
- convert the font xml to a bmfont xml. Looks straightforward enough.
- write an importer to this file format type in tk2dFontBuilder.cs. If you look at the XmlImporter code, it should be easy enough to create a variant that will read this format as opposed to bmfont. They contain mostly the same data, so it should work fine.
Title: Re: Creating Custom Fonts
Post by: Ceraph on May 24, 2013, 03:55:02 pm
We were able to write our own method inside tk2dFontBuilder to work with the generated XML, thanks for your help!