tuxpaint --listfonts -- sort the results

This commit is contained in:
Bill Kendrick 2023-06-01 23:48:19 -07:00
parent 1cf2fa245d
commit 0e359a1fba

View file

@ -2061,7 +2061,10 @@ static void rec_undo_buffer(void);
void show_version(int details); void show_version(int details);
void show_usage(int exitcode); void show_usage(int exitcode);
int compare_font_family(const void *a, const void *b);
void show_fonts(void); void show_fonts(void);
static char *progname; static char *progname;
static SDL_Cursor *get_cursor(unsigned char *bits, unsigned char *mask_bits, static SDL_Cursor *get_cursor(unsigned char *bits, unsigned char *mask_bits,
@ -8118,21 +8121,35 @@ void show_usage(int exitcode)
void show_fonts(void) { void show_fonts(void) {
PangoFontMap *fontmap; PangoFontMap *fontmap;
PangoFontFamily **families; PangoFontFamily **families;
int n_families; int i, n_families;
char * * family_names;
fontmap = pango_ft2_font_map_new(); fontmap = pango_ft2_font_map_new();
pango_font_map_list_families(fontmap, &families, &n_families); pango_font_map_list_families(fontmap, &families, &n_families);
for (int i = 0; i < n_families; i++) family_names = (char * *) malloc(sizeof(char *) * n_families);
for (i = 0; i < n_families; i++)
{ {
const char *family_name = pango_font_family_get_name(families[i]); family_names[i] = strdup(pango_font_family_get_name(families[i]));
printf("%s\n", family_name);
} }
qsort(family_names, n_families, sizeof(char*), compare_font_family);
for (i = 0; i < n_families; i++)
{
printf("%s\n", family_names[i]);
free(family_names[i]);
}
free(family_names);
exit(0); exit(0);
} }
int compare_font_family(const void *a, const void *b)
{
return strcasecmp(*(char * const*) a, *(char * const*) b);
}
/** /**
* Compute default scale factor for stamps. * Compute default scale factor for stamps.
* *