3

我编写了一个 WPF 用户控件,它使用 Tahoma 作为字体来显示 unicode 字符串,效果很好。但是,我注意到 Tahoma 中实际上缺少一些东亚字符,即这种字体不支持所有常见的 Unicode 字符。

但是,当我显示一个包含一些东亚字母的字符串时,我认为 Tahoma.ttf 中缺少该字符串,该字符无论如何都会正确显示,而不是我希望为缺少的 unicode 字符获得的黑色矩形。

所以出于好奇:是否有任何后备机制,即 Windows 7 或 C# WPF 是否替换后备字体中缺少的字符?谁能解释一下这是如何工作的,以及实际使用哪种字体作为 allback?

4

2 回答 2

5

请参阅参考资料Font Fallback部分。FontFamily

于 2012-01-10T13:12:13.053 回答
2

非常感谢 HB,使用您的关键字,我能够从 Microsoft 找到这个非常有用的资源,它解释了 Font Fallback 和 Font Linking 的工作原理:

http://msdn.microsoft.com/en-us/goglobal/bb688134

这是一个很好的报价:

运行 Windows XP 的用户选择 Tahoma 字体以首先用英语输入一些文本,然后是希伯来语,然后是泰卢固语。由于 Tahoma 是一种 OpenType 字体,因此它支持拉丁语和希伯来语脚本,但不包含任何泰卢固语字形。Uniscribe 检测到这种缺乏字体支持的情况,并通过使用其后备字体 Gautami 自动呈现泰卢固语脚本。

于 2012-01-11T10:42:38.743 回答