git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
keep advances positive when transforming a font
[swftools.git]
/
lib
/
readers
/
swf.c
diff --git
a/lib/readers/swf.c
b/lib/readers/swf.c
index
7cb3580
..
58e027c
100644
(file)
--- a/
lib/readers/swf.c
+++ b/
lib/readers/swf.c
@@
-183,7
+183,7
@@
gfxline_t* swfline_to_gfxline(SHAPELINE*line, int linestyle, int fillstyle0)
//---- bitmap handling ----
//---- bitmap handling ----
-gfximage_t* gfximage_new(RGBA*data, int width, int height)
+static gfximage_t* gfximage_new(RGBA*data, int width, int height)
{
gfximage_t* b = (gfximage_t*)rfx_calloc(sizeof(gfximage_t));
b->data = (gfxcolor_t*)data;
{
gfximage_t* b = (gfximage_t*)rfx_calloc(sizeof(gfximage_t));
b->data = (gfxcolor_t*)data;
@@
-192,13
+192,6
@@
gfximage_t* gfximage_new(RGBA*data, int width, int height)
return b;
}
return b;
}
-void gfximage_free(gfximage_t*b)
-{
- free(b->data); //!
- b->data = 0;
- free(b);
-}
-
static gfximage_t* findimage(render_t*r, U16 id)
{
character_t*c = (character_t*)map16_get_id(r->id2char, id);
static gfximage_t* findimage(render_t*r, U16 id)
{
character_t*c = (character_t*)map16_get_id(r->id2char, id);
@@
-347,7
+340,8
@@
static map16_t* extractDefinitions(SWF*swf)
map16_add_id(map, id, c);
}
else if(tag->id == ST_DEFINEFONT ||
map16_add_id(map, id, c);
}
else if(tag->id == ST_DEFINEFONT ||
- tag->id == ST_DEFINEFONT2) {
+ tag->id == ST_DEFINEFONT2 ||
+ tag->id == ST_DEFINEFONT3) {
character_t*c = rfx_calloc(sizeof(character_t));
SWFFONT*swffont = 0;
font_t*font = (font_t*)rfx_calloc(sizeof(font_t));
character_t*c = rfx_calloc(sizeof(character_t));
SWFFONT*swffont = 0;
font_t*font = (font_t*)rfx_calloc(sizeof(font_t));
@@
-362,6
+356,10
@@
static map16_t* extractDefinitions(SWF*swf)
}
SHAPE2*s2 = swf_ShapeToShape2(swffont->glyph[t].shape);
font->glyphs[t] = swfline_to_gfxline(s2->lines, 0, 1);
}
SHAPE2*s2 = swf_ShapeToShape2(swffont->glyph[t].shape);
font->glyphs[t] = swfline_to_gfxline(s2->lines, 0, 1);
+ if(tag->id==ST_DEFINEFONT3) {
+ gfxmatrix_t m = {1/20.0,0,0, 0,1/20.0,0};
+ gfxline_transform(font->glyphs[t], &m);
+ }
swf_Shape2Free(s2);
}
swf_FontFree(swffont);
swf_Shape2Free(s2);
}
swf_FontFree(swffont);