// bmpf2fnt – convert Stranded II .bmpf bitmap fonts to BMFont .fnt
// Copyright (C) 2024  bmpf2fnt contributors
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <https://www.gnu.org/licenses/>.

//! Parse `.bmpf` bitmap font files (Stranded II / Blitz3D format) and
//! generate `.fnt` (BMFont / AngelCode text format) output.
//!
//! # `.bmpf` format
//!
//! ```text
//! [46-byte ASCII header]  "Unreal Software Bitmap Font Wizard bmpf File\r\n"
//! [optional 6-byte meta]   only present in full (256-char) fonts:
//!   u16 LE: char_count     (256)
//!   u16 LE: font_height    (pixels)
//!   u16 LE: unknown
//! [3-byte records …]
//!   u8:    character code
//!   u16 LE: advance width
//! [terminator]             00 00 00
//! ```

pub mod atlas;
pub mod bmpf;
pub mod cli;
pub mod error;
pub mod fnt;

pub use atlas::{build_font_atlas, FontAtlas, GlyphRegion};
pub use bmpf::{BmpfChar, BmpfFont};
pub use error::BmpfError;
pub use fnt::generate_bmfont;
