Linux で使用できる True Type フォントのリストをアプリで取得するにはどうすればよいですか。
異なるディストリビューションにまたがって保存される標準のディレクトリはありますか? または、それらを見つけるための他の標準的な方法はありますか?
fontconfig が正しい方法だと思います。ウィキペディアの記事またはfontconfigのホームページをご覧ください。
GTK+で使われているPangoというものを使ってやりました。Linuxの「文字コード表」プログラム(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]));
}
「XListFonts」という関数を試してください
http://tronche.com/gui/x/xlib/graphics/font-metrics/XListFonts.html
プロプライエタリ ソフトウェアや、GPL と互換性のないその他のライセンス ソフトウェアを作成していない場合は、xlsfonts のコードを調べて、フォント サーバーにクエリを実行する方法を確認してみてください。(フォントサーバーは X 自体である可能性がありますが、問題にはなりません。)
GTK+ や Qt などの高レベルのツールキットを使用している場合は、それを行うためのより優れた機能がおそらくあります。そうでない場合は、fontconfig が事実上の方法です。