我有一个使用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平台上运行此建议的建议都将不胜感激。
答案 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)
@font-face
在Windows Phone IE中无法可靠地运行。 Font Awesome等图标字体依赖于从远程服务器加载适当的字体文件。显然,在Windows Phone上使用@font-face
无法加载额外的字体。根据来源,仅适用于Windows Phone 7,甚至适用于版本8:
旁注:在我的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