Tengs

Design & Develop

  • 言论自由
  • 技术文档
  • 日常琐事
  • 其它东西

javascript

javascript+css判断系统是否安装有某种字体

2012年12月17日 / 5 Comments

这阵子闲来在弄一个web应用,需要一个javascript获取系统字体的功能,google百度了很久,看到的基本上都是用了activeX,代码大概是这样子:


<object id="dlgHelper" width="0px" height="0px" classid="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b"></object>

这个解决途径兼容不好。好不容易找到了一个比较强悍的解决方法,用到了flash,详细看Font detection with Javascript and Flash,虽然是成功获取了,不过感觉还是不方便,问了下高手heero兄,答曰:js没有这种接口。原本打算放弃了,学某些在线文本编辑器,只提供几种系统自带的可选字体,写成html了事,转念又想想,假如有某种办法可以检测到系统是否有安装某种字体,也能满足我的需求,事实上我只需要用到几种比较特别的字体。继续google百度后的确发现有牛人做到了,而且做法神乎其神,不信看截图:

javascript-css-font-detect

大概可以这么理解:假如系统没有某种字体,会用默认的字体替代,我们先得到默认字体显示某段字符所占据的长度,然后给这段字符定义css,把它的font-family设定为我们要检测的字体,假如长度一样,那基本证明系统没有这种字体(当然,万一两种字体虽然显示出来看上去不一样,但是它们的单个字所占宽度一致的话,这种方法似乎就不成立了),假如长度不一致,那肯定是有这种字体的。

原文的地址是:http://www.lalit.org/lab/javascript-css-font-detect/ 我英语不咋样,不知道有没弄错,你自己看看呗。

Posted in: 技术文档 Tagged: CSS, javascript

标签

ASP bug CentOS CSS Google js 中庸 主流 交易 人生 人类劣根 刷票 哲学 大学 感想 文学 文言文 期末 歌手 死狗 毅力 比赛 水浒 江南style 滚动字幕 爱因斯坦 狂想 狗屁文化 现代诗 玻璃 琐事 电脑城 男篮 神曲 科学 笑话 箴言 经济 网易 网络安全 腾讯 腾讯TT 视频广告 诗歌 霸位

近期评论

  • 壮敏 发表在《讨贼檄文》
  • 黄祺 发表在《顿悟》
  • 西班牙超模 发表在《致加西亚》
  • 西班牙超模 发表在《致加西亚》
  • 糗事百科 发表在《IE6 去除 input border》

Copyright © 2025 Tengs.

Me WordPress Theme by themehall.com