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

iOS

-

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).

  1. Response avatar

    Resolution Note (fix version 2020.1):

    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).

Comments (2)

  1. Ccbf2bc25366db3beec5fce69e7f59b0?d=mm

    ydolf001

    Oct 15, 2019 13:02

    hope this bug can be fixed quickly

  2. A837e1867636a0291effde4634c3957f?d=mm

    truecom

    Sep 16, 2019 02:39

    This can also be reproduced in version 5.6.7f1

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.