Has anyone else tried it?
Which ROM are you using? Lenophis did some tests with the xdelta and it's working fine on his end too.
May I ask you, what font format are you using? Is it something standard like Square Font, or something home-brew?
Also I'm interested in some technical details about implementation, like how many tiles are you using to render a page, what are the limitations, maybe share some difficulties ...
Not sure what's a Square Font, but I'm using raw 2bpp fonts for almost everything. They're fast and require no extra code for proportional rendering.
As for the actual technical part: dialog rendering uses 168 (24x7) tiles and disables pages scrolling to avoid issues with backbuffers, while messages with the 8x8 font use 192 tiles (24x8). The biggest technical difficulty was rewriting how text parsing is done, since the original does a lot of messy stuff in order to refill a tilemap, while my code goes in little steps: it expands a dialog into a buffer, formats line wraps (still WIP, it's not implemented in any release), then renders text into a canvas buffer, and finally hijacks the NMI routines to copy the canvas to VRAM.
Well... you got Defend to finally be right. The rest of that is... a place I've never looked. I assume at leave 7-8 routines draw characters to the separate menus depending on context. That has always been a bit beyond me, so best of luck!
I looked into how to hack those menus for Tomato.
I recall those menus used their own font basically with their own font encoding.
Defend, Change, and MP needed use 4bpp graphics derived from the actual 2bpp font since they are displayed on BG2. What I did there was replace the upscale + DMA transfer with actual 4bpp graphics. Finding tilemaps was a bit of a mess because battle code tends to use completely different conventions. I'm still struggling with just rendering the other strings.