当标签的字体不支持日文字符时,Label控件如何正确显示日文字符?

我正在使用.Net 4.5目标框架开发winform应用程序。

有一点我注意到,如果我在Label控件上显示日语文本而标签Font (Arial)不支持日文字符,那么Label也可以成功显示这些字符。

如果我在分配日文文本之前和之后检查标签的字体属性,它只显示“Arial”,所以字体可能不会动态变化。

标签有哪些内部function可以实现这一目标?

关于字体后备。
系统function,与国际字体管理相关联 。 它自动选择除用户在应用程序中选择的字体之外的字体,以表示使用的字体无法处理的字形。
另请参阅: 国际字体枚举和选择

可以在系统注册表中找到一系列预定义的字体替换:

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink 

此处报告了与RichTextBox/RichEdit控件相关的示例和一些注释:
某些键更改了我的RichTextBox字体

使用设置为IMF_AUTOFONT选项的EM_SETLANGOPTIONS创建控件。
预定义的行为,当当前字体无法显示Unicode子集时,它是自动字体回退。 文本选择报告字体替换引用。

当默认映射未返回直接匹配时,可以使用Unicode子集位字段选择字体替换。

任何字体替换都与当前系统语言和可用的已安装字体有关。 系统专门安装了许多字体以支持此function。 回退字体通常在系统字体存储库( \Windows\Fonts )中标记为“隐藏”。 可以使用工具栏按钮或上下文菜单中的“ Show命令将它们标记为可用/可枚举。
Arial Unicode就是其中之一)。

也可以看看:

国际字体和文本显示
关于多语言用户界面
的Uniscribe