Unicode码 常见问题

显示不支持的字符

Q: 如果出现以下情况,应如何显示字符渲染系统不完全支持它们吗?

根据所涉及的角色类型,有三个主要选项。有些根本不应该显示(零宽度的不可见字符);有些应该显示为可见(但为空白)空间;有些应该显示一个或多个通用字形,通常称为“缺少标志符号“或a“.notdef glyph”。

通用glyph的两种实现值得一提。一个是最后一个度假区字体,其通用标志符号特定于脚本更容易识别字体可能需要安装资源来支持字符。另一种常见的实现显示字符十六进制代码,而不是非特定的符号。

Q: 哪些字符应显示为一个可见但空白的空间?

这是最简单的一个:所有具有White_Space的字符财产也称为“空白字符”。这一套当然包括空格,但也包括诸如制表符控制字符、NO-BREAK SPACE、LINE SEPARATOR等字符。有关完整列表,请参阅White_SPACE中的值属性列表.txt.

Q: 哪些字符应显示为如果不支持,则不可见?

所有可忽略的默认字符都应呈现为完全看不见(和不前进,即“零宽度“),如果不是中显式支持致使包括:

有关完整列表,请参阅Default_ignorable_Code_Point中的值派生核心属性.txt。请注意,没有具有Default_Ignorable_Code_Point的White_Space字符财产.

Q: 变体选择器序列(包括不支持的序列)的预期显示是什么?

预期的致使字符序列加a的行为变量选择器(C+VS)是规定如下:

如果不支持C,请参阅Q: 如果渲染系统不完全支持字符,应如何显示它们?

VS序列也可以是字形簇,例如表情符号序列。请参见UTS#51 Unicode表情符号有关表情符号显示的更多详细信息。

Q: 哪些字符应与如果不支持,则缺少glyph?

除空白和default-ignorable之外的所有字符字符。

注意,建议的做法是提供不同的缺少标志符号为字符提供一些指示缺少的字符类型字形。有关更多信息,请参阅中“可解释但无法理解的字符”下的文本第5.3节,未知和缺失字符,并查看最后一个度假区字体.

Q: 不为默认可忽略代码点子集提供任何可见显示的建议如何影响字体设计?

字体从整体上看确实是最好的致使系统,因为该系统的其他部分可能处理渲染的各个方面。在为不处理不可见字符的渲染系统设计字体的情况下(例如变体选择器),然后是最好的字形为他们-在缺少其他支持-是一个零宽度的不可见字形。

Q: 字体何时会包含不可见字符的符号?

致使系统可能支持特殊的显示模式,例如“隐藏显示”,用于显示不以其他方式显示。字体用于此目的的将包含字形用于可见显示默认可忽略 代码点否则会被隐形不支持时。