| 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 |
|