【JavaScript】js简易实现检测系统字体是否存在

来自ampedZ的博客园,原文地址:http://www.cnblogs.com/ampedZ/p/CheckFont.html

原理是根据设置span的字体,如果系统不存在指定名称对应的字体,则会以默认字体显示。

根据对比指定字体和默认字体的offsetWidthoffsetHeight值,以判断字体是否存在。

通过一个杜撰的字体名称来设置默认字体。

一般说来,span指定的文本越复杂,准确度越高。

<!DOCTYPE html>
<html><head><style type="text/css">
div#divBase{text-align:center;width:283px;}
div#divTitle{clear:both;text-align:center;padding:3px;}
div#divInput{float:left;}
div#divOutput{float:right;}
div#divButton{float:none;vertical-align:middle;margin:57px;}
div#divCopyright{clear:both;text-align:center;padding:3px;}
textarea#textareaInput{resize:none;overflow:auto;width:106px;height:126px;}
textarea#textareaOutput{resize:none;overflow:auto;width:106px;height:126px;}</style></head>
<body><div id="divBase">
<div id="divTitle">字体检测</div>
<div id="divInput"><textarea id="textareaInput"wrap="soft">FZDaHei-B02S,方正大黑简体
HYGothic-Extra
Lucida Sans</textarea></div>
<div id="divOutput"><textarea id="textareaOutput"wrap="soft"readonly=“true”></textarea></div>
<div id="divButton"><input type="button"value="检测"onClick="CheckFont()"/></div>
<div id="divCopyright">Copyright © 心のsky Group</div></div>
<script type="text/javascript"src="CheckFont.js"></script>
<script type="text/javascript">function CheckFont()
{var t=document.getElementById("textareaInput").value;t=IsFontExistBatch(t);document.getElementById("textareaOutput").value=t;}</script>
</body></html>
CheckFont.html
function IsFontExist(t) {
    if (t == "") {return ""};
    var f = "Copyright © 心のsky Group";
    var s = document.createElement("span");
    s.style.fontSize = '72px';
    s.innerHTML = f;
    var b = document.getElementsByTagName("body")[0];
    b.appendChild(s);
    s.style.fontFamily = f;
    var w = s.offsetWidth;
    var h = s.offsetHeight;
    s.style.fontFamily = t + ',' + f;
    var r =((s.offsetWidth != w) || (s.offsetHeight != h));
    b.removeChild(s);
    return r?"存在":"不存在";
}
function IsFontExistBatch(t) {
    var a = t.split("\n");
    var r = new Array();
    for (var i = 0; i < a.length; i++) {
        r[i] = IsFontExist(a[i]);
    }
    return r.join("\r\n");
}
CheckFont.js

 

转载于:https://www.cnblogs.com/ampedZ/p/CheckFont.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值