#include #include main (int argc, char **argv) { char *file; FT_Face face; FT_Library ftLibrary; int i; FT_ULong c; FT_GlyphSlot slot; FT_Outline *outline; FT_Init_FreeType (&ftLibrary); while ((file = *++argv)) { i = 0; while (FT_New_Face (ftLibrary, file, i, &face) == FT_Err_Ok) { if (i >= face->num_faces) break; FT_Set_Pixel_Sizes (face, 0, 12); printf ("File %s id %d glyphs %d\n", file, i, face->num_glyphs); if (FT_Select_Charmap (face, ft_encoding_unicode) != FT_Err_Ok) printf ("\tNo unicode map\n"); else { for (c = 0; c < 0x10000; c++) { if (FT_Load_Char (face, c, FT_LOAD_DEFAULT) == FT_Err_Ok) { slot = face->glyph; outline = &slot->outline; if (outline && outline->n_contours == 0) { printf ("Char 0x%04x has no contours\n", c); } } } } FT_Done_Face (face); i++; } } }