I use a few special uniode chars in my app, but since iOS 5 these have been replaced with emoji characters. How can I force the unicode characters to be displayed and not the emoji characters? Thanks
This is an old question but it plagued me a lot recently until I found the answer.
Just add '\U0000FE0E' after the character that we want to prevent from becoming an emoji.
For example:
@"▶" // should be written as:
@"▶\U0000FE0E"
Using the escaped unicode works as well:
@"\u25B6" // should be written as:
@"\u25B6\U0000FE0E"
We need to use Unicode variants to prevent certain characters from becoming emoji.
Just to add to BFerer's helpful answer, I found this works similarly in Swift:
"▶\u{0000FE0E}"
There's a few mentions of this issue on Apple's private devforums (which you have access to if you're a registered member of the iOS developer program).
It sounds like the potential solution would be to explicitly set the font for whatever you're trying to display.
Use "Hiragino Mincho ProN" for the font. It worked for me, but unfortunately I had to change the insets to make things look correct. I had to add an inset to the top to place things as they were before the iOS update.
All the credit goes to Kevin Ballard who answered my post in the following discussion - Unicode characters being drawn differently in iOS5
© 2022 - 2024 — McMap. All rights reserved.