如果在所选字体 (Tahoma) 中找不到 Unicode 字符,则使用什么字体?

问题描述 投票:0回答:2

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

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

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

c# wpf unicode fonts fallback
2个回答
5
投票

请参阅

Font Fallback 参考文献
FontFamily
部分。


2
投票

非常感谢 H.B.,通过您的关键字,我能够从 Microsoft 找到这个非常有用的资源,它解释了字体回退和字体链接的工作原理:

https://learn.microsoft.com/en-us/globalization/fonts-layout/fonts

这是一个很好的引用:

用户选择 Tahoma 字体,首先用英语输入一些文本,然后用希伯来语输入一些文本,然后用泰卢固语输入一些文本。 Tahoma 提供对拉丁语和希伯来语脚本的支持,但不包含任何泰卢固语字形。应用程序或渲染系统检测到字体支持的缺乏,并使用其后备字体自动渲染泰卢固语脚本。每个应用程序和每个操作系统都可以为任何 Unicode 脚本范围定义自己的后备字体,具体取决于所使用的技术。

© www.soinside.com 2019 - 2024. All rights reserved.