OP CHEMI6DER Advanced Member

    Feb 3, 2016
    (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 font editor for various raster fonts found in Nintendo games since 2018, and here it is!

    Supported formats:
    - BRFNT (loading and saving, with exception of two texture encoders which have broken output)
    - 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 (only loading at the moment, just needs texture encoders to work(in theory))
    - BFTTF/BFOTF (decryption and encryption)

    Other formats to be supported eventually:
    - JUTResFont/FONTbfn1 (has a base, but I haven't really even finished the loader yet)
    - BFFNT (haven't even started, mostly 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. 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 repo: 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 code, so a big credit goes to Tempus and RoadrunnerWMC for making that editor!

    Screenshots of the program with different fonts open:
    As someone from Russia, where we didn't see any official game translations 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 translations...and the biggest roadblock has always been the fonts...argh, those goddamn fonts! So, because of that I never really progressed with any translations, knowing that I wouldn't be able to make it work in the end anyways (other than one single time, I translated all the texts of 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 one drawback - 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 the only thing that ended up producing is 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. Despite that, I continued the 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 had used Ubuntu many times before so it was (mostly) a smooth transition, at which point I decided I'll 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 bet you there are things I missed, I doubt there's not a single place where I put the pointer star * near the type not the name)(and even managed to quickly implement a BCFNT loader in the past few days lol), and here it is.
  2. Reishiki

    Reishiki Member

    Jul 9, 2014
    Thank you so much for this! I've been waiting for a tool that can edit BFFNT for switch, I'm looking forward to the new feature! ^^
Draft saved Draft deleted

Hide similar threads Similar threads with keywords - [RELEASE], NintyFont, Nintendo