后备字体Fallback font)是指在当时显示的字体缺乏某些字符时,被用于显示缺失字符的字体。因为其作为显示的最后一道防线,后备字体应该尽可能包含所有Unicode字符。

当缺失字符没有后备字体用于显示时,通常会将缺失字符改为黑色方块、白色空心方块、问号、Unicode占位字符(U+FFFD)显示,或者干脆略过该字符。在实务上,像是CSS等支持字体列表依序显示的系统,通常会将一或多套后备字体置入列表最后,以防止缺字的情况发生。

Unicode BMP Fallback字体 编辑

 0 0 
 2 0 

Unicode BMP Fallback是一套最早用于调试用途的后备字体。BMP代表的是Unicode字符平面的基本多语言平面(Basic Multilingual Plane)。在该字体中,每个字符都是用方框围住的四位数十六进制编码。[1]左方的图案是该字体的示意图,展示了一个空白字符(U+0020)。

不像下述的Unicode Last Resort字体,Unicode BMP Fallback字体只能显示Unicode标准的第零平面,也就是基本多语言平面中的65536种字符。这是因为其字体设计每字符容纳四个编码,因此只能对应U+0000(=0)至U+FFFF(=65535)的字符,也就是第零平面。

Unicode Last Resort字体 编辑

 
示例字符,来自苹果电脑的Apple Last Resort字体。

此字体是统一码联盟在制定Unicode 5.0时所提供一套包含所有Unicode平面的后备字体。该字体是Mac OS X Last Resort系统字体的派生版,由苹果公司授权让统一码联盟在非苹果平台上使用。[2] 该字体在 Unicode 14.0 版(2021 年)中以SIL开源字体授权释出。[3]

该字体的字符以粗黑圆角方框围住,中间以该编码区段的代表字符显示,让用户能大略知道缺失文字的语言。在粗框的左右,各记载了该区段的Unicode十六进制编码起始值与终止值,上下则写出该区段的叙述。[4]

不像Unicode BMP Fallback或GNU Unifont,Unicode Last Resort字体不会针对每个字绘制不同的字符,而是对该区段直接用同一字符显示。这样的设计事实上是对常见字体标准,TrueTypeOpenTypePostScriptWOFF等的妥协。由于常见的字体标准皆采用sfnt寻址,因此只允许在十六位元的寻址空间内提供最多65536(FFFF)个不同的字符。然而,今日的Unicode已经有超过十万种字符,理论寻址空间也超过一百万种字符,是sfnt寻址允许的约15倍大小。因此,尽管随着时间推进,Unicode定义的字符只会越来越多,Unicode Last Resort后备字体却仍能将未来的所有字符全部收录。

参见 编辑

参考资料 编辑

  1. ^ SIL International (March 20, 2008), Unicode BMP Fallback font. Retrieved August 28, 2011.
  2. ^ Apple Computer (November 2, 2002), Last Resort font页面存档备份,存于互联网档案馆). Retrieved August 27, 2011.
  3. ^ Last Resort Font, The Unicode Consortium, 2022-02-10 [2022-02-11], (原始内容存档于2022-02-11) 
  4. ^ Apple Computer (February 2, 2002), Last Resort Font Glyph Table页面存档备份,存于互联网档案馆). Retrieved August 28, 2011.