git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added matrix argument to swf_SetDefineText().
[swftools.git]
/
lib
/
modules
/
swftext.c
diff --git
a/lib/modules/swftext.c
b/lib/modules/swftext.c
index
affedb3
..
0adaf2b
100644
(file)
--- a/
lib/modules/swftext.c
+++ b/
lib/modules/swftext.c
@@
-625,7
+625,7
@@
int swf_FontSetDefine2(TAG *tag, SWFFONT * f)
flags |= 4; //wide codecs
if(fontSize(f)>65535)
flags |= 8; //wide offsets
flags |= 4; //wide codecs
if(fontSize(f)>65535)
flags |= 8; //wide offsets
- flags |= 8; //FIXME: the above check doesn't work
+ flags |= 8|4; //FIXME: the above check doesn't work
if(f->encoding & FONT_ENCODING_ANSI)
flags |= 16; // ansi
if(f->encoding & FONT_ENCODING_ANSI)
flags |= 16; // ansi
@@
-805,7
+805,8
@@
void swf_FontFree(SWFFONT * f)
if(f->glyphnames) {
int t;
for(t=0;t<f->numchars;t++) {
if(f->glyphnames) {
int t;
for(t=0;t<f->numchars;t++) {
- free(f->glyphnames[t]);
+ if(f->glyphnames[t])
+ free(f->glyphnames[t]);
}
free(f->glyphnames);
}
}
free(f->glyphnames);
}
@@
-1028,7
+1029,10
@@
void swf_WriteFont(SWFFONT*font, char* filename)
swf_SetU16(t, WRITEFONTID);
swf_SetU16(t, font->numchars);
for(c=0;c<font->numchars;c++) {
swf_SetU16(t, WRITEFONTID);
swf_SetU16(t, font->numchars);
for(c=0;c<font->numchars;c++) {
- swf_SetString(t, font->glyphnames[c]);
+ if(font->glyphnames[c])
+ swf_SetString(t, font->glyphnames[c]);
+ else
+ swf_SetString(t, "");
}
}
}
}
@@
-1180,7
+1184,7
@@
void swf_SetEditText(TAG*tag, U16 flags, SRECT r, char*text, RGBA*color,
swf_SetString(tag,text);
}
swf_SetString(tag,text);
}
-SRECT swf_SetDefineText(TAG*tag, SWFFONT*font, RGBA*rgb, char*text, int scale)
+SRECT swf_SetDefineText(TAG*tag, SWFFONT*font, RGBA*rgb, char*text, int scale, MATRIX* m)
{
SRECT r;
U8 gbits, abits;
{
SRECT r;
U8 gbits, abits;
@@
-1200,7
+1204,7
@@
SRECT swf_SetDefineText(TAG*tag, SWFFONT*font, RGBA*rgb, char*text, int scale)
}
swf_SetRect(tag,&r);
}
swf_SetRect(tag,&r);
- swf_SetMatrix(tag,NULL);
+ swf_SetMatrix(tag,m);
swf_TextCountBitsUTF8(font,text,scale*20,&gbits,&abits);
swf_SetU8(tag,gbits);
swf_SetU8(tag,abits);
swf_TextCountBitsUTF8(font,text,scale*20,&gbits,&abits);
swf_SetU8(tag,gbits);
swf_SetU8(tag,abits);