This is, unfortunately, a systemic flaw in our custom ruby system.
We can't use the original one at all: Firstly, it requires absolute pixel coordinates for both the position of the text and the character spacing. Since we don't know about the font widths on the server side (which is also why we can't do automatic line breaks), we would have to guess these, which practically never worked. Secondly, it is hardcoded to parse two-byte characters only, which of course would break UTF-8.
As far as I can tell, this is the best Ruby support we can offer without having to write rather extensive hacks for every single game. Since we don't have the text sprite the game originally renders ruby text to, we have to shift down the normal text by a few pixels and then render correctly aligned ruby text in a smaller front above that. This shows acceptable results for th14 (thanks to the higher resolution) and languages using Latin script, but apparently fails with anything else.
After I thought about that for a while, I realized that there might actually be a way to tell our layout engine about the ruby text sprite and render the text there. This would keep the game-specific hacks at a minimum while still looking exactly like what the game does by itself. However, I'm not really sure about any of this. I'll give it a try later this week.