在我的ASP.NET应用程序中,我使用Calibri作为样式表中的字体。但Calibri附带Office 2007,所以我的样式表不适用于那些没有安装特定字体的客户机。那么如何检查客户端计算机中是否存在字体,如果没有,我可以在网页打开时将其安装到计算机上吗?
答案 0 :(得分:2)
不是完美的解决方案,但您可以输入替代字体。如:
SomeClass
{
font-family:'Calibri,Arial';
}
如果不是Calibri,只要找到“足够好”的东西。
答案 1 :(得分:2)
如果您需要特定字体,请参阅http://msdn.microsoft.com/en-us/library/ms533034(VS.85).aspx - 您可以在HTML中嵌入字体,而无需在最终用户计算机上安装字体。
答案 2 :(得分:0)
最好的解决方案(适用于所有浏览器,与sascha的答案不同)是使用javascript动态检测用户是否安装了Calibri。
我实际上最近写了blog entry来解释如何执行此操作,但简而言之,获取jquery font并使用此功能:
Javascript代码
font.setup();
if (font.isInstalled("Calibri"))
ImportCss("calibri.css");
function ImportCss(name) {
if (document.createStyleSheet) {
document.createStyleSheet('/static/' + name);
}
else {
var styles = '/static/' + name;
var newSS = document.createElement('link');
newSS.rel = 'stylesheet';
newSS.type = 'text/css';
newSS.href = styles;
document.getElementsByTagName("head")[0].appendChild(newSS);
}
}
<强> calibri.css 强>
正文,输入/ * Google Chrome所需的输入,因为它使用了另一个 *否则输入字体* / { font-family:Calibri!important; font-size:16px!important; }
注意强>
你不能只做font-family: Calibri, Arial, ...
的原因是Arial在16px时看起来很糟糕,Calibri在13px看起来很糟糕。