Date | 2024-Feb-11 | ||||||||
Title | Unicode characters with "variation selectors" are not render propery in iPhone Safari browser (webkit) with iOS 17.3 | ||||||||
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 becomes "blank" in iPhone. "Variation Selectors Supplement" is supported by all other OS (Windows, Android, Linux, old iOS, macOS), see : wiki : Variation Selectors Supplement wiki : Variant form (Unicode) Fonts with Variation Selectors are used for displaying alternative Chinese characters reprensenting different pronoucation and different stroke styles. ...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. | ||||||||
Reproduce steps |
<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> | ||||||||
Expected Result (good) | Unicode Characters with Variation Selectors code and and IVS font, should be displayed. | ||||||||
Actual Result (bad) | Unicode Characters with Variation Selectors code and and IVS font, are only displayed as blank. | ||||||||
Reference TTF Font with "variation selectors" support |
opensource IVS TTF font github: "BpmfZihiKaiStd" TTF Font file download : https://github.com/ButTaiwan/bpmfvs/releases/download/v1.400/BpmfZihiKaiStd.zip | ||||||||
Example in text |
| ||||||||
Screen capture from an issue case in iOS 17.3 |
![]() | ||||||||
Screen capture from a good case in other OS |
![]() |