我可以在 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/