如何使用 Alt+代码而不是默认 (ASCII) 字符输出我的字体字符?

How to output my font characters with Alt+code instead of default (ASCII) characters?

我正在创建自己的字体。问题是,我的字体基于符号(而不是字符),并且我的字体中有 120,000 个符号。显然这是一个巨大的数字,用普通的 A-Z 字符根本不可能写出所需的符号。

所以我在想是否可以使用 Alt+code 方法输入我的符号编号以便打印它。是否可以(在 Windows 7 上)更改我的计算机设置以使用 Alt+code 方法打印我需要的符号而不是常规的 ASCII 字符?

如果不能使用Alt+code方式,是否可以使用Ctrl+alphabetic code来打印我的符号?我的意思是 Ctrl+A-B-C 应该打印一个符号,而 Ctrl+A-B-T 应该打印其他符号(如我指定的那样)?

非常感谢。

字体不能支持 120,000 个不同的符号。在内部,它们具有 16 位数字字形 ID,因此不能支持超过 64K 的字形。

你说你使用的是“符号而不是字符”。这听起来好像您不想使用 Unicode 编码。但唯一的选择是使用 Windows symbol encoding。虽然原则上可以使用格式 4 cmap 子表将 64K 代码从 0x0 映射到 0xFFFF,但实际上一些实现预计不超过 224 个图形字符。

您最好将符号编码为 Unicode PUA 字符,使用带有 format 12 cmap subtable 的平台 3 编码 10(Windows / 完整 Unicode)。这样,您就可以使用任何 Unicode PUA 代码点,U+E000 - U+F800 或 U+F0000 - U+1FFFFF。这足以容纳 120,000 个符号。

但是,单个字体仍将限制为 64K 字形,因此您必须将符号分成两种字体。

至于键盘输入...祝您好运,记住 120,000 个符号中的每个符号的数字。但是,无论您能记住多少,您都可以使用 ALT + 在数字键盘上输入它们。但是,您可能想为此创建一个特殊的输入法:如果您只能记住如何输入一打左右,那么拥有 120,000 个符号有什么意义呢。