Safari浏览器中CSS unicode-range属性失效问题求助
Safari下@font-face unicode-range不生效的解决方案
- 拆分独立字体族
Safari对同一字体族下多组@font-face的unicode-range匹配逻辑存在兼容性问题,建议将英文和日文字体分别定义为独立的字体族,让浏览器根据字符自动选择对应字体:
/* 英文字体定义 */ @font-face { font-family: 'EnglishFont'; src: url('fonts/Normal/NormalN.ttf') format('truetype'); font-weight: 400; font-style: normal; unicode-range: U+0000-05FF; } @font-face { font-family: 'EnglishFont'; src: url('fonts/Normal/NormalB.ttf') format('truetype'); font-weight: 700; font-style: normal; unicode-range: U+0000-05FF; } /* 日文字体定义 */ @font-face { font-family: 'JapaneseFont'; src: url('fonts/TimeFont/TimeN.otf') format('opentype'); font-weight: 400; font-style: normal; unicode-range: U+3000-9FFF, U+FF00-FFEF; } @font-face { font-family: 'JapaneseFont'; src: url('fonts/TimeFont/timeB.otf') format('opentype'); font-weight: 700; font-style: normal; unicode-range: U+3000-9FFF, U+FF00-FFEF; } /* 全局字体设置 */ * { font-family: 'EnglishFont', 'JapaneseFont', sans-serif; }
修正unicode-range写法
避免使用U+ff??这类通配符格式,替换为具体的Unicode范围(如U+FF00-FFEF覆盖全角ASCII符号和日文标点),确保Safari能正确解析字符匹配规则。补充字体格式声明
在src中添加format()声明明确字体类型,提升浏览器对字体文件的识别效率。
内容的提问来源于stack exchange,提问作者NTA_Paradox
相关产品推荐
相关产品推荐

