Wed 08 Apr 2009 04:29:47 PM UTC, original submission:
our application is crashing on a Times New Roman TTF font file which was embedded in a PDF file. ftview also crashes on this file. Here is the back trace under windows, its very reproduceable
> apptest.exe!TT_Load_Simple_Glyph(TT_LoaderRec_ * load=0x0012a3b0) Line 258 C
apptest.exe!load_truetype_glyph(TT_LoaderRec_ * loader=0x0012a3b0, unsigned int glyph_index=0x00000052, unsigned int recurse_count=0x00000000) Line 1293 + 0xd bytes C
apptest.exe!TT_Load_Glyph(TT_SizeRec_ * size=0x0121aec0, FT_GlyphSlotRec_ * glyph=0x0121b520, unsigned int glyph_index=0x00000052, int load_flags=0x0000000b) Line 1930 + 0x12 bytes C
apptest.exe!Load_Glyph(FT_GlyphSlotRec_ * ttslot=0x0121b520, FT_SizeRec_ * ttsize=0x0121aec0, unsigned int glyph_index=0x00000052, int load_flags=0x0000000b) Line 269 + 0x15 bytes C
apptest.exe!FT_Load_Glyph(FT_FaceRec_ * face=0x0121b5f0, unsigned int glyph_index=0x00000052, int load_flags=0x0000000b) Line 649 + 0x1c bytes C
apptest.exe!af_latin_metrics_init_widths(AF_LatinMetricsRec_ * metrics=0x0121a350, FT_FaceRec_ * face=0x0121b5f0, unsigned long charcode=0x0000006f) Line 62 + 0x12 bytes C
apptest.exe!af_latin_metrics_init(AF_LatinMetricsRec_ * metrics=0x0121a350, FT_FaceRec_ * face=0x0121b5f0) Line 427 + 0xf bytes C
apptest.exe!af_face_globals_get_metrics(AF_FaceGlobalsRec_ * globals=0x023d7580, unsigned int gindex=0x00000014, unsigned int options=0x00000000, AF_ScriptMetricsRec_ * * ametrics=0x0012a964) Line 268 + 0x10 bytes C
apptest.exe!af_loader_load_glyph(AF_LoaderRec_ * loader=0x011e10a4, FT_FaceRec_ * face=0x0121b5f0, unsigned int gindex=0x00000014, unsigned int load_flags=0x00000000) Line 505 + 0x18 bytes C
apptest.exe!af_autofitter_load_glyph(FT_AutofitterRec_ * module=0x011e1090, FT_GlyphSlotRec_ * slot=0x0121b520, FT_SizeRec_ * size=0x0121aec0, unsigned int glyph_index=0x00000014, int load_flags=0x00000000) Line 65 + 0x1b bytes C
apptest.exe!FT_Load_Glyph(FT_FaceRec_ * face=0x0121b5f0, unsigned int glyph_index=0x00000014, int load_flags=0x00000000) Line 642 + 0x1d bytes C
apptest.exe!SplashFTFont::makeGlyph(int c=0x00000031, int xFrac=0x00000000, int yFrac=0x00000000, SplashGlyphBitmap * bitmap=0x0012aaf4) Line 195 + 0x1e bytes C++
apptest.exe!SplashFont::getGlyph(int c=0x00000031, int xFrac=0x00000000, int yFrac=0x00000000, SplashGlyphBitmap * bitmap=0x0012ac04) Line 137 + 0x1d bytes C++
apptest.exe!SplashFTFont::getGlyph(int c=0x00000031, int xFrac=0x00000000, int yFrac=0x00000002, SplashGlyphBitmap * bitmap=0x0012ac04) Line 152 C++
apptest.exe!Splash::fillChar(double x=128.83880000000002, double y=5.5095000000000001, int c=0x00000031, SplashFont * font=0x01218d70) Line 2070 + 0x1d bytes C++
apptest.exe!SplashOutputDev::drawChar(GfxState * state=0x011dfbe0, double x=128.83880000000002, double y=5.5095000000000001, double dx=4.0000000000000000, double dy=0.00000000000000000, double originX=0.00000000000000000, double originY=0.00000000000000000, unsigned int code=0x00000031, int nBytes=0x00000001, unsigned int * u=0x0012aee8, int uLen=0x00000001) Line 1598 C++
Interstingly enough, the code to af_latin_metrics_init_widths is looking for the 'o' character. I opened the font file in FontLab4 and that character is not defined.
Help appreciated, if you want more trace information or need the ttf file please email me, I would be happy to supply it.
Keith
|