【问题标题】:Windows Font replacement when specified font is missing缺少指定字体时的 Windows 字体替换
【发布时间】:2018-06-28 14:49:29
【问题描述】:

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

【问题讨论】:

    标签: windows winforms fonts


    【解决方案1】:

    Windows 通常会在找不到指定的字体时进行字体替换。 System.Drawing.Font class constructor 的文档指出:

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

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

    控制面板中曾经有一个小程序,可让您调整默认系统字体、颜色和大小,但我在最新版本的 Windows 10 中找不到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-07
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      相关资源
      最近更新 更多