SHAPE * shape;
} SWFGLYPH;
+#define FONT_STYLE_BOLD 1
+#define FONT_STYLE_ITALIC 2
+#define FONT_ENCODING_UNICODE 1
+#define FONT_ENCODING_ANSI 2
+#define FONT_ENCODING_SHIFTJIS 4
+
typedef struct _SWFFONT
{ int id; // -1 = not set
U8 version; // 0 = not set, 1 = definefont, 2 = definefont2
SWFLAYOUT * layout;
U16 numchars;
U16 maxascii; // highest mapped ascii value
- U8 flags; // bold/italic/unicode/ansi ...
+
+ U8 style;
+ U8 encoding;
+
U16 * glyph2ascii;
int * ascii2glyph;
SWFGLYPH * glyph;
int swf_FontUse(FONTUSAGE * use,U8 * s);
int swf_FontSetDefine(TAG * t,SWFFONT * f);
+int swf_FontSetDefine2(TAG * t,SWFFONT * f);
int swf_FontSetInfo(TAG * t,SWFFONT * f);
+void swf_FontAddLayout(SWFFONT * f, int ascent, int descent, int leading);
+
int swf_FontExtract_DefineTextCallback(int id,SWFFONT * f,TAG * t,int jobs,
void(*callback)(int*chars, int nr, int id));
int swf_TextPrintDefineText(TAG * t,SWFFONT * f);
// Prints text defined in tag t with font f to stdout
+/* notice: if you set the fontid, make sure the corresponding font has layout information */
void swf_SetEditText(TAG*tag, U16 flags, SRECT r, char*text, RGBA*color,
int maxlength, U16 font, U16 height, EditTextLayout*layout, char*variable);