X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fpdf%2FXMLOutputDev.cc;h=9238873be23c80b2b01710f9f1755f1c2e22f89a;hp=d6f1d2d5c1f186b4cae85a80f1352c750b209c67;hb=f29d8006b1d8253c50808d6eb4941bdeb808c601;hpb=753c672c453d65155923a539472414a26ea4e445 diff --git a/lib/pdf/XMLOutputDev.cc b/lib/pdf/XMLOutputDev.cc index d6f1d2d..9238873 100644 --- a/lib/pdf/XMLOutputDev.cc +++ b/lib/pdf/XMLOutputDev.cc @@ -59,15 +59,25 @@ void XMLOutputDev::endPage() GString*fontname = new GString(); double fontsize = -99999; double base = -9999; + double color_r = -1; + double color_g = -1; + double color_b = -1; for(i=0;iget(i); GString*newfont = word->getFontName(); double newsize = word->getFontSize(); double newbase = word->base; + double newcolor_r = word->colorR; + double newcolor_g = word->colorG; + double newcolor_b = word->colorB; if((newfont && newfont->cmp(fontname)) || newsize != fontsize || - newbase != base) + newbase != base || + newcolor_r != color_r || + newcolor_g != color_g || + newcolor_b != color_b + ) { TextFontInfo*info = word->getFontInfo(); if(textTag) @@ -94,18 +104,29 @@ void XMLOutputDev::endPage() if(strstr(name, "serif")) serif = gTrue; } - fprintf(out, "", + fprintf(out, "", name, newbase, (word->rot&1)?word->yMin:word->xMin, + (word->rot&1)?word->yMin:word->xMin, + (word->rot&1)?word->xMin:word->yMin, + (word->rot&1)?word->yMax:word->xMax, + (word->rot&1)?word->xMax:word->yMax, info->isFixedWidth()?"fixed;":"", serif?"serif;":"", italic?"italic;":"", bold?"bold;":"", - newsize); + newsize, + ((int)(newcolor_r*255))&0xff, + ((int)(newcolor_g*255))&0xff, + ((int)(newcolor_b*255))&0xff + ); fontname = newfont->copy(); fontsize = newsize; base = newbase; + color_r = newcolor_r; + color_g = newcolor_g; + color_b = newcolor_b; } char*s = word->getText()->getCString(); while(*s) {