禁用字体中的 unicode 字符?

Disabled unicode characters in a font?

我正在使用 FontForge(windows 10 上的版本 20190801)编辑 woff 字体文件,我想为 unicode 字符 0xD835 添加一个字形。

然而,这个字符的方框在通常显示 unicode 字符的上方方框上有一个叉号。此外它在顶部栏中的描述是"surrogate high, non private use"(这是什么意思?),见下图

我尝试从另一个字符复制一个字形并将其粘贴到 0xD835 框中,得到这个

但是我用的时候字符不显示。此外,如果我单击 "glyph info".

,FontForge 会崩溃

还有很多其他字符无法使用,这些字符是永久禁用还是有办法使用它们?

我正在处理的文件是 cmunrm.woff Computer Modern Serif 字体,可用 here. Here is the direct link to the woff file.

但是没有"the unicode character D835"这样的东西。 D800 和 DFFF 之间的所有内容本身都是非法的,只能成对使用(但仍未分配)UTF-16 编码中的低位和高位代理代码来解析大于 16 位的数字,即 16位固定宽度编码方案。

您可能甚至没有使用 UTF-16(因为您的字体可能使用单独的 UCS-2 和 UCS-4 cmap 子表)但是为了确保没有人对这些代码点做任何有趣的事情,Unicode 标准 forbids the use of those codepoints for anything other than surrogate pairs 无论如何。

请参阅 https://www.unicode.org/versions/Unicode12.0.0/ch23.pdf pp890,了解有关代理对的更权威、更详细的信息,这些信息可以在 Internet 上找到。