Search Issue Tracker
[iOS 13.0] Some languages symbols are replaced with a [?] marks
1. Download attached "Thai Font Issue Example.zip" project and open in Unity
2. Build for iOS
3. Deploy the Xcode project to the iOS device
Expected results: Every character should be shown correctly - in this case, there are Thai symbols and they should be shown correctly
Actual results: Some characters got replaced by [?] marks - in this case, all Thai symbols are replaced
- This issue happens only on iOS with 13.0 and above version
- This issue does not reproduce on iOS 12.x and lower, Android (Mono and IL2CPP) and Standalone
- This is also reproducible with Armenian, Thai & Georgian.
- This issue does not reproduce on Vietnamese, Uzbek, Urdu, Ukrainian, Arabic, Bangla, Turkish, Tibetan, Uyghur, Uzbek, Tajik, Sindhi, Greek, Tongan, Telugu, Sindhi (Devanagari), Santali (Devanagari), Dogri, Faroese, Hebrew, Indonesian, Kasmiri (Devanagari), Bodo, Bangla, Central Kurdish, Kashmiri (Naskh), Lao, Kyrgyz and etc. languages
- iPhone 7, iOS: 12.3.1 - Not Reproduced
- iPhone 8 Plus, iOS: 12.0 - Not Reproduced
- iPhone X, iOS: 11.3.1 - Not Reproduced
- iPhone XR, iOS: 12.0 - Not Reproduced
- iPad Pro 3rd Gen, iOS: 13.0 - Reproduced
Reproduced on Unity 2017.4.0f1, 2017.4.32f1, 2018.4.8f1, 2019.2.6f1, 2019.3.0b3 and 2020.1.0a4
The default font Unity was using to render Armenian, Georgian and Thai languages was removed in iOS 13. Apple currently provides other fonts for these languages (for instance "Thonburi" for Thai), however Unity's font rendering system (both for uGUI and TextMeshPro) does not properly render diacritical symbols for these fonts. Currently Unity only correctly renders fonts which allow referencing the combined mark instead of the base character and the diacritical mark separately.
We have plans to support diacritical marks from system fonts in TextMeshPro in the future. However currently this means that if you wish to support any in the mentioned languages you'll have to provide your own fonts (basically all custom fonts which are correctly rendered in the Editor should also work on iOS).
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Dropdown menu covers the button when there is no space for it from below
- WebCamDevice only returns one rear-facing camera when built on Android
- Reimporting a Scripted Importer Asset when Profiler is recording will make it null
- Created Import Issue Asset doesn't show up in the Project window until the Unity Editor is restarted
- Crash on CachedWriter::Write when building a project that has access to files being denied