gpt4 book ai didi

c# - 如何获得所有已安装的固定宽度字体?

转载 作者:可可西里 更新时间:2023-11-01 07:44:13 26 4
gpt4 key购买 nike

我想知道是否有任何简单的方法可以在 C# 中获取用户系统上安装的所有固定宽度(等宽)字体的列表?

我使用的是 .net 3.5,因此可以访问 WPF System.Windows.Media 命名空间和 LINQ 来获取字体信息,但我不确定我在寻找什么。

我希望能够提供经过过滤的等宽字体列表和/或从更大的字体列表中挑选出等宽字体(如 VS 选项对话框中所示)。

最佳答案

看看:

http://www.pinvoke.net/default.aspx/Structures/LOGFONT.html

使用其中的一种结构,然后遍历系列,实例化一个 Font,获取 LogFont 值并检查 lfPitchAndFamily。

以下代码是即时编写的,未经测试,但像下面这样的代码应该可以工作:

foreach (FontFamily ff in System.Drawing.FontFamily.Families)
{
if (ff.IsStyleAvailable(FontStyle.Regular))
{
Font font = new Font(ff, 10);
LOGFONT lf = new LOGFONT();
font.ToLogFont(lf);
if (lf.lfPitchAndFamily ^ 1)
{
do stuff here......
}
}
}

关于c# - 如何获得所有已安装的固定宽度字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/224865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com