检查一个字符串是否为HTML字体(JavaScript实现)

3
我正在制作一个机器人的“对话和回应”控制台,我想能够更改控制台中的字体。我知道如何更改字体,但如果给定的字体不是实际的HTML字体,则不想更改字体。
例如:用户输入Arial,命令通过。用户输入"I lost my mommy",命令不会通过,并且计算机会提示用户该命令无效。
我显然不想创建一个包含所有HTML字体的非常大的数组。那是没有意义的。
如果有jQuery解决方案可用,请告诉我。我在我的代码中使用jQuery。

3
你所想到的数组,实际上是我能想到的唯一想法。查看此所有Google字体的JSON数组,它基本上应该涵盖你所有的需求。 - Luca Kiebel
看一下 fontSpy 库...可能会有所帮助 https://github.com/patrickmarabeas/jQuery-FontSpy.js - charlietfl
Luca Kiebel的建议可以与布隆过滤器结合使用,从而大大减少加载时间... - Jonas Wilms
1个回答

1

JavaScript/CSS字体检测器是一个可能会有所帮助的库。

引入该库并调用

detective.detect('[font name]'));

这并不是真正的字体识别,但它可能适用于你正在尝试完成的任务。 detect 基于提供的字符串值是否与浏览器中可用的字体匹配来返回布尔值。
 function isFont(fontName) {
      return fontName ? detective.detect(fontName) : false;
 }

这很好,但你能给我一个例子吗?我读了指南,但有点模糊。 - Hazard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接