File Format details for files created by FontBuilder
====================================================

<BankName>.xbd   -    Xom Bank Data: Position/size and unicode info for each
                                     character in the bank. The bank filename
                                     is the same as the texture file and
                                     follows the same naming conventions.
Filename.xfd     -    Xom Font Data: Bank and Index info for each character
                                     used in the text.
Filename.xtx     -    Xom Text:      All the text strings for a given language.


Xom Bank Data
-------------

These files are made from the structure below for each character in the bank.
The file name is based on the texture file name, if there are many banks then
the filename has a two digit number appended (ie. bank.xbd, bank01.xbd, etc).
Each bank can hold a maximum of 256 charcters.
The number of characters in a bank can be calculated by 'filesize/struct size'.

typedef struct
{
    float X;
    float Y;
    float Width;
    float Height;
    unsigned char LeftKern;
    unsigned char RightKern;
    _TCHAR Unicode;     // (short)
} CCS_XOMBANKDETAILS, *LPCCS_XOMBANKDETAILS;


Xom Font Data
-------------

This file contains the bank number and index for each character.
The file is made up from one header section (CCS_XOMFONTDATA) and multiple
character data sections(CCS_XOMCHARDATA).

typedef struct
{
    char FontName[256];      // Filename of first bank without ext e.g. Bank.
    short FileType;          // 0 = TGA; !0 = BMP.
    int  NumberOfBanks;      // Total number of banks in this font.
    int  TotalNumberOfChars; // Total number of characters in this font.
    short CommonIndex[256];  // An index into the data section for each of the
                             // normal ascii chars.
} CCS_XOMFONTDATA, *LPCCS_XOMFONTDATA;

typedef struct
{
    unsigned char Bank;      // Which bank this char exists in.
    unsigned char Index;     // Which character in this bank.
} CCS_XOMCHARDATA, *LPCCS_XOMCHARDATA;


Xom Text
--------

The character text has already been converted as index's into the 'Xom 
Font Data' file.
The start of the file has a list of offsets for the character strings.
If you divide the first offset by 4 you will have the number of strings.
The offset is from the first byte, NOT from where the offset is stored.
The remander of the file is the text. The text values are 'short' values that
index into the 'Xom Font Data'.
An index value of 0xFFFF means that the character is not in the font, 0x0000
is the end of the string.

int offsets ...   // one for each string
short index's ... // one for each char in each string, terminating with 0x0000

