【问题标题】:How to load a font file and use its font style in C#?如何在 C# 中加载字体文件并使用其字体样式?
【发布时间】:2014-08-16 21:52:46
【问题描述】:

我可以使用这个加载字体文件:

PrivateFontCollection _fonts = new PrivateFontCollection();
_fonts.AddFontFile ( filepath );
Font customFont = new Font(_fonts.Families[0], 6.0F);

但是,我面临的问题是我无法从字体文件中加载字体样式(粗体/斜体等)。 我需要用户提供的字体文件,因为我要保存字体文件,然后使用 OpenGL 来渲染它。但是,在实际渲染之前,我需要使用 WPF 显示预览。

所有字体都可以假定为系统字体。但是,我需要从 TTF 文件中找出字体样式以在 WPF Canvas 上显示它。我实际上可以做的是我可以要求用户加载字体文件以及从下拉列表中指定样式,但这违背了目的,因为如果用户指定了错误的样式,那么它将在模拟器和渲染期间。

那么,我该怎么办?

【问题讨论】:

    标签: c# wpf fonts


    【解决方案1】:

    我不确定我是否完全理解您的问题,但是如果您想以特定字体显示一些文本,那么您可以这样做。首先,将字体文件添加到项目中的文件夹中......假设它名为Resources。接下来,将其 Build Action 设置为 Content。然后你可以像这样在 XAML 中使用该字体:

    <TextBlock FontFamily="/Resources/#Some Font Name" Text="Some Font Name" />
    

    【讨论】:

    • 1) 我需要 OpenGL 的确切字体文件。 2)所以,我要求用户选择字体文件 3)我可以从文件中提取字体名称。 4) 我无法从文件中提取字体样式信息 5) 但是,在 c# 中创建新字体时必须指定字体样式 6) 我需要找到字体样式
    • 啊...那么这对您没有帮助。我会留下它,以防将来对其他人有帮助。
    • 对此有任何线索吗?应该是通病吧?
    • 一定是通病吧?...我不太确定是不是这样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    • 2021-11-08
    • 2020-09-23
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    相关资源
    最近更新 更多