我想声明一个字体系列属性,命名两种字体,并在第二种字体中呈现第一种字体中不存在的任何字形.这在MacOS上的Chrome和Firefox中效果很好,但Safari/MacOS以及iOS上的Chrome和Safari将只尊重第一个列出的字体.
最小再现 case :
<!DOCTYPE html>
<html lang="en">
<head>
<title>Example</title>
<meta charset="utf-8">
<link href="https://fonts.googleapis.com/css2?family=Redacted+Script&family=Noto+Emoji&display=swap" rel="stylesheet">
<style>
p {
font-family: "Redacted Script", "Noto Emoji", sans-serif;
font-weight: 400;
font-style: normal;
}
</style>
</head>
<body>
<p>Hello 😊</p>
</body>
</html>
这里的表情符号应该以Noto表情符号呈现,而不是无论浏览器的默认表情符号字体是什么.这就是Chrome/MacOS和Firefox/MacOS的功能.
这就是我所期望的:
但在糟糕的情况下,我会得到这个(我认为笑脸来自Apple子字体):
我做错了什么?或者所有浏览器都不支持将字体混合在单个字符串中吗?有解决办法吗?