0

我遇到了一个奇怪的问题。通过谷歌的 webfonts api 使用 webfont 链接可以正常工作并加载字体,但是......我正在创建的应用程序仅是本地的,因此在第一次渲染字体时,连接到互联网的任何类型的开销都是显而易见的, 如果没有互联网连接,则不会加载任何字体。

@font-face {
font-family: Pt Sans;
font-style: normal;
font-weight: 400;
src: url(http://themes.googleusercontent.com/static/fonts/ptsans/v4/jduSEW07_j4sIG_ERxiq4Q.woff);
}

以上是工作代码。

@font-face {
font-family: Pt Sans;
font-style: normal;
font-weight: 400;
src: url(fonts/ptsans.woff);
}

这在本地直接从浏览器运行时有效,但是我使用的框架将 chrome webview 嵌入到我的 C# 应用程序中,称为 CefSharp。不同之处在于,我正在模拟指向站点的链接,而不是直接加载页面。就好像我创建了自己的 http:// 字体链接,就像 webfont 一样。

如果我打开 Chromes 开发工具 > 资源选项卡 > 字体并单击本地加载的字体,它会显示默认字体,但是如果我单击通过谷歌的 api 加载的字体,它会呈现正确的字体。

谷歌 api 发送到浏览器的我不是什么?我尝试了许多 mimeTypes 无济于事。

4

1 回答 1

0

你知道字体跨域策略吗?您可以尝试发送Access-Control-Allow-Origin "*"字体的 http 标头。

于 2012-08-31T21:43:44.183 回答