如何在c#中加载字体文件并使用它的字体样式

本文关键字:字体 样式 文件 加载 | 更新日期: 2023-09-27 18:10:30

我可以这样加载字体文件:

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

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

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

那么,我该怎么办呢?

如何在c#中加载字体文件并使用它的字体样式

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

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