font->glyphnames = malloc(face->num_glyphs*sizeof(char*));
}
- font->layout->ascent = face->ascender; //face->bbox.xMin;
- font->layout->descent = face->descender; //face->bbox.xMax;
- font->layout->leading = -face->bbox.xMin;
+ font->layout->ascent = face->ascender*20/FT_SUBPIXELS; //face->bbox.xMin;
+ font->layout->descent = abs(face->descender)*20/FT_SUBPIXELS; //face->bbox.xMax;
+ font->layout->leading = -face->bbox.xMin*20/FT_SUBPIXELS;
font->layout->kerningcount = 0;
name = FT_Get_Postscript_Name(face);
font->glyph[t].advance = ((bbox.xMax - bbox.xMin)*FT_SCALE)/FT_SUBPIXELS;
}
#else
- font->glyph[t].advance = glyph->advance.x/65536;
+ font->glyph[t].advance = glyph->advance.x*20/65536;
#endif
font->glyph[t].shape = swf_ShapeDrawerToShape(&draw);
memset(font, 0, sizeof(SWFFONT));
font->version = 2;
- font->name = (U8*)strdup(fontname);
+ if(fontname)
+ font->name = (U8*)strdup(fontname);
+ else
+ font->name = 0;
font->layout = (SWFLAYOUT*)malloc(sizeof(SWFLAYOUT));
memset(font->layout, 0, sizeof(SWFLAYOUT));
draw.dealloc(&draw);
font->layout->bounds[c] = bbox;
- font->glyph[c].advance = bbox.xmax/20;
+ font->glyph[c].advance = bbox.xmax;
if(!font->glyph[c].advance) {
font->glyph[c].advance = firstx;
}
#elif defined(HAVE_T1LIB)
return swf_LoadT1Font(filename);
#else
- fprintf(stderr, "Error: Neither T1lib nor FreeType support compiled in. Could not load %s\n", infile);
+ fprintf(stderr, "Error: Neither T1lib nor FreeType support compiled in. Could not load %s\n", filename);
return 0;
#endif
}