Частичный разбор заголовка.
Семантика некоторых значений, определенных в начале файлов default.fnt и large.fnt (small.fnt по содержимому совпадает с default.fnt).
Содержание файла default.fnt:
0000: 74 4E 6F 46 01 00 00 00
0008: 09 00 00 00 02 00 00 00
0010: 09 00 00 00 01 00 00 00
0018: 13 00 00 00 00 00 00 00
0020: 20 00 FF 00 03 00 00 00
0028: 00 00 00 00 00 00 00 00
0030: 00 00 00 00 00 00 00 01
0038: 80 00 80 00 80 00 80 00
0040: 80 00 00 00 80 00 00 00
0048: 00 00 03 ..
Для удобства представления, разделение на строки (кратность по 4 байта не обоснована ничем):
74 4E 6F 46 01 00 00 00 09 00 00 00
02 00 00 00 09 00 00 0001 00 00 00
13 00 00 0000 00 00 00
20 00 FF 0003 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01 80 00 80 00 80 00 80 00 80 00 00 00 80 00 00 00 00 00
03 ..
Седьмая строка (первая длинная) и ниже - изображения символов.
Разбор выделенных.
02 00 00 00 09 00 00 0002 00 00 00 - обозначает количество байт, отведенное для ширины каждого символа. Один бит эквивалентен одной точке по ширине. Т.е. значение "02" предполагает, ширина изображения символа не более 16 точек. Как разобрано выше, ширина (в точках) конкретного символа, отображаемого в игре, задается значением байта, размещенного непосредственно перед самим изображением.
09 00 00 00 - обозначает максимальную высоту символа в точках. Значение "09" предполагает, что высота изображения символа не более 9 точек.
Все символы в файле default.fnt должны быть умещены и закодированы в картинке 9х16 точек. Все неиспользуемые байты оставляются нулевыми, но они обязательно должны быть.
13 00 00 0013 00 00 00 - обозначает общее количество байт, выделяемых для предствавления изображения одного символа. В него входит байт относительной длины символа "+" все байты самого изображения.
20 00 FF 0020 00 - изображение какого по порядку символа (видимо, таблицы ASCII) будет первым. Выше можно видеть, что первый символ в файле - это " ", а второй "!",
таблица ASCII подтверждает значение "20" - пробел, "21" - восклицательный знак.
FF 00 - номер завершающего символа (предположение, без проверки).
Значения остальных байт мной пока не разобраны.
Содержание файла large.fnt:
0000: 74 4E 6F 46 01 00 00 00
0008: 13 00 00 00 03 00 00 00
0010: 0F 00 00 00 01 00 00 00
0018: 2E 00 00 00 00 00 00 00
0020: 1F 00 FF 00 04 00 00 00
0028: 00 00 00 00 00 00 F0 00
0030: 00 90 00 00 90 00 00 90
0038: 00 00 90 00 00 90 00 00
0040: 90 00 00 90 00 00 F0 00
0048: 00 00 00 00 00 00 00 00
0050: 00 00 04 ..
Для удобства представления, разделение на строки:
74 4E 6F 46 01 00 00 00 13 00 00 00
03 00 00 00 0F 00 00 0001 00 00 00
2E 00 00 0000 00 00 00
1F 00 FF 0004 00 00 00 00 00 00 00 00 00 F0 00 00 90 00 00 90 00 00 90 00 00 90 00 00 90 00 00 90 00 00 90 00 00 F0 00 00 00 00 00 00 00 00 00 00 00
04 ..
Далее разбирать не буду, должно быть и так понятно.