缺少指定字体时的Windows字体替换

时间:2018-06-28 14:49:30

标签: windows winforms fonts

我有一些使用某种字体编码的软件。从那以后,我改变了主意,想使用Sans Serif。在更改任何代码之前,我从运行PC的PC上删除了旧字体,尽管存在一些尺寸调整问题,该软件仍然可以成功运行。即使不再安装我在代码中引用的唯一字体,它仍使用Sans Serif。我已经搜索了几个小时,以了解它如何以及为什么这样做,但是找不到任何具体答案。 有人可以解释为什么这样做吗? 有什么方法可以更改默认的后备字体?

1 个答案:

答案 0 :(得分:0)

当Windows无法找到指定的字体时,通常会进行字体替换。 System.Drawing.Font class constructor的文档说明:

如果familyName参数指定的字体未安装在运行该应用程序的计算机上或不受支持,则将替换Microsoft Sans Serif。

我相信对于Winforms控件,替换可能会涉及更多,因为控件的字体可以从父容器和/或窗口继承,并且还为该控件定义了许多字体。可能使用的系统当前主题(请参见Control.FontSystemFonts文档)。

控制面板中曾经有一个applet,允许您调整默认系统字体,颜色和大小,但我无法在最新版本的Windows 10中找到它。