如果通过JS判断用户是否安装了某种字体?

如题所示,我们希望做一个网页版的阅读器,可以改字体的那种。
我们希望做到,当用户选择某种字体时,我们判断一下是否可用,如果不可用,就告知用户如何安装使用。
所以需要进行一个判断,请问JS是否可以做到这个功能?

多谢

阅读 8.2k
6 个回答

js可以做到

原理:不同字体显示出出同样的字最终的宽度是不同的

具体做法:

用Arial在span里展示一行字:例如『( ⊙ o ⊙ )啊!』,获取width
再在新的span里设置好你想要用的font family显示相同的文字『( ⊙ o ⊙ )啊!』

如果两个span宽度不同 说明字体加载成功 即用户有这个字体

这种JS的功能我倒不知道,但是为什么要用户自己安装字体呢?你作为阅读器,可以用CSS提供所有你想提供的字体啊。如果怕引入多个字体加载慢,也可以要用到的时候再加载对应的字体

据我所知,判断系统字体是否存在,js做不到

nodejs调用系统接口或者命令那种不算

就像楼上说的那样,你这项目适合使用web字体

判断字体真没有,不过你可以通过判断浏览器来获取支持的字体有哪些

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏