I realize the NES doesn't have enough internal ram to support this, but what if you were to use a cartridge that had on-board ram? I'm not really familiar with the various types of cartridges, but someone mentioned that FF3j keeps a copy of the water tile in ram and alters the ram copy, and that got me thinking about this. I'm just curious if it can be done (or if it has been, that'd be great). So, anyone know?
Before anyone asks, I believe VWFs = variable width fonts.
I'm not sure if it's been done before. I can't think of any examples. The first place I'd check is with fan translations, because I doubt many usual developers would be so hardcore to add something like that. It seems to be somewhat common on SNES translations.
I'm sure it could be done somehow. Seems like it would require bankswitched RAM for sure. On a cart like Squeedo (32kB CHR-RAM), there's actually enough memory to display the entire screen as a bitmap. Then you'd just render the text with whatever font right into the tiles.
Proportional fonts are more common in translations of games whose text engine supports kanji because efficient use of kanji seems to require a virtual bitmap, which means VRAM and not VROM. The Super NES had a lot more VRAM for a virtual bitmap on which to draw glyphs. It also had larger sprites and more sprites per scanline than the NES could ever dream of; a lot of games just drew text glyphs as sprites.
Well, it would require VRAM, for sure, and a huge portion of tiles that would fit the text that is displayed on the screen. Many RPG also had less detailed graphics than action games because of all tiles the letters takes, and I think this would be even worse.
Why would it need so much RAM ? Well, a lot of calculation should be done, effectively. This is common in SNES games because they have more RAM and PPU space used for tiles, and also has a faster CPU than the NES.