字体不支持“常规”“粗体”“斜体”等任何样式

mor*_*khi 0 c# fonts styles winforms

我如何使用不支持任何类型 FontStyle 的字体。顺便说一句,我无法从中创建字体对象。帮助??

Dav*_*che 5

Windows 上的字体代码(我猜在任何平台上都是如此)不会从头开始创建新字体;它会解释您的系统上安装/可用的字体,并为您提供使用这些字体的方法。

每种字体都是通过创建 FontFamily 对象来实现的;这样的 FontFamily 然后包含每个可用样式的 Font 对象。如果某种样式(例如“粗体”或“斜体”)在您的系统上不可用,您将无法创建它。

您可以使用 FontFamily.IsStyleAvailable 来测试是否是这种情况。此处定义为:

public bool IsStyleAvailable(
    FontStyle style
)
Run Code Online (Sandbox Code Playgroud)

如果您想创建一种字体,则必须首先确保它在系统上可用(这意味着您必须使用常见字体,或者如果您想要不常见的字体,则必须将该字体与您的解决方案打包)。