if(!verbose)
return;
va_start(arglist, format);
- vsprintf(buf, format, arglist);
+ vsnprintf(buf, sizeof(buf)-1, format, arglist);
va_end(arglist);
l = strlen(buf);
while(l && buf[l-1]=='\n') {
}
}
+void gfxPath_dump(GfxPath*path)
+{
+ int num = path->getNumSubpaths();
+ int t;
+ int cpos=0;
+ for(t = 0; t < num; t++) {
+ GfxSubpath *subpath = path->getSubpath(t);
+ int subnum = subpath->getNumPoints();
+ int s;
+ for(s=0;s<subnum;s++) {
+ double x=subpath->getX(s);
+ double y=subpath->getY(s);
+ if(s==0 && !subpath->getCurve(s)) {
+ printf("M %f %f\n", x, y);
+ } else if(s==0 && subpath->getCurve(s)) {
+ printf("E %f %f\n", x, y);
+ } else if(subpath->getCurve(s)) {
+ printf("C %f %f\n", x, y);
+ } else {
+ printf("T %f %f\n", x, y);
+ }
+ }
+ }
+}
+
gfxline_t* GFXOutputDev::gfxPath_to_gfxline(GfxState*state, GfxPath*path, int closed, int user_movex, int user_movey)
{
int num = path->getNumSubpaths();
this->device = states[statepos].olddevice;
if(!this->device) {
- msg("<fatal> bad state nesting in transparency group- PDF file broken?");
- /* if these errors occur more often, we should build a seperate
- transparency group stack, like xpdf/SplashOutputDev.cc does */
+ msg("<fatal> Bad state nesting in transparency group");
+ msg("<fatal> Notice: this is a known problem, which will be fixed in 0.9.1");
+ msg("<fatal> In the meantime, please convert the file with -s poly2bitmap");
restoreState(state);
this->device = states[statepos].olddevice;
}