【问题标题】:FontStyles other than standard非标准字体样式
【发布时间】:2013-03-07 08:04:42
【问题描述】:

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

我的确切字体是:Myriad Pro 字体样式:粗体压缩

如何根据这个 truetype 创建字体?

注意:字体为.OTF OpenType

【问题讨论】:

标签: c# winforms fonts


【解决方案1】:

认为应该这样做。

FontFamily fontFamily = new FontFamily("Condensed Bold");
Font font = new Font(
   fontFamily,
   16,
   FontStyle.Regular,
   GraphicsUnit.Pixel);

列出可用的字体系列(来自 cmets 中的链接)

private void PopulateListBoxWithFonts()
{
    listBox1.Width = 200;
    listBox1.Location = new Point(40, 120);
    foreach ( FontFamily oneFontFamily in FontFamily.Families )
    {
        listBox1.Items.Add(oneFontFamily.Name);
    }
}

【讨论】:

  • 它不起作用。我的确切字体是 Myriad Pro Font Style: Bold Condensed 如果我尝试输入字体系列“Myriad Pro Bold Condensed”,我会收到一个找不到字体的错误
  • 你检查过这里吗? msdn.microsoft.com/en-us/library/system.drawing.fontfamily.aspx 添加了列出可用字体系列的示例。
【解决方案2】:

使用按位or 组合字体样式

FontStyle ItalicBoldUnderline = FontStyle.Italic | FontStyle.Bold | FontStyle.Underline;

【讨论】:

  • 但标准样式不包含“Bold Condensed”
【解决方案3】:

来自类似的answer

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

【讨论】:

  • 我知道你通过链接到他们的答案来赞扬对方,但逐字复制和粘贴别人的答案是 1) 抄袭和 2) 没用。如果完全相同的答案适用于不同的问题,那么该问题无疑是另一个问题的重复,应该被标记为这样。
  • @CodyGray :“那么这个问题无疑是另一个问题的重复,应该被标记为这样”我如何将它标记为重复?请指教。谢谢!
  • 我已经投票决定关闭这个作为副本。将来,请在问题标签下方寻找小“标志”链接。我 99% 确定您可以将一个问题标记为与另一个问题重复。该标志进入主持人队列,更有经验的用户可以判断他们是否同意您的评估。我完全忘记了它是如何工作的,因为我们这些已经存在很长时间的人自己慢慢地获得了主持人特权。相关阅读:meta.stackexchange.com/questions/118124/…
  • @CodyGray:是的,我看到了“标志”链接。我是这个空间的新手。谢谢你的建议:)
猜你喜欢
  • 1970-01-01
  • 2015-03-13
  • 1970-01-01
  • 2015-11-13
  • 1970-01-01
  • 1970-01-01
  • 2013-12-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多