如何将 FontStyle 设置为 Condensed Bold ?还是浓缩粗体斜体?FontStyle 属性没有标准值以外的值。
我的确切字体是:Myriad Pro 字体样式:Bold Condensed
如何基于此 truetype 创建字体?
注意:字体为 .OTF OpenType
我认为这样的事情应该这样做。
FontFamily fontFamily = new FontFamily("Condensed Bold");
Font font = new Font(
fontFamily,
16,
FontStyle.Regular,
GraphicsUnit.Pixel);
列出可用的字体系列(来自评论中的链接)
private void PopulateListBoxWithFonts()
{
listBox1.Width = 200;
listBox1.Location = new Point(40, 120);
foreach ( FontFamily oneFontFamily in FontFamily.Families )
{
listBox1.Items.Add(oneFontFamily.Name);
}
}
从类似的答案:
您不能只使用控制面板中显示的字体名称吗?大多数不是常规、粗体或斜体的字体实际上都有一个“常规”子家族类型。如果您从 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 Solid
使用按位or
组合 FontStyles
FontStyle ItalicBoldUnderline = FontStyle.Italic | FontStyle.Bold | FontStyle.Underline;