I used the example code from the documentation: http://freetype.sourceforge.net/freetype2/docs/reference/ft2-base_interface.html#FT_Get_First_Char
I'm not sure the do{} while() your proposed would change anything (I'm getting 0 as a charcode after the loop). Nicolas On Sep 26, 2011, at 9:38 , David Bevan wrote: > Nicolas, > > It looks to me like you terminate the loop too early. gindex == 0 is the last > glyph; you could use do {} while (); rather than while () {}. > > David %^> > > ________________________________________ > From: freetype-devel-bounces+david.bevan=pb....@nongnu.org > [mailto:freetype-devel-bounces+david.bevan=pb....@nongnu.org] On Behalf Of > Nicolas Rougier > Sent: 23 September 2011 16:52 > To: Freetype-devel@nongnu.org > Subject: [ft-devel] FT_Get_Char, FT_Get_Next_Char > > > > Hi folks, > > > Using the following code with the attached (very small) font: > > #include <stdio.h> > #include <ft2build.h> > #include FT_FREETYPE_H > > int main(int argc, char **argv) > { > FT_Face face; > FT_UInt gindex; > FT_ULong charcode; > FT_Library library; > > FT_Init_FreeType( &library ); > FT_New_Face( library, "./zapf.cff", 0, &face ); > > fprintf( stderr, "Num glyphs: %ld\n", face->num_glyphs ); > > charcode = FT_Get_First_Char( face, &gindex ); > while ( gindex != 0 ) > { > fprintf( stderr, "char: %ld (index = %d)\n", charcode, gindex ); > charcode = FT_Get_Next_Char( face, charcode, &gindex ); > }; > > FT_Done_Face( face ); > FT_Done_FreeType( library ); > } > > I'm getting the following output: > > Num glyphs: 3 > char: 32 (index = 1) > char: 160 (index = 1) > How do I get the last char ? (or did I do something wrong ?) > Nicolas _______________________________________________ Freetype-devel mailing list Freetype-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/freetype-devel