NorthlightFontMaker is a tool used to create/edit custom bitmap fonts for Northlight engine (Alan Wake series, Quantum Break, Control and more... )
- Download lastest release.
- Run
NorthlightFontMakerGUI.exe
(or run NorthlightFontMaker.exe in the cmd)
- Install .NET 5
git clone --recurse-submodules https://github.com/eprilx/NorthlightFontMaker.git
dotnet build
Verdana font and Armenian characters in Alan Wake's American Nightmare
❄ Convert FNT to BINFNT (Create new BINFNT)
NorthlightFontMaker --fnt2binfnt -f <path binfnt> -b <path fnt> [-o] <path export new binfnt>
Example: NorthlightFontMaker --fnt2binfnt -f customer_facing.binfnt -b test.fnt -o customer_facing.binfnt.new
- Use BMFont or Hiero to generate FNT and PNG/DDS file.
- The tool will automatically convert/import the PNG/DDS file.
- For BMFont user, go to Options then Export Options, on
Font descriptor
select Text or XML. - From version 7 (see these version below), you must use Hiero to generate distance field font. Here's a guide.
Notes
- Increase "lineHeight" in fnt file to make font display "higher" in game and vice versa.
- Decrease "size" in fnt file to make font "bigger" and vice versa. (it also uses absolute value so |-50| > |-40|)
- (Optional) Make Outline at "Options/Font settings" in BMFont or "Add Outline" in Hiero (don't use with distance field)
List game with version:
- Version 3: Alan Wake, Alan Wake's American Nightmare
- Version 4: Alan Wake Remastered
- Version 7: Quantum Break, Control
❄ Convert BINFNT to FNT
NorthlightFontMaker --binfnt2fnt -f <path binfnt> [-o] <path export fnt>
Example: NorthlightFontMaker --binfnt2fnt -f customer_facing.binfnt -o customer_facing.binfnt.fnt
Notes
From version 7 and above, you can't use this FNT because the yoffset when convert BINFNT to FNT is incorrectFrom version 7 and above, the yoffset is correct but not sure if it will work in game as lineHeight is customized for each glyph.
❄ GUI
- microsoft (texconv tool)
- Rick Gibbed (Gibbed.IO library)
- romhackingvn (test Quantum Break)
Make a wiki about the structure of binfnt.