我必须使用字体路径吗?

Jon*_*röm 4 c++ x11 freetype

FT_New_Face功能似乎是我要找的人,但它需要的字体文件的路径.我想打开像"Times New Roman"这样的字体而不提供路径.我怎样才能做到这一点?

And*_*rov 5

大多数基于unix的系统使用Fontconfig来从搜索参数集(姓氏,变体,重量等)中获取最佳匹配字体文件

Fontconfig是一个用于配置和自定义字体访问的库.

Fontconfig可以:

  • 在自动安装时发现新字体,删除常见的配置问题源.
  • 执行字体名称替换,以便在缺少字体时可以选择适当的替代字体.
  • 识别完全覆盖一组语言所需的字体集.
  • 有一个GUI配置工具,因为它使用基于XML的配置文件(虽然使用自动发现,我们相信这种需求被最小化).
  • 即使您已安装了数千种字体,同时最大限度地减少了内存使用量,也可以在已安装的字体集中高效快速地找到所需的字体.
  • 与X Render Extension和FreeType协同使用,在显示器上实现高质量,抗锯齿和亚像素渲染的文本.

Fontconfig不:

  • 自己渲染字体(这留给FreeType或其他渲染机制)
  • 以任何方式依赖于X Window系统,因此只有打印机的应用程序不具有这种依赖性

Fontconfig相对便携,可用于各种系统,但OSX有CoreText,它具有类似的功能,Windows有DirectWrite

有关如何使用Fontconfig的帮助,请参阅问题.