Как мое приложение может получить список шрифтов True Type, доступных в Linux.
Есть ли стандартный каталог, в котором они хранятся в разных дистрибутивах? Или какой-нибудь другой стандартный способ их найти?





Если вы не пишете проприетарное программное обеспечение или любое другое лицензионное программное обеспечение, несовместимое с GPL, вы можете попробовать посмотреть код xlsfonts, чтобы узнать, как запросить сервер шрифтов. (Сервер шрифтов может быть самим X, но это не имеет значения.)
Я думаю, что fontconfig - правильный способ сделать это. Взгляните на статья в Википедии или главная страница fontconfig.
попробуйте функцию под названием 'XListFonts'
http://tronche.com/gui/x/xlib/graphics/font-metrics/XListFonts.html
Если вы используете высокоуровневый инструментарий, такой как GTK + или Qt, вероятно, есть лучшая функция, которая сделает это за вас; если нет, де-факто это можно сделать с помощью fontconfig.
Я только что сделал это, используя что-то под названием Pango, которое используется в GTK +. Я нашел его, посмотрев код программы 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]));
}
Не актуально, но вы можете использовать fontmatrix, показывая все и предварительный просмотр (yum -y install fontmatrix)
