获取Web字体以在HTML5 Windows Phone应用程序上运行?

时间:2013-01-28 08:41:48

标签: javascript windows-phone-8 fonts

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

1 个答案:

答案 0 :(得分:26)

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

  1. 在Visual Studio中,确保将字体Properties>Advanced>Build Action设置为“内容”,以便在构建和部署项目时将其复制到设备。
  2. 确保您使用的字体已获得嵌入许可,并且the embeddable flag in the truetype font设置为0以允许嵌入。 iOS和Android忽略了这个嵌入式标签,但IE10尊重它。
  3. 您可以使用开源TTFEdit检查任何truetype字体的embeddable标志。您可以通过将View>Show>Advanced>Legal rights for embedding中的值更改为0并重新保存来制作可嵌入字体。如果字体已获得嵌入许可,则仅更改标记。

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

    src:url('../fonts/fontawesome-webfont.ttf?v=4.0.3')无效。 src:url('../fonts/fontawesome-webfont.ttf')会。

    Sample project with four embedded fonts on Lumia 920 (tested on Amber and Black updates)