9

我正在构建一个在 Web 上显示外部网站的 Windows Phone 8 HTML5 应用程序。当页面加载时,它会显示所有内容以及正确的 CSS 样式,但 Web 字体除外。网络字体不包含在项目中,它是从网站在线运行的。另外,我知道 javascript 正在运行,因为其他 javascripts 正在页面上工作。有谁知道让网络字体在应用程序中工作的解决方案?如果它有帮助,当我将 Windows Phone 8 中的主 Web 浏览器定向到相关网页时,webfonts 加载正常。

4

1 回答 1

26

自定义字体可以在 Windows Phone 8 HTML5 应用程序中使用,就像在网站和其他移动平台的 web 视图中使用一样。有两点需要注意,

  1. 在 Visual Studio 中,确保字体Properties>Advanced>Build Action设置为“内容”,以便在构建和部署项目时将其复制到设备。
  2. 确保您使用的字体已获得嵌入许可,并且truetype 字体中的 embeddable 标志设置为 0 以允许嵌入。iOS 和 Android 忽略了这个可嵌入标签,但 IE10 尊重它。

您可以使用开源TTFEdit检查任何 truetype 字体的可嵌入标志。View>Show>Advanced>Legal rights for embedding您可以通过将值更改为 0 并重新保存来使字体可嵌入。仅当字体获得嵌入许可时才更改标志。

我已经测试了许多 truetype 字体,没有问题。到目前为止,我唯一的问题是包含 font-awesome 库时,其中的src:font-awesome.min.css需要更改以修复 IE10 移动设备中的错误。使用 font-awesome 时,

src:url('../fonts/fontawesome-webfont.ttf?v=4.0.3')不会工作。src:url('../fonts/fontawesome-webfont.ttf')将要。

Lumia 920 上具有四种嵌入字体的示例项目(在 Amber 和 Black 更新上测试)

于 2013-12-13T18:39:30.830 回答