int swf_SetLineStyle(TAG * t,LINESTYLE * l);
+void swf_ShapeSetRectangle(TAG*tag, U16 shapeid, int width, int height, RGBA*rgba);
+void swf_ShapeSetRectangleWithBorder(TAG*tag, U16 shapeid, int width, int height, RGBA*rgba, int linewidth, RGBA*linecolor);
void swf_ShapeSetBitmapRect(TAG * t, U16 gfxid, int width, int height);
//SHAPELINE* swf_ParseShapeData(U8*data, int bits, int fillbits, int linebits);
} SWFKERNING;
typedef struct _SWFLAYOUT
-{ S16 ascent;
- S16 descent;
+{ U16 ascent;
+ U16 descent;
S16 leading;
SRECT * bounds;
U16 kerningcount;
#define FONT_ENCODING_ANSI 2
#define FONT_ENCODING_SHIFTJIS 4
+typedef struct _ALIGNZONE
+{
+ U16 x,y;
+ U16 dx,dy;
+} ALIGNZONE;
+
typedef struct _SWFFONT
{ int id; // -1 = not set
U8 version; // 0 = not set, 1 = definefont, 2 = definefont2
U16 * glyph2ascii;
int * ascii2glyph;
SWFGLYPH * glyph;
+ ALIGNZONE * alignzones;
+ U8 alignzone_flags;
U8 language;
char ** glyphnames;
int swf_FontExtract_DefineFontInfo(int id, SWFFONT * f, TAG * t);
int swf_FontExtract_DefineFont(int id, SWFFONT * f, TAG * t);
int swf_FontExtract_GlyphNames(int id, SWFFONT * f, TAG * tag);
+int swf_FontExtract_DefineFontAlignZones(int id, SWFFONT * font, TAG * tag);
+
int swf_FontIsItalic(SWFFONT * f);
int swf_FontIsBold(SWFFONT * f);
int swf_FontSetDefine(TAG * t,SWFFONT * f);
int swf_FontSetDefine2(TAG * t,SWFFONT * f);
int swf_FontSetInfo(TAG * t,SWFFONT * f);
+void swf_FontSetAlignZones(TAG*t, SWFFONT *f);
void swf_FontCreateLayout(SWFFONT*f);
+void swf_FontCreateAlignZones(SWFFONT * f);
void swf_FontAddLayout(SWFFONT * f, int ascent, int descent, int leading);
int swf_ParseDefineText(TAG * t, void(*callback)(void*self, int*chars, int*xpos, int nr, int fontid, int fontsize, int xstart, int ystart, RGBA* color), void*self);