字体是否必须位于服务器或用户计算机上

时间:2012-11-19 12:18:43

标签: asp.net html css

我在我的网站上使用的字体并不常见,我想知道,对于用户来说,它是否足够(有没有)安装在服务器上?或者它必须安装在用户的机器上? 如何知道字体是否是免费字体?我想使用SketchFlow Print

我使用的是Asp.Net,css 2。 感谢

5 个答案:

答案 0 :(得分:3)

使用的CSS版本取决于用户的浏览器。

如果用户的计算机上没有该字体,他将看不到您希望他看到的字体。

但是,如果您使用CSS3,则可以使用Google's Font (free)。请查看CSS3 tffeototfwoff格式。

答案 1 :(得分:1)

CSS3包含@ font-face指令,该指令允许您指定一个自定义字体,只要浏览器支持该指令,该字体就会用于呈现内容。

对于所有不使用@ font-face指令的字体(以及不支持它的浏览器),字体由用户的机器使用它们可用的字体呈现。如果您指定的字体在其计算机上不存在,则其浏览器将默认使用其他字体。一种帮助控制它的方法是指定多种字体:

font-family: Verdana, Arial, Tahoma, Sans-Serif;

浏览器将尝试显示列表中的第一个字体,如果它不支持给定字体,则会逐个下降,直到找到它为止。最后,这些声明应始终以下列通用族之一结束:

  • 衬线
  • 无衬线
  • 等宽
  • 草书
  • 奇幻

浏览器总会有某种形式的实现。

答案 2 :(得分:0)

如果你使用CSS3,你可以使用@ font-face作为服务器端字体。

至于免费字体,谷歌吧,不要偷懒。

答案 3 :(得分:0)

如果您想要标题f.e的特定字体。并且您不能依赖CSS3,那么您可以将其渲染到服务器端的图像并在响应HTML中动态链接图像。

通过使用链接到标题的文件名,您可以将图像存储在服务器上以便对其进行缓存(因此您只需要渲染一次某个标题/图像)。

请注意,我在这里提到'title',因为这对于渲染完整的段落没有用。)

答案 4 :(得分:0)

字体需要在用户的机器上,但为此,它需要在服务器上,以便可以指示浏览器获取它(除非用户的机器碰巧有它,这对于字体是不可能的像SketchFlow Print)。服务器不一定是你的服务器;该字体可以托管在其他服务器上,如Google服务器。

搜索“@ font-face”以找到使用可下载字体的合适介绍。

当你从字体作者那里得到一个声明时,你就知道字体是一种免费字体。请注意,网络上的许多“免费字体”都不是。快速检查:下载页面是否提及字体的作者(以及指向她或他的页面的链接)?

将来,请分别提出单独的问题。 (关于免费字体的问题与使用可下载字体的技术问题完全不同。)