フォントファイル(.fnt)
ファイルは先頭からヘッダー部、コード定義部、座標定義部、画像データ部で構成されています。
ヘッダー部
uint32 バージョン?(常に1) uint32 画像データの横サイズ uint32 画像データの縦サイズ uint32 不明1(縦方向の表示位置補正値?) uint32 不明2(横方向の表示位置補正値?) uint32 不明3(横方向の表示位置補正値?) uint32 不明4(縦方向の表示位置補正値?)
※元データでは不明1と4には文字の縦サイズと同値か近似値、不明2と3には文字の横サイズの平均値との近似値が定義されています。
コード定義部
ゲームで使用される文字のコードが定義されています。
uint32 文字コード定義数
// 定義数分だけ繰り替えす uint16 文字コード(UTF16)
座標定義部
ゲームで使用される文字の画像データ内でのXY座標が定義されています。各座標定義の並びはコード定義部の並びに準じます。
uint32 座標定義数
// 定義数分だけ繰り替えす uint16 文字左端の座標 uint16 文字上端の座標 uint16 文字右端の座標 uint16 文字下端の座標
画像データ部
画像データが格納されています。格納形式はARGB16 4:4:4:4でチャンネルの並びはGBARだと思います。
byte[x] 画像データ
※x:画像の縦サイズ×横サイズ×2