As you can see in the font picture above the Japanese characters are all approximately the same width meaning each character can be given a set number of pixels.
In roman character using languages we tend to squash the thinner characters together (i j l , . ; : ' ` 1 ! | being the characters in question), as Japanese does not have this property you can get away with adding a simple amount of pixels before starting the next character in Japanese games. When translating we use the Japanese game as a base which may well lack the "squashed character" option leaving us with a problem if we want the end result to look professional.
It is also problematic as Japanese is a fairly concise written language and what takes 10 characters in Japanese might take 30 in English, wasting screen real estate is not a good idea in this case.
People have taken to solving this problem in several ways.
1. Rewording to fit things in, this is why many have taken to retranslating games. If you want to see a truly horrific example of this in a commercial game take a look at Lunar Legend on the GBA.
Note some people also do this if they do not understand pointers and how to start new paragraphs/lines (some games do it in pointers but some do it in the text itself).
2. Using a skinny font, thinner characters allow more on the screen. Some go the opposite way and add flicks to thin characters to they do not look so out of place (the codebox stuff above is a good example).
3. Adding a variable width font to allow the game to use "squashed characters". This usually means hacking the font grabbing code and is quite difficult courtesy of this generally meaning an ASM level hack. People usually use a lookup table or occasionally mess with the characters themselves (a simple xor can be used to tell if a line is occupied).
http://www.romhacking.net/docs/337/
Newer consoles like can have a basic font handling in the SDK (see NFTR
http://gbatemp.net/index.php?showtopic=105060 for the format used by a fair few DS games) which may well have such capabilities inbuilt.
4. Merging characters in together. I assume you are familiar with tiles, while not always true each character is generally given a single tiles, you can then add words or you can add common/simple character combinations like double i or you can make a truly custom font based on your script.
It is similar in theory to the wildcards or similar that you sometimes see to call names of characters, prices in shops.....
This is also a good way to work around character limits in menus which may well be limited to 8 characters or something (see phantasy star games for
spell technique names)