Basically, do not use
text-rendering: optimizeLegibility; with Japanese. At least, not yet. Why not? Here are some examples.
The top line has
text-rendering: optimizeLegibility; applied, and the bottom line use the browser defaults. As you can probably tell,
optimizeLegibility has indeed optimized the legibility, and the type looks much nicer. However, there is a fatal bug in rendering Japanese characters with
optimizeLegibility: It seems that the actual optimization is taking place after the length of the line is calculated. As you can imagine, this is a problem. Here’s a screenshot with an underline applied:
Because length-of-line calculations are used to determine line breaks, this bug will also make your sentences break in weird places.
Screenshots taken with Chrome 21 on Mac OS X 10.8. I was able to reproduce this in all WebKit browsers.