2012-11-14 43 views
0

我一直在做asp.net web开发一段时间,但从未实现过一个完整的asp.net网站并托管它。我一直在研究一个asp.net网站并将其托管在Windows服务器上。在asp.net网站中加载web字体

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

我已经使用了@字体面在我的样式表参照的字体:

@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.config类型中为Windows Server添加MIME类型来识别字体格式。然后,我还引用在web.config文件的MIME类型如下:

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

但是,它也不能正常工作。任何人都可以让我知道,我们如何加载这些字体。

回答

0

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

2

所以你还需要添加一个MIME映射.eot.ttf

类似的块中,我们有我们的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> 

请注意,我们首先删除任何映射,以防万一他们得到在某个点上配置上游。