C# - 读取和预览字体

标签 c# fonts

我可以在 C# 中读取和预览字体(主要是 ttf 和 otf)吗?我可以/应该使用哪些其他语言?

阅读:

  • 字体系列、字体名称等信息

预览:

  • 使用字体显示一些文字
  • 有什么方法可以显示所有支持的字体字符?

最佳答案

警告:如果您想预览 OTF 字体,请不要使用 System.Drawing/System.Windows.Forms。除非他们是伪装的 TTF,否则您不会让他们露面。 System.Drawing,基于GDI+,只支持TTF字体!

但是,如果您可以使用 .NET 3.0,则可以使用

Fonts.GetFontFamilies(location)

来自 System.Windows.Media 命名空间(仅引用 PresentationCore.dll)。

FontFamily,您可以获得单独的字体(.ttc 文件包含多个“字体”,但FontFamily还结合了各种权重和变体)。从 Typeface,您可以调用 TryGetGlyphTypeface 来获取 GlyphTypeface,它有一个 CharacterToGlyphMap 属性,它应该告诉您物理上支持哪些 unicode 代码点。

似乎也可以直接使用 GlyphTypeface,但我认为您无法处理 .ttc 文件。但是,如果这不相关,只需为每个文件创建一个 GlyphTypeface。

不过,我建议不要按顺序尝试所有 Unicode 代码点。

关于C# - 读取和预览字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1187212/

相关文章:

javascript - 字体 - Webpack 和 postcss

c# - 不排除空格的文件名的正则表达式

c# - 如何对返回 void 的 DAO 更新/删除方法进行单元测试?

c# - RichtextBox 加粗

html - 忽略字体系列规则

html - 使用 CSS,有什么方法可以使用不同的字体显示不同的字符?

c# - 从 C# SONAR 分析中排除生成的代码

c# - 我可以将容器类方法与通用接口(interface)的方法集成吗?

html - 网络字体仅适用于 Mac 的 Chrome 和 Safari,

ios - 奇怪的 "Crash"字体添加到 Info.plist