6

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

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

4

6 回答 6

6

我认为 fontconfig 是正确的方法。查看wikipedia 文章fontconfig 主页

于 2008-10-15T07:23:27.713 回答
2

尝试一个名为“XListFonts”的函数

http://tronche.com/gui/x/xlib/graphics/font-metrics/XListFonts.html

于 2009-08-16T21:16:07.443 回答
2

我只是使用 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]));
  }
于 2009-08-16T23:36:13.007 回答
1

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

在此处输入图像描述

于 2012-07-19T12:55:18.323 回答
0

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

于 2008-10-14T23:57:03.790 回答
0

如果您使用的是 GTK+ 或 Qt 之类的高级工具包,那么可能有更好的功能可以为您做这件事;如果没有,fontconfig 是事实上的方法。

于 2009-08-16T21:17:47.863 回答