(Note: there doesn't seem to be a subforum for multi-console romhacking utilities, so I guess since it supports hacking Wii fonts, here it goes into the Wii subforum)
So, I've been working on an editor for various raster fonts found in Nintendo games since 2018, and here it is!
Supported formats:
- BRFNT (loading and saving)
- NFTR/RTFN (loading and saving, even supports NFTRs found in GameFreak's Pocket Monsters BW/B2W2 games)
- Pocket Monsters D/P/Pt/HG/SS fonts (loading and saving)
- BCFNT (loading and saving, needs testing though)
- JUTResFont/FONTbfn1 (only loading)
- BFTTF/BFOTF (decryption and encryption)
Other formats to be supported eventually:
- BFFNT (in progress, needs texture codecs for WiiU and Switch, as well as support for editing kerning data found in this format)
The program obviously needs more work, as in many ways it doesn't even reach feature parity with the original. Additionally I don't do much testing other than confirming that everything isn't completely broken, so bugs are very much present. If you have any suggestions on what to improve or bugs to report, feel free to file an issue on GitHub or post it here.
The project is written in C++ with Qt5 GUI and is open source under GNU GPL v3:
Source code: git repo (see details and build instructions there in the readme)
Builds (Windows and Linux, sorry macOS users, I don't even have a setup to test out building it): GitHub releases
This program is heavily based on BRFNTify-Next both in GUI design and GUI code, so a big credit goes to Tempus and RoadrunnerWMC for making it!
Screenshots of the program with different fonts open:
So, I've been working on an editor for various raster fonts found in Nintendo games since 2018, and here it is!
Supported formats:
- BRFNT (loading and saving)
- NFTR/RTFN (loading and saving, even supports NFTRs found in GameFreak's Pocket Monsters BW/B2W2 games)
- Pocket Monsters D/P/Pt/HG/SS fonts (loading and saving)
- BCFNT (loading and saving, needs testing though)
- JUTResFont/FONTbfn1 (only loading)
- BFTTF/BFOTF (decryption and encryption)
Other formats to be supported eventually:
- BFFNT (in progress, needs texture codecs for WiiU and Switch, as well as support for editing kerning data found in this format)
The program obviously needs more work, as in many ways it doesn't even reach feature parity with the original. Additionally I don't do much testing other than confirming that everything isn't completely broken, so bugs are very much present. If you have any suggestions on what to improve or bugs to report, feel free to file an issue on GitHub or post it here.
The project is written in C++ with Qt5 GUI and is open source under GNU GPL v3:
Source code: git repo (see details and build instructions there in the readme)
Builds (Windows and Linux, sorry macOS users, I don't even have a setup to test out building it): GitHub releases
This program is heavily based on BRFNTify-Next both in GUI design and GUI code, so a big credit goes to Tempus and RoadrunnerWMC for making it!
Screenshots of the program with different fonts open:
As someone from Russia, where we didn't see any official translations of Nintendo games back in the day (and even now it's not uncommon for Nintendo to release an unlocalized game here), so I've always been interested in translating said games...and the biggest roadblock has always been the fonts...argh, those goddamn fonts! So, because of that I never really progressed with any of my translations, knowing that I wouldn't be able to make it work in the end anyways (other than one single time, when I translated all the texts in Super Mario Galaxy 2...but that was before I found out that I couldn't properly edit the fonts...so that project just got trashed and now the files to it are lost forever other than a few ones I found on an old grandparents' PC I copied them to for testing at the time)... then I discovered BRFNTify-Next, which seemed like the solution to all my issues!.. except there was a problem - it couldn't save anything(well, now it can, but eh 6 years too late). I wasn't much good with programming back then, but it interested me enough to at least investigate. I began messing with it's source code around 2018, trying to make it save something (and being a dumb idiot, furthermore being more familiar with C-like languages(C# to be exact), I didn't understand Python very good) and I only ended up making a modified version of BRFNTify-Next that could output xlor files for use with the SDK font converter. At that point I decided to start work on my own utility, unoriginally named BXFNTify, using Windows Forms in C# but I wasn't moving all that fast with it, so I used pieces of the code I already wrote for BXFNTify and some code from the BRFNTify-Next mod to bodge together XLORify-Sharp(which is a steaming pile of garbage code). Despite that, I continued to work on BXFNTify throughout 2019, getting BRFNT to load and save correctly...but at the end of 2019 a change came in my life - I got fed up with MS Windows, furthermore I realized that WinForms were gonna restrict me in way which would require me to use native Windows APIs to implement stuff that I wanted...and on one day in December of 2019 I left Windows and switched to Linux Mint. I was somewhat familiar with it already, as I've used Ubuntu many times before, so it was (mostly) a smooth transition. At this point I decided to rewrite the program in C++ using Qt5 (just like BRFNTify-Next does, except it's written in Python)...and that's where I came up with this "original" new name for the program since I felt kinda bad stealing even the name of BRFNTify-Next. And from there on, I've been working on it from time to time, writing one thing, fixing another, and by the end of December 2020 I had already thought of releasing it, but spent a bit more time refactoring and cleaning up the code (I'm sure there are many obvious bugs I missed, as well as improperly formatted text)(and even managed to quickly implement a BCFNT loader in a few days before release lol), and here it is.
Last edited by CHEMI6DER,