0

如何将 FontStyle 设置为 Condensed Bold ?还是浓缩粗体斜体?FontStyle 属性没有标准值以外的值。

我的确切字体是:Myriad Pro 字体样式:Bold Condensed

如何基于此 truetype 创建字体?

注意:字体为 .OTF OpenType

4

3 回答 3

1

认为这样的事情应该这样做。

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);
    }
}
于 2013-03-18T20:26:24.920 回答
0

从类似的答案

您不能只使用控制面板中显示的字体名称吗?大多数不是常规、粗体或斜体的字体实际上都有一个“常规”子家族类型。如果您从 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
于 2013-03-19T03:59:39.427 回答
0

使用按位or组合 FontStyles

FontStyle ItalicBoldUnderline = FontStyle.Italic | FontStyle.Bold | FontStyle.Underline;
于 2013-03-18T20:26:23.393 回答