X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=lib%2Fmodules%2Fswftext.c;h=638be12f5fb67ec20d96fb25f702b77642a0ac70;hb=ce3c08fef5972b6e05b7b1bb6fb65ff249c33505;hp=69edf6cd5ef89c5c76625d87539a8cf41889eb0e;hpb=210530b62a1389c48a289cdcd607f9207d80f76e;p=swftools.git diff --git a/lib/modules/swftext.c b/lib/modules/swftext.c index 69edf6c..638be12 100644 --- a/lib/modules/swftext.c +++ b/lib/modules/swftext.c @@ -101,7 +101,7 @@ int swf_FontIsBold(SWFFONT * f) static const int WRITEFONTID = 0x4e46; // font id for WriteFont and ReadFont -int swf_FontEnumerate(SWF * swf, void (*FontCallback) (U16, U8 *)) +int swf_FontEnumerate(SWF * swf, void (*FontCallback) (void*, U16, U8 *), void*self) { int n; TAG *t; @@ -129,7 +129,7 @@ int swf_FontEnumerate(SWF * swf, void (*FontCallback) (U16, U8 *)) s[l] = 0; } - (FontCallback) (id, s); + (FontCallback) (self, id, s); swf_RestoreTagPos(t); } @@ -381,7 +381,7 @@ int swf_FontExtract_DefineFont2(int id, SWFFONT * font, TAG * tag) static int swf_FontExtract_DefineTextCallback(int id, SWFFONT * f, TAG * t, int jobs, void (*callback) (void *self, - int *chars, int *ypos, int nr, int fontid, int fontsize, int xstart, int ystart, RGBA * color), void *self) + int *chars, int *xpos, int nr, int fontid, int fontsize, int xstart, int ystart, RGBA * color), void *self) { U16 cid; SRECT r; @@ -1015,11 +1015,13 @@ int swf_TextSetInfoRecord(TAG * t, SWFFONT * font, U16 size, RGBA * color, int d swf_SetRGB(t, color); } if (dx) { + dx &= ~SET_TO_ZERO; if(dx>32767 || dx<-32768) fprintf(stderr, "Warning: Horizontal char position overflow: %d\n", dx); swf_SetS16(t, dx); } if (dy) { + dy &= ~SET_TO_ZERO; if(dy>32767 || dy<-32768) fprintf(stderr, "Warning: Vertical char position overflow: %d\n", dy); swf_SetS16(t, dy);