在asp.net网站上加载web字体

时间:2012-11-14 18:07:13

标签: asp.net fonts web hosting

我一直在做asp.net网站开发一段时间但从未实现过一个完整的asp.net网站并托管它。我一直在asp.net网站上工作并在Windows服务器上托管它。

我在网站上使用了几种自定义网络字体(付费字体)。我在项目文件夹中包含了Web字体和样式的文件,并在我的样式表中正确引用它们。

我使用@ font-face来引用样式表中的字体:

@font-face {
font-family: 'fontname';
src: url('/fonts/webfonts/font.eot');
src: url('/fonts/webfonts/font.eot?#iefix') format('embedded-opentype'),
    url('/fonts/webfonts/font.woff') format('woff'),
    url('/fonts/webfonts/font.ttf') format('truetype');
font-weight: normal;
font-style: normal;
} 

但是,网站上没有加载网络字体。

经过一些研究后,我发现我们需要在web服务器中添加mime类型,以便Windows服务器识别这种字体格式。然后,我还在web.config文件中引用了mime类型,如下所示:

<system.webServer>
    <staticContent>
      <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
    </staticContent>
</system.webServer>

但是,它也没有用。任何人都可以让我知道,我们如何加载这些字体。

2 个答案:

答案 0 :(得分:2)

因此,您还需要为.eot.ttf添加MIME映射?

我们Web.config文件中的类似块读取:

<staticContent>
    <remove fileExtension=".svg"/>
    <remove fileExtension=".ttf"/>
    <remove fileExtension=".otf"/>
    <remove fileExtension=".woff"/>
    <remove fileExtension=".eot"/>
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml"/>
    <mimeMap fileExtension=".ttf" mimeType="application/x-font-truetype"/>
    <mimeMap fileExtension=".otf" mimeType="application/x-font-opentype"/>
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>
    <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject"/>
</staticContent>

请注意,我们首先删除所有映射,以防它们在某个时刻在上游配置。

答案 1 :(得分:0)

您需要让您的托管服务提供商在IIS服务器上添加应用程序.woff。然后,它会正常工作。祝你好运