Kind of difficult to show with screenshots, but I've hacked Gunparade March to partially implement UTF-8 support.
Screenshot #1 is from the first event in the game; events are implemented via "pseudo-scripts" (I call them that because there are only three kinds of statement: strings, function calls and labels). To deal with those, I had to write libraries in C that can extract files from the main event data file, decompile the pseudo-scripts into human-readable code (and optionally convert strings from Shift-JIS to UTF-8), and compile pseudo-scripts back into binary format (I had to learn Bison and flex for that...fun times). Screenshot #2 isn't an event per se; when the game needs to do something more fancy on the graphics front (such as, say, displaying text without a dialogue window), there is a pseudo-script command that calls into "modules" which can have their own functions for dealing with (hard-coded) strings. So the hack would need to be applied to the modules as well, but actually getting translated strings to fit is its own challenge.
Onto the hack itself. I rewrote a couple of string-processing functions inside the event interpreter, so that they scan each octet in a string, decode it to its corresponding code point if valid or otherwise substitute the replacement character, then send it off to another function to retrieve the address of its corresponding font glyph. Now obviously you can't just make a whole Unicode font (and even if you did, you'd have to store it somewhere...), so I rewrote that part of the code to check for a given code point in a list of code point ranges, with each entry assigned an offset relative to the index of the first glyph in the whole font. If a match is found, it pulls the address of the glyph from within that range; otherwise it just returns the replacement character. At the moment only Basic Latin (i.e. ASCII) is implemented, but it's trivial for me to add support for basically anything as long as I don't exceed 25 list entries (a very generous limit).
That's pretty much everything up to this point, I think. VWF is next on the to-do list (if I can make sense of all this text rendering code), then I need to figure out the graphics file format because there's a ton of images that need to be translated. Hopefully I can get that done in time for Christmas.