Word Awesome未在Windows Phone 8上显示

时间:2013-04-04 19:09:44

标签: css windows-phone-8

我有一个使用Font Awesome字体显示图标的测试网站。

我的桌面上的图标在IE和Chrome以及iPhone和Andriod移动设备上都可以正常显示。

但是,诺基亚Lumia 920 Windows Phone 8上没有显示字体图标。

我无法弄清楚导致问题的原因。其他具有Font Awesome图标字体的网站在Nokia Lumia 920 Windows Phone上正确显示。因此,必须有一些特定于我创建的设置。

测试网站是:http://www-peachtreedata.azurewebsites.net/?page_id=6

任何有关如何在Windows Phone平台上运行此建议的建议都将不胜感激。

6 个答案:

答案 0 :(得分:7)

这种情况下,观察到的问题只是真正问题的症状。我在自己的网站上遇到了同样的问题。但事实证明这不是Windows Phone的问题,而是IIS 7 - 8.1为Web字体文件提供了错误的MIME类型。确保为您的字体文件提供正确的MIME类型,如下所示:Proper MIME type for fonts

此外,如果您使用Windows Azure Storage作为字体,则必须手动设置每个文件的MIME类型。对现有文件执行此操作的最简单方法是通过众多Azure存储前端编辑器之一。

HTH

答案 1 :(得分:3)

我能够使用base64将我的字体/图标设置为Windows Phone 8识别。确保使用WOFF和TTF字体如下(其中 * 是长base64字符串):

@font-face {
    font-family: 'icomoon-ac';
    src: url(data:application/x-font-woff;charset=utf-8;base64,***) format('woff'),
        url(data:application/x-font-ttf;charset=utf-8;base64,***) format('truetype');
    font-weight: normal;
    font-style: normal;
}

更新:此主题再次出现在Hacker News上,所以让我在这里详细说明我的原帖,以防其他人: 1)我只尝试过icomoon,而且 2)我只使用了1种嵌入字体。

我使用现在称为英特尔应用框架的jqMobi构建一个针对所有主流移动浏览器的移动网站。 jqMobi框架包含嵌入其ui CSS的icomoon中的~70个图标。我需要更多,所以我最初尝试通过制作另一个名为icomoon-extra的字体文件来扩展它,将其上传到http://www.motobit.com/util/base64-decoder-encoder.asp以生成base64字符串并将另一个@ font-face添加到jqMobi CSS。这对我来说不起作用,所以我只创建了一个新的icomoon-ac文件,其中包括jqMobi icomoon选择中的大部分原始图标,以及我需要的另外~30个左右的图标。现在,我只是在框架中使用我的icomoon-ac字体,它的工作原理。再次,只有1个嵌入字体。

答案 2 :(得分:2)

CSS @font-face在Windows Phone IE中无法可靠地运行。

Font Awesome等图标字体依赖于从远程服务器加载适当的字体文件。显然,在Windows Phone上使用@font-face无法加载额外的字体。根据来源,仅适用于Windows Phone 7,甚至适用于版本8:

  • Microsoft states网络字体无法在7.1
  • 上运行
  • This SO threadanother one报告7.5上的问题,但可能暗示可能的解决方案
  • this post的评论中,声明即使是Base64编码的字体也无法在模拟器中运行。如果我找到时间,我会在真正的手机上测试(7.5)。
  • 甚至是modernizr has some problems with this

旁注:在我的Windows Phone上,microsoft.com显示了Tahoma,堆栈中的第二种字体:

 font-family: wf_SegoeUI, Tahoma, Verdana, Arial, sans-serif;

很有趣,因为Windows手机has a local copy of Segoe UI available。我想知道为什么MS的网络人员不会把第二个放在堆栈中......

答案 3 :(得分:1)

这可以在8.1更新中修复:

"从适用于Windows Phone 8.1更新的Internet Explorer开始,Windows Phone上的Internet Explorer允许跨源字体加载,无论访问控制标头如何,都可以提高与现有网站的兼容性。 [1]

答案 4 :(得分:0)

好的,这对我在IIS7.5上有用。我不得不将MIME类型.otf,.svg和.woff添加到IIS,因为它们尚不存在。要添加新的MIME类型转到IIS,请点击MIME types模块,右键单击并选择Add...

    .eot -> application/vnd.ms-fontobject
    .otf -> application/font-sfnt
    .svg -> image/svg+xml
    .ttf -> application/font-sfnt
    .woff -> application/font-woff

答案 5 :(得分:0)

类似于@flo的答案,我可以确认Windows Server 2008R2上的IIS7.5中的以下mime类型可以解决此问题:

    .eot -> application/octet-stream
    .otf -> application/font-sfnt
    .svg -> image/svg+xml
    .ttf -> application/octet-stream
    .woff -> application/font-woff