如何在电脑和手机上显示相同的字体粗细?

How to display the same font weight on pc and mobile?

我正在尝试在我的网站上显示 Google 字体 Proxima Nova,实现方法是:

@import url('https://fonts.googleapis.com/css?family=Proxima+Nova:400,600,700&subset=latin,latin-ext');

当我将字体粗细设置为 700 时,它在 pc 和 Android chrome 上都显示良好。
问题是,当我将字体粗细更改为 600(半粗体)时,在电脑上看起来应该如何,但在移动设备上它显示 700(粗体)。我读到当字体粗细不存在时,浏览器会自动选择最近的。是加载问题吗? Android是不是加载了字重600?


编辑:
我现在注意到 Android 的大写 S 的两个边缘完全水平,而在 pc 上,在所有重量上,它们都是 45 度。
现在我认为这不再是加载问题了。

可能 google 字体上的字体因设备而异。

编辑 2:
这是屏幕截图。
是我瞎了还是他们完全不一样?



我该怎么办?

这似乎是 a bug 和 Chrome 用于 Android 对本地字体的字体处理。

字体导入生成如下内容:

src: local('Proxima Nova Bold'), local('ProximaNova-Bold'), url(https://fonts.gstatic.com/l/font?kit=FwZD7-Am2FI_-VOxaLDvvq2zGUau84_G&skey=470ea9b7edd795d7&v=v11) format('woff2');

它没有回退到 url 源,而是使用默认的 Android 字体作为回退 (Roboto)

不幸的是,解决方案是下载字体并自行托管并从该位置引用字体。参见 answer on another question here