是否可以在网络浏览器中显示网络字体定义的缺失字形 U+0000? A.k.a。 “.notdef”或 "not found" 字形

Is it possible to show a web font's defined missing glyph U+0000 in a web browser? A.k.a. the ".notdef" or "not found" glyph

我正在处理一些网络字体子集,想看看我的字体 notdef / U+0000 字符在浏览器屏幕上的样子。

我试过打印已知缺失的字形,如 è,每个浏览器(新旧,Mac 和 Win)都能正确显示,但使用某种后备字体。

我试过打印 � 但它没有显示我实际自定义字体中定义的内容。 IE11 显示 White Square U+25A1,而所有其他浏览器显示 Replacement Character U+FFFD.

解决步骤:

  1. CSS?删除除我的自定义字体之外的所有其他 css font-family 回退。结果:不起作用。

  2. CSS?指定 unicode-range: U+0000;,不改变任何东西。

  3. 浏览器?可以确认浏览器行为是我看不到后备字形的原因。浏览器显示 serif 作为未定义字形的默认值。

  4. 问题仍然存在:如何在浏览器中显示我的字体的特定 U+0000 / notdef?也许做不到?可能必须创建一个额外的字体并用 notdef 字形填充它?

  5. 为什么浏览器将 � 显示为 serif 而不是自定义字体的定义?

我发现强制显示字体内置 .notdef 字形的唯一方法是转到 unicode-table.com,单击 COPY 并将字符粘贴到我的 UTF 中-8 html.

(�|�|�) 每个打印字体的内置 替换字符 用于替换未知、无法识别或无法表示的字符。这甚至适用于像 Arial、Times New Roman 和 Courier + Courier New 这样基本的字体。

编辑:Firefox 52-94 将始终显示它自己的内置 .notdef 字符。