用graphics自定义字体样式

我有以下字体列表: 字体列表

我没有通过使用它们的问题

new Font("XXXX Sans", 21, FontStyle.Bold, GraphicsUnit.Pixel) 

但是,当我需要使用非标准的字体样式时,我该怎么做? 所有提供的是枚举,并不适合。

Solutions Collecting From Web of "用graphics自定义字体样式"

你能不能像控制面板中显示的那样使用字体名称? 大多数不规则,粗体或斜体的字体实际上都有一个子类型的“常规”。 如果您从Microsoft下载字体属性扩展名 ,您可以在名称选项卡上看到。 控制面板列出它们的方式以及.Net知道它们的方式有时是不同的,所以从.Net的角度列出所有的字体是个好主意:

  var installed_fonts = new InstalledFontCollection(); var families = installed_fonts.Families; var allFonts = new List<string>(); foreach(FontFamily ff in families){ allFonts.Add(ff.Name); } allFonts.Sort(); foreach(String s in allFonts){ Console.WriteLine(s); } 

这里有一个使用Franklin Gothic Demi Cond(在CP上列为“Franklin Gothic Cond Demi”)的例子

 e.Graphics.DrawString("Test", new Font("Franklin Gothic Demi Cond", 12), new SolidBrush(Color.Red), 25, 25);