Language support differences by mobile platform
10 years 3 months ago #241
by Livealot
Language support differences by mobile platform was created by Livealot
In testing, it seems that there are differences between the mobile platforms (iOS, Android, Kindle) in which languages they support. If there are links out there explaining those differences that would be good to know.
For example, I currently have 12 languages supported and they all display properly in the Unity editor. However, on IOS devices, all the Hindi characters get replaced with a question mark icon. On Kindle, Hindi and Arabic are blank. On Android, Hindi is blank and Arabic is broken/truncated.
And bonus points if there are links to workarounds to support the missing languages on a platform specific basis.
Thanks, JJ
For example, I currently have 12 languages supported and they all display properly in the Unity editor. However, on IOS devices, all the Hindi characters get replaced with a question mark icon. On Kindle, Hindi and Arabic are blank. On Android, Hindi is blank and Arabic is broken/truncated.
And bonus points if there are links to workarounds to support the missing languages on a platform specific basis.
Thanks, JJ
Please Log in or Create an account to join the conversation.
10 years 3 months ago #244
by Frank
Are you Give I2L 5 stars!
Are you Please lets us know how to improve it!
Replied by Frank on topic Language support differences by mobile platform
Hi,
The I2loc plugin just changes the font used for rendering. The actual rendering of the fonts happens within the UI plugin you are using on your project (NGUI, uGUI, etc).
That means that if some of the characters do not display correctly in some platforms, its because those characters are not found in the font you are using.
The safest approach is to use Bitmap fonts as you will know that those character are in the font no matter what platform/device you are running your game.
However, if thats not an option, you could use the dynamic fonts. But be aware, that if instead of providing your own dynamic font, you select a build-in font. Then Unity doesn't add the actual font data to the build and instead it relies in the copy of the build-in font that is in the device.
It could happen for example, that some device have the Arial font but it could be optimized for only the Languages that the actual device support. Thats why you maybe seeing that font in your computer (Editor) shows all the characters fine, but in some specific devices some of those characters are not displaying.
My advice:
1- Rely on bitmap fonts whenever possible. They are faster, more reliable and do not duplicate characters for different font sizes. A trick to save memory here is to only store in the font the characters used in your game. Export all the localization into a CSV file and make the font to only generate the characters in that text (NGUI and most other supported targets, allow that option)
2- If you are going to use dynamic fonts, add your own fonts to the game, do not rely on the build-in fonts as they could change on different devices or even not been available at all.
If that doesn't solve the issue. and you could make a small project showing the issue I could try it on some devices and let you know an specific workaround for that problem
Thanks,
Frank
The I2loc plugin just changes the font used for rendering. The actual rendering of the fonts happens within the UI plugin you are using on your project (NGUI, uGUI, etc).
That means that if some of the characters do not display correctly in some platforms, its because those characters are not found in the font you are using.
The safest approach is to use Bitmap fonts as you will know that those character are in the font no matter what platform/device you are running your game.
However, if thats not an option, you could use the dynamic fonts. But be aware, that if instead of providing your own dynamic font, you select a build-in font. Then Unity doesn't add the actual font data to the build and instead it relies in the copy of the build-in font that is in the device.
It could happen for example, that some device have the Arial font but it could be optimized for only the Languages that the actual device support. Thats why you maybe seeing that font in your computer (Editor) shows all the characters fine, but in some specific devices some of those characters are not displaying.
My advice:
1- Rely on bitmap fonts whenever possible. They are faster, more reliable and do not duplicate characters for different font sizes. A trick to save memory here is to only store in the font the characters used in your game. Export all the localization into a CSV file and make the font to only generate the characters in that text (NGUI and most other supported targets, allow that option)
2- If you are going to use dynamic fonts, add your own fonts to the game, do not rely on the build-in fonts as they could change on different devices or even not been available at all.
If that doesn't solve the issue. and you could make a small project showing the issue I could try it on some devices and let you know an specific workaround for that problem
Thanks,
Frank
Are you Give I2L 5 stars!
Are you Please lets us know how to improve it!
To get the betas as soon as they are ready,
check this out
Please Log in or Create an account to join the conversation.
10 years 3 months ago #246
by Livealot
Replied by Livealot on topic Language support differences by mobile platform
Thanks for the guidance.
I am using NGUI, and I imported a Truetype font into my game (e.g, Rumpelstiltskin.ttf). In the NGUI label, I select Unity instead of NGUI before selecting the font itself. I guess that means I'm using it as a dynamic font???
So the question may be more about TrueType support across platforms.
Since the font is there on PC, what I think I need is some sort of device check to see what languages are supported on the device so I can hide those options from the user in my game when they are not supported.
I am using NGUI, and I imported a Truetype font into my game (e.g, Rumpelstiltskin.ttf). In the NGUI label, I select Unity instead of NGUI before selecting the font itself. I guess that means I'm using it as a dynamic font???
So the question may be more about TrueType support across platforms.
Since the font is there on PC, what I think I need is some sort of device check to see what languages are supported on the device so I can hide those options from the user in my game when they are not supported.
Please Log in or Create an account to join the conversation.
Time to create page: 0.130 seconds