0

I recently upgraded my app to Swift 3.1 (it was in Swift 2).

Post upgrade I noticed that a unicode symbol I have been using for a long time is incorrectly displayed.

The symbol is the 'ballot' symbol which in Swift is:

"\u{2717}"

The symbol actually being displayed looks like a multiplication/cartesian product symbol:

"\U{00D7}" 

The font I am using is Helvetica Neue.

No other unicode symbols I am using have been impacted (e.g. Star)

Check out this wikipedia page to see what the ballot symbol and multiplication\cartesian product symbol look like.

Thoughts?

zevij
  • 2,416
  • 1
  • 23
  • 32
  • 1
    In this case a screenshot of what you get and what you expect would be useful. – To be honest, I doubt that this is caused by the different Swift version, however, different iOS versions might render glyphs differently. – Martin R May 13 '17 at 20:49
  • I would recommend running your app against many iOS versions in the Simulator. As Martin said, this looks like an iOS issue (and not really related to Swift). – Paulo Mattos May 13 '17 at 21:41
  • Interesting. I am actually testing on real iPhones 5, 6 and 7. All of which are on latest iOS. All show the same incorrect unicode symbol. Might just swap the unicode with an image... – zevij May 13 '17 at 21:44
  • As already noted, this is an issue of fonts, not language. If you can test your Swift 2 version of your app with the latest iOS, you'll see what's happening. Better send a [bug report](http://developer.apple.com/bug-reporting/) to Apple (though, not sure Apple would take this as a bug). And until it is fixed, you can try using other fonts than System Font. Some fonts may show the glyph you expect. – OOPer May 13 '17 at 23:35

0 Answers0