我正在尝试通过以下方式在我的网站上显示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(半粗体)时,在PC上看起来应该如何,但在移动设备上则显示700(粗体)。我读到,当不存在字体粗细时,浏览器会自动选择最接近的字体。这是加载问题吗? Android是否未加载字体粗细600?
编辑:
我现在注意到,Android的大写字母 S 的两个边缘完全水平,而在PC上,无论以何种重量计,它们都成45度角。
现在,我认为这不再是加载问题。
也许Google字体在设备之间是不同的。
我该怎么办?
答案 0 :(得分:1)
这似乎是a bug,而Chrome浏览器用于Android对本地字体的字体处理。
字体导入会生成如下内容:
public void declareVariables() throws IOException {
try (BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file))) {
bufferedWriter.write("Y");
bufferedWriter.newLine();
bufferedWriter.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
public void affectVariables() throws IOException {
try (BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file))) {
bufferedWriter.write("X");
bufferedWriter.newLine();
bufferedWriter.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
它不会使用url源,而是使用默认的Android字体作为后备(Roboto)
不幸的是,解决方案是仅下载字体并自行托管并从该位置引用字体。参见answer on another question here