我的应用程序如何获取Linux上可用的True Type字体列表。
是否存在跨不同发行版存储的标准目录?或者其他一些标准方法来定位它们?
答案 0 :(得分:4)
我认为fontconfig是正确的方法。请查看wikipedia article或fontconfig 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)
尝试一个名为'XListFonts'的函数
http://tronche.com/gui/x/xlib/graphics/font-metrics/XListFonts.html
答案 3 :(得分:1)
不相关,但您可以使用fontmatrix
显示全部预览(yum -y install fontmatrix)
答案 4 :(得分:0)
如果您没有编写专有软件或任何其他与GPL不兼容的许可软件,您可以尝试查看xlsfonts的代码,以了解如何查询字体服务器。 (字体服务器可以是X本身,但无关紧要。)
答案 5 :(得分:0)
如果你正在使用像GTK +或Qt这样的高级工具包,那么为你做这件事可能会有更好的功能;如果没有,fontconfig是事实上的方法。