Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS 13 not displaying Russian Ruble (₽) unicode symbol

I'm having issues displaying the ₽ symbol on iOS 13.x.x. It seems to be working on on iOS12, but when I use a device that had 13 installed, the unicode character shows up as an empty square.

https://www.fileformat.info/info/unicode/char/20bd/browsertest.htm

  • Everything works fine on desktop
  • iOS 12 renders the character properly
  • iOS 13 renders empty square
  • When I set the CSS font-family to only a few options ('system-ui' is one), the character displays properly

To compare these, opened an empty tab and only added the symbol to the body of the HTML. This issue persisted. Just to be clear, when I have no CSS or extra markup on the page, this issue is showing up. Has anyone run into this? Did Apple remove unicode characters from some of their fonts?

iOS12:

enter image description here

iOS13:

enter image description here

like image 427
cherealnice Avatar asked Jan 20 '20 13:01

cherealnice


2 Answers

I've finished my research and I'd like to say that the issue is exclusively in iOS and WKWebView. After an update to 13 version, iOS stopped recognizing a Ruble symbol and, for example, Azerbaijani manat and Check Mark Unicode Character (\u{2713}) in certain font sets.

This issue affected thousands of web pages even huge brands. So just changing a font to specific ones solved the issue, but it's an workaround sure.

the same issues for iOS13: 1, 2

like image 112
Vadim Nikolaev Avatar answered Sep 19 '22 12:09

Vadim Nikolaev


As a workaround you can wrap separately the ruble sign in a font containing it. Helvetica Neue - contains the ruble sign ans it's preinstalled IOS font. For PC users you can use your default font like fallback.

span.ruble-icon {
  font-family: "Helvetica Neue", sans-serif;
}
<span class="ruble-icon">₽</span>
like image 34
Nikita Madeev Avatar answered Sep 23 '22 12:09

Nikita Madeev