我必须使用字体路径吗?

时间:2016-04-02 09:33:21

标签: c++ x11 freetype

FT_New_Face函数似乎是我正在寻找的函数,但它需要一个字体文件的路径。我想打开像#New Times Roman这样的字体,"没有提供路径。我怎么能这样做?

1 个答案:

答案 0 :(得分:5)

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

  

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

     

Fontconfig可以:

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

Fontconfig不会:

     
      
  • 自己渲染字体(这是留给FreeType或其他   渲染机制)
  •   
  • 以任何方式依赖X Window系统,所以   那台打印机只有应用程序没有这种依赖
  •   

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

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