缺字是按什么判断的?
字体用 cmap 把 Unicode 码位映射到字形索引。本工具对文本中每个不重复码位调用该映射:得到的索引大于 0,视为字体包含该字符;索引为 0(.notdef)或没有映射,记为缺字。
检测单位是码位,不是「词」。生僻字、emoji、扩展区汉字会按对应码位查找。换行(U+000A、U+000D)和制表符(U+0009)不参与统计。
和字体压缩(子集化)有什么区别?
本工具不修改、不导出字体,只给出覆盖结果。子集化会按你保留的字符重新打包文件。若目的是缩小网页字体,先用本页确认缺字,再把已覆盖字符交给 字体压缩。
字形索引不为 0 只说明 cmap 有这项映射,不保证轮廓非空,也不检查连字、竖排替换、本地化字形等 OpenType 特征。
缺字和豆腐块是一回事吗?
排版软件或浏览器把没有字形的码位画成方框,俗称豆腐块。常见原因是当前字体的 cmap 没有这个字,于是改用占位符或另一套字体。本工具只对照你粘贴的文本和这一份字体,列出缺字;它不模拟 WPS、浏览器或系统的整条回退链。若系统已经用其他字体把字补上,画面上可能没有方框,但原字体的 cmap 里仍然没有这个字。
哪些字体可以检测?
支持 TTF、OTF、WOFF、WOFF2。WOFF / WOFF2 会先在本地还原为 sfnt 再读 cmap。部分 CFF 结构、可变字体和彩色字体可能无法解析,或与设计软件中的覆盖范围不一致。完整中文字体解析会占用较多内存,这与字体压缩工具相同。
字体会上传吗?
不会。解析、比对和导出都在浏览器中完成,不向服务器发送字体或文本。