Environment:
iPhone 14/15, iOS 17.3
Description:
Unicode characters with "Variation Selectors Supplement" code can be rendered correctly in all iPhone before iOS 17.3 . But in iOS 17.3, these characters become "blank" in iPhone.
Fonts with Variation Selectors are used for displaying alternative Chinese characters reprensenting different pronoucation and different stroke styles.
Screen capture from an issue case in iOS 17.3 (bad):
Screen capture from a good case in other OS (good):
Reproduce steps:
Download a "Variation Selectors" supported TTF font
https://github.com/ButTaiwan/bpmfvs/releases/download/v1.400/BpmfZihiKaiStd.zip
Unzip the ttf font file "BpmfZihiKaiStd-Regular.ttf" from the zip to a folder
In the same folder, create an file "index.html" with the following content:
<head>
<meta charset="utf-8">
<style>
@font-face { font-family: zihaibpmf; src: url('BpmfZihiKaiStd-Regular.ttf'); }
</style>
</head>
<body>
<table class="redboder" border>
<tr><td>
Unicode Text
</td><td style="font-family:zihaibpmf;">一</td><td style="font-family:zihaibpmf;">一󠇡</td><td style="font-family:zihaibpmf;">一󠇢
</td></tr><tr><td>
Unicode Hex Code</td><td>
0x4E00</td><td>0x4E00 0xE01E1</td><td>0x4E00 0xE01E2
</td></tr>
</table>
</body>
Upload the files to a web server
Browser the "index.html" with an iOS 17.3 iPhone 14 or 15
There should be a character displayed in each table cells. But with iOS 17.3, two of the cells are blank.
Reference:
opensource IVS TTF font github: "BpmfZihiKaiStd"
TTF Font file download : https://github.com/ButTaiwan/bpmfvs/releases/download/v1.400/BpmfZihiKaiStd.zip
"Variation Selectors Supplement" is supported by all other OS (Windows, Android, Linux, old iOS, macOS), see :
wiki : Variation Selectors Supplement
https://en.wikipedia.org/wiki/Variation_Selectors_Supplement
wiki : Variant form (Unicode)
https://en.wikipedia.org/wiki/Variant_form_(Unicode)
...Variation Selectors Supplement is a Unicode block containing additional variation selectors beyond those found in the Variation Selectors block. These combining characters are named variation selector-17 (for U+E0100) through to variation selector-256 (U+E01EF), abbreviated VS17 – VS256.
Selecting any option will automatically load the page