10 filter (const struct dirent *direntry)
12 int len = strlen (direntry->d_name);
13 const char *ext = direntry->d_name + (len - 4);
16 && (! strncmp (ext, ".ttf", 4)
17 || ! strncmp (ext, ".TTF", 4)
18 || ! strncmp (ext, ".otf", 4)
19 || ! strncmp (ext, ".OTF", 4)
20 || ! strncmp (ext, ".PFA", 4)
21 || ! strncmp (ext, ".pfa", 4)
22 || ! strncmp (ext, ".PFB", 4)
23 || ! strncmp (ext, ".pfb", 4)));
27 main (int argc, char **argv)
29 struct dirent **namelist;
32 FT_Library ft_library;
35 if (FT_Init_FreeType (&ft_library))
40 n = scandir (".", &namelist, filter, alphasort);
42 for (i = 0; i < n; i++)
43 if (! FT_New_Face (ft_library, namelist[i]->d_name, 0, &face))
45 char *name = alloca (strlen (namelist[i]->d_name)
46 + strlen (face->family_name)
48 sprintf (name, "%s (%s)", namelist[i]->d_name, face->family_name);
49 printf ("%-40s %s", name, face->style_name);
50 for (j = 0; j < face->num_charmaps; j++)
51 printf (" %d-%d", face->charmaps[j]->platform_id,
52 face->charmaps[j]->encoding_id);
57 printf ("%s fail to open\n", namelist[i]->d_name);