X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fmodules%2Fswffont.c;h=233b19087950feae499f3f3e6c03a8b5ed0c1a76;hb=eaff678a1de813f56de1df9067100e4da3671802;hp=9a572e1f7e66bbe520b9522c910d28d657136a74;hpb=22f4b2fb5eab04dff324b61eeef8cb3f0c99dc69;p=swftools.git diff --git a/lib/modules/swffont.c b/lib/modules/swffont.c index 9a572e1..233b190 100644 --- a/lib/modules/swffont.c +++ b/lib/modules/swffont.c @@ -123,16 +123,15 @@ SWFFONT* swf_LoadTrueTypeFont(char*filename) font->glyph2ascii = malloc(face->num_glyphs*sizeof(U16)); memset(font->glyph2ascii, 0, face->num_glyphs*sizeof(U16)); font->maxascii = 0; - memset(font->ascii2glyph, -1, font->maxascii*sizeof(int)); font->glyph = malloc(face->num_glyphs*sizeof(SWFGLYPH)); memset(font->glyph, 0, face->num_glyphs*sizeof(U16)); if(FT_HAS_GLYPH_NAMES(face)) { 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); @@ -224,7 +223,7 @@ SWFFONT* swf_LoadTrueTypeFont(char*filename) 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); @@ -392,7 +391,7 @@ SWFFONT* swf_LoadT1Font(char*filename) 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; }