2008-10-14 5 views
6

Как мое приложение может получить список шрифтов True Type, доступных в Linux.Как получить список установленных True Type Fonts в Linux с помощью C или C++?

Существует ли стандартный каталог, в котором они хранятся в разных дистрибутивах? Или какой-нибудь другой стандартный способ найти их?

ответ

0

Если вы не пишете проприетарное программное обеспечение или какое-либо другое лицензированное программное обеспечение, которое несовместимо с GPL, вы можете попробовать посмотреть код на xlsfonts, чтобы узнать, как запросить сервер шрифтов. (Сервер шрифтов может быть сам X, но это не имеет значения.)

0

Если вы используете высокоуровневый инструментарий, как GTK + или Qt, там, наверное, лучше функция, чтобы сделать это для вас; если нет, fontconfig - это де-факто способ сделать это.

3

Я только что сделал это, используя что-то 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])); 
    } 
1

Не Релевент, но вы можете использовать fontmatrix показывает все и есть предварительный просмотр (ни -y установить Fontmatrix)

enter image description here