I'm currently writing a flash card program to help with studying Japanese. The program works fine on machines where the Language for non-Unicode programs is set to Japanese in Regional and Language Options. The problem is that setting this to Japanese has an effect on multi-language programs and can unwanted effects such as programs installing or displaying in Japanese. It also reduces the portability of my app and as a flash card program I'd like it to be usable on any PC.
If the language is not set to Japanese, a few things go wrong. First, displaying of the Japanese text I have read in now displays garbage. I was thinking of attempting to store a Japanese font in my project and trying to use that, but I wasn't sure if that's the right way to go about it, or if it would even work. The other problem is that after my program writes all the garbage back to another file, the Japanese text becomes unrecoverable.
Below is the code I use for reading and writing the files. The WordEntry class just stores the Japanese text in a string and the Japanese text is displayed in a JTextArea.