如何使用C或C ++在Linux上获取已安装的True Type字体列表?

时间:2008-10-14 23:53:38

标签: c++ c linux fonts true-type-fonts

我的应用程序如何获取Linux上可用的True Type字体列表。

是否存在跨不同发行版存储的标准目录?或者其他一些标准方法来定位它们?

6 个答案:

答案 0 :(得分:4)

我认为fontconfig是正确的方法。请查看wikipedia articlefontconfig hompage

答案 1 :(得分:3)

我刚刚使用GTK +使用的名为Pango的东西。我通过查看linux“Character Map”程序(gucharmap)的代码找到了它。这是基本的想法:

  PangoFontFamily **families;

  ...

  pango_context_list_families (
          gtk_widget_get_pango_context (GTK_WIDGET (notebook)),
          &families, &fontCount);

  printf("%d fonts found\n", fontCount);
  for(i=0; i<fontCount; i++)
  {
    printf("[%s]\n", pango_font_family_get_name (families[i]));
  }

答案 2 :(得分:2)

答案 3 :(得分:1)

不相关,但您可以使用fontmatrix显示全部预览(yum -y install fontmatrix)

enter image description here

答案 4 :(得分:0)

如果您没有编写专有软件或任何其他与GPL不兼容的许可软件,您可以尝试查看xlsfonts的代码,以了解如何查询字体服务器。 (字体服务器可以是X本身,但无关紧要。)

答案 5 :(得分:0)

如果你正在使用像GTK +或Qt这样的高级工具包,那么为你做这件事可能会有更好的功能;如果没有,fontconfig是事实上的方法。