X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fmodules%2Fswftext.c;h=ee3923ea15dfa1084f7f5ca75c43aa8873945eb7;hb=81ae19a8e44557fcdb2b366a06e6751b47b0addf;hp=6c67b48b890ce9ee5dc89041a98f26b11dcefc3b;hpb=6c3ab5574d31504d24710c2756899d49275c1a37;p=swftools.git diff --git a/lib/modules/swftext.c b/lib/modules/swftext.c index 6c67b48..ee3923e 100644 --- a/lib/modules/swftext.c +++ b/lib/modules/swftext.c @@ -22,6 +22,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "../rfxswf.h" + U32 readUTF8char(U8 ** text) { U32 c = 0; @@ -118,7 +120,6 @@ int swf_FontEnumerate(SWF * swf, void (*FontCallback) (void*, U16, U8 *), void*s int l; U8 s[257]; s[0] = 0; - swf_SaveTagPos(t); swf_SetTagPos(t, 0); id = swf_GetU16(t); @@ -130,8 +131,6 @@ int swf_FontEnumerate(SWF * swf, void (*FontCallback) (void*, U16, U8 *), void*s } (FontCallback) (self, id, s); - - swf_RestoreTagPos(t); } } t = swf_NextTag(t); @@ -142,7 +141,6 @@ int swf_FontEnumerate(SWF * swf, void (*FontCallback) (void*, U16, U8 *), void*s int swf_FontExtract_DefineFont(int id, SWFFONT * f, TAG * t) { U16 fid; - swf_SaveTagPos(t); swf_SetTagPos(t, 0); fid = swf_GetU16(t); @@ -164,8 +162,6 @@ int swf_FontExtract_DefineFont(int id, SWFFONT * f, TAG * t) for (i = 0; i < n; i++) swf_GetSimpleShape(t, &f->glyph[i].shape); } - - swf_RestoreTagPos(t); return id; } @@ -174,7 +170,6 @@ int swf_FontExtract_DefineFontInfo(int id, SWFFONT * f, TAG * t) U16 fid; U16 maxcode; U8 flags; - swf_SaveTagPos(t); swf_SetTagPos(t, 0); fid = swf_GetU16(t); @@ -229,17 +224,12 @@ int swf_FontExtract_DefineFontInfo(int id, SWFFONT * f, TAG * t) for (i = 0; i < f->numchars; i++) f->ascii2glyph[f->glyph2ascii[i]] = i; } - - swf_RestoreTagPos(t); return id; } int swf_FontExtract_GlyphNames(int id, SWFFONT * f, TAG * tag) { U16 fid; - U16 maxcode; - U8 flags; - swf_SaveTagPos(tag); swf_SetTagPos(tag, 0); fid = swf_GetU16(tag); @@ -252,8 +242,6 @@ int swf_FontExtract_GlyphNames(int id, SWFFONT * f, TAG * tag) f->glyphnames[t] = strdup(swf_GetString(tag)); } } - - swf_RestoreTagPos(tag); return id; } @@ -266,7 +254,6 @@ int swf_FontExtract_DefineFont2(int id, SWFFONT * font, TAG * tag) U32 offset_start; U32 *offset; U8 flags1, flags2, namelen; - swf_SaveTagPos(tag); swf_SetTagPos(tag, 0); font->version = 2; fid = swf_GetU16(tag); @@ -382,7 +369,6 @@ int swf_FontExtract_DefineFont2(int id, SWFFONT * font, TAG * tag) } } } - swf_RestoreTagPos(t); return font->id; } @@ -407,7 +393,6 @@ swf_FontExtract_DefineTextCallback(int id, SWFFONT * f, TAG * t, int jobs, memset(&color, 0, sizeof(color)); - swf_SaveTagPos(t); swf_SetTagPos(t, 0); cid = swf_GetU16(t); @@ -478,7 +463,6 @@ swf_FontExtract_DefineTextCallback(int id, SWFFONT * f, TAG * t, int jobs, } } - swf_RestoreTagPos(t); return id; } @@ -741,7 +725,7 @@ int swf_FontReduce(SWFFONT * f) void swf_FontSort(SWFFONT * font) { - int i, j, k; + int i, j; int *newplace; int *newpos; if (!font) @@ -932,7 +916,6 @@ int swf_FontSetDefine2(TAG * tag, SWFFONT * f) U8 flags = 0; int t; int pos; - int pos2; swf_SetU16(tag, f->id); if (f->layout) flags |= 128; // haslayout @@ -1139,14 +1122,14 @@ void swf_FontFree(SWFFONT * f) rfx_free(f); } -int swf_TextSetInfoRecord(TAG * t, SWFFONT * font, U16 size, RGBA * color, int dx, int dy) +int swf_TextSetInfoRecord(TAG * t, SWFFONT * font, U16 size, RGBA * color, int x, int y) { U8 flags; if (!t) return -1; - flags = TF_TEXTCONTROL | (font ? TF_HASFONT : 0) | (color ? TF_HASCOLOR : 0) | (dx ? TF_HASXOFFSET : 0) - | (dy ? TF_HASYOFFSET : 0); + flags = TF_TEXTCONTROL | (font ? TF_HASFONT : 0) | (color ? TF_HASCOLOR : 0) | (x ? TF_HASXOFFSET : 0) + | (y ? TF_HASYOFFSET : 0); swf_SetU8(t, flags); if (font) @@ -1157,20 +1140,20 @@ int swf_TextSetInfoRecord(TAG * t, SWFFONT * font, U16 size, RGBA * color, int d else swf_SetRGB(t, color); } - if (dx) { - if(dx != SET_TO_ZERO) { - if(dx>32767 || dx<-32768) - fprintf(stderr, "Warning: Horizontal char position overflow: %d\n", dx); - swf_SetS16(t, dx); + if (x) { + if(x != SET_TO_ZERO) { + if(x>32767 || x<-32768) + fprintf(stderr, "Warning: Horizontal char position overflow: %d\n", x); + swf_SetS16(t, x); } else { swf_SetS16(t, 0); } } - if (dy) { - if(dy != SET_TO_ZERO) { - if(dy>32767 || dy<-32768) - fprintf(stderr, "Warning: Vertical char position overflow: %d\n", dy); - swf_SetS16(t, dy); + if (y) { + if(y != SET_TO_ZERO) { + if(y>32767 || y<-32768) + fprintf(stderr, "Warning: Vertical char position overflow: %d\n", y); + swf_SetS16(t, y); } else { swf_SetS16(t, 0); }