In this case, you probably want to test the hack. I'm not aware of any program specifically designed for this, but you can make your own. I suggest downloading something like WinSpy++ that can view and edit some visual properties of user controls.
If this is a game that doesn't have security measures and you are relatively competent in C/C++, I would suggest creating a DLL project in Visual Studio with your code changes. You can then use DLL injection to get your code into the game's address space and modify the game to call those functions. Cheat Engine has some support for runtime assembly modification and DLL injection, but I'm not sure if you can apply modifications permanently.
Every control is rendered using a default font (ie. GetStockObject(DEFAULT_GUI_FONT); ) unless you explicitly SendMessage a WM_SETFONT message. You would need the font handle or to use CreateFont to obtain a handle to use WM_SETFONT.
I'm running into another problem, the solution to which I'm thinking may be along these lines.
The game renders text by first drawing some shadow text in gray, and then drawing the regular black text one pixel behind that. The problem is, sometimes the shadow text is JUST past the point where the text wraps, and the normal text isn't, so this happens:https://dl.dropboxusercontent.com/u/22006397/Lunatic%20Dawn%20translation/broken%20text%20shadowing.png
I found the instructions adding one to the text start position for drawing the shadow text, and then removing one for drawing the regular text. What I want to do is have another pair of instructions that add one to, and then subtract one from, the length in pixels at which the text wraps (to account for the shadow text being offset by one pixel).
Problem is, I don't have any space to add these extra instructions.
I tried putting my new code (original add/sub instructions, plus the new ones for changing the max line length) in some unused space in the executable, but jumping to those locations and trying to run code there gives me a C0000005 ACCESS_VIOLATION exception (which is... pretty much what I expected).
How would I go about adding new code to the program in a manner such that it will actually run?
(For what it's worth, I could also just set the shadow text to NOT have a on pixel offset, in which case the text has no shadow and there are, naturally, no issues with the shadow wrapping when the normal text doesn't. And I might end up doing this anyway because the shadow causes some really gross kerning issues, even in the original Japanese.
This is more just me wanting to sate my curiosity :S).