> > >> > While debugging through the `GF_Glyph_Load' function in > >> > `gfdrivr.c', I found out that the typecasting of `FT_Face' into > >> > `GF_Face' is not working properly. In, `GF_Face gf = > >> > (GF_Face)FT_SIZE_FACE( size );', when I extract the `gf_glyph' > >> > element from `gf', it is unable to return the glyph bitmap table. > >> > Can anyone please point out where the error can be. > >> > >> Obviously, the size object doesn't contain the right GF_Face > >> object. > > > > But, then this way works for bdf and winfont. Why is it so? > > I guess there is a buglet somewhere...
I checked through gdb, it shows that the address of `GF_Face' does not change and is the same as returned by `FT_SIZE_FACE', Can there be any other problem? please help. Here is the output of gdb... Breakpoint 1, main (argc=3, argv=0x7fffffffdb78) at ftexample.c:72 72 { (gdb) watch -l face Hardware watchpoint 2: -location face (gdb) c Continuing. Hi I am here1 Hi I am here2 FT_Open_Face: Requesting face 0 FT_Stream_Open: opened `cmr10.600gf' (24148 bytes) successfully TTF driver SFNT driver not a font using the SFNT container format Type 1 driver not a Type 1 font CFF driver SFNT driver not a font using the SFNT container format not a CFF font header CID driver not a CID-keyed font PFR driver not a PFR font Type 42 driver not a Type42 font Windows FNT driver not a Windows FNT file PCF driver ... try gzip stream ... try LZW stream ... try Bzip2 stream not a PCF file BDF driver not a BDF file GF driver gf_load_font: GF_ID(131) found gf_load_font: GF_POST_POST(249) found gf_load_font: GF Postamble found gf_load_font: Allocated bitmap table number of glyphs: allocated 128 go->code_min is 0 and go->code_max is 255 FT_Open_Face: New face object, adding to list FT_Open_Face: Creating glyph slot FT_New_GlyphSlot: Creating new slot object FT_New_GlyphSlot: Return 0x0 FT_Open_Face: Creating size object Hardware watchpoint 2: -location face Old value = (struct FT_FaceRec_ *) 0x7 New value = (struct FT_FaceRec_ *) 0x5555557a9360 0x00007ffff7b22c8d in ft_open_face_internal (library=0x5555557a84c0, args=args@entry=0x7fffffffd990, face_index=0, aface=0x7fffffffda28, test_mac_fonts=test_mac_fonts@entry=1 '\001') at /home/parth/freetype-devel/src/base/ftobjs.c:2623 2623 *aface = face; (gdb) c Continuing. FT_Open_Face: Return 0x0 Hi I am here3 face->num_glyphs is 128 FT_Request_Size (gf driver): x scale: 0 (0.000000) y scale: 0 (0.000000) ascender: 0.000000 descender: 0.000000 height: 0.000000 max advance: 0.000000 x ppem: 0 y ppem: 0 Hi I am here Hi I am here in transform HI I am here in FT_Load_Char and glyph_index1 is 65 HI I am here in FT_Load_Char and glyph_index2 is 65 Hi I reached GF_Load_Glyph gf is 0x5555557a9360 face is 0x5555557a9360 /* In FT_SIZE_FACE */ GF_Glyph_Load: glyph index 65 invalid glyph index go->code_min is 0 and go->code_max is 0 /* here go->code_max should be 255 if the GF_Face is properly extracted */ FT_Done_Library: close faces for type42 FT_Done_Library: close faces for truetype FT_Done_Library: close faces for type1 FT_Done_Library: close faces for cff FT_Done_Library: close faces for t1cid FT_Done_Library: close faces for pfr FT_Done_Library: close faces for type42 FT_Done_Library: close faces for winfonts FT_Done_Library: close faces for pcf FT_Done_Library: close faces for bdf FT_Done_Library: close faces for gf Hardware watchpoint 2: -location face Old value = (struct FT_FaceRec_ *) 0x5555557a9360 New value = (struct FT_FaceRec_ *) 0x0 0x00007ffff73b5872 in __GI___call_tls_dtors () at cxa_thread_atexit_impl.c:145 145 cxa_thread_atexit_impl.c: No such file or directory. (gdb) Quit (gdb) Thank you Parth
_______________________________________________ Freetype-devel mailing list Freetype-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/freetype-devel