How do I stop iOS from converting a small pointing right triangle character into a rectangluar boxed triangle symbol?

ios, unicode

Solution

This is not about changing font, but about unicode variation. On Unicode 6.1, one unicode code point can have multiple glyphs, and you can choose those using Variation Selectors.

For about emoji, you can use U+FE0E(@"\U0000FE0E") to choose text style graph. (And, U+FE0F(@"\U0000FE0F") is for Apple Color Emoji).

For example, LEFT-POINTING TRIANGLE's unicode code point is U+25C0(@"\U000025C0"), and you can specify not to use Apple Color Emoji but non-color symbol like @"\U000025C0\U0000FE0E".

Also, there is some difference between iOS emulator(for iOS6 on Mountain Lion) and actual device(iOS6) about Variation Selector handling, probably because Mountain Lion have more support for Unicode 6.1, I guess.

For example, if I don't specify the selectors, I see non-color triangle on iOS6 device, but Apple Color triangle on iOS6 simulator(on Mountain Lion), for UIBarButton.

So, it is nice to check both simulator and actual device, but it looks more safe to use Unicode Variation Selectors always anyway.

Problem

I've tried entering the small pointing right triangle and the right arrow characters, both are converted by iOS into rectangular icons with a right triangle and a right arrow, respectively. Can I declare a different font to stop this from happening? Or is there a default setting I need to turn off? All a want is a black small pointing right triangle: Decimal Hex ▸ 9656 ▸ 25B8 Here is the Code: ``` NSString *title = [NSString stringWithFormat:@"%d payments of %@ ➡ ▶", duration, [Utils formatPrice:payment]]; [button setTitle: title forState: UIControlStateNormal]; ``` Any suggestions would be appreciated.

Original source