Css Windows Phone 8上未显示字体

Css Windows Phone 8上未显示字体,css,windows-phone-8,Css,Windows Phone 8,我有一个测试站点,它使用字体Aware字体来显示图标 这些图标在我的IE和Chrome桌面上以及iPhone和Andriod移动设备上都显示得很好 但是,诺基亚Lumia 920 Windows Phone 8上未显示字体图标 我想不出是什么引起了这个问题。诺基亚Lumia 920 Windows Phone上的其他网站的字体图标字体显示正确。因此,必须有一些特定于我创建的设置 试验地点为: 如果您对如何在Windows Phone平台上使用此功能有任何建议,我们将不胜感激。CSS@font-f

我有一个测试站点,它使用字体Aware字体来显示图标

这些图标在我的IE和Chrome桌面上以及iPhone和Andriod移动设备上都显示得很好

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

我想不出是什么引起了这个问题。诺基亚Lumia 920 Windows Phone上的其他网站的字体图标字体显示正确。因此,必须有一些特定于我创建的设置

试验地点为:

如果您对如何在Windows Phone平台上使用此功能有任何建议,我们将不胜感激。

CSS
@font-face
在Windows Phone IE中无法可靠工作。 图标字体(如Font Awesome)依赖于从远程服务器加载适当的字体文件。显然,在Windows Phone上使用
@font-face
加载额外字体是不可能的。根据来源的不同,这仅适用于Windows Phone 7,甚至适用于版本8:

  • 微软认为网页字体在7.1上不起作用
  • ,并在7.5中报告问题,但可能是对可能的解决方案的提示
  • 在的评论中指出,即使Base64编码字体也不能在模拟器中工作。如果我有时间,我会在一部真正的手机上测试(7.5)
  • 甚至现代化
旁注:在我的Windows Phone上,microsoft.com与Tahoma一起显示,Tahoma是堆栈中的第二种字体:

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

很有趣,因为Windows phone。我想知道为什么微软的网络人员不把这第二个放在堆栈中…

我能够使用base64让Windows Phone 8识别我的字体/图标集。确保使用WOFF和TTF字体,如下所示(其中*是长base64字符串):

更新:黑客新闻中又出现了这个话题,所以让我在这里详细阐述我的原始帖子,以防它对其他人有所帮助: 1) 我只试了一下,然后 2) 我只使用了1种嵌入式字体


我使用jqMobi(现在称为英特尔应用程序框架)来构建一个面向所有主要移动浏览器的移动网站。jqMobi框架包含大约70个icomoon图标,嵌入到它的ui-CSS中。我还需要一些,所以我最初尝试通过制作另一个名为icomoon extra的字体文件来扩展它,将其上载到以生成base64字符串,并向jqMobi CSS添加另一个@font-face。这对我不起作用,所以我只是创建了一个新的icomoon ac文件,其中包括jqMobi icomoon选择中的大多数原始图标,以及我需要的大约30个图标。现在,我只是在框架中使用我的icomoon ac字体,它就可以工作了。同样,只有一个嵌入式字体。

这是一种观察到的问题只是实际问题的症状的情况。我自己的网站也有同样的问题。但这并不是WindowsPhone的问题,而是IIS7-8.1为web字体文件提供了错误的MIME类型。确保为字体文件提供了正确的MIME类型,如下所示:

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


HTH

好的,这就是我在IIS7.5上的工作原理。我不得不将MIME类型.otf、.svg和.woff添加到IIS中,因为它们还不存在。要将新的MIME类型添加到IIS,请单击
MIME类型
module,右键单击并选择
add…

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

这可能在8.1更新中修复:


“从Internet Explorer for Windows Phone 8.1更新开始,Windows Phone上的Internet Explorer允许跨源字体加载,而不考虑访问控制标题,以提高与现有站点的兼容性”

与@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

您使用的是web字体吗?是的--我使用的是来自的字体Awesome web字体。有什么方法可以请求此支持吗?真的很惊讶(不是很惊讶,有点习惯了)使用所有的微软技术,而且它不支持其他人都支持的东西…我不知道人们应该怎么问M$,但这肯定不是我7.5上IE瘫痪的唯一原因。非常感谢你发布这篇文章。。。我可以确认WP8(HTC 8x)仍然存在问题。我在尝试加载2种base64 web字体时遇到了完全相同的问题(css中有2行@Font-face,加上定义)。WP8/ie不能同时识别两种字体,只能识别一种。就我而言,我一直在与icomoon()合作,太好了,谢谢!你有我可以用我的WP 7.5测试的URL吗?请私下给我发电子邮件(我的电子邮件列在我的SO档案中),我会给你发一个移动网站的链接,这样你就可以直接测试字体。我用我的诺基亚Windows Phone 7.5 IE检查了Anthony的页面,嵌入的字体显示不正确。我看到的不是icomoon图标,而是字体中缺少字母时显示的占位符字符。很高兴知道,谢谢跟进。FWIW,请注意,最初的问题是希望支持“Windows Phone 8”,而不是Windows Phone 7.5。这是此问题的解决方案。这不是我最初认为的Windows Phone问题。相反,问题在于服务器上的MIME类型设置不正确。@RichardWest您最终更改了哪些MIME类型以使其正常工作?您是否使用了
应用程序/font-woff
?哪种类型?谢谢
    .eot -> application/octet-stream
    .otf -> application/font-sfnt
    .svg -> image/svg+xml
    .ttf -> application/octet-stream
    .woff -> application/font-woff