Search Issue Tracker

Won't Fix

Votes

0

Found in

2021.3.32f1

2022.3.13f1

2023.2.0b17

2023.3.0a13

7000.0.0a1

Issue ID

UUM-56251

Regression

No

[TextMeshPro]Whitespace character “u200B” is added to the text property when a TMP_Text component is assigned as the text component property on a TMP_InputField

-

How to reproduce:
1. Open the user’s attached “TMPCharacter.zip” project
2. Enter Play Mode
3. Observe the “Input Text String” log in the Console window

Expected result: “Length: 0, WhiteSpace: True” is logged
Actual result: “Length: 1, WhiteSpace: False” is logged

Reproducible with: 3.0.6 (2021.3.32f1), 4.0.0-pre.2 (2022.3.13f1, 2023.1.20f1, 2023.2.0f1, 2023.3.0a14)

Reproduced on: macOS 13.5.2 (Intel)
Not reproducible on: No other environment tested

Notes:
- not reproducible when the TMP_Text component is assigned as the InputField component property on a TMP_InputField
- false is returned when logging “char.IsWhiteSpace”
- text is not properly trimmed from the string when using “string.Trim”

  1. Resolution Note:

    Hi, the unicode standard considers the zero width space (U+200B) to be a formatting mark rather than a space or whitespace character. This is why the method IsNullOrWhiteSpace returns false. This character is used in the core of text selecting and editing so it needs to stay in the InputField for TextMeshPro. We are however removing the need for this character in our future Text backend (ATG).

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.