Html 检查web字体中的字符

Html 检查web字体中的字符,html,fonts,webfonts,Html,Fonts,Webfonts,如何测试特定的web字体是否包含特定的Unicode字符?我不能简单地在某些文本中包含字符,因为浏览器的字体替换机制可能会选择另一种字体来显示字符 编辑 这是迄今为止我能想到的最好的解决方案: 首先,必须从Unicode下载LastResort字体:。(这有点棘手——我一直遇到“网络错误”,但最后我成功了。) 据称,LastResort字体的每个Unicode字符都有一个替换图标 现在,假设我想检查Google字体“Pacifico”和“Merienda”是否包含Unicode字符F和Ф(Uni

如何测试特定的web字体是否包含特定的Unicode字符?我不能简单地在某些文本中包含字符,因为浏览器的字体替换机制可能会选择另一种字体来显示字符

编辑

这是迄今为止我能想到的最好的解决方案:

首先,必须从Unicode下载LastResort字体:。(这有点棘手——我一直遇到“网络错误”,但最后我成功了。)

据称,LastResort字体的每个Unicode字符都有一个替换图标

现在,假设我想检查Google字体“Pacifico”和“Merienda”是否包含Unicode字符F和Ф(Unicode字符0424)。我可以使用以下代码:

<!DOCTYPE html>
<html>
  <head>
    <title>Font detect</title>
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Pacifico">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Merienda">
    <style>
      @font-face {
        font-family: 'LastResort';
        src: url('LastResort.ttf') format('truetype');
      }

      p.pacifico {
          font-family: Pacifico, LastResort;
          font-size: 60pt;
      }

      p.lato {
          font-family: Merienda, LastResort;
          font-size: 60pt;
      }
    </style>

  </head>
  <body>
    <p class="pacifico">F &#x424;</p>
    <p class="lato">F &#x424;</p>
  </body>
</html>

字体检测
@字体{
字体系列:“最后度假酒店”;
src:url('LastResort.ttf')格式('truetype');
}
p、 帕西菲科{
字体系列:Pacifico,LastResort;
字号:60pt;
}
p、 拉托{
字体系列:梅里恩达,拉斯特度假村;
字号:60pt;
}

这样将显示:

对于Pacifico,同时显示F和Ф,但对于Merienda,俄文字符Ф被LastResort的默认图标替换。因此Pacifico包含Ф,Merienda不包含Ф

现在,我不知道这是否是一个万无一失的方法,我也不知道是否有更简单的方法来做到这一点。

是一个可以告诉你字体包含哪些字符的工具。它还将告诉您字体中的任何OpenType功能,以及更多细节。(完全披露:我写了那个工具)


如果您想在客户端检查它,我认为没有办法尝试渲染角色,然后检查它是否已实际渲染。如果您将其用作后备字体,则可以检查它是否呈现字符(宽度将大于0)或不呈现字符(宽度将为0)。

取决于:您的用例是什么?因为“我不想加载大字体”的情况已经通过使用WOFF2解决了,它允许您一次加载一个小字体块,这取决于已经加载的块是否覆盖页面上的一个或多个字符。我需要显示Unicode字符C。我已经加载了字体F,我不确定是否需要加载其他字体才能显示C。如果我查看计算机上的浏览器,会显示字符C,但这不能保证如果C不是F的一部分,其他设备也会显示C。那么我如何确定F是否包含C?何时确定?我希望您不想在用户的计算机上执行此检查;虽然可以对此进行一些猜测,例如在画布上绘制并检查渲染的字符是否生成与默认字体相同的位图,但可能已经太晚了,不是吗?最好是阅读你的字体规格,我想他们确实从下载页面提供了他们支持的字符集,否则,这会返回一些在线服务,可以提供给你不,我不想在用户的计算机上检查它。我非常乐意制作一个单独的网页,我只能在电脑上查看,但它告诉我字体F是否包含字符C。但我不明白为什么这么难。这是一个非常简单的问题:这个字体包含这个字符吗?当然,这应该很容易测试。字体文档在指定字符库时并不总是完整的。谢谢。我不知道Adobe的空白字体。使用它作为备用字体,然后使用JavaScript查询感兴趣字符的宽度对我来说非常好!顺便说一下,RoelN,Wakamai火锅是一个非常好的工具!