Search Issue Tracker
Won't Fix
Votes
45
Found in
2017.4.0f1
2018.2.21f1
2018.4.0f1
2019.2.0a1
2019.3.0a1
2020.1.0a1
Issue ID
1182806
Regression
No
[iOS 13.0] Some languages symbols are replaced with a [?] marks
To reproduce:
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
Notes:
- 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
Tested with:
- 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).
-
SB_Oc
Nov 23, 2020 14:53
Works fine on editor (2017.4.36) but showing ???? on iOS devices.
iPad OS: 10.3.3 -
fenrir_sun
Nov 02, 2020 07:44
2018.4.23 LTS also has this problem, please fix, thank you.
-
YoungMustBeRight
Oct 09, 2020 01:09
Please fix this asap
-
Chanachon
Dec 08, 2019 15:57
My Unity Version 2018.3.14f1 have this problem too.
-
ydolf001
Oct 15, 2019 13:02
hope this bug can be fixed quickly
-
truecom
Sep 16, 2019 02:39
This can also be reproduced in version 5.6.7f1
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- APV Reflection Probe Normalization breaks when SSGI is enabled
- Default Custom Components in project have Library counterparts
- [iOS]"The destination host has an erroneous SSL certificate" error is thrown when using UnityWebRequest to connect to the server with a self-signed certificate
- Freeze/crash on DynamicHeapAllocator::Allocate when opening a specific project
- Text Settings Inspector sections names have no padding
Resolution Note (2020.1.X):
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).