X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fexample%2Fdumpfont.c;h=02e109b32b5bf53e3a30cba34622e8c73920da84;hb=d4af216aee2d07affc044ef8a9f7fb4c408c44cd;hp=c6669bb0b0d02899bb9f57a72bdeba2b48b0340c;hpb=51c19ac56edb61ae987df0488bb8cd0f8884b37e;p=swftools.git diff --git a/lib/example/dumpfont.c b/lib/example/dumpfont.c index c6669bb..02e109b 100644 --- a/lib/example/dumpfont.c +++ b/lib/example/dumpfont.c @@ -9,8 +9,6 @@ external files. Usage: ./dumpfont filename.swf > myfont.c - - Limits: does not parse ST_DEFINEFONT2 Part of the swftools package. @@ -62,17 +60,28 @@ void DumpFont(SWFFONT * f,char * name) printf(" f->id = id;\n"); printf(" f->version = %d;\n", f->version); printf(" f->name = strdup(\"%s\");\n",f->name); - printf(" f->flags = 0x%02x;\n",f->flags); + printf(" f->style = 0x%02x;\n",f->style); + printf(" f->encoding = 0x%02x;\n",f->encoding); printf(" f->numchars = %d;\n",f->numchars); printf(" f->maxascii = %d;\n",f->maxascii); printf(" f->glyph = (SWFGLYPH*)malloc(sizeof(SWFGLYPH)*%d);\n",f->numchars); printf(" f->glyph2ascii = (U16*)malloc(sizeof(U16)*%d);\n",f->numchars); printf(" f->ascii2glyph = (int*)malloc(sizeof(int)*%d);\n",f->maxascii); - printf(" memset(f->ascii2glyph, -1, sizeof(int)*%d)\n\n", f->maxascii); + printf(" memset(f->ascii2glyph, -1, sizeof(int)*%d);\n\n", f->maxascii); + if(f->layout) { + printf(" f->layout = (SWFLAYOUT*)malloc(sizeof(SWFLAYOUT));\n"); + printf(" f->layout->ascent = %d;\n", f->layout->ascent); + printf(" f->layout->descent = %d;\n", f->layout->descent); + printf(" f->layout->leading = %d;\n", f->layout->leading); + printf(" f->layout->kerningcount = 0;\n"); + printf(" f->layout->kerning = 0;\n"); + printf(" f->layout->bounds = (SRECT*)malloc(sizeof(SRECT)*%d);\n", f->numchars); + printf(" memset(f->layout->bounds, 0, sizeof(SRECT)*%d);\n\n", f->numchars); + } for (i=0;inumchars;i++) if (f->glyph[i].shape) - { printf(" addGlyph(f,%3i, 0x%02x,%4i, &Glyphs_%s[0x%04x],%4i); // %c\n", + { printf(" addGlyph(f,%3i, 0x%03x,%4i, &Glyphs_%s[0x%04x],%4i); // %c\n", i, f->glyph2ascii[i], f->glyph[i].advance, name, gpos[i], f->glyph[i].shape->bitlen,PRINTABLE(f->glyph2ascii[i])); }