C# - 读取和预览字体

ice*_*l89 5 c# fonts

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

读:

  • 信息如字体系列,字体名称

预习:

  • 使用字体显示一些文本
  • 有没有办法显示所有支持的字体字符?

Rub*_*ben 12

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

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

Fonts.GetFontFamilies(location)
Run Code Online (Sandbox Code Playgroud)

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

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

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

我建议不要顺序尝试所有的Unicode代码点.