From: kramm Date: Thu, 6 Dec 2001 08:45:34 +0000 (+0000) Subject: * new function SWFFont::getWidth(char*) X-Git-Tag: release-0-2-1~51 X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=commitdiff_plain;h=805f5355196fae7072f303c8d88cee1c851834ab * new function SWFFont::getWidth(char*) * new function resetdrawer() * drawshape now takes a debugging parameter --- diff --git a/pdf2swf/swfoutput.cc b/pdf2swf/swfoutput.cc index de6ace2..5921251 100644 --- a/pdf2swf/swfoutput.cc +++ b/pdf2swf/swfoutput.cc @@ -154,9 +154,15 @@ void spline(TAG*tag,plotxy p0,plotxy p1,plotxy p2,plotxy p3,struct swfmatrix*m) } } +void resetdrawer() +{ + swflastx = 0; + swflasty = 0; +} + /* draw a T1 outline. These are generated by pdf2swf and by t1lib. (representing characters) */ -void drawpath(TAG*tag, T1_OUTLINE*outline, struct swfmatrix*m) +void drawpath(TAG*tag, T1_OUTLINE*outline, struct swfmatrix*m, int log) { if(tag->id != ST_DEFINEFONT && tag->id != ST_DEFINESHAPE && @@ -166,8 +172,6 @@ void drawpath(TAG*tag, T1_OUTLINE*outline, struct swfmatrix*m) logf(" internal error: drawpath needs a shape tag, not %d\n",tag->id); exit(1); } - int log = 0; - double x=0,y=0; double lastx=0,lasty=0; double firstx=0,firsty=0; @@ -467,7 +471,7 @@ void drawchar(struct swfoutput*obj, SWFFont*font, char*character, int charnr, sw int lf = fill; fill = 1; - drawpath(tag, outline, &m2); + drawpath(tag, outline, &m2, 0); fill = lf; } } @@ -492,7 +496,7 @@ void swfoutput_drawpath(swfoutput*output, T1_OUTLINE*outline, lastwasfill = 1; } - drawpath(tag, outline,m); + drawpath(tag, outline,m, 0); } /* SWFFont: copy all t1 font outlines to a local @@ -631,7 +635,7 @@ SWFFont::~SWFFont() int lastfill = fill; fill = 1; storefont = 1; - drawpath(ftag, outline[swfcharid2char[t]],&m); + drawpath(ftag, outline[swfcharid2char[t]],&m, 0); storefont = 0; fill = lastfill; swf_ShapeSetEnd(ftag); @@ -692,6 +696,17 @@ T1_OUTLINE*SWFFont::getOutline(char*name) return 0; } +int SWFFont::getWidth(char*name) +{ + int t; + for(t=0;tcharnum;t++) { + if(!strcmp(this->charname[t],name)) { + return this->width[t]; + } + } + return 0; +} + int SWFFont::getSWFCharID(char*name, int charnr) { int t; diff --git a/pdf2swf/swfoutput.h b/pdf2swf/swfoutput.h index 1efc9cc..048361c 100644 --- a/pdf2swf/swfoutput.h +++ b/pdf2swf/swfoutput.h @@ -59,6 +59,7 @@ class SWFFont SWFFont::~SWFFont(); T1_OUTLINE*getOutline(char*charname); int getSWFCharID(char*name, int charnr); + int getWidth(char*name); char*getName(); char*getCharName(int t); int getCharWidth(int t) {return width[t];}