Game in Japanese - Font Problem

I am trying to display Japanese string in GUI.Button but having no success. Has anyone tried this before? Can Unity do Japanese?

One of the many things I did was set the font in GUISkin to Japanese font in Mac(that’s also included in iPhone) but when I do that all characters are shown as black box. I assume here that the mapping is different…besides, in Unity manual it says it can only import TTF(and Japanese font in Mac is OTF). But I don’t want to re-import font that’s already in the iPhone system…I read in another post that importing font that includes Japanese characters are REALLY BIG so doing this is not optimal…another post said creating own TTF font using FontForge(http://fontforge.sourceforge.net) but I don’t want to do this because it’s going to eat up precious memory.

If anyone was successful doing Japanese on Unity iPhone I would be grateful if you can share your success story. Big thanks in advance!

I haven’t done this, no, but my latest project uses OTF and it works fine…

MrDude,
Thanks for your reply.

Is it ok for you to tell me which OTF font you used? And did you use other language besides English or Latin-1 based characters?

I appreciate your help.

Unfortunately I don’t know how to pronounce this, but have a look at the screenshots

Thanks again, Mr.Dude.

Did you have a chance to try this on iPhone actually? I did the same thing with same font but get blocked characters on iPhone instead. Please let me know what your result was.

OK, my findings so far…

Although iPhone has many fonts installed out of the box, including Unicode fonts that have Japanese characters, Unity can only use whatever the font you specify in the GUISkin via the editor. This means that you need to import the font as asset first in the project pane.

The problem is that if you import the exact same font that’s already installed on iPhone, and for the conversation sake one that includes Japanese font, Unity will show the correct characters inside Mac(or Windows) editor but unable to do so when the application is transferred to run on iPhone. Seems like importing existing font on iPhone does not directly reference to it but Unity needs to convert the fonts first to texture atlas and import it as an image.

So why was I still seeing it as blocks instead of kanjis(japanese characters)? I assume here that texture atlas’s supported size is 1024x1024 and with the fonts that I imported they are converted into 2048x2048 which cannot be handled on iphone. So to overcome this problem and get the texture atlas reduced to an acceptable size I had to change the size of the font from the import setting. I was able to reduce the size to 1024x1024 but now the characters appear very small on my GUI. I guess I can use Matrix function to scale the font but that would cause my GUITextures to get bigger as well…one problem after another…but now I can get Japanese,

Here’s an article that helped me, for your reference:
http://forum.unity3d.com/viewtopic.php?t=17543&highlight=unicode+japanese

Good luck to all who’re localizing the app to Japanese. If you find a better approach I would definitely like to hear from you.